Re: interface renaming of an running interface

From: Brooks Davis (brooks_at_one-eyed-alien.net)
Date: 04/07/04

  • Next message: Alexey Dokuchaev: "Re: interface renaming of an running interface"
    Date: Wed, 7 Apr 2004 11:01:08 -0700
    To: harti@freebsd.org
    
    
    

    On Wed, Apr 07, 2004 at 11:38:45AM +0200, 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.

    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:
    >
    > net.link.generic.ifdata.<ifindex>.dname
    > net.link.generic.ifdata.<ifindex>.dunit
    >
    > to access the driver's name of an interface.

    Fine with me.

    -- Brooks

    -- 
    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
    
    



  • Next message: Alexey Dokuchaev: "Re: interface renaming of an running interface"

    Relevant Pages