From owner-cvs-all Thu May 20 11:59:34 1999 Delivered-To: cvs-all@freebsd.org Received: from gndrsh.aac.dev.com (GndRsh.aac.dev.com [198.145.92.4]) by hub.freebsd.org (Postfix) with ESMTP id D91D615232; Thu, 20 May 1999 11:59:27 -0700 (PDT) (envelope-from rgrimes@gndrsh.aac.dev.com) Received: (from rgrimes@localhost) by gndrsh.aac.dev.com (8.9.3/8.9.3) id LAA03059; Thu, 20 May 1999 11:59:18 -0700 (PDT) (envelope-from rgrimes) From: "Rodney W. Grimes" Message-Id: <199905201859.LAA03059@gndrsh.aac.dev.com> Subject: Re: cvs commit: src/sys/net if_var.h In-Reply-To: <199905201613.MAA18325@khavrinen.lcs.mit.edu> from Garrett Wollman at "May 20, 1999 12:13:08 pm" To: wollman@khavrinen.lcs.mit.edu (Garrett Wollman) Date: Thu, 20 May 1999 11:59:18 -0700 (PDT) Cc: pb@FreeBSD.org (Pierre Beyssac), cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org X-Mailer: ELM [version 2.4ME+ PL54 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk > < said: > > > HEADSUP -- This will require compilation of many userland applications > > that have to deal with networking code due to the change in the size > > of the struct. In particular anything that prints route metrics or > > tries to deal with them will barf :-(. > > If it does, it's got a seriously erroneous implementation. User-land > code has no business looking at struct ifaddr. Aren't these passed in and out via the kernel routing socket? Hummm.. man 4 route seems to say not, but man 9 rtentry shows that: short rt_refcnt; Route entries are reference-counted; this field indicates the number of external (to the radix tree) references. If the RTF_UP flag is not present, the rtfree() function will delete the route from the radix tree when the last refer- ence drops. but then rt_refcnt =! ifa_refcnt so we are okay there... but down a little further: struct ifaddr *rt_ifa; These two fields represent the ``answer'', as it were, to the question posed by a route lookup; that is, they name the interface and interface address to be used in sending a packet to the destination or set of destinations which this route represents. Looks like it is an explicit kernel/user land interface via the routing socket to me.... -- Rod Grimes - KD7CAX - (RWG25) rgrimes@gndrsh.aac.dev.com Accurate Automation, Inc. Reliable computers for FreeBSD http://www.aai.dnsmgr.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message