Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Jan 2002 15:23:09 +0100 (CET)
From:      Harti Brandt <brandt@fokus.gmd.de>
To:        Ruslan Ermilov <ru@FreeBSD.ORG>
Cc:        net@FreeBSD.ORG
Subject:   Re: interface creation notification
Message-ID:  <20020118151656.K97177-100000@beagle.fokus.gmd.de>
In-Reply-To: <20020118120727.A12660@sunbay.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 18 Jan 2002, Ruslan Ermilov wrote:

RE>On Fri, Jan 18, 2002 at 10:41:58AM +0100, Harti Brandt wrote:
RE>> On Fri, 18 Jan 2002, Ruslan Ermilov wrote:
RE>>
RE>> RE>On Thu, Jan 17, 2002 at 06:58:26PM +0100, Harti Brandt wrote:
RE>> RE>>
RE>> RE>> Hi,
RE>> RE>>
RE>> RE>> how is a daemon supposed to get informed that a network interface has been
RE>> RE>> created? I had hoped, that an RTM_IFINFO message would be created on the
RE>> RE>> routing socket, but this is not the case. If an interface is destroyed,
RE>> RE>> the routing socket gets a message for whatever reason. Wouldn't it be
RE>> RE>> simple to just create an RTM_IFINFO message?
RE>> RE>>
RE>> RE>It does get created (you can check with the ``route -vn monitor'' command),
RE>> RE>but please see PR kern/33747 for one small pitfall.
RE>>
RE>> That's exactly what I did, but it doesn't work. The only places, that I
RE>> can find when rt_ifmsg is called are:
RE>>
RE>> 	- interface goes up	(if_route)
RE>> 	- interface goes down	(if_unroute)
RE>> 	- change MTU		(if_hwioctl)
RE>> 	- prom. mode		(ifpromisc)
RE>> 	- allmulti		(if_allmulti)
RE>>
RE>> No one seems to call it when I just create an interface. The RTM_IFINFO
RE>> when I delete it probably comes from the if_unroute. The RTM_IFINFO you
RE>> see for an ifconfig gif0 create is probably a side effect of setting the
RE>> MTU or so.
RE>>
RE>> I think it would make sense to do an rt_ifmsg somehere in
RE>> if_attach/if_detach.
RE>>
RE>OK, I will send a patch within an hour or so.  NetBSD already
RE>has something to address this.

I just had a look at this and, yes, that's what I mean. Just one question:
is there any locking that does a user process prevent from seeing the
interface still on the interface list after the message is sent, but
before the interface is removed from the list? (I mean on an SMP system).
The DEPARTURE message is sent before the interface is unlinked from the
list.

thanks for your help,
harti
-- 
harti brandt, http://www.fokus.gmd.de/research/cc/cats/employees/hartmut.brandt/private
              brandt@fokus.fhg.de


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




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