[quagga-dev 6397] Re: Zebra and Multipath (Load-balancing)

Joakim Tjernlund Joakim.Tjernlund at transmode.se
Wed Feb 4 12:45:57 GMT 2009


You might have two problems. The first is that you should
see two nexthops, not one. This is due to rib_add_ipv4() beeing
stupid. The unknown interface might be something else but I suspect
it is linked to the first problem.

   Jocke 
> 
> Thanks,
> I looked through the code , but I am thinking the code is solving
> something different.
> My issue is only with the presentation of the route with the two (or
> more) nexthop that I have added through the Linux shell.
> 
> In Zebra (show ip route) It is shown like this:
>  K * 50.0.0.0/8 is directly connected, unknown inactive
> 
> The "unknown inactive" is the issue.
> 
> whereas in Linux (ip route) it is showed like that:
> 50.0.0.0/8
>        nexthop via 5.5.5.1  dev bridge weight 1
>        nexthop via 10.88.1.254  dev bridge weight 1
> 
> Should Zebra know how to present route rule with multiple nexthop ?
> If so, Is there a patch for that ?
> 
> Thanks,
> Tsachi
> 
> 
> 
> On Tue, Feb 3, 2009 at 9:31 PM, Joakim Tjernlund
> <Joakim.Tjernlund at transmode.se> wrote:
> >>
> >> Hey All,
> >> I am using Quaaga 0.98.6 (kernel 2.4.33).
> >> I added a new multipath static route to the Linux shell.
> >> "ip route add 50.0.0.0/8 nexthop via 5.5.5.1 dev bridge nexthop via
> > 10.88.1.254
> >>  dev bridge"
> >>
> >> Running "ip route" on the linux shell , I see the following output:
> >> 10.88.1.0/24 dev bridge  proto kernel  scope link  src 10.88.1.2
> >> 5.5.0.0/16 dev bridge  proto kernel  scope link  src 5.5.5.5
> >> 50.0.0.0/8
> >>         nexthop via 5.5.5.1  dev bridge weight 1
> >>         nexthop via 10.88.1.254  dev bridge weight 1
> >> 127.0.0.0/8 dev lo  scope link
> >> 224.0.0.0/4 dev bridge  scope link  src 10.88.1.2
> >> default via 10.88.1.254 dev bridge  src 10.88.1.2
> >>
> >> I can see subnet 50.0.0.0/8 is load-balanced between 5.5.5.1 and
> > 10.88.1.254.
> >>
> >> Now, when I use Zebra to show ip route , I get the following:
> >> Router# show ip route
> >> Codes: K - kernel route, C - connected, S - static, R - RIP, O - 
OSPF,
> >>        I - ISIS, B - BGP, > - selected route, * - FIB route
> >>
> >> K>* 0.0.0.0/0 via 10.88.1.254, bridge
> >> C>* 5.5.0.0/16 is directly connected, bridge
> >> C * 10.88.1.0/24 is directly connected, ipsec0
> >> C>* 10.88.1.0/24 is directly connected, bridge
> >> K * 50.0.0.0/8 is directly connected, unknown inactive
> >> K * 127.0.0.0/8 is directly connected, lo
> >> C>* 127.0.0.0/8 is directly connected, lo
> >> K>* 224.0.0.0/4 is directly cod, bridge
> >>
> >>
> >> Subnet 50.0.0.0/8 is showed as "unknown inactive":
> >>  K * 50.0.0.0/8 is directly connected, unknown inactive
> >>
> >> Is there something I could do about it any idea ?
> >
> > yes, look at zebra/zebra_rib.c:rib_add_ipv4()
> > I have fixed rib_delete_ip4() here:
> > 
http://code.quagga.net/cgi-bin/gitweb.cgi?p=people/jocke/quagga;a=commit;h=aa0caa117397e7bc29b492f4cc76a7189e4bf564

> >
> >
> >
> 




More information about the Quagga-dev mailing list