From owner-freebsd-net@FreeBSD.ORG Tue Apr 5 15:55:30 2011 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 898B0106564A; Tue, 5 Apr 2011 15:55:30 +0000 (UTC) (envelope-from qing.li@bluecoat.com) Received: from whisker.bluecoat.com (whisker.bluecoat.com [216.52.23.28]) by mx1.freebsd.org (Postfix) with ESMTP id 375AB8FC1D; Tue, 5 Apr 2011 15:55:30 +0000 (UTC) Received: from PWSVL-EXCHTS-02.internal.cacheflow.com (sai-rp.bluecoat.com [10.2.2.126] (may be forged)) by whisker.bluecoat.com (8.14.2/8.14.2) with ESMTP id p35FhHLY022352 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Tue, 5 Apr 2011 08:43:17 -0700 (PDT) Received: from PWSVL-EXCMBX-01.internal.cacheflow.com ([fe80::15bc:12e2:4676:340f]) by PWSVL-EXCHTS-02.internal.cacheflow.com ([fe80::4910:317f:407:6ecc%14]) with mapi id 14.01.0255.000; Tue, 5 Apr 2011 08:43:12 -0700 From: "Li, Qing" To: Ingo Flaschberger Thread-Topic: Routing enhancement - reduce routing table locking Thread-Index: AQHL8zOHlmYR0xfOqkCNfuY6FBeddZRPutaAgAAORQCAABL6gP//jVPo Date: Tue, 5 Apr 2011 15:43:11 +0000 Message-ID: References: , In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [216.52.23.68] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Cc: Nikolay Denev , "freebsd-net@freebsd.org" Subject: RE: Routing enhancement - reduce routing table locking X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Apr 2011 15:55:30 -0000 I see,=0A= =0A= What you are saying is the "rtalloc()" call does not have an indicator whet= her it should be searching=0A= for an interface route or not. =0A= =0A= In the case when RADIX_MPATH is enabled, in_lltable_rtcheck() needs to walk= the ECMP route chain=0A= to find an interface route.=0A= =0A= yes ?=0A= =0A= -- Qing=0A= =0A= ________________________________________=0A= From: owner-freebsd-net@freebsd.org [owner-freebsd-net@freebsd.org] on beha= lf of Ingo Flaschberger [if@freebsd.org]=0A= Sent: Tuesday, April 05, 2011 8:31 AM=0A= Cc: Nikolay Denev; freebsd-net@freebsd.org=0A= Subject: Re: Routing enhancement - reduce routing table locking=0A= =0A= >> Can you say something more about :=0A= >> "implement some multipath changes to use a direct attached=0A= >> interface route and a real route, used some OpenBSD code"=0A= >>=0A= >> I've looked at the patch but it's not obvious to me.=0A= >>=0A= >> P.S.: I've just saw your reply to kern/155772 and was wondering if this= =0A= >> patch can help.=0A= >=0A= > regarding kern/155772:=0A= > at stock 8.2 FreeBSD the system panics after ifconfig down / ifconfig up = /=0A= > ifconfig down with 1 route and 1 interface route (multipath).=0A= >=0A= > Also there are problems with arp, due wrong multipath route selection=0A= > (if the decision is already made that the route should go the direct way,= the=0A= > route and not the interface route is choosen, depends on which route was= =0A= > first in the tree).=0A= =0A= see "in_lltable_rtcheck"=0A= =0A= > And finally, there are problems when adding / deleteing routes.=0A= >=0A= > example that does not work:=0A= > ifconfig em0 192.168.0.1/24=0A= > ifconfig em1 10.0.0.1/24=0A= > route add 10.0.0.0/24 192.168.0.2=0A= >=0A= > example that currently works with 8.2:=0A= > ifconfig em0 192.168.0.1/24=0A= > ifconfig em1 10.0.0.1/24=0A= > route add 172.16.0.0/24 192.168.0.2=0A= > route add 172.16.0.0/24 10.0.0.2=0A= >=0A= > Kind regards,=0A= > Ingo Flaschberger=0A=