ECMP on 2 x 1ge Linux hosts

Ondrej Zajicek santiago at crfreenet.org
Tue May 7 10:13:24 CEST 2013


On Mon, May 06, 2013 at 06:50:10PM -0700, Bao Nguyen wrote:
> >From host A I do "iperf -c x.x.x.x -P 4" to host B's dummy0 interface, host
> A iperf seemed to pick a single eth0 or eth1 but not both interfaces and
> use it to send out traffic on all 4 difference processes. Ideally how would
> one allow a single application (in this case iperf) with multiple
> threads/processes to send 2Gbit worth of traffic? Ideally to a logical
> interface and it's hash automatically to two difference eth0 and eth1?

AFAIK Linux kernel implements ECMP in a way that for each route cache
entry just one path is used (and fixed in route cache). I heard that
there are patches for different behavior. I don't know how this behavior
differs on newer kernels without route cache. Without the current
behavior, an application could use different addresses or ports for each
thread to use multiple threads, i guess. Or use something completely
different, like link-level interface bonding.

> I've looked at setting (krt_prefsrc) to source the address as the dummy0
> interface on each host. Would that be the answer?

Probably not (although it is probably useful anyway).

-- 
Elen sila lumenn' omentielvo

Ondrej 'SanTiago' Zajicek (email: santiago at crfreenet.org)
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20130507/c6ca780f/attachment-0001.asc>


More information about the Bird-users mailing list