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