Date: Wed, 7 Apr 2004 13:52:17 -0400 (EDT) From: Robert Watson <rwatson@freebsd.org> To: harti@freebsd.org Cc: arch@freebsd.org Subject: Re: interface renaming of an running interface Message-ID: <Pine.NEB.3.96L.1040407135043.30450C-100000@fledge.watson.org> In-Reply-To: <20040407111613.W759@130-149-145-115.dialup.cs.tu-berlin.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 7 Apr 2004, Harti Brandt wrote: > 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: > > 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. > > Additionally I would like to create new sysctls: > > net.link.generic.ifdata.<ifindex>.dname > net.link.generic.ifdata.<ifindex>.dunit > > to access the driver's name of an interface. > > Comments? I was actually worried about this issue also -- FWIW, the issue already exists even without generic interface renaming because some interfaces (specifically, if_sl) already support renumbering on demand using ioctl(). I agree that what we need is a rename event -- the only real question is whether and how to handle compatibility for applications that don't know what to do with it. Presumably the only real question is for things like SNMP and routing daemons, although we've also talked about event monitoring for interfaces using devctl, in which case devd would need to learn about the "rename" primitive as well. Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Senior Research Scientist, McAfee Research
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1040407135043.30450C-100000>