How to block all Broadcast packets except ARP with an I82574L.
I've got an Intel 82574L Ethernet Controller that I'm trying to configure to block all Broadcast traffic except ARP. I've cleared the Receive Control Register, Broadcast Accept Mode bit (RCTL.BAM), which correctly prevents broad cast packets. When cleared to zero, the datasheet says, "Ignore broadcast packets (unless they pass through exact or imperfect filters)". In order to set up a filter to receive ARP broadcast I set the Wake Up Filter Control Register, ARP/IPv4 Request Packet Wake Up Enable bit (WUFC.ARP) and set my IP address into the first entry of IPv4 Address Table (IP4AT). I thought this should allow the broadcast ARP messages through, but it does not seem to be working. Any thoughts on what I'm missing would be appreciated.