Hi All, I'm using the NetworkManager shipped in the last Ubuntu distro (0.7). I've been able to connect few devices in the same time as expected (eth0, ppp0, wan0). As expected too, although all three ISPs are connected only one (eth0) is actually used (default route). The way NM updates the route table prevents any packet to be routed by another device than the default one even if specified on software: $ wget --bind-address=$IP_WAN0 http://foo.bar/index.html # fails $ wget --bind-address=$IP_PPP0 http://foo.bar/index.html # fails $ wget --bind-address=$IP_ETH0 http://foo.bar/index.html # OK So I had a look at the "Linux Advanced Routing & Traffic Control HOWTO" by Bert Hubert [1] and implemeted the setup [2] described in the "Routing for multiple uplinks/providers" and it did work perfectly (even with a trivial load balancing over the 3 ISPs with the multipath default route). The basic idea is to use many routing tables together, and some rules to define which table to use. I implemented it in a perl script that I execute manualy everytime something change in the NM environement (how to do that automaticaly ?) I would love to get my fingers dirty in your elegantr GObj C code, although I might need some "emlightment" from you guys to be sure it worth it. Please have a look at my shell script (working). Any comment will be welcome. [1] http://lartc.org/howto/index.html [2] http://parad0x.org/~barbu/dev/mad/mad-setup.pl -- Regards, Etienne Zind
Attachment:
mad-setup.pl
Description: Perl program