Hi,
I found out that only stripping of the VLAN tag is sufficient for NDIS
to return the packet back to us.
Btw I would also like to know, if we want to provide support for VLAN
then providing only the miniport driver is sufficient or an IM driver
is also required (like MUX sample)?
Regards,
Abhijit
On May 31, 11:30*am, Abhijit Mmirajkar <abhijit.miraj...@gmail.com>
wrote:
> Hi,
>
> We have a NDIS 5.1 miniport driver for Windows XP (WHQL certified) in
> which we do NOT support VLAN (802.1P and 802.1Q), i.e. we do not set
> either of the flags NDIS_MAC_OPTION_8021P_PRIORITY and
> NDIS_MAC_OPTION_8021Q_VLAN in query to OID_GEN_MAC_OPTIONS, neither do
> we include OID_GEN_VLAN_ID in response to OID_GEN_SUPPORTED_LIST.
> All this is optional as per the DDK and we chose not to support it.
>
> Recently we noticed an issue where we observed that if we happen to
> receive a packet having VLAN tag (0x0081) and indicate it to upper
> layers like any other packet, then NDIS does not return it back to us,
> i.e. does not call MiniportReturnPacket.
> However if we set the per packet information (using the macro
> NDIS_PER_PACKET_INFO_FROM_PACKET) for InfoType Ieee8021QInfo and strip
> the VLAN header from the packet before indicating, then NDIS
> subsequently returns it back to us!
>
> So is it necessary even for a non-VLAN aware miniport driver to
> process VLAN packets in receive path?
> Actually in this case there was no query or set OID for VLAN_ID, so
> such packet should ideally be dropped. Is that the right
> implementation in this case?
> Thanks,
>
> Regards,
> Abhijit
|