This is the support site for Andrews & Arnold Ltd, a UK Internet provider. Information on these pages is generally for our customers but may be useful to others, enjoy!
Linux upload bonding using teql
This is a simpler method of upload bonding than others, where you just want to round robin packets to the upstream, which is the normal case for AAISP.
In /etc/ppp/ip-up.d place the following script:
#!/bin/sh sysctl -w net.ipv4.conf.ppp0.rp_filter=2 sysctl -w net.ipv4.conf.ppp1.rp_filter=2 tc qdisc add dev ppp0 root teql0 tc qdisc add dev ppp1 root teql0 ip link set teql0 up ip route replace default scope global dev teql0 ip -6 route replace default scope global dev teql0
You may wish to add ppp3, etc. as pppd sometimes allocates a different number overriding the unit directive. There's no harm in having too many.
The sysctl is so that the system doesn't get upset at packets going out of one interface and coming in another. I'm not certain this is required, but all examples seem to have it.
The teql device does not need an IP address, as it's virtual. It seems to behave in a sane way wrt. originating IP in all cases I've tried.