![Intel IXP45X Developer'S Manual Download Page 237](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092237.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
August 2006
Developer’s Manual
Order Number: 306262-004US
237
Ethernet MACs—Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
Setting bit 5 of Receive Control Register 1 (RXCTRL1) to logic 1 enables filtering for uni-
cast frames that are received. When Uni-Cast frames are detected, the destination
address of the received frame must match exactly the value contained in the Uni-Cast
Address Register (UNIADDR). Setting bit 5 of Receive Control Register 1 (RXCTRL1) to
logic 0 allows all uni-cast frames to be passed to the NPE.
For example, if the Uni-Cast Address Register — which is broken into six bytes —
contains the value of 0x00ABCDEF1234 and uni-cast address filtering is enabled: Any
uni-cast frames that are received (determined by bit 47 being set to logic 0) — with
anything other than 0x00ABCDEF1234 — will be discarded.
Multi-cast is when frames are sent to multiple destinations from a single source with a
single-frame transmission. The Address Mask Register (ADDRMASK) and the Address
Register (ADDR) Multi-Cast frames can be used to filter multi-cast frames or frames
with common addresses. The address mask is used to tell what each destination
address has in common.
For example, bytes 3 and bytes 4 of every address in this group contain the same
value. The Address Mask Register (ADDRMASK) would contain a hexadecimal value of
0x00FFFF000000. The Address Mask Register will be a logical “AND” with the Address
Register and then a logical “AND” with the destination address. The result of the logical
“AND” values will be compared to see if they match. If they match, the frame will be
passed to the NPE via the remaining logic.
The values seen were as follows:
• Address Mask Register (ADDRMASK) = 00-FF-FF-00-00-00
• Address Register (ADDR) = 00-C1-D2-38-72-00
• Destination Address = A1-C1-D2-47-63-21
Notice that the underlined values are all that matters for the comparison because of the
address mask. The frame in this example would be forwarded to the next phase of the
receive logic. An example of a frame that would be dropped due to address filtering
follows:
• Address Mask Register (ADDRMASK) = 00-FF-FF-00-00-00
• Address Register (ADDR) = 00-C1-D2-38-72-00
• Destination Address = A1-C1-D3-47-63-21
To disable the multi-cast address filtering feature set the Address Mask Register to all
logic 0s.
After the received frame has passed all address filtering checks, the Receive Engine will
capture the length/type field. If the length/type is determined to be a length value field
and the length is less than 64 bytes, the Receive Engine will remove any padded bytes
(assuming bit 1 of Receive Control Register 1 is set to logic 1) and capture the
remaining data. Padded bytes will not be removed from the received packet when bit
1 of Receive Control Register is set to logic 0.
If the packet is less than 64 bytes and there are no padded bytes, the packet is
determined to be a runt frame. The Receive Engine has the capability to discard these
frames or forward the frames to the NPE via the remaining receive logic.
Setting bit 6 of Receive Control Register 1 (RXCTRL1) to logic 1 informs the Receive
Engine to allow the packet to be sent to the NPE. Setting bit 6 of Receive Control
Register 1 (RXCTRL1) to logic 0 informs the Receive Engine to terminate the reception
of the runt packet and purge the runt packet from the rest of the receive logic.
If the length/type is determined to be a type field, the field is looked at for validity.
Invalid frames are purged from the receive logic.