Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Apr 1999 12:10:02 -0700 (PDT)
From:      Bill Fenner <fenner@research.att.com>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/10778: "ipforward_rt" is not cleared when routing table changes
Message-ID:  <199904301910.MAA79540@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/10778; it has been noted by GNATS.

From: Bill Fenner <fenner@research.att.com>
To: freebsd-gnats-submit@freebsd.org
Cc:  
Subject: Re: kern/10778: "ipforward_rt" is not cleared when routing table changes
Date: Fri, 30 Apr 1999 12:09:47 -0700

 I agree with Archie, although it's more like all cached routes should
 be cleared when the routing table changes in a way that affects the
 cached route.  Scenario:
 
 - default route exists.  Start TCP connection, which caches the default
   route.
 - add a host route for the endpoint of the TCP connection pointing
   out a different interface (perhaps a secure VPN interface as Archie
   mentioned).
 - TCP continues to use the default route.  The only way to get TCP to
   stop using the default route is to delete the default route and then
   re-add it, which is a little too disruptive.
 
 (I first saw this problem occur in earnest when I added route caching
 to the kernel multicast tunnel code -- multicast tunnels are pretty
 long-lived)
 
 Unfortunately, the current route cache architecture has no facility
 to deal with this problem.  There is no list of cached routes, and
 there is no way to notify cached routes that a change has occurred.
 
 If anyone cares to work on this, I'd imagine storing the destination
 of each cached route in a patricia tree would make it easy to determine
 the subset of cached routes that need to be invalidated when a given
 new route is added.
 
   Bill
 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




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