UM10360 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2013. All rights reserved.
User manual Rev. 3 — 19 December 2013  199 of 841
NXP Semiconductors
UM10360
Chapter 10: LPC176x/5x Ethernet
10.17.10 Receive filtering
Features of receive filtering
The Ethernet MAC has several receive packet filtering functions that can be configured 
from the software driver:
• Perfect address filter: allows packets with a perfectly matching station address to be 
identified and passed to the software driver.
• Hash table filter: allows imperfect filtering of packets based on the station address.
• Unicast/multicast/broadcast filtering: allows passing of all unicast, multicast, and/or 
broadcast packets.
• Magic packet filter: detection of magic packets to generate a Wake-on-LAN interrupt.
The filtering functions can be logically combined to create complex filtering functions. 
Furthermore, the Ethernet block can pass or reject runt packets smaller than 64 bytes; a 
promiscuous mode allows all packets to be passed to software.
Overview
The Ethernet block has the capability to filter out receive frames by analyzing the Ethernet 
destination address in the frame. This capability greatly reduces the load on the host 
system, because Ethernet frames that are addressed to other stations would otherwise 
need to be inspected and rejected by the device driver software, using up bandwidth, 
memory space, and host CPU time. Address filtering can be implemented using the 
perfect address filter or the (imperfect) hash filter. The latter produces a 6-bit hash code 
which can be used as an index into a 64 entry programmable hash table. Figure 24
 
depicts a functional view of the receive filter.
At the top of the diagram the Ethernet receive frame enters the filters. Each filter is 
controlled by signals from control registers; each filter produces a ‘Ready’ output and a 
‘Match’ output. If ‘Ready’ is 0 then the Match value is ‘don’t care’; if a filter finishes filtering 
then it will assert its Ready output; if the filter finds a matching frame it will assert the 
Match output along with the Ready output. The results of the filters are combined by logic 
functions into a single RxAbort output. If the RxAbort output is asserted, the frame does 
not need to be received.
In order to reduce memory traffic, the receive data path has a buffer of 68 bytes. The 
Ethernet MAC will only start writing a frame to memory after 68 byte delays. If the RxAbort 
signal is asserted during the initial 68 bytes of the frame, the frame can be discarded and 
removed from the buffer and not stored to memory at all, not using up receive descriptors, 
etc. If the RxAbort signal is asserted after the initial 68 bytes in a frame (probably due to 
reception of a Magic Packet), part of the frame is already written to memory and the 
Ethernet MAC will stop writing further data in the frame to memory; the FailFilter bit in the 
status word of the frame will be set to indicate that the software device driver can discard 
the frame immediately.