Hi Andrew,

I would use a combination with iptables. You should mark the packets, for 
example using average or n-th, and then use ip rules to send half of the 
packets vía one router and the rest to the other router according to the 
marks you set with iptables.
Just a question ¿ dont you have problems with your source IP and the 
returning responses when you are sending packets from one connection over 
multiple routers ? ¿ do you have something like an AS ?


Best regards,
Eric Janz 




Andrew Lyon <[EMAIL PROTECTED]> 
Enviado por: [EMAIL PROTECTED]
10/04/2007 14:36

Para
"'[email protected]'" <[email protected]>
cc

Asunto
[LARTC] equalize / ecmp not working as expected in 2.6 vs 2.4






Hi,

With kernel 2.4 I was able to use equalize to send our outgoing packets to
two different routers (our isp supports this setup), like this:

ip route add default src ip.a.dd.rr  equalize nexthop via <router1> weight 
1
nexthop via <router2> weight 1

The two routes were used equally on a per packet basis, not per flow or 
per
cached route, but per packet, each line has 800k upload and with that 
route
we could upload to a single remote host at 1.6mbit.

We replaced the server with a newer one and changed to 2.6 (2.6.20) 
kernel,
I found that equalize no longer works as expected, it does choose a router
at random but once a single packet has been sent to a remote host the same
route/router is used for all packets going to that remote host. Once the
cached route expires a random route is chosen again, but that is not what 
we
want.

I had made no changes to the ip route commands, but then I realised that
kernel 2.6.20 has options for multipath (IP: equal cost multipath with
caching support), I enabled that and now our kernel options are:

CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_MULTIPATH_CACHED=y
CONFIG_IP_ROUTE_MULTIPATH_RR=m
CONFIG_IP_ROUTE_MULTIPATH_RANDOM=m
CONFIG_IP_ROUTE_MULTIPATH_WRANDOM=m
CONFIG_IP_ROUTE_MULTIPATH_DRR=m

But even with these options, and default route set as follows:

ip route add default src ip.a.dd.rr mpath rr nexthop via <router1> weight 
1
nexthop via <router2> weight 1

The result is the same, a single upload to a remote host only uses 800k
bandwidth on one of the lines, it does not send packets to both lines,
although two uploads to two different hosts will usually make use of both
lines.

It seems to me that the multipath with caching support is broken in 
2.6.20?

The exact kernel we use is 2.6.20.4, with that kernel how would you 
specify
a remote route such that packets going to a remote host are sent 50/50 
ratio
to two different routers?

Thanks
Andy

JOSEDV001TAG
_______________________________________________
LARTC mailing list
[email protected]
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc


--

ADVERTENCIA LEGAL
El contenido de este correo es confidencial y dirigido unicamente a su 
destinatario. Para acceder a su clausula de privacidad consulte 
http://www.barceloviajes.com/privacy

LEGAL ADVISORY
This message is confidential and intended only for the person or entity to 
which it is addressed. In order to read its privacy policy consult it at 
http://www.barceloviajes.com/privacy
_______________________________________________
LARTC mailing list
[email protected]
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

Reply via email to