Linux upload bonding using teql: Difference between revisions

From AAISP Support Site
No edit summary
No edit summary
Line 16: Line 16:
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.
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 seems to have it.
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.
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.

Revision as of 15:51, 3 April 2017

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.