Routing enhancement - reduce routing table locking
Li, Qing
qing.li at bluecoat.com
Tue Apr 5 15:55:30 UTC 2011
I see,
What you are saying is the "rtalloc()" call does not have an indicator whether it should be searching
for an interface route or not.
In the case when RADIX_MPATH is enabled, in_lltable_rtcheck() needs to walk the ECMP route chain
to find an interface route.
yes ?
-- Qing
________________________________________
From: owner-freebsd-net at freebsd.org [owner-freebsd-net at freebsd.org] on behalf of Ingo Flaschberger [if at freebsd.org]
Sent: Tuesday, April 05, 2011 8:31 AM
Cc: Nikolay Denev; freebsd-net at freebsd.org
Subject: Re: Routing enhancement - reduce routing table locking
>> Can you say something more about :
>> "implement some multipath changes to use a direct attached
>> interface route and a real route, used some OpenBSD code"
>>
>> I've looked at the patch but it's not obvious to me.
>>
>> P.S.: I've just saw your reply to kern/155772 and was wondering if this
>> patch can help.
>
> regarding kern/155772:
> at stock 8.2 FreeBSD the system panics after ifconfig down / ifconfig up /
> ifconfig down with 1 route and 1 interface route (multipath).
>
> Also there are problems with arp, due wrong multipath route selection
> (if the decision is already made that the route should go the direct way, the
> route and not the interface route is choosen, depends on which route was
> first in the tree).
see "in_lltable_rtcheck"
> And finally, there are problems when adding / deleteing routes.
>
> example that does not work:
> ifconfig em0 192.168.0.1/24
> ifconfig em1 10.0.0.1/24
> route add 10.0.0.0/24 192.168.0.2
>
> example that currently works with 8.2:
> ifconfig em0 192.168.0.1/24
> ifconfig em1 10.0.0.1/24
> route add 172.16.0.0/24 192.168.0.2
> route add 172.16.0.0/24 10.0.0.2
>
> Kind regards,
> Ingo Flaschberger
More information about the freebsd-net
mailing list