=====================================
Bonded Internet 3.0 release notes
=====================================

August 24, 2010

Additions
^^^^^^^^^^

- Legs are monitored for connectivity. They are automatically removed from the bond when connectivity is lost, and added back when it is restored.
- Legs can be marked for "failover." A failover leg will only be used when all non-failover legs have lost connectivity.
- Traffic shaping is used to improve bandwidth stability and to lower latency. Speed limits are specified in the admin interface.
- The "flowlet" balancing algorithm is used to minimize out-of-order packet delivery. Per-packet balancing is still available and can be selected in the admin interface.
- Static routes can be specified in the admin interface. These are used if a customer operates its own network block behind a bonding device.
- Customer-provided scripts, called hooks, are executed when bonds, legs, WAN IPs, and routes are started and stopped. These enable additional functionality for specific bonders, such as hosting DHCP or DNS servers.
- Bonding is distributed in a Debian package via an apt repository. (This has been the case since 2.0, which was not widely used.)

Removals
^^^^^^^^^

- The following pages of the admin interface no longer work: Leg speed test, Bond status, and Reset all legs.

Changes
^^^^^^^^

- The package installation procedure asks fewer questions and notifies the user if the configuration file cannot be downloaded.
- VLANs are named in the format "ethX.Y" rather than "vlanY" + raw device format.
- Dashboard icons reflect the current leg state (up, down, failover not in use) instead of the configured state.
- The bonder eth0 interface is assigned 192.168.1.10.
- The configuration file is cached and used at startup. DHCP is no longer used.
- Bonding runs as a daemon instead of as a script. It is controlled by DJB Daemontools.
- Communication between servers and devices is by XML-RPC instead of SSH and HTTP.
- Bonders and aggregation servers now run the same code.

Fixes
^^^^^^

- Leg monitoring and failover work reliably.

Defects
^^^^^^^^

- Configuration change commands from the server to a bonder can fail, but they not retried automatically. This can result in bonders and aggregators losing sync with the database. To minimize this risk, make changes to only a single leg, WAN IP, or route at a time. See the user guide for more information.
- Inline editing of legs, WAN IPs, and routes can fail if empty forms are submitted. To avoid this issue, use the site at <configuration server URL>/admin rather than the regular site.
- The bond management forms do very little validation. Be careful while entering data.
- The flowlet balancing module consumes a LOT of CPU power. It is not suitable for use on production Soekris devices. Portwell and netbook devices using flowlets should be monitored and changed to per-packet balancing if their CPU use becomes too high.
- The pages listed in REMOVALS above still appear to be available on the configuration server, but clicking them does nothing.
