Basic question on OID_GEN_CURRENT_PACKET_FILTER andOID_802_3_MULTI
- From: Gammaraman <Gammaraman@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Sat, 18 Apr 2009 23:40:01 -0700
Based on my current understanding, more than one protocol driver can bind to
a given miniport driver. However the packet filter is a "global" attribute of
the miniport driver, "global" in the sense that it is not a per protocol
attribute. The miniport driver has no notion of a protocol driver. Please
correct me if any of this is wrong.
1. Assuming this is all correct, what happens when protocol driver A sends
down a set on OID_GEN_CURRENT_PACKET_FILTER with a value of 0 (in effect
disabling all receives up from the miniport driver). Will this not impact say
another protocol driver B also bound to the same miniport but which
previously did set a non-zero packet filter i.e. B could suddenly and
unexpectedly stop receiving packet indications?
2. Another possibly related question is regarding OID_802_3_MULTICAST_LIST.
Different protocol drivers can set different multicast lists. Is the correct
behavior for the miniport to create a union out of all these various lists?
If so, isn't it possible for protocol A to receive a multicast packet even
though the multicast address in that packet is one A never set but B did?
3. When a packet is indicated up from the miniport, who decides which of the
bound protocols get the packet (I am guessing only one would get it because
that protocol has to return the packet back using the ReturnPacket entry
point)?
I think I am missing something basic here :(
4. Lastly, what does a protocol driver which has set a 0 packet filter in a
miniport driver do when it wrongly gets a receive packet indication from the
miniport OR to be more general gets a packet indication inconsistent with the
packet filter and the multicast address list it (protocol) previously set in
the miniport? If this happened when say the protocol was closing the adapter
(ProtocolUnbindAdapter), could it cause the Unbind to stall and/or have other
undesired consequences?
Thanks.
.
- Follow-Ups:
- Re: Basic question on OID_GEN_CURRENT_PACKET_FILTER andOID_802_3_MULTI
- From: Maxim S. Shatskih
- Re: Basic question on OID_GEN_CURRENT_PACKET_FILTER andOID_802_3_MULTI
- Prev by Date: Re: WDK ,WDM ,DDk
- Next by Date: Re: Basic question on OID_GEN_CURRENT_PACKET_FILTER andOID_802_3_MULTI
- Previous by thread: SetupDiGetDriverInfoDetail fails whatever i do,...
- Next by thread: Re: Basic question on OID_GEN_CURRENT_PACKET_FILTER andOID_802_3_MULTI
- Index(es):
Relevant Pages
|