New ethernet tunneling protocol implementation which provides optimization on transmitted packets size.


Installation is done using standard Python module distribution.

Install Zero package:

tar xvf zero-0.1a20.tar.gz
cd zero-0.1a20
python setup.py install

Commands to get latest Zero version:

wget "$P/raw/tip/scripts/download-latest.py"
python download-latest.py

tar xvf zero-0.1a20.tar.gz
cd adrians-zero-proto-5de45fb8b2f3
python setup.py install

This installs several programs:

Read Zero configuration and setup network accordingly.
Setup initial application configuration. Create directory and copy default configuration files. Create files under ~/.zero.
Run server which provides packet sending, receiving, modification according to Zero algorithm.

More information about usage with option parameter -h (zero-server -h).

Configuration and running

zero-server needs two configuration files:

  1. Zero configuration file (default: ~/.zero/app.ini)
  2. Logging configuration file (default: ~/.zero/log.ini)

To configure Zero:

  1. run zero-setup which create default files under ~/.zero,
  2. edit ~/.zero/app.ini according to your needs.

Run zero-netconfig up to setup network interfaces according to Zero configuration file.

zero-netconfig requires additional programs to be available:

  1. ifconfig
  2. ip
  3. brctl
  4. sysctl

Finally run zero-server (zero-server -h for more information).

It is possible to do network configuration elsewhere but there are Zero configuration parameters which requires according network configuration to work properly. So zero-netconfig is convenient way to configure network because it uses the same configuration file (~/.zero/app.ini).

Examples of alternative network configuration scripts are included in Zero package distribution:

  • zero/examples/debian-zero-ifconf.sh,
  • zero/examples/net-up.sh, zero/examples/net-down.sh,

To add Zero to system services one should write scripts for needed operating system. Because of many different init systems (systemd, upstart, etc.) this script is not included here. The most simple method is to add it to cron job.

@reboot zero-netconfig && zero-server -d