netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tore Anderson <tore@linpro.no>
To: netdev@vger.kernel.org
Subject: Multipath routing in Linux 2.6
Date: Tue, 06 Mar 2007 21:36:51 +0100	[thread overview]
Message-ID: <45EDD0E3.3000906@linpro.no> (raw)


   Hello list,

   I've been trying to figure out how to make equal-cost multipath
  routing work, with no luck.  Asked on the LARTC list with no success,
  and attempts to contact the two authors privately yielded one bounce
  while the other declined to answer in private and pointed me to this
  list.  So I'll just include the rest of the mail I sent them here
  (after doing a search-and-replace on the first three octets of all
  addresses, I'm a bit paranoid), hopefully someone has some suggestions
  for me...

   I'm using 2.6.20 on an x86_64 machine.  I'm adding my route thusly:

     ip route add table 100 default \
       nexthop via 1.1.1.1 nexthop via 1.1.1.9

   It shows correctly up in the routing table:

     root@router:~# ip route show table 100
     default
             nexthop via 1.1.1.1  dev vlan11 weight 1
             nexthop via 1.1.1.9  dev vlan12 weight 1
     [...]

   I'm sending traffic from a relatively busy network to this table:

     root@router:~# ip rule
     [...]
     21000:  from 1.1.2.128/26 lookup 100
     [...]

   I can verify with tcpdump that the rule works correctly and that the
  route is used.  However, the traffic is without exception routed via
  1.1.1.9, not a single packet is sent to 1.1.1.1.  If I however swap
  the two nexthops while adding the route, all traffic is sent to
  1.1.1.1, and nothing ends up at 1.1.1.9.

   I've tried loading and unloading the multipath_{wrandom,rr,random,drr}
  modules, removing and readding the route, and flushing the routing
  cache.  Several times and in different order.  Nothing affects the
  behaviour though, all of the traffic is sent to the router specified as
  the second nexthop on the "ip route add" command line.

   I feel I'm missing something essential here but I have no idea what.
  Google only tells me about others having roughly the same problem but
  never any solution.  Do you have any suggestions for me?  If I can make
  this work I will be happy to document how and try to have that included
  in the next kernel/iproute release and hopefully nobody will bother you
  about it again.

   Thanks for your time!

Kind regards
-- 
Tore Anderson

             reply	other threads:[~2007-03-06 21:05 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-06 20:36 Tore Anderson [this message]
2007-03-07  7:39 ` Multipath routing in Linux 2.6 Jarek Poplawski
2007-03-07 12:37   ` [PATCH] Improve cached ECMP documentation Tore Anderson
2007-03-07 13:54     ` Jarek Poplawski
2007-03-07 14:17       ` Tore Anderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=45EDD0E3.3000906@linpro.no \
    --to=tore@linpro.no \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).