Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Apr 2011 15:43:11 +0000
From:      "Li, Qing" <qing.li@bluecoat.com>
To:        Ingo Flaschberger <if@freebsd.org>
Cc:        Nikolay Denev <ndenev@gmail.com>, "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>
Subject:   RE: Routing enhancement - reduce routing table locking
Message-ID:  <B143A8975061C446AD5E29742C531723025C17@PWSVL-EXCMBX-01.internal.cacheflow.com>
In-Reply-To: <alpine.LRH.2.00.1104051731080.2152@filebunker.xip.at>
References:  <alpine.LRH.2.00.1104050303140.2152@filebunker.xip.at> <E0E87D94-3DE3-4884-8FBB-CC778486C364@gmail.com> <alpine.LRH.2.00.1104051615160.2152@filebunker.xip.at>, <alpine.LRH.2.00.1104051731080.2152@filebunker.xip.at>

next in thread | previous in thread | raw e-mail | index | archive | help

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@freebsd.org [owner-freebsd-net@freebsd.org] on behalf of Ingo Flaschberger [if@freebsd.org]
Sent: Tuesday, April 05, 2011 8:31 AM
Cc: Nikolay Denev; freebsd-net@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B143A8975061C446AD5E29742C531723025C17>