Subject: Re: Cardbus
To: None <tech-kern@netbsd.org>
From: Ken Hornstein <kenh@cmf.nrl.navy.mil>
List: tech-kern
Date: 12/27/1999 00:09:38
>I think it's also worth looking at what BSDI did; I don't think it's
>completely correct but it had certain useful behaivors..  for
>instance, popping a card and reinserting it doesn't require you to
>re-ifconfig the interface.

Hmmmm .... is this a useful semantic to preserve?  I could see it
getting rather complicated trying to do this in practice.

>> I looked at the OpenBSD code, and it was fairly straightforward.  You
>> call ether_detach() to detach the interface from the ether
>> subsystem,
>
>or the link-type-specific equivalent?

Yeah; I'm assuming a network card would _know_ it's own link type
and call the appropriate detach routine.

>You also have to worry about interface pointers in received mbufs.
>Given how the pool allocator works, it shouldn't be too hard to write
>a function which scans all the mbufs.

Ah, I knew that I was forgetting something :-)  Buuuttt .... wouldn't
it be easier to look at ipintrq and arpintrq?  Hmmm, no, that might
not catch mbufs that are being processed.  Rather sticky, that
one.  There _are_ a lot of spots where rcvif is used, but they all
seem to check to see if it's NULL .... so maybe a scan through all the
mbufs to NULL out rcvif might be sufficient.

--Ken