0

I am developing a NDIS driver. NDIS sends packet to miniport. How will I know that the packet comes from NDIS is unicast, multicast or broadcast packet.How to find out a packet is unicast, multicast or broadcast..

MM WDD
  • 43
  • 1
  • 4
  • Perhaps you could [Get the destination address from the packet](http://stackoverflow.com/questions/5281409/get-destination-address-of-a-received-udp-packet) and work it out from there. – paddy Sep 30 '13 at 03:14
  • Once I get the destination address then how can I identify that it is unicast, multicast or broadcast packet.. – MM WDD Sep 30 '13 at 05:57
  • Unicast, multicast and broadcast addresses have different characteristics. Check out http://en.wikipedia.org/wiki/Multicast_address – paddy Sep 30 '13 at 22:27

1 Answers1

2

If you are writing an Ethernet driver (or at least, your media is similar to IEEE 802's MAC) you can use the ETH_IS_BROADCAST and ETH_IS_MULTICAST macros from ndis.h. Anything not broadcast or multicast is unicast.

For a code sample, see NICGetFrameTypeFromDestination from the netvmini sample.

Jeffrey Tippet
  • 3,146
  • 1
  • 14
  • 15