Subject: Re: An approach for detachable interfaces.
To: Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: tech-net
Date: 11/05/1999 11:56:44
In message <199911051924.TAA26678@orchard.arlington.ma.us>,
Bill Sommerfeld writes:

[snip description -- mostly excellent ]

>here's the desired behavior from my POV:
>
> - interface attributes set from userland (interface addresses,
>          up/down status, ...) survive detach/reattach cycles.
>

This is fine, provided we can agree on two things:

  a) what an interface *is*: e.g.,  the first ne2k on a system,
     or a specific ne2k card and MAC address?

  b) that we can move to a dynamic scheme, with configuration
     controlled by a userlevel dameon which can, for example, supply a
     user-configured IP address, or run dclient when a given card,
     identified by MAC address, is inserted.  I know a *lot* of people
     who roam this way: move to a new subnet?  Pop your card and
     reinsert it, and dhclient will automagically get an address on
     the new local subnet. We dont have userlevel pccard-event
     notification yet, though, sigh.)

Your `POV' is fine for peopel who want static config, and perfect for
installations, but as the sole long-term solution, its just not
acceptable.  Sure, support detach without panicking, but it'd be good
to keep dynamic interface configuration in mind, too.


>If you disconnect an interface and leave it disconnected permanently,
>the "blackholed" interfaces will hang around forever, but that doesn't
>seem like a particuarly problematic behavior in normal use (where one
>is switching among a small, but limited, set of interfaces -- for
>instance, a modem card, an ethernet card, and a wireless network
>interface).

Um. So what happens if I have two cards from the same vendor, one at
home and one at work? I pull out the home card in the morning, go into
work, and insert the work card, it gets attached at the unit which was
my `home' device.  (multicast state, arp state, and IP address and
netmask will be different, at least the way ppl at Stanford do this).

Can we change this so that if_locate() requires that MAC addresses
match too, for devices which have a MAC address?  Can we do that
relatively painlessly, or is it `too late' by the time we pick a
device name?  And can we leave the option to have interface state
disappear completely when a card is pulled, for the case when there is
a userlevel daemon running things?