Subject: Re: An approach for detachable interfaces.
To: Bill Sommerfeld <firstname.lastname@example.org>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
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
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?