PRB: Multicast packets Might Pass through Despite MAC Filtering

ID: Q195390


The information in this article applies to:
  • Microsoft Win32 Device Driver Kit (DDK) for Windows NT, version 4.0


SYMPTOMS

Although Multicast definition requires that we have the first bit set to 1, Windows NT 4.0 might not filter the packets correctly if the multicast definition was used randomly.


CAUSE

Our source code only checks for the first byte for broadcast packet filtering.


RESOLUTION

Use a bit in the first byte, except the first bit, to differentiate a proprietary multicast address.


STATUS

This behavior is by design.


MORE INFORMATION

The Microsoft filter code checks to see whether or not the first byte contains 0xFF. If so, it sees this as a broadcast packet and passes it through. However, the definition states a broadcast as FFFFFFFFFFFF.

In the meantime, the definition of the multicast packet is indicated (if the first byte is 1, it is a multicast). For example, if the multicast packet definition is set as FF35FFFFFFFF, it would pass through the Microsoft filter code as a broadcast because the first byte is FF. Typically, this should not happen because all standard networks use the first byte to identify their multicast packet (for example, Appletalk as 0x09, NetBEUI as 0x03). If you are using the Microsoft IP, your users should not experience this problem.

  • If the broadcast filter is set, NDIS filter passes up all packets with first byte 0xFF, whether it is broadcast or multicast.


  • If broadcast is not set, NDIS will not pass up any mcast packets whose mcast address starts with 0xFF.


  • Since IP and Appletalk enforce mechanisms whereby associated 802.3 multicast addresses never have first byte 0xFF, the above NDIS behavior might be acceptable.


Additional query words: Broadcast Multicast Filter

Keywords : kbDDK kbNDIS kbNTOS400
Version :
Platform :
Issue type : kbprb


Last Reviewed: March 6, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.