Pipes Settings

The pipes feature should be able to use two links for redundancy and increased throughtput performance. This has been designed to bond two wireless interfaces together and load balances on link level. This implemented using teql queue discipline. TEQL is link equalizer. It balances packet over one or more interfaces.

Health monitoring with arping for monitoring link state. The IP address on interfaces need to be configured just for arping, and can be used with /32 netmask to avoid collisions with other networks. The health monitoring link checking is spawned for each enslaved interface. The teql0 is master interface and physical interfaces on which load balancing performed called "slaves." Link state is checked each second by issuing ARP requests for remote IP and checking for a response with arping.

 

Link failure is determined by three unanswered probes at which time the physical device is unbound from teql device. Link link is allowed to recover after three successful probes.and then the physical device is added to teql again.

 

Parameters that correspond to the UI are generated to the /conf/pipe.conf

DEV1_IF=ath0 # The interface

DEV1_IP=192.168.252.1 # The address to configure

DEV1_IP_REMOTE=192.168.252.2 # Must match DEV1_IP of remote side

DEV1_WICHANNEL=3 # Channel is used for master | ad-hoci modes

DEV1_WIMODE=managed # managed | ad-hoc | master

DEV1_WIPRIV="mode 3" # additional pivate commands (e.g. atheros g mode)

DEV2_IF=ath0

DEV2_IP=192.168.253.1 # Not actually used, needed for arping

DEV2_IP_REMOTE=192.168.253.2 # Must match DEV2_IP of remote side

DEV2_WICHANNEL=9

DEV2_WIMODE=master

DEV2_WIPRIV="mode 3"

TEQL_IF=teql0

TEQL_IP=10.0.0.1/8 # Important to keep netmask to avoid adding a route

 

Keep in mind that if you use the Web Management Utility to setup and start this service, keep in mind that the interfaces will be reconfigured and the administrator might be cut off from the application. Debugging and testing this service can be done from the console.

To manually start the service from the console:

/etc/scripts/rc.pipe start

To test the configuration from the console:

/etc/scripts/rc.pipe test

To view statistics about the active service from the console:

/etc/scripts/rc.pipe status