RE: ip route mpath rr problem

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Title: ip route mpath rr problem
Hi, I have been trying to do something simular using 2 gre tunnels between linux routers. I have used Policy based routing with seperate routing tables, with kernel patches such as http://www.ssi.bg/~ja/#multigw.
I also tried both per flow/per packet based balancing. So far everything tends to be very inconsistant; packets seem to be dictated by the route cache (?).
 
Here are some suggestions you might try:
Teql
using nth or random from iptables
 
if you do find an answer I would be intrested.
 
thx jason


From: lartc-bounces@xxxxxxxxxxxxxxx on behalf of ronnie sahlberg
Sent: Thu 11/24/2005 2:52 AM
To: lartc@xxxxxxxxxxxxxxx
Subject: ip route mpath rr problem

Hi list,

I have tried google but just cant get this to work or figure it out.


My setup
========
vanilla  2.6.13 kernel with
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_MULTIPATH_CACHED=y
CONFIG_IP_ROUTE_MULTIPATH_RR=y
CONFIG_IP_ROUTE_MULTIPATH_RANDOM=y
CONFIG_IP_ROUTE_MULTIPATH_WRANDOM=y
CONFIG_IP_ROUTE_MULTIPATH_DRR=y

My configuration:
A host with two ppp links.
Ontop of these two ppp dialup links i have created two CIPE tunnels,
one on each link.
Both A and B are under my control.

+----+ cipcb0/ppp0          +-----+
|    |----------------------|     |
|  A |                      |  B  |
|    | cipcb1/ppp1          |     |
|    |----------------------|     |
+----+                      +-----+

>From A's perspective
ppp0 : local ip:10.1.1.1  peer:10.1.1.254
ppp1 : local ip:10.1.1.2  peer:10.1.1.254
(my ISP givesd me the same peer for concurretn dialupsa)

The two tunnels:
cipcb0: local:10.2.2.1 peer:10.2.2.2
cipcb1: local:10.2.2.5 peer:10.2.2.6


Both CIPE tunnels work fine.   I can ping my other box B fine using
either 10.2.2.2 or 10.2.2.6 and the traffic goes across the correct
interface.


What I want
===========
I would like packet by packet load-balancing between A and B.
Traffic originating from A  going to B will be load balanced packet by
packet across cipcb0 and cipcb1.

What I have tried
=================
ip route add 10.3.3.3/32 equalize nexthop via 10.2.2.2 dev cipcb0
nexthop via 10.2.2.6 dev cipcb1

I also run a tcpdump on each of the two itnerfaces cipcb0 and cipcb1
to see where the traffic goes.


On A : ping 10.3.3.3 : this makes all outgoing traffic go through a single link.

I tried it while at the same time i ran  while true;do ip route flush
cache; done   but that just made tcpdump show the echo reply packet
coming back    jump back and forth between cipcb0/cipcb1 with a
granularity of  changing every 2 seconds or so. weird.
All outgoing traffic from A still went through the same cipcb interface.


What i have searched for but failed to find
===========================
I have found posts that refer to something like
ip route add ...   mpath rr
but can not find which iproute2  package that contains the mpath arguments.



Request for help:
=================
I currently use 2.6.13 with the config options i listed above.

How can I do packet by packet load balancing from packets from A to B?

I am willing to change to whatever 2.6 kernel known to work.

Where can i find an iproute2 tool that supports  mpath argument?   i
suppose i need this?


Anyone willing to help me?


best regards
ronnie sahlberg,    ethereal developer
_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux