From owner-freebsd-bugs Thu Oct 26 14: 0: 6 2000 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 7007837B479 for ; Thu, 26 Oct 2000 14:00:03 -0700 (PDT) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id OAA30248; Thu, 26 Oct 2000 14:00:03 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Date: Thu, 26 Oct 2000 14:00:03 -0700 (PDT) Message-Id: <200010262100.OAA30248@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org Cc: From: Garrett Wollman Subject: Re: kern/10778: "ipforward_rt" is not cleared when routing table changes Reply-To: Garrett Wollman Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org The following reply was made to PR kern/10778; it has been noted by GNATS. From: Garrett Wollman To: John Polstra Cc: freebsd-gnats-submit@freebsd.org Subject: Re: kern/10778: "ipforward_rt" is not cleared when routing table changes Date: Thu, 26 Oct 2000 16:54:42 -0400 (EDT) < said: > One easy hack would be to ignore ipforward_rt if it is more than, say, > 2 seconds old. This isn't a real fix, but it would at least limit the > duration of the damage. The performance penalty would be negligible > in real life. Yes, this is a bug. The right fix is to change the IP code so that, when it gets notified of a routing change, ipforward_rt (and presumably ip6forward_rt if there is such a thing) get cleared automatically. This could easily be done in a couple of lines in netinet/in_rmx.c:in_addroute(). ipforward_rt would also have to be unstaticked in ip_input.c and declared in a useful header file. The code which would make things Just Work doesn't happen in the forwarding case because protocol-based cloning is (intentionally) disabled. -GAWollman To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message