Date: Wed, 7 Apr 2004 11:01:08 -0700 From: Brooks Davis <brooks@one-eyed-alien.net> To: harti@freebsd.org Cc: arch@freebsd.org Subject: Re: interface renaming of an running interface Message-ID: <20040407180107.GB20636@Odin.AC.HMC.Edu> In-Reply-To: <20040407111613.W759@130-149-145-115.dialup.cs.tu-berlin.de> References: <20040407111613.W759@130-149-145-115.dialup.cs.tu-berlin.de>
next in thread | previous in thread | raw e-mail | index | archive | help
--4bRzO86E/ozDv8r1 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Apr 07, 2004 at 11:38:45AM +0200, Harti Brandt wrote: >=20 > I'm currently trying to teach bsnmp to correctly handle interface > renaming. One problem that I encounter is that a process listening on > the routing socket sees an interface departure and an interface arrival > message. This cause interfaces that run stateful protocols like SNMP on > ATM interfaces to drop all connections which isn't really all that nice. > The SNMP daemon would also loose all interface state and would report > the renamed interface as a new interface with a new ifindex. This directly > violates the IF-MIB RFC, because the daemon is required to understand that > this is the same interface (the ifindex doesn't really help here, because > unloading/loading the driver gives the same behaviour). I would like to do > one of the following two things: >=20 > 1) disallow renaming an interface while it is up, or > 2) instead of emiting a departure/arrival pair of routing messages, > generate a rename message. For the record, I wouldn't object to 1, but I prefer 2. My view is that the name is an ephemeral property of an interface intended to the convenience of the administrator, nothing more. I random though just hit me as I thought about this message. For a variety of good reasons, if_index's are densly packed so if you destroy an interface and create a new one, you will almost certaintly get the index of a recently used one. This leads to the problem that you can't tell the rename and create-destory operations apart with the current set of routing messages. One solution to this problem might be to add a generation number to the interface either using a global counter or just a timestamp. > Additionally I would like to create new sysctls: >=20 > net.link.generic.ifdata.<ifindex>.dname > net.link.generic.ifdata.<ifindex>.dunit >=20 > to access the driver's name of an interface. Fine with me. -- Brooks --=20 Any statement of the form "X is the one, true Y" is FALSE. PGP fingerprint 655D 519C 26A7 82E7 2529 9BF0 5D8E 8BE9 F238 1AD4 --4bRzO86E/ozDv8r1 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQFAdEHjXY6L6fI4GtQRAqYJAJ9gIX888u95efnmfIUJn4PkX9+RlgCfU745 7mJZYD2viqchU1F7gBPo8dg= =CIDo -----END PGP SIGNATURE----- --4bRzO86E/ozDv8r1--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040407180107.GB20636>