Intel IXP42X Personal Computer User Manual


 
Intel
®
IXP42X product line and IXC1100 control plane processors—Ethernet MAC A
Intel
®
IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor
DM September 2006
424 Order Number: 252480-006US
Broadcast frames can be dropped and prevented from being sent to the NPE. To
accomplish this, the following three conditions must be met:
1. Broadcast Disable bit “b7=1” of the Received Control Register RXCTRL1.
2. Address Mask Registers 1 to 6 are NOT 00 00 00 00 00 00.
3. Address Filter Enable bit “b5=1” of the Received Control Register RXCTRL1.
Multi-cast frame filtering and uni-cast frame filtering can be enabled/disabled by
setting bit 5 of Receive Control Register 1 (RXCTRL1). Setting bit 5 of Receive Control
Register 1 (RXCTRL1) to logic 0 allows all non-broadcast frames to be sent to the NPE.
The NPE can then operate in promiscuous mode and implement a more comprehensive
filtering algorithm if required.
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