Ethernet Switch/Router L2/L3/MPLS 12x10G User Guide: Packet Architects AB
Ethernet Switch/Router L2/L3/MPLS 12x10G User Guide: Packet Architects AB
Ethernet Switch/Router
L2/L3/MPLS 12x10G
User Guide
1 Overview 11
1.1 Feature Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2 Port Numbering Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2 Packet Decoder 17
2.1 Decoding Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3 Packet Processing 21
3.1 Ingress Packet Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Egress Packet Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5 VLAN Processing 27
5.1 Assignment of Ingress VID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.1.1 VID Assignment from Packet Fields . . . . . . . . . . . . . . . . . . . . . . . 27
5.1.2 Force Ingress VID from L2 ACL . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.2 VLAN membership . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.3 VLAN operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.3.1 Default VLAN Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.3.2 Source Port VLAN Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.3.3 L2 ACL VLAN Swap Operation . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.3.4 VLAN Table Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.3.5 Egress Port VLAN Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.3.6 Priority Tagged Packets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.3.7 Router VLAN Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.3.8 VLAN Operation Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.3.9 VLAN Operation Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.3.10 VLAN Reassembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6 Switching 35
6.1 L2 Destination Lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.2 Software Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
7 Routing 39
7.1 Order of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
8 MPLS 41
8.1 MPLS Header Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8.2 MPLS Penultimate Pop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8.3 MPLS Header Insertion To Reach Next Hop . . . . . . . . . . . . . . . . . . . . . . . . 42
9 Mirroring 43
9.1 Input Mirroring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9.2 Output Mirroring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9.2.1 Requeueing FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2
CONTENTS
10 Link Aggregation 45
10.0.1 One-to-one Port Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
10.1 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
10.2 Hash Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
11 Classification 49
11.1 L2 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
11.2 L3 and L4 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
11.3 Chaining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
13 Hashing 53
13.1 Hashing Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
13.1.1 MAC Table Hashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
13.1.2 IP Table Hashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
13.1.3 MPLS Table Hashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
15 Spanning Tree 65
15.1 Spanning Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
15.2 Multiple Spanning Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
15.3 Spanning Tree Drop Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
16 Token Bucket 67
18 Packet Coloring 75
18.1 Ingress Packet Initial Coloring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
18.2 Remap Packet Color to Packet Headers . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
19 Admission Control 79
19.1 Ingress Admission Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
19.1.1 Traffic Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
19.2 Meter-Marker-Policer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3 Packet Architects AB
CONTENTS
20 Tick 83
23 Statistics 93
23.1 Packet Processing Pipeline Drops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
23.2 ACL Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
23.3 SMON Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
23.4 Routing Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
23.5 Packet Datapath Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
23.6 Miscellaneous Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
23.7 Debug Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
23.7.1 Debug Statistics Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
27 Implementation 109
27.1 Floorplanning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
27.1.1 Pipelining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
27.1.2 Configuration and debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
27.2 Clock crossings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
27.2.1 IPP and EPP Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
27.3 Memory timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
27.4 Lint set up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
27.4.1 Waivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4 Packet Architects AB
CONTENTS
5 Packet Architects AB
CONTENTS
6 Packet Architects AB
CONTENTS
7 Packet Architects AB
28.17.16 Reserved MAC DA Drop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
28.17.17 Reserved MAC SA Drop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
28.17.18 Unknown Ingress Drop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
28.17.19 VLAN Member Drop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
28.18 Statistics: Misc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
28.18.1 Buffer Overflow Drop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
28.18.2 Drain Port Drop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
28.18.3 Egress Resource Manager Drop . . . . . . . . . . . . . . . . . . . . . . . . . 213
28.18.4 Flow Classification And Metering Drop . . . . . . . . . . . . . . . . . . . . . 214
28.18.5 IPP Empty Destination Drop . . . . . . . . . . . . . . . . . . . . . . . . . . 214
28.18.6 MAC RX Broken Packets . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
28.18.7 MAC RX Short Packet Drop . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
28.18.8 Re-queue Overflow Drop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
28.19 Statistics: Packet Datapath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
28.19.1 EPP Packet Head Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
28.19.2 EPP Packet Tail Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
28.19.3 IPP Packet Head Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
28.19.4 IPP Packet Tail Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
28.19.5 PB Packet Head Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
28.19.6 PB Packet Tail Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
28.19.7 PS Packet Head Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
28.19.8 PS Packet Tail Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
28.20 Statistics: Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
28.20.1 Next Hop Hit Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
28.20.2 Received Packets on Ingress VRF . . . . . . . . . . . . . . . . . . . . . . . . 218
28.20.3 Transmitted Packets on Egress VRF . . . . . . . . . . . . . . . . . . . . . . . 219
28.21 Statistics: SMON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
28.21.1 SMON Set 0 Byte Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
28.21.2 SMON Set 0 Packet Counter . . . . . . . . . . . . . . . . . . . . . . . . . . 219
28.21.3 SMON Set 1 Byte Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
28.21.4 SMON Set 1 Packet Counter . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Index 221
List of Figures
8
19.1 MMP pointer Selection Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
List of Tables
19.1 Rate Configuration Example (Assume tickFreqList = [1MHz, 100KHz, 10KHz, 1KHz, 100Hz]) 82
27.1 The settings for pipeline flops between floorplan blocks . . . . . . . . . . . . . . . . . . . 109
27.2 The settings for input and output flops for the floorplan blocks . . . . . . . . . . . . . . . 109
9
LIST OF TABLES
10 Packet Architects AB
Chapter 1
Overview
This L2/L3 Ethernet Switching/Routing Core offers full wire-speed on all 12 ports. Each port has 8 egress
queues which are controlled by a strict priority scheduler.
The core is built around a shared buffer memory architecture capable of simultaneous wire-speed switching
on all ports without head of line blocking. Packets are stored in the shared buffer memory as fixed size
cells of 160 bytes. In total the buffer memory has a capacity of 4096 cells.
Register &
Re-Queue
Table Controller
Scheduler
Manager
L2 / L2+ L3 / L4
Queue
Ethernet
Interlaken ACL ACL Ethernet
Interlaken
Parallel to Serial
Serial to Parallel
MAC
100G+ MAC MAC
100G+ MAC
Ethernet
Ethernet Ethernet
Ethernet
MAC
Egress
100G MAC MAC
100G MAC
Packet
Ethernet Ingress
Ethernet Processing Ethernet
Ethernet
40GMAC
MAC
Packet MAC
40G MAC
Processing
Ethernet
Ethernet Ethernet
Ethernet
MAC
1G/10G MAC Shared MAC
1G/10G MAC
Buffer
RX MACs VLAN
Ingress Ingress
Memory Egress Egress TX MACs
L2 L3 L2 L3
Table
Tables Tables Tables Tables
3rd Party IPs Multicast / Broadcast 3rd Party IPs
Rate Limiter
Gray Area Represents IP
Ingress Egress
Configuring tables and registers are done through a Configuration interface. However it is not required
to perform any configuration. The core is ready to receive and forward Ethernet frames once the reset
sequence has been completed.
11
CHAPTER 1. OVERVIEW
12 Packet Architects AB
CHAPTER 1. OVERVIEW
• Support for allowing L2 and L3 classification rules to be combined to larger than 5 tuple lookups.
• 5242880 bits shared packet buffer memory for all ports divided into 4096 cells each of 160 bytes size
• 8 priority queues per egress port.
• Configurable mapping of egress queue from IP TOS, MPLS exp/tc or VLAN PCP bits.
• 16 ingress admission control entries.
• Strict Priority Scheduler.
• Egress queue resource limiter with four sets of configurations.
• Configuration interface for accessing configuration and status registers/tables.
• Multicast/Broadcast storm control with separate token buckets for flooding, broadcast and multicast
packets.
• Multicast/Broadcast storm control is either packet or byte-based, configurable per egress port.
• LLDP frames can optionally be sent to the CPU.
13 Packet Architects AB
CHAPTER 1. OVERVIEW
14 Packet Architects AB
CHAPTER 1. OVERVIEW
15 Packet Architects AB
CHAPTER 1. OVERVIEW
16 Packet Architects AB
Chapter 2
Packet Decoder
The packet decoder identifies protocols and extracts information to be used in the packet processing.
17
CHAPTER 2. PACKET DECODER
The packet decoding is done according to the figure above. The packet decoding steps are described
below.
1. A packet arrives at the ingress packet processing pipeline.
2. The destination MAC address is extracted and compared.
(a) If the address matches the BPDU multicast address (01:80:C2:00:00:00) the packet can be
sent to the CPU if enabled in Send to CPU. There is no decoding done apart from the MAC
address comparison. BPDU frames are usually 802.3 encapsulated with a 802.2 LLC header.
This decoding is not done by the switch. Note that packets that match the LLDP criteria
described below will not be considered BPDU packets.
(b) If the address matches the SSTP (Shared Spanning Tree Protocol) multicast address (01:00:0C:CC:CC:CD)
the packet can be sent to the CPU if enabled in Send to CPU. There is no decoding done
apart from the MAC address comparison.
(c) If the address matches the configurable cpuMacAddr and this feature is enabled then the
packet will be sent to the CPU port.
(d) If the address matches one of the mac1/mac2/mac3 addresses in the LLDP Configuration
the packet will subject to further LLDP decoding.
3. The source MAC address is extracted from the packet.
4. The Ethernet type is extracted from the packet and is then compared to known types.
(a) LLDP
If the MAC DA address is equal to any of the LLDP Configuration mac1/mac2/mac3 ad-
dresses and the Ethernet Type is equal to the register LLDP Configuration field eth then the
field portmask determines if the packet shall be sent directly to the CPU, bypassing normal
forwarding process. Default is to forward LLDP frames to the CPU port. A packet that matches
the LLDP critera will not be considered a BPDU packet even if it matches the BPDU multicast
address.
18 Packet Architects AB
CHAPTER 2. PACKET DECODER
19 Packet Architects AB
CHAPTER 2. PACKET DECODER
20 Packet Architects AB
Chapter 3
Packet Processing
21
CHAPTER 3. PACKET PROCESSING
determine if packet processing should continue. MSTP is further described in the Spanning Tree
chapter.
10. IP Routing
The routing function figures out where to forward the packet by determining the Next Hop. For
details on the routing function see the Routing chapter.
12. L3 ACL
The packet is classified on L3/L4 level by matching selected headers with the ACL rules setup in
Ingress L3/L4 ACL Match Data Entries. There are numerous actions that can be applied when
a packet matches an ACL entry. These are configured in Ingress L3/L4 ACL Result Operation
Entries. When a packet matches an ACL rule the L3 ACL statistics is update. For details one L3/L4
ACLs see L3 and L4 Classifiction section.
13. L2 Switching
If the packet is not routed the destination MAC address is searched for in the L2 DA Hash Lookup
Table. If the address is found the corresponding entry in the L2 Destination Table will return
a single destination port or multiple egress ports (if the destination address points to a multicast
entry). The status in the L2 Aging Table is also updated. If the destination address is not found
then the packet will be flooded to all ports that are members of the packets VLAN. See chapter L2
Switching for details.
17. IP Statistics
Statistics of IP unicast, multicast and routed packets are updated.
22 Packet Architects AB
CHAPTER 3. PACKET PROCESSING
23 Packet Architects AB
CHAPTER 3. PACKET PROCESSING
6. VRF Statistics
If the packet is routed it will be counted in Transmitted Packets on Egress VRF counter for the
VRF it belongs to.
7. Reassemble Packet Headers
The final step in the egress processing is to reassembly the outgoing packet header.
24 Packet Architects AB
Chapter 4
This chapter is meant as an introduction to the causes of latency and jitter in the core. It gives some
numbers, but mostly points out the general principles.
The switch has a fixed minimal latency, the bulk of which comes from the ingress and egress packet
processing, the store-and-forward operation, and the dataflow registers between design units.
4.1 Latency
The major contributors to latency:
1. The Serial to Parallel converter (SP) gathers the data chunks from the MAC into wider cells.
2. The IPP has a fixed latency of 23 core clock cycles.
3. The queue engine stores the entire packet in buffer memory before adding it to the queues.
4. The EPP has a fixed latency of 6 core clock cycles.
5. Packet modifications that decrease the packet size (for example removing a VLAN) will cause a
packet to be delayed one scheduling slot for certain packet sizes.
4.2 Jitter
There are tree places (t1-t3) in the core where latency jitter can be introduced. See Figure 4.1 on
page 26.
t1 In the SP the ports are visited in a fixed order, thus introducing a jitter the size of the port visitation
period. There is also an asyncronous FIFO between the port and the core clock regions, adding one
clock period (of the slowest clock) of jitter.
t2 The egress scheduler visits the ports in a fixed order, introducing a jitter the size of the port visitation
period.
t3 The asyncronous FIFO between the core and port clock regions adds one core clock period (of the
slowest clock) of jitter.
Note, though, that the core is dimensioned to handle even the worst case jitter without causing packet
drops or increased IFG.
25
CHAPTER 4. LATENCY AND JITTER
t2
t1 Register t3
&
Scheduler
Manager
Queue
Table
Controller
Parallel to Serial
Serial to Parallel
Ingress Egress
Packet Packet
Processing Processing
(PAC) (PAC)
Shared
Buffer
Memory
Ingress Egress
Tables Tables
26 Packet Architects AB
Chapter 5
VLAN Processing
• On the L2 MAC layer in Ingress VID MAC Range Search Data and its result table Ingress VID
MAC Range Assignment Answer, the search data can be either on source MAC or destination
MAC ranges.
• On the Outer VID in Ingress VID Outer VID Range Search Data and its result table Ingress
VID Outer VID Range Assignment Answer. If the packet has no outer VID then this is skipped.
There exists options if the packets VID shall be matched depending on if this is a S-tag or C-tag.
• On the Inner VID in Ingress VID Inner VID Range Search Data and its result table Ingress VID
Inner VID Range Assignment Answer. If the packet has no inner VID then this is skipped. There
exists options if the packets VID shall be matched depending on if this is a S-tag or C-tag.
• On the Ethernet Type which is following the innermost VLAN tag. The setup is in Ingress VID
Ethernet Type Range Search Data and its result table Ingress VID Ethernet Type Range
Assignment Answer.
27
CHAPTER 5. VLAN PROCESSING
4. The Ethernet Type ranges, defined in Ingress VID Ethernet Type Range Search Data
When referring to outermost and innermost VLAN header, outermost means the first VLAN header that
the packet decoding has identified as a VLAN header. Innermost means the second VLAN header as
identified by the packet decoder.
The VLAN operations that can be performed are:
• Pop - The outermost VLAN header in the packet is removed.
• Push - A new VLAN header is added to the packet before any previous VLANs. It will become the
new outer VLAN. The selection of each of the VLAN fields such as TPID, VID, PCP and DEI/CFI
are configurable. These fields can either come from existing VLAN headers in the original incoming
packet or from tables.
• Swap/Replace - The outermost VLAN header in the packet is replaced. The selection of each of the
VLAN fields such as TPID, VID, PCP and DEI/CFI are configurable. These fields can either come
from existing VLAN headers in the original incoming packet or from tables.
• Penultimate Pop - All VLAN headers (up to as many as supported by the packet decoder ) are
removed from the packet.
28 Packet Architects AB
CHAPTER 5. VLAN PROCESSING
Pop operation
Original Packet:
DA SA VLAN Data CRC
Push operation
Original Packet:
DA SA Data CRC
Swap operation
Original Packet:
DA SA VLAN Data CRC
Original Packet:
DA SA VLAN VLAN Data CRC
29 Packet Architects AB
CHAPTER 5. VLAN PROCESSING
30 Packet Architects AB
CHAPTER 5. VLAN PROCESSING
• Outer VLAN push operation from routers Next Hop Packet Modifications.
4. One of the four VLAN operations from:
• Egress Port Configuration VLAN operation.
The input to the first VLAN operation is the incoming packet. The packet decoder identifies the position of
the VLAN headers in the packet and this information is used for the subsequent VLAN operations.
The output from one VLAN operation is input to the next VLAN operation. For example if the first VLAN
operation is a push and the second is a swap then the effect will be that the pushed header is replaced by
the swap.
If a VLAN operation needs a VLAN header in the packet, i.e. a swap or a pop, and there is no VLAN
header in the packet then the operation will not be performed.
Example 1)
incoming packet:
[DA][SA][V1]
Example 2)
incoming packet:
[DA][SA][V1]
outgoing packet:
[DA/SA][new V1][V1]
Example 3)
incoming packet:
[DA][SA][V1][V2]
outgoing packet:
[DA/SA][new V1][V1][V2]
Example 4)
incoming packet:
[DA][SA][V1][V2]
31 Packet Architects AB
CHAPTER 5. VLAN PROCESSING
outgoing packet:
[DA/SA][V2]
Example 5)
incoming packet:
[DA][SA][V1][V2]
outgoing packet:
[DA/SA][new V2][new V1]
# Packet decoding results in a list of all VLAN tags from the ingress packet.
pkt_vlan_tags = [ ’V2’, ’V1’ ]
# Number of VLAN tags that will be used from the original packet. Before any
# VLAN operations this equals number of incoming VLANs, it could be decreased by
# swap or pop but can’t be increased. When nr_of_new_vlans==0, pop or swap will
# decrement it. At any time popAll will set it to 0.
nr_of_pkt_vlans = 2
# Number of new VLAN tags to be used in the reassembly. Push and swap operations
# will increment this and at the same time the new VLAN to the end of new_vlans.
# popAll will set it to 0.
nr_of_new_vlans = 0
# After all VLAN operation sequences: pop, swap new V1, push new V2, VLAN
reassembly collects needed information to get started.
nr_of_pkt_vlans = 0
nr_of_new_vlans = 2
pkt_vlan_tags = [ ’V2’, ’V1’ ]
new_vlan_tags = [ ’new V1’, ’new V2’ ]
# At the starting point of re-assembling the VLAN tags the egress packet contains the
32 Packet Architects AB
CHAPTER 5. VLAN PROCESSING
# Now egress_pkt contains all updated VLAN headers and tags. After this new DA/SA
# and other new tags like to_cpu_tag is added to get the final egress packet.
33 Packet Architects AB
CHAPTER 5. VLAN PROCESSING
34 Packet Architects AB
Chapter 6
Switching
Most packets will be subjected to a L2 MAC destination address lookup to determine the destination egress
port (or ports). These are the exceptions:
• Packet decoder determines that this protocol should be send to the CPU. See Packet Decoder
chapter.
• A classification unit action dropped the packet, sent the packet to the CPU, or sent the packet to a
specific egress port. See Classification chapter.
• The packet has a From CPU tag which allows the normal packet forwarding process to be bypassed.
See Packet From CPU Port section.
• The packet is routed. See the Routing chapter.
• The packet is dropped earlier in the packet processing chain. See chapter Ingress Packet Processing
for details.
35
CHAPTER 6. SWITCHING
• If both CAM and L2 hash tables return a match, the result from the CAM table will take precedence.
• Once the final entry has been determined, the result is read out from the L2 Destination Table. It
has enough entries to fit the destinations for both the L2 hash table and the L2 CAM table. The L2
CAM table entries are located after the L2 hash table entries.
• If the pktDrop field in the L2 Destination Table is set the packet will be dropped.
• If the destination shall be a single port (i.e. it is not to be multicasted) then the uc field shall be set
to one and the destPort or mcAddr field shall contain the egress port number.
• If a packet shall be sent to multiple output ports then the uc field shall be set to zero and the
destPort or mcAddr field shall contain a pointer to a entry in the L2 Multicast Table. The entry
in the L2 Multicast Table contains a portmask where bit 0 represents port 0, bit 1 port 1, and so
on. A bit set to one results in the corresponding port receiving a packet.
• The DA MAC address ff:ff:ff:ff:ff:ff is the broadcast address, meaning that all the member ports in
the VLAN (configured in the VLAN Table vlanPortMask field) will receive a packet.
A packet can be sent to its source port only when it hits the corresponding unicast entry in the L2
Destination Table. Broadcast, flooded, L2 Multicast Table hit packet will have its source port
excluded from the destination portmask.
• Ports that are not members of the VLAN will be removed from the portmask. If there are no ports
left in the port mask then the packet is dropped and counted in the L2 Lookup Drop register.
• If there is no hit in either the L2 DA Hash Lookup Table or the L2 Lookup Collision Table, then
the packet will be flooded, i.e. sent out to all ports in the VLAN. This means that the port mask
for the outgoing packet will be taken from the vlanPortMask field in the VLAN Table.
• If there is a hit then the hit bit in the L2 Aging Table is set to one.
• The final physical port is determined by the link aggregation. See chapter Link Aggregation for more
information.
• Learning new unknown SA MAC addresses is described in chapter Learning and Aging.
36 Packet Architects AB
CHAPTER 6. SWITCHING
SA
Ta
b
Hash DA = le
Function Ta
ble
L2 Age Table L2
Bucket #0 Bucket #1 Bucket #2 Bucket #3 Aging
Valid Collision
Table Valid
Bits Bits
For L2 Age Table - Replica For
Bucket #0 Bucket #1 Bucket #2 Bucket #3
Hash Collision L2 collision entries
L2 Collision CAM are located
Tables Aging CAM Entires At the end of the table
Collision
L2 Aging Status Shadow Table Shadow
Bucket #0 Bucket #1 Bucket #2 Bucket #3
Table
37 Packet Architects AB
CHAPTER 6. SWITCHING
38 Packet Architects AB
Chapter 7
Routing
This core supports IPv4 and IPv6 routing as well as MPLS switching.
The routing is disabled by default and needs to be setup from the configuration interface before it can
be used. This core supports virtual router ports/functions (VRFs). The VRFs allow the core to handle
multiple virtual routers sharing the same set of tables and register. A VRF identifier is used to determine
which virtual router each table entry belongs to.
The routing is done separately from the L2 switching. There is no switching done before or after the
router. The router is entered when a packets destination MAC address equals the routers MAC address.
The packet exits the router directly to an egress port.
MPLS follows the same order of operations as IP routing and uses the same tables. The MPLS processing
is therefore described here.
39
CHAPTER 7. ROUTING
ECMP calculates a hash based on the IP source and destination addresses, the IP proto field, IP
TOS and the TCP/UDP source port and destination port.
For MPLS the ECMP hash key consists of the outermost header and does not include embedded IP
headers. The hash value is added as an offset to the nextHopPointer after masking (ecmpMask)
and shifting (ecmpShift).
7. If there is no hit in the destination address search then the default next hop is used. The default is
defined in L3 Routing Default per VRF. There are also options to drop the packet or send to CPU
port.
8. IP statistics is updated in the Received Packets on Ingress VRF registers. MPLS forwarded
packets are only counted in Received Packets on Ingress VRF
9. The next hop from the previous steps is used as index into the Next Hop Table. The entries
determine where to route the packet, which is either a single destination port or a pointer to a L2
multicast entry. There are also options to drop the packet or send to CPU port.
Each entry also contains a packet modification pointer which points to several tables that determines
what header modification that should be done when the packet exits the router.
• The Next Hop Packet Modifications table determines what VLAN operations to perform
when exiting the router. If the entry’s valid bit is not set the packet will be send to the CPU.
• The Next Hop DA MAC which determines the destination MAC address to use in the outgoing
packet.
• For MPLS the Next Hop MPLS Table determines what MPLS header modifications that
should be done on the outgoing packets. These are described in detail in the register description
and in the MPLS chapter.
10. An MTU check, as specified in the Router MTU Table, is performed on incoming routed packets.
This check is executed by comparing the IPv4 Total Length field with the limit configured in field
maxIPv4MTU, separately for each destination port and VRF. Similarly, the IPv6 Payload Length
field is compared with field maxIPv6MTU. If either length field exceeds its respective limit, the
packet will be forwarded to the CPU for further processing. Notably, the MTU check is not applied
to MPLS packets.
11. When next hop hit status updates are enabled in the Ingress Router Table then each time a packet
is routed using a Next Hop Table entry the corresponding status bit is set in the Next Hop Hit
Status.
12. The ingress part of routing is now completed. This is followed by other ingress functions such as L3
ACL etc. Finally the packet is queued to one or multiple egress ports.
13. The egress processing of the routed packet performs the packet header modifications. First step is
update of the TTL field which is controlled by the Egress Router Table.
14. There exists an option called Next Hop Packet Insert MPLS Header which enables a outgoing
routed packet to add MPLS labels after the L2 / VLAN headers. This allows the router to enter
a MPLS tunnel in order to reach the next hop though a MPLS network. If a packet is already a
MPLS packet this option offers a way to insert extra MPLS headers on top of the MPLS label stack.
NOTE: It is not possible to insert MPLS headers if the packet has a PPPoE header, If the packet is
a PPPoE then no MPLS insertion is then carried out.
15. A new L2 header is constructed with a DA MAC from the Next Hop DA MAC table. The SA MAC
will be the incoming DA MAC.
16. The routers VLAN operations are performed. See the VLAN Processing chapter.
17. The IPv4 header checksum is recalculated.
18. Egress router statistics is updated in Transmitted Packets on Egress VRF.
19. The egress ports VLAN operations are performed. See the VLAN Processing chapter.
40 Packet Architects AB
Chapter 8
MPLS
This core is equipped with MPLS forwarding. The processing of MPLS packets follows the same pattern
as IP routing, with the major difference that an MPLS header operation (such as push, pop, swap and
penultimate pop) can be carried out. Since the order of operation for MPLS is almost identical to IP
routing it is described in the Routing chapter.
• Push - A new MPLS header is added to the packet before any previous MPLS headers. The label
for the new header and the source for the EXP bits are specified in the table entry.
• Swap/Replace - The outermost MPLS header in the packet is replaced. The label for the new header
and the source for the EXP bits are specified in the table entry.
• Penultimate Pop - All MPLS headers (up to as many as supported by the packet decoder, see Packet
Decoding chapter) are removed from the packet. In addition the Ethernet Type is set to IPv4 or
IPv6, see the following section.
• Remapping of EXP bits in the outermost MPLS header. Either use the existing value, use form the
table or use a remapping table Egress Queue To MPLS EXP Mapping Table.
The Egress MPLS TTL Table determines which operation on the TTL field to perform when exiting the
VRP, either decrement the TTL or set a new TTL. Each VRP can have their own setting.
The Penultimate Pop operation removes all MPLS headers and also updates the packets Ethernet Type.
This assumes that the payload in the MPLS packet is an IP packet. The first nibble in the payload is then
decoded (see Packet Decoding chapter) to determine if the packet is IPv4 or IPv6 and then the Ethernet
Type is updated accordingly.
41
CHAPTER 8. MPLS
42 Packet Architects AB
Chapter 9
Mirroring
• For each port, one input mirroring port can be configured through the Source Port Table. The
inputMirrorEnabled field enables a input mirror copy and send it to the port configured in the
destInputMirror field.
By default the input mirror copy will bypass any packet modification or drop decisions during the ingress
or egress packet processing. Extra options are given in the Source Port Table to limit the range of
the mirroring destination. imUnderVlanMembership only allows the input mirror copy to be sent to
the members of the VLAN. imUnderPortIsolation only allows the input mirror copy to be sent to the
destination that does not block the current source port from the Ingress Egress Port Packet Type
Filter.
1. The output mirroring functionality can be enabled per port using the outputMirrorEnabled field
from the Output Mirroring Table.
2. The port to which the mirror copy is sent is setup by the outputMirrorPort field in the Output
Mirroring Table. Multiple input ports can use the same output mirroring destination port.
With input mirroring, a port can be used to observe the traffic received by any port. With output mirroring,
a port can be used to observe the traffic transmitted from any port. When there are multiple mirror copies
requested or the CPU port is involved, the switch works as follows:
• An output mirrored packet will not be mirrored again even if the destination port has output mirroring
turned on.
• When a packet is mirrored to the CPU port, it will not carry an extra to-CPU tag since it is the copy
of another packet.
43
CHAPTER 9. MIRRORING
It is possible that a packet is sent out in multiple copies on the same port when mirroring is turned on. In
this case at most four instances of the same received packet can appear on an egress port. The order of
the packet instances will be:
1. Normal switched/routed packet
2. Input mirror copy
3. Output mirror copy of the switched/routed packet
4. Output mirror copy of the input mirror copy
44 Packet Architects AB
Chapter 10
Link Aggregation
Link aggregation is a solution to bundle multiple ports into a higher bandwidth link. Each link aggregate
is setup using the Link Aggregation Membership and Link Aggregation To Physical Ports Mem-
bers.
The Link Aggregation Membership register maps the incoming packets source port number to a link
aggregate number. The link aggregate number is then used during ingress packet processing instead of
source port/destination port numbers.
When a destination port (destination link aggregate number) has been determined by ingress packet
processing the Link Aggregation To Physical Ports Members table maps the link aggregate number
to which physical ports that are part of the link aggregate, i.e. the physical ports the packet shall be
transmitted to.
Note that once link aggregation is enabled all ports needs to be setup as link aggregates, even if a port only
has a single port part of its link aggregate. These ports are usually setup as having a one-to-one mapping,
i.e. source port number, link aggregate number and physical port number are all the same.
The Link Aggregation Membership register and the Link Aggregation To Physical Ports Members
register must be kept in sync by software.
To distribute the packets over the ports that are part of a link aggregate, a hash is calculated over some
of the packets fields which is configured by register Link Aggregation Ctrl. The hash value calculated
is used to index the Link Aggregate Weight table which results in a port mask of the ports that will be
used for this specific hash.
The ratio that each port in a link aggregate is used is determined by the number of times the port is set
in the Link Aggregate Weight table divided by the number of entries in the table.
It is important to setup all entries in the Link Aggregate Weight table with one port set for each
link aggregate, otherwise a certain hash value will have no port set thereby causing the packet to be
dropped.
10.1 Example
Lets say that a link aggregate shall use physical ports 0,1,2 and each port shall have equal amount of traffic.
Another link aggregate will use ports 6,7 also with equal load between the ports. The remaining ports are
setup to be one-to-one. In this example these are ports 3,4 and 5, on a switch with 8 ports.
45
CHAPTER 10. LINK AGGREGATION
To setup the Link Aggregation Membership register we associate the source port with the link aggregate
number that it belongs to. Ports 0,1,2 are part of link aggregate 0 and port 6,7 are part or link aggregate
1. The remaining ports are setup to use the same link aggregate number as the port number.
In Link Aggregation To Physical Ports Members we need to setup the relation from link aggregate
number to physical port members.
To setup how the traffic is distributed between the link aggregate member ports we first select which
packet headers that will be used in the hash calculation. In this example we chose to select source MAC,
destination MAC, IP addres, L4, TOS value and vlan header as calculation base for the hash value.
rg_linkAggCtrl.useSaMacInHash = 1
rg_linkAggCtrl.useDaMacInHash = 1
rg_linkAggCtrl.useIpInHash = 1
rg_linkAggCtrl.useL4InHash = 1
rg_linkAggCtrl.useTosInHash = 1
rg_linkAggCtrl.useVlanInHash = 1
The table Link Aggregate Weight shall then be setup so that ports 0,1,2 have equal weight. This is
accomplished by configuring so that the number of bits set for port 0 in all hash entries are equal to number
of bits for port 1 and port 2. Which bits are set are not important as long as only one bit per entry are set
and the total number of bits per port are equal.
If the hash of the packets fields are distributed evenly then 1/3 of the packets will be distributed to each
of the three ports part of the link aggregate.
Similarly to setup a link aggregate on ports 6,7 with equal load between the ports then each entry in
the Link Aggregate Weight table must have bit 6 or 7 set and with equal number of bits for the two
ports.
The ratio for link aggregation 0, is 34% on port 0, 33% on port 1 and 33% on port 2. For link aggregation
1, it is 50% on each port.
46 Packet Architects AB
CHAPTER 10. LINK AGGREGATION
Finally when all the registers have been configured the link aggregation function is enabled in the Link
Aggregation Ctrl register.
rg_linkAggCtrl.enable = 1
47 Packet Architects AB
CHAPTER 10. LINK AGGREGATION
final data = 0
i f useDaMacInHash==0:
daMac = 0
i f useNextHopInHash ==0:
nextHop = 0
i f r o u t e d ==1:
daMac = nextHop
vlanId = 0
f i n a l d a t a = f i n a l d a t a <<48
f i n a l d a t a = f i n a l d a t a | daMac
f i n a l d a t a = f i n a l d a t a <<48
i f useSaMacInHash ==1:
f i n a l d a t a = f i n a l d a t a | saMac
f i n a l d a t a = f i n a l d a t a <<12
i f u s e V l a n I d I n H a s h ==1:
final data = final data | vlanId
f i n a l d a t a = f i n a l d a t a <<8
i f u s e T o s I n H a s h ==1:
f i n a l d a t a = f i n a l d a t a | tos
f i n a l d a t a = f i n a l d a t a <<16
i f u s e L 4 I n H a s h ==1:
f i n a l d a t a = f i n a l d a t a | sp
f i n a l d a t a = f i n a l d a t a <<16
i f u s e L 4 I n H a s h ==1:
f i n a l d a t a = f i n a l d a t a | dp
f i n a l d a t a = f i n a l d a t a <<8
i f u s e L 4 I n H a s h ==1:
f i n a l d a t a = f i n a l d a t a | proto
f i n a l d a t a = f i n a l d a t a <<128
i f u s e I p I n H a s h ==1:
final data = final data | saIp
f i n a l d a t a = f i n a l d a t a <<128
i f u s e I p I n H a s h ==1:
f i n a l d a t a = f i n a l d a t a | daIp
f i n a l d a t a = f i n a l d a t a <<4
final data = final data | srcPort
return f i n a l d a t a
def c a l c L a H a s h ( k e y ) :
mask = ( 1 << 8 ) − 1
hash = 0
f o r j i n range ( 5 2 ) :
hash = h a s h ˆ ( k e y & mask )
k e y = k e y >> 8
r e t u r n h a s h & mask
48 Packet Architects AB
Chapter 11
Classification
11.1 L2 Classification
• L2 Destination MAC range classification is setup in table Reserved Destination MAC Address
Range.
– The table is searched starting from entry 0.
– When a range is matched the corresponding actions (drop, send to cpu, force egress queue)
will be activated.
– If multiple ranges are matched, any matching range that sets drop will cause a drop.
– Any match that sets sendToCpu will cause send to CPU (this has priority over drop).
– When multiple ranges that match has set the forceQueue then the highest numbered entry will
determine the value.
• L2 Source MAC range classification is setup in table Reserved Source MAC Address Range.
– The table is searched starting from entry 0.
– When a range is matched the corresponding actions (drop, send to cpu, force egress queue)
will be activated.
– If multiple ranges are matched, any matching range that sets drop will cause a drop.
– Any match that sets sendToCpu will cause send to CPU (this has priority over drop).
– When multiple ranges that match has set the forceQueue then the highest numbered entry will
determine the value.
• If the destination MAC address bits [47:8] matches the L2 Reserved Multicast Address Base then
bits [7:0] of the destination MAC address is used as a index in the table L2 Reserved Multicast
Address Action which determines what action to take on the packet. Actions are set per source
port and can either be to drop the packet or to send it to the CPU.
• L2 ACL engine search data fields are setup in table Ingress L2 ACL Match Data Entries and result
actions are setup in register Ingress L2 ACL Result Operation Entries.
– The entries in the table are searched starting with entry 0.
– The statistics counter which can be updated are located in the Ingress L2 ACL Match Counter
– When multiple entries match (are hit) the associated actions from all matching entries will be
executed.
49
CHAPTER 11. CLASSIFICATION
– If two or more entries which match contain the same action then data from the highest (last)
entry will be choosen. For example if two entries has the action force to queue priority and the
lowest hit has a destination queue of 2 while the highest hit has a destination queue of 4 then
the packet will have a destination queue of 4.
11.3 Chaining
Chaining is a way to connect a L2 ACL entry to a L3 ACL Entry forming a multiple tuple lookup. The
chain ID from will be used as search data in Ingress L3/L4 ACL Match Data Entries table to be
compared with the chainTag field.
50 Packet Architects AB
Chapter 12
This chapter gives an overview of the filtering options available on ingress and egress. Filtering allows
different types of packets to be accepted or dropped.
A filter is applied at the source port as packets enter the switch core. This is set up in the Ingress Port
Packet Type Filter register.
When the packet is ready to be queued, the Ingress Egress Port Packet Type Filter is applied for each
egress port the packet is to be queued onto. If the packet is dropped then a drop counter is updated for
each packet which is dropped.
Before a packet is to be sent out, the egress port it is checked in the Egress Port Configuration to see
if the packet is allowed to be sent out.
The settings are unique for each port.
A packet of a certain type may be allowed to enter on a certain ingress port. But this does not mean
the frame is ultimately allowed to be transmit, since ingress and egress port filters are setup indepen-
dently.
In addition to the egress port packet type filter, there is also a source port filter on the egress port. This is
found in srcPortFilter. The source port filter on the egress port allows a user to decide whether packets
from a certain source port are allowed to be sent out on an egress port. The outcome of the filtering
options are either to drop a packet, or to allow it.
Since the source port table, vlan table and egress port configuration can all have VLAN operations which
changes the packet, it is important to understand on which packet the filtering is actually done.
• The source port filtering is done on the packet as it enters the switch without any packet modifica-
tions.
• The ingress egress port filtering is done on the packet after the source port and VLAN table VLAN
operations. The L2 Multicast is calculated in the same way as MBSC register L2 Multicast Han-
dling.
• The egress port filtering is done after all the VLAN operations has been carried out including the
egress ports own VLAN operations.
Note that if a user defined VLAN tag is pushed, it will always be regarded as a C-VLAN tag by the
filtering.
51
CHAPTER 12. VLAN AND PACKET TYPE FILTERING
52 Packet Architects AB
Chapter 13
Hashing
Hashing is used to enable the use of SRAM memories instead of using CAMs for lookups.
53
CHAPTER 13. HASHING
def l 2 h a s h ( g i d , mac ) :
””” C a l c u l a t e i n d e x i n t o L2 h a s h t a b l e from GID and MAC a d d r e s s .
Both p a r a m e t e r s must be i n t e g e r s ”””
k e y = ( g i d & 0 x f f f ) << 48
k e y |= mac & 0 x f f f f f f f f f f f f
return c a l c l 2 h a s h ( key )
def l 2 h a s h t e s t ( ) :
# S i m p l e t e s t o f t h e h a s h f u n c t i o n t o c l a r i f y how t h e k e y i s c a l c u l a t e d .
# MAC: 4 6 : 6 1 : 6 2 : bc : 8 4 : dd ( l e f t m o s t b y t e i s f i r s t b y t e r e c e i v e d )
# GID : 4 7 8
k e y = (478)<< 48 | 0 x466162bc84dd
h a s h v a l = c a l c l 2 h a s h ( k e y ) # t h e h a s h v a l u e i s u s e d a s i n d e x i n t o t h e L2 DA Hash T a
a s s e r t h a s h v a l == 611
def i p v 4 s t r 2 i n t ( i p a d d r ) :
””” C o n v e r t I P v 4 a d d r e s s from s t r i n g f o r m a t , e . g . 1 9 2 . 1 6 8 . 0 . 1 2 3 ,
54 Packet Architects AB
CHAPTER 13. HASHING
t o i n t e g e r ”””
parts = ip addr . s p l i t ( ’ . ’ )
res = 0
for p in parts :
r e s <<= 8
r e s |= i n t ( p )
return r e s
def l 3 i p v 4 h a s h ( v r f , i p a d d r ) :
””” C a l c u l a t e i n d e x i n t o L3 h a s h t a b l e from VRF and IP a d d r e s s .
Both p a r a m e t e r s must be i n t e g e r s . ”””
k e y = ( v r f & 0 x3 ) << 32
k e y |= i p a d d r
return c a l c l 3 i p v 4 h a s h ( key )
def i p v 4 h a s h t e s t ( ) :
# S i m p l e t e s t o f t h e h a s h f u n c t i o n t o c l a r i f y how t h e k e y i s c a l c u l a t e d .
# IP : 7 0 . 1 1 9 . 9 8 . 1 8 8 ( l e f t m o s t b y t e i s f i r s t b y t e r e c e i v e d )
# VRF : 3
vrf = 3
i p = 0 x467762bc
k e y = ( v r f << 32 ) | i p
# t h e h a s h v a l u e i s u s e d a s i n d e x i n t o t h e Hash Based L3 R o u t i n g T a b l e
h a s h v a l = c a l c l 3 i p v 4 h a s h ( key )
a s s e r t h a s h v a l == 782
55 Packet Architects AB
CHAPTER 13. HASHING
def l 3 i p v 6 h a s h ( v r f , i p a d d r ) :
””” C a l c u l a t e i n d e x i n t o L3 h a s h t a b l e from VRF and IP a d d r e s s .
Both p a r a m e t e r s must be i n t e g e r s . ”””
k e y = ( v r f & 0 x3 ) << 128
k e y |= i p a d d r
return c a l c l 3 i p v 6 h a s h ( key )
def i p v 6 h a s h t e s t ( ) :
# S i m p l e t e s t o f t h e h a s h f u n c t i o n t o c l a r i f y how t h e k e y i s c a l c u l a t e d .
# IP : d8a7 : da8b : : ( l e f t m o s t b y t e i s f i r s t b y t e r e c e i v e d )
# VRF : 3
vrf = 3
i p = 0 xd8a7da8b000000000000000000000000
k e y = ( v r f << 128 ) | i p
h a s h v a l = c a l c l 3 i p v 6 h a s h ( key )
# t h e h a s h v a l u e i s u s e d a s i n d e x i n t o t h e Hash Based L3 R o u t i n g T a b l e
a s s e r t h a s h v a l == 559
56 Packet Architects AB
CHAPTER 13. HASHING
”””
h a s h v a l = k e y & 0 b1111111111
h a s h v a l = h a s h v a l ˆ ( key >>10)
h a s h v a l = h a s h v a l & 0 b1111111111
h a s h v a l = h a s h v a l ˆ ( key >>20)
h a s h v a l = h a s h v a l & 0 b1111111111
return hashval
def l 3 m p l s h a s h ( v r f , s o u r c e p o r t , l a b e l ) :
k e y = ( v r f & 0 x f f f ) << 24
k e y |= l a b e l & 0 x f f f f f << 4
k e y |= ( s o u r c e p o r t & 0 x f )
return c a l c l 3 m p l s h a s h ( key )
def m p l s h a s h t e s t ( ) :
# S i m p l e t e s t o f t h e h a s h f u n c t i o n t o c l a r i f y how t h e k e y i s c a l c u l a t e d .
# MPLS l a b e l : 889984 ( l e f t m o s t b y t e i s f i r s t b y t e r e c e i v e d )
# VRF : 3
# source port :8
m p l s l a b e l = 889984
vrf = 3
srcport = 8
k e y = ( v r f << ( 4 + 2 0 ) |
s r c p o r t << 20 |
mpls label )
h a s h v a l = c a l c l 3 m p l s h a s h ( key )
# t h e h a s h v a l u e i s u s e d a s i n d e x i n t o t h e Hash Based L3 R o u t i n g T a b l e
a s s e r t h a s h v a l == 989
57 Packet Architects AB
CHAPTER 13. HASHING
58 Packet Architects AB
Chapter 14
The switch supports automatic hardware learning and aging as well as software controlled learning and
aging.
• With hardware learning the switch can be functional after reset without any software setup. The
hardware learning engine saves the source port number, the source MAC address with a Global
Identifier (GID) from the VLAN Table in the forwarding information base.
• If the destination MAC address and the GID of a packet is in the L2 forwarding information base,
the L2 forwarding process will know the destination port of this packet.
• If a learned {GID, MAC} has not been hit by a source or destination MAC address for a while, the
hardware aging engine will remove this entry from the table.
• When a learned MAC address is received as MAC SA on a different port than it was setup in the L2
Destination Table, it is considered a port move.
• When the hardware aging is enabled, all non-static entries will be aged out after a certain silent
period. Hardware Learning Configuration configures the initial status of the newly learned entries.
• The software learning and aging feature allows users to fully control the L2 forwarding information
base.
• The hardware learning and aging functions are by default turned on and can be turned off through
the Learning And Aging Enable register.
• When the hardware learning is enabled, all source ports are allowed to get their unknown source MAC
address learned. By setting learningEn field in the Source Port Table to 0 the learning process can
be disabled on the corresponding source port.
• For an unknown MAC DA, dropUnknownDa field in the Source Port Table determines either to
drop the packet or allow it to be flooded.
59
CHAPTER 14. LEARNING AND AGING
60 Packet Architects AB
CHAPTER 14. LEARNING AND AGING
Configuration Interface
Forwarding
Status
Information
Tables
Base
Ingress Learning/Port
Processing move/ Learning Unit
Pipeline SA based
SA hit Check
Writeback Controller
DA Hit
DA based Update Unit
Aging Unit
When the hardware learning or aging updates the status table, the valid bit will be copied to the shadow
tables in the ingress processing pipeline.
As in Figure 14.1 the FIB can be accessed from three units:
1. From software through the configuration interface: read and write.
2. Learning and aging unit: read and write.
3. Ingress processing pipeline: read only.
Notice that shadow tables in the FIB have to be updated simultaneously with status tables. MAC SA
lookup tables have to be updated simultaneously with MAC DA lookup tables. Unexpected behavior will
occur if the tables do not have the same content.
61 Packet Architects AB
CHAPTER 14. LEARNING AND AGING
bits and the bucket number in the higher 2 bits. The corresponding L2 Destination Table address
equals the hit index.
• Hit in the L2 Lookup Collision Table: get a 4-bit hit index from the hit entry address. The
corresponding L2 Destination Table address is (hit index + 4,096).
62 Packet Architects AB
CHAPTER 14. LEARNING AND AGING
9. A valid learning decision is sent to a writeback bus which manages all decisions from different learning
and aging units. The learning decisions have the highest priority to use the writeback bus.
10. The writeback bus sends decisions to the FIB.
• Classification.
– If the packet hit in a classification rule that override L2 lookup (i.e. force the destination port),
it will not be learned.
• Routed. A routed packet will not be learned.
• Dropped. If the ingress processing drops the packet (post-ingress processing is not counted), the
packet will not be learned unless it is due to the ingress spanning tree drop and the state says
Learning. 2
• Multicast MAC SA. In the switch core a MAC address with the least-significant bit of the first octet
equals 1 (e.g. 01:80:c2:00:00:00) but not equals to ff:ff:ff:ff:ff:ff is marked as Ethernet multicast
address. By default a MAC SA that matches an Ethernet multicast address will not be learned. This
can be configured per port through the learnMulticastSaMac field in the Source Port Table.
63 Packet Architects AB
CHAPTER 14. LEARNING AND AGING
64 Packet Architects AB
Chapter 15
Spanning Tree
Spanning-Tree Protocol (STP) and Multiple Spanning-Tree Protocol (MSTP) support is provided in order
to create loop-free logical topology when several ethernet switches are connected. Through registers the
STP state of the ports can be controlled by the host SW. The default behavior at power up is that spanning
tree is not enabled and spanning tree functionality must therefore be configured by SW before it can be
used. A switch running the spanning-tree protocols utilizes BPDU (Bridge Protocol Data Unit) frames to
exchange information with other switches in order to decide how to configure it’s ports to get a loop-free
(tree) logical network topology.
BPDUs are forwarded to the CPU based on the used destination address. By default the MAC multicast
addresses 01:80:C2:00:00:00 and 01:00:0C:CC:CC:CD are forwarded to the CPU. Modifications of this is
possible through the register Send to CPU.
In order to be able to forward BPDU frames from the CPU to other switches on egress ports where general
forwarding is currently not allowed, the bit enable in register Forward From CPU shall be set.
More information on the forwarding features to and from the CPU port is available in Chapter 24
65
CHAPTER 15. SPANNING TREE
in Chapter 5. VLAN membership decides which MSTP instance (MSTI) the frame belongs to. Hence,
all frames will belong to an MSTI. The msptPtr in the register VLAN Table is an index to the MSTI
tables which the packet shall be assigned to. The port’s states of this MSTI are available in the tables
Ingress Multiple Spanning Tree State and Egress Multiple Spanning Tree State for ingress and
egress respectively. When a port uses MSTP it’s STP states (source and egress) shall be set to Disabled,
i.e. STP is not enabled for this port.
66 Packet Architects AB
Chapter 16
Token Bucket
This core provides a rich set of QoS functions, and when a function needs to compare the internal packet
or byte rate to a configurable rate, we use token bucket as the basic measurement component. A token
bucket is usually combined with packet classifications, packet colorings or the shared buffer memory to
achieve metering, marking, policing or shaping with different granularities.
A token bucket has four key parameters:
• bucket capacity
• bucket threshold
• initial tokens in the bucket
• token fill in rate
token input rate
bucket
capacity
initial tokens
AFTER RESET
DURING TRAFFIC
tokens to be
consumed
Figure 16.1 shows a token bucket with adjustable bucket threshold, the remaining tokens below the thresh-
old can be used to handle the burst. This type of token bucket is used by:
• multicast broadcast storm control
In different QoS functions, tokens are represented as packets or bytes. The token fill in rate is achieved
by periodically adding a certain number of tokens to the bucket and the fill in frequency is determined by
one of the five core ticks.
67
CHAPTER 16. TOKEN BUCKET
68 Packet Architects AB
Chapter 17
The order of packet output on each egress port is decided by a complex interaction of back-pressure and
different QoS functions, but at the heart of the matter is the the egress queue. The egress queues are
the lists of packet pointers created by the queue manager when packets have been written to the packet
buffer. Each egress port has eight such queues.
When a packet has been written in full to the packet buffer, the queue manager will add pointers to the
packet to the end of at least one egress queue1 .
More than one egress port may get the packet linked (due to multicast), but on any single port the same
packet may only be linked once. You cannot have the same packet in more than one egress queue on any
single egress port.
The order in each egress queue is fixed. Once the packets are linked, the order cannot be changed.
What QoS functions and back-pressure can affect is the order in which the packets in different queues are
output.
The egress queue is determined by the ingress packet processing. If a packet is forwarded to multiple egress
ports, each packet instance will have the same egress queue assigned.
69
CHAPTER 17. EGRESS QUEUES AND SCHEDULING
Is packet from
Extract egress queue
CPU and contains
T from the CPU tag
a CPU Tag?
F
F
F
F
Hit in Reserved
Hit result forces an Assign egress queue
Source MAC
T egress queue? (3) T from the hit result
Address Range?
F
F
Hit in Reserved
Hit result forces an Assign egress queue
Destination MAC
T egress queue? (4) T from the hit result
Address Range?
F
F
Determine egress
queue from L3
F fields (5)?
Is Force Unknown
L3 Packet To Assign the forced
Specific Egress T egress queue (9)
Queue enabled?
Is Force Non
Assign egress queue
Assign the forced VLAN Packet To Get default PCP from
from VLAN PCP To
egress queue (10) T Specific Queue F Source Port Table
Queue Mapping Table
enabled?
• Packet L2 headers
• Packet L3 headers
• Packet L4 ports
• Classification results
The available classification engines are described in the Classification chapter.
Egress queue from packet headers is operated under either trust L2 mode, to map egress queues from L2
headers, or trust L3 mode, to map egress queues from both L2 and L3 headers. In trust L2 mode, the
egress queue can be mapped from:
70 Packet Architects AB
CHAPTER 17. EGRESS QUEUES AND SCHEDULING
71 Packet Architects AB
CHAPTER 17. EGRESS QUEUES AND SCHEDULING
72 Packet Architects AB
CHAPTER 17. EGRESS QUEUES AND SCHEDULING
Egress Queue 0 1 2 3 4 5 6 7
Disable Queue
Strict Prio SP
PS back-pressure
out
73 Packet Architects AB
CHAPTER 17. EGRESS QUEUES AND SCHEDULING
The core uses a strict priority scheduler which always serves the highest priority queue first. If the highest
priority queue is empty it will move on to the second highest and so on. This will cause starvation of the
lower priority queues if there is enough packets of in the higher priority queues to fill the port.
74 Packet Architects AB
Chapter 18
Packet Coloring
Color Code
Green 0
Yellow 1
Red 2
A packet’s initial color is assigned according to L2/L3 protocols or classification results. It follows similar
process steps as the egress queue assignment described in Section 17.1.
1. forceColor in Ingress L3/L4 ACL Result Operation Entries
2. forceColor in Ingress L2 ACL Result Operation Entries
3. forceColor in Reserved Source MAC Address Range
4. forceColor in Reserved Destination MAC Address Range
5. colorFromL3 in Source Port Table
6. IPv4 TOS Field To Packet Color Mapping Table
7. IPv6 Class of Service Field To Packet Color Mapping Table
8. MPLS EXP Field To Packet Color Mapping Table
9. forceColor in Force Unknown L3 Packet To Specific Color
10. forceColor in Force Non VLAN Packet To Specific Color
A diagram in Figure 18.1 describes how initial colors are determined. All classification engines which can
force egress queues also have an option to force packet initial colors. If none of the engines force the color
and the initial color marking is operating under trust L2 mode, the color is mapped from:
• Priority Code Point(PCP) field with Drop Eligible Indicator(DEI) field from the ingress outermost
VLAN tag.
• Source port default PCP with default DEI when packet is non-VLAN tagged.
• Optionally force non-VLAN tagged packets to the same specific initial color, ignores source port
based default marking.
75
CHAPTER 18. PACKET COLORING
F
F
F
F
Hit in Reserved
Hit result forces a Assign inital color
Source MAC
T packet color? (3) T from the hit result
Address Range?
F
F
Hit in Reserved
Hit result forces a Assign inital color
Destination MAC
T packet color? (4) T from the hit result
Address Range?
F
F
Determine initial
color from L3
F fields (5)?
Is Force Unknown
L3 Packet To Assign the forced
Specific Color T packet color (9)
enabled?
Is Force Non
Assign packet color from
Assign the forced VLAN Packet To Get default PCP and DEI
VLAN PCP And DEI To
packet color (10) T Specific Color F from Source Port Table
Color Mapping Table
enabled?
76 Packet Architects AB
CHAPTER 18. PACKET COLORING
Otherwise, the initial color marking will be working under trust L3 mode and the color is mapped
from:
• Type of Service(TOS)/DiffServ field from IPv4
• Traffic Class(TC) field from IPv6
• Optionally force non-IP packets to the same initial color.
• When none of the above markings are executed, the initial color marking under trust L3 mode falls
into processes in trust L2 mode.
By default, green marked packets have low drop probability, yellow marked packets have medium drop
probability and red marked packets have high drop probability. But the remarking process has its own
configurable settings to decide if packets with a certain remarked color shall be dropped.
• Remap to L2 only:
A valid color remap updates the DEI bit in the VLAN tag of the outgoing packet. The updated DEI
bit will not be changed during further egress packet processes. If there are more than one VLAN tag
in the transmitted packet, the color to DEI mapping will be operated on the outermost VLAN.
• Remap to L2 and L3:
Color is remapped to both L2 and L3 fields as listed above.
77 Packet Architects AB
CHAPTER 18. PACKET COLORING
78 Packet Architects AB
Chapter 19
Admission Control
79
CHAPTER 19. ADMISSION CONTROL
True
A valid MMP
pointer is already True
assigned to the
packet?
True
Assign a new
End of process
MMP pointer
5. VRF:
For a routed packet, lookup in Ingress Router Table based on its VRF.
6. L3 and L4 ACL:
Hit in Ingress L3/L4 ACL Match Data Entries.’
When a packet arrives to ingress packet processing, it walks through ingress admission control classifications
in the order above. A hit in one of the above groups will result in a pointer and a matching order. The
pointer is linked to a policy/entry in a meter-marker-policer engine, which will measure the byte rate
belonging to this entry. Although a packet can have multiple hits in traffic groups, it will finally fall into
one pointer according to the order of the pointers. Later matches only win when they have a higher order
than the previous ones.
19.2 Meter-Marker-Policer
An admission control unit contains a meter-marker-policer (MMP) bank where each MMP refers to one
admission control policy. An MMP is based on token buckets, and each entry includes two configurable
buckets.
The MMP bank used by ingress admission control consists of 16 policies/entries with three related ta-
bles.
1. Ingress Admission Control Token Bucket Configuration
2. Ingress Admission Control Reset
80 Packet Architects AB
CHAPTER 19. ADMISSION CONTROL
81 Packet Architects AB
CHAPTER 19. ADMISSION CONTROL
Added Tokens
Token Bucket Tick
Bandwidth Per Tick
Update Frequency Index
(bytes)
8000 bit/s 1KHz 3 1
16000 bit/s 1KHz 3 2
N*64000 bit/s 1KHz 3 N*8
N*1544000 bit/s 1KHz 3 N*193
N*56000 bit/s 1KHz 3 N*7
10M bit/s 10KHz 2 125
250M bit/s 10KHz 2 3125
N*1G bit/s 1Mhz 0 N*125
Table 19.1: Rate Configuration Example (Assume tickFreqList = [1MHz, 100KHz, 10KHz, 1KHz, 100Hz])
82 Packet Architects AB
Chapter 20
Tick
All token buckets - and all other functions dependent on measuring time - in the core are basing their time
measurements on the system ticks.
Tick number zero is the master tick. It is created by dividing the core clock by the number configured
in the clkDivider field of the Core Tick Configuration register. The following tick signals (five in total)
are created by dividing the previuous tick by a factor set up in the stepDivider field of the Core Tick
Configuration register, so tick1 is clkDivider slower than tick0, tick2 is clkDivider slower than tick1,
and so on.
If the Core Tick Configuration is updated during runtime, all features relying on the core tick need to be
updated accordingly. Meanwhile, inaccurate time measurement will be performed until the first tick after
the reconfiguration is generated.
By default the input to the Core Tick divider is the core clock, but using the Core Tick Select register
the input to the tick divider can be disabled, or chosen to be driven from debug write data pin 0.
83
CHAPTER 20. TICK
84 Packet Architects AB
Chapter 21
The multicast/broadcast storm control (MBSC) unit is used to make sure that a switch does not flood
the network with too much multicast/broadcast traffic. The MBSC unit prevents several traffic types from
transmitting to an egress port if the corresponding traffic rate on that egress port has exceeded a certain
limit.
The basic component of the MBSC unit is a token bucket (illustrated in Figure 16.1). For each egress port
there is one token bucket per inspected traffic type. In principle a token bucket controls the traffic rate
(packet rate or byte rate) on an egress port. A token bucket operates as follows:
1. A configurable number of tokens are periodically added to the token bucket. The bucket level will
saturate at the configured capacity.
2. When a packet of the traffic type is received a configurable number of tokens are consumed, i.e. the
bucket level is decreased. The number of tokens consumed per packet is either packet length plus
IFG adjustment or one per packet.
3. As long as the bucket level is at or above the threshold the bucket will accept all given traffic.
4. When the bucket level drops below the threshold all packets of the inspected traffic type, destined
for the corresponding egress port, are dropped. Note that instances of the same packet destined for
other egress ports are not affected and have their own token buckets to check the traffic rate.
5. The MBSC Drop counter will be incremented once for each egress port where the packet is dropped.
In this core three kinds of traffic are checked by the MBSC unit:
• L2 Broadcast
• L2 Flooding
• L2 Multicast
For each type of traffic there is an individual control unit, consisting of one token bucket per egress
port. Every token bucket can be turned on or off separately through a control register (listed in the next
section).
85
CHAPTER 21. MULTICAST BROADCAST STORM CONTROL
86 Packet Architects AB
CHAPTER 21. MULTICAST BROADCAST STORM CONTROL
#!/ u s r / b i n / p y t h o n
rate = 0.05
minLen = 64 # b y t e s
slice = 1 # switch s l i c e s
ifg = 20 # b y t e s
pnb = 1 # = p a c k e t mode
portBW = 10000 # M b i t s / s
tickFreqList = [1.0 ,
0.1 ,
0.01 ,
0.001 ,
0 . 0 0 0 1 ] # Mhz
fullByteRate = portBW / 8 . 0
fullPktRate = f u l l B y t e R a t e / ( minLen+ i f g )
pktRate = f u l l P k t R a t e ∗ r a t e
pktTokenIn = 10∗ s l i c e
t i c k = l e n ( t i c k F r e q L i s t )−1
f o r i in range ( len ( t i c k F r e q L i s t ) ) :
i f t i c k F r e q L i s t [ i ] ∗ p k t T o k e n I n <= p k t R a t e :
tick = i
break
pktCap = p k t T o k e n I n ∗ 20
pkt Thr = p k t T o k e n I n ∗ 10
# F i e l d s e t t i n g s f o r the r at e c o n f i g u r a t i o n r e g i s t e r
settings = {
’ p a c k e t s N o t B y t e s ’ : pnb ,
’ tokens ’ : pktTokenIn ,
’ tick ’ : tick ,
’ ifgCorrection ’ : ifg ,
’ capacity ’ : pktCap ,
’ threshold ’ : pktTh r }
87 Packet Architects AB
CHAPTER 21. MULTICAST BROADCAST STORM CONTROL
88 Packet Architects AB
Chapter 22
The core includes an Egress Resource Manager (ERM) unit for controlling the shared buffer memory
occupancy of egress ports and queues. The primary objective of the egress resource manager is to avoid
persistent buildup of queue length in the buffer memory and prevent the blockage of enqueuing at other
ports and queues. Additionally, during buffer memory congestion, ERM facilitates prioritized enqueuing of
egress queues with higher priorities.
The resource management granularity is cells and there are 4096 cells, each 160 byte wide, available in
the buffer memory. A packet is written to the buffer memory with the original packet data plus a 16 byte
ingress to egress header, thus a 1600 byte packet will have 1616 bytes and occupy ten cells. A packet plus
the ingress to egress header longer than n cells but shorter than (n+1) cells will require (n+1) cells for
storage. For example, a 145 byte packet will use two cells. ERM traces the buffer memory occupancy and
decides if a cell is allowed to be written to the buffer memory.
The ERM determines the congestion of the buffer memory based on the amount of free space (number of
free cells) available. The ERM classifies the congestion levels into Green (no congestion), Yellow (slightly
congested) or Red (heavily congested). When the buffer memory is in the yellow or red zone, Resource
Limiter Set gives four sets of limits to check the queue length for different egress ports and queues.
An egress port chooses limit sets for each of its queues from the Egress Resource Manager Pointer
lookup.
free free
cells cells
Shared Buffer Memory
max max
No congestion
yellowXon
yellowXoff
Slightly congested
redXon
redXoff
Heavily congested
0 0 t
89
CHAPTER 22. EGRESS RESOURCE MANAGER
ERM checks
The buffer memory is considered partially congested when it is in the yellow zone. The ERM allows
moderate buildups in all queues to a certain limit. An incoming cell of a packet is not allowed to be
enqueued under two conditions:
1. The number of enqueued cells in the assigned egress queue is more than yellowLimit, while the total
number of enqueued cells in the same queue and higher priority queues is more than yellowAccu-
mulated.
2. ERM Yellow Configuration offers an optional check on a per egress port basis. A port can be
considered as a red port in the yellow zone if the enqueued cells on that port are above redPortXoff.
An incoming cell to a red port is not allowed if the length of the assigned queue is larger than
redLimit.
ERM checks
The buffer memory is considered severely congested when it is in the red zone and the ERM shall only
accept enqueuing to nearly empty queues. An incoming cell of a packet is not allowed to be enqueued in
two cases:
1. The number of enqueued cells in the assigned egress queue is more than redLimit.
2. The ongoing packet length in cells has exceeded redMaxCells.
90 Packet Architects AB
CHAPTER 22. EGRESS RESOURCE MANAGER
91 Packet Architects AB
CHAPTER 22. EGRESS RESOURCE MANAGER
92 Packet Architects AB
Chapter 23
Statistics
93
CHAPTER 23. STATISTICS
This core supports full statistics with 32-bit wrap around counters. The statistics is divided into groups
depending on the type of statistics and location in the switch. Figure 23.1 gives the location of the counters
from ingress to egress, with a sequence number to show their process orders. The counters which are green
are for packet drops based on forwarding decisions while the red counters are related to system errors. The
details of the counters in Figure 23.1 can be found through Table 23.1.
94 Packet Architects AB
CHAPTER 23. STATISTICS
95 Packet Architects AB
CHAPTER 23. STATISTICS
Packet datapath statistics in the core clock domain are counting in different internal blocks. Each
block has a pair of counters for packet heads and tails to identify the pass through of a complete
packet. The datapath counting follows the order in Figure 1.1:
1. IPP Packet Head Counter and IPP Packet Tail Counter.
2. PB Packet Head Counter and PB Packet Tail Counter.
3. EPP Packet Head Counter and EPP Packet Tail Counter.
4. PS Packet Head Counter and PS Packet Tail Counter.
If a stage has unequal packet head and tail counters while the counters in the previous stages are
identical, packets are corrupted in this stage.
96 Packet Architects AB
Chapter 24
The CPU port (number 11 ) has support for two special CPU tags in the packet header. In packets received
by the switch on the CPU port, the tag can determine which port the packet shall be sent to. A tag can
also be added to packets transmitted by the switch on the CPU port. This allows the software stack to
determine where the packet came from and the reason why it was sent to the CPU port.
The header consists of a specific Ethernet Type (39065) followed by a CPU Tag. The CPU tag has a 2
byte(s) destination port mask field1 and 1 byte egress queue field (encoded as specified in table 24.1). The
switch core will remove the extra protocol header and send out the packet on the ports requested by the
destination port mask in the protocol header. This is shown in the figure 24.1.
The port mask in the CPU Tag field determines which ports the packet shall be sent to. If multiple bits
are set in the port mask, the packet is treated as a multicast packet in the resource limiters. The packet
will be sent out on all ports with the corresponding bit set.
97
CHAPTER 24. PACKETS TO AND FROM THE CPU
Original
Ethernet Type
Ethernet DA SA 0x9998
TAG Rest of Ethernet Frame
Frame
Outgoing
Ethernet DA SA Rest of Ethernet Frame
Frame
Figure 24.1: Packet from CPU with CPU tag
• Drops are ignored, example VLAN table , spanning tree / multiple spanning tree drops.
• L2 Lookup result is ignored.
• If the packet hits decoding rules for BPDU, Rapid Stanning Tree, Multiple Spanning tree, or other
protocols such as then the packet will still send a extra copy to the CPU port. This can
be disabled by setting the cpu port to zero in the send-to-cpu bitmask in each function.
• Routing is not carried out.
• SMON statistics is performed.
• Basic assignment of MMP is done.
• Meter-Marker-Policer check is done.
• MBSC is bypassed.
• All spanning tree and multiple spanning treeperations are bypassed.
• No learning operation.
• Check Reserved DMAC is done.
• Check Reserved SMAC is done.
• ACL operations are done.
• ACL statistics are done.
• SMON statistics is done.
98 Packet Architects AB
CHAPTER 24. PACKETS TO AND FROM THE CPU
Original
Ethernet DA SA Rest of Ethernet Frame
Frame
48 bits
Outgoing
Ethernet DA SA Ethernet Type
0x9999
TAG Rest of Ethernet Frame
Frame
To CPU tag
Figure 24.2: Packet to CPU with CPU tag
these constitute the extra protocol header mentioned above. The unmodified incoming packet follows
just after this header.
The insertion of the extra protocol header can be disabled by setting the register Disable CPU tag on
CPU Port to 1.
2 Reserved
3 Reserved
Reason Description
0 The MAC table, L2 MC table, ACL send to port action, MPLS table, the from-
CPU-TAG contained the CPU port or routing tables sent the packet to the CPU
port.
1 The packet decoder requires more than one cell.
2 This is a BPDU / RSTP frame.
3 The Unique MAC address to the CPU was hit.
4 + HitIndex The Source MAC range sent the packet to the CPU..Index to rule.
8 + HitIndex The Destination MAC range sent the packet to the CPU..Index to rule.
12 + HitIndex The first L2 classification sent the packet to the CPU..Index to rule.
44 + HitIndex The L3 / L4 classification sent the packet to the CPU..Index to rule.
76 This is an LLDP frame.
77 The IP TTL field was expired in the packet.
99 Packet Architects AB
CHAPTER 24. PACKETS TO AND FROM THE CPU
Reason Description
78 The router ports check about which IPv4/IPv6/MPLS packets was allowed in the
router failed.
79 The default routes send2cpu bit was set.
80 The IP length exceeded the MTU setup.
81 The entry in the Next Hop Table is invalid.
82 The entry in Next Hop Packet Modifications pointed to from the Next Hop
Table is invalid.
83 The next hop entry had a send2cpu bit set.
84 The IPv4 header size field was not equal to five.
85 IPv4/IPv6 multicast was detected and redirected to CPU.
86 The maxium number of MPLS tags was detected in a packet.
87 Packet matched an L2 Multicast Reserved Address
This chapter describes the interfaces to the core. An input is an input to the core, and an output is a signal
driven by the core. In analogy reception refers to packets to the core and transmission means packets from
the core.
There is a core clock, mac clock signals for the packet interfaces, a global reset signal, mac reset signals
for the packet interfaces, and a doing init output (indicating when the core is in initialization and thus not
ready to receive packets).
When the global reset, rstn, is asserted all packets buffered in the switch will be dropped, the learning
and aging engines and all statistics counters will be reset to the initial status. Reset can be pulled at any
time, but any ongoing transmit packets will be immidiately interrupted and no end of packet signal will be
given.
The packet interface resets cannot be used independently. If one reset is asserted, all resets (including the
core reset) have to be asserted before any reset can be released.1
1 Thus the packet interface resets cannot be used to empty a specific packet interface. To do that, follow the procedure
in Section 17.5, while making sure that the packet interface halt is kept low.
101
CHAPTER 25. CORE INTERFACE DESCRIPTION
Core Initialization
Before packets are sent to the core it needs to be initialized. The initialization is initiated when reset
is released. Reset activation is asynchronous to any clock. The reset should be kept low at least one
cycle of the slowest clock. Releasing reset must be done synchronously with respect to all clocks. During
initialization doing init is kept high. See Figure 25.1. The length of the initialization is dependent on the
depth of the deepest initialized memory.
During initialization no activity is expected on the configuration interface or on the packet RX interfaces,
and the operation of the core is undefined if any such activity occurs.
clk
rstn
doing init
Table 25.2: Packet RX interface for ports 0-11. N is the ingress interface number.
Each direction of a packet interface consists of tvalid, tlast, tkeep, tdata and tuser fields. The transmit
direction has an additional tready signal to allow the receiving end to moderate the data rate transmitted
from the core.
Packet data is presented in order, i.e. the most recent byte is the, so far, highest numbered byte in the
packet. The first valid byte on the bus is byte 0, and all bytes are valid up to the last byte indicated by
tkeep. Unless the tlast flag is set all bytes or no bytes must be valid.
Jumbo packets
The maximum packet length that this core can cope with is 16367 bytes. If this length is exceeded either
on the ingress or the egress it may corrupt the internal counters.
It should be noted that it is not guaranteed that a packet of that length will always be able to pass through
the switch, even if the destination queue is not congested. Depending on the Egress Resource Management
settings, and/or the congestion status of other ports, there may not be enough free cells in the packet
buffer to store such a large packet. But the switch core will, when properly configured and reasonably
uncongested, be able to switch 16367-byte packets.
Table 25.3: Packet TX interface for ports 0-11. N is the egress interface number.
Inter-frame gap
For small packets it is possible to feed the switch with more packets than it can handle. This will cause
the SP to overflow, and packets to be dropped. To avoid packet drops an inter-frame gap (IFG) of at
least 192 bits is needed between each packet. There is a small fifo in the SP, so a single smaller IFG is
fine, but it needs to average at or above the minimum IFG over a window of a few packets.
On the output from the switch packets will be sent back to back, without IFG, and it is up to the receiver
to halt the transmission using the tready interface to prevent overflows.
Broken packets
A packet ending with tuser set high is considered a broken packet. Broken packets received by the core will
never be output on the egress ports, but will be dropped at the earliest convenience. So any broken packets
output from the switch are packet that were somehow corrupted in the core. There are no benign cases
where this happens. Depending on the packet length a broken packet input to the core will be dropped
either before or after ingress packet processing. Broken packets larger than a cell will pass through the
packet processing pipeline and then been dropped, while packets shorter than a cell will be filtered out
before the packet processing pipeline.
All broken packets are counted in the MAC RX Broken Packets.
Byte Order
We define the packet byte order by the first transmitted/received byte on the wire labeled byte 0, as in
IEEE 802.3. On a packet interface wider than 8 bits the packets byte 0 is placed on the bits data[7:0]
followed by byte 1 on bits data[15:8] and so on.
The tkeep indicates how many of the bytes of the data field that holds valid packet data. From the start
of a packet this must always be all bytes on the bus up till the last transfer. At the end of the packet on
the last bus transfer the tkeep can indicate less than the full bus width. In this case the byte order is still
the same as previous transfers. For example when tkeep is 1 the last byte of the packet is placed on bits
[7:0] and with tkeep of 3 the last byte of the packet is placed on bits [15:8] and the second to last is on
bits [7:0].
The paddr is a byte address, however the core only supports accessing complete 32-bit words. The lowest
address bits, which addresses the byte within a bus word, will always be discarded. The register addresses
described in this document always refer to word addresses, not byte addresses.
The core has a varying access latency and therefore an APB master should use pready.
The pslverr signal is set when a transaction is aborted due to an internal timeout. This can occur if the
core clock is lower than required and there is a high traffic rate. It will also occur if the address is outside
of any defined register.
For a detailed description of the APB interface see the AMBA APB Protocol Specification Version 2.0,
available at developer.arm.com
Configuration Interface
The configuration interface is an AMBA APB interface used for monitoring the core and for configuration
of internal registers and tables. The pins are described in Table 25.4 on page 105, but for a detailed
description of the APB interface see the AMBA APB Protocol Specification Version 2.0, available at
developer.arm.com
107
CHAPTER 26. CONFIGURATION INTERFACE
Note that if there are bridges between the CPU and the APB bus then they need to be set up to guarantee
the order of accesses.
The software API implementation provided with the switch handles the Accumulator Bit thereby hiding it
completely for the software that use the API.
Implementation
27.1 Floorplanning
The top of the core is the pa top level, it wraps the switch core, pa top switch, and may also contain
interface bridges.
The switch hierarchy is divided into six major blocks that we call floorplan blocks. These are: SP, IPP,
BM, PB, EPP, and PS. There is also two smaller blocks: ingress common, interface common. In some
configurations these are very small, but in some the ingress common can be quite substantial.
Besides the configuration bus, which spreads it’s tentacles to every corner of the core, the dataflow through
the floorplan blocks is basically that of the path of a packet. The flow from ingress to egress is SP, IPP,
BM/PB, EPP, and PS. The PB/BM are lumped together in the list because the packet data goes through
the BM, and the control data through the PB. The ingress common contains auxillary functions for the
ingress packet processing and thus mainly talks to the IPP. The other small block, interface common, is
mostly comprised of shim logic for the external interfaces.
27.1.1 Pipelining
The number of pipeline stages in the data paths between the floorplan blocks can be set freely when the
RTL is generated. The same goes for the number of input flops and output flops on each floorplan block.
If you need to change the number of pipeline stages it is a trivial task, but the RTL has to be re-generated.
It cannot be adjusted in the existing verilog files.
Table 27.1: The settings for pipeline flops between floorplan blocks
Table 27.2: The settings for input and output flops for the floorplan blocks
109
CHAPTER 27. IMPLEMENTATION
The pipeline settings used when generating this core are shown in Table 27.1, and the input/output flops
are listed in Table 27.21 .
27.4.1 Waivers
Besides the inline waivers in the code these blanket waivers shall be applied:
• waive -rule STARC05-2.11.3.1 -comment “Case statements are used in the sequential blocks of
state-machines. This is not an issue”
• waive -rule STARC05-2.2.3.3 -comment “Flip-flops may be written several times in the same sequen-
tial block. This is not an issue”
• waive -regexp -du “consistency check.*” -rule ”W240” -comment “consistency check is guarded by
SYNTHESIS, and is not used in hardware.”
• waive -rule W415a -comment “Assigning multiple times in the same always block is a code style we
use. This is not an issue”
• waive -rule W528 -comment “The way we pipeline will leave a lot of unread signals. This is not an
issue”
Contents
28.1 Address Space For Tables and Registers . . . . . . . . . . . . . . . . . . . . . . . . 117
28.2 Byte Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
28.3 Register Banks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
28.4 Registers and Tables in Alphabetical Order . . . . . . . . . . . . . . . . . . . . . . . 122
28.5 Active Queue Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
28.5.1 ERM Red Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 125
28.5.2 ERM Yellow Configuration . . . . . . . . . . . . . . . . . . . . . . . . . 126
28.5.3 Egress Resource Manager Pointer . . . . . . . . . . . . . . . . . . . . . 127
28.5.4 Resource Limiter Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
28.6 Core Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
28.6.1 Core Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
28.7 Egress Packet Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
28.7.1 Color Remap From Egress Port . . . . . . . . . . . . . . . . . . . . . . 128
28.7.2 Color Remap From Ingress Admission Control . . . . . . . . . . . . . . 129
28.7.3 Disable CPU tag on CPU Port . . . . . . . . . . . . . . . . . . . . . . . 129
28.7.4 Drain Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
28.7.5 Egress Ethernet Type for VLAN tag . . . . . . . . . . . . . . . . . . . . 130
28.7.6 Egress MPLS Decoding Options . . . . . . . . . . . . . . . . . . . . . . 131
28.7.7 Egress MPLS TTL Table . . . . . . . . . . . . . . . . . . . . . . . . . . 131
28.7.8 Egress Multiple Spanning Tree State . . . . . . . . . . . . . . . . . . . 131
28.7.9 Egress Port Configuration . . . . . . . . . . . . . . . . . . . . . . . . . 132
28.7.10 Egress Queue To MPLS EXP Mapping Table . . . . . . . . . . . . . . . 134
28.7.11 Egress Queue To PCP And CFI/DEI Mapping Table . . . . . . . . . . . 135
28.7.12 Egress Router Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
28.7.13 IP QoS Mapping Table . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
28.7.14 L2 QoS Mapping Table . . . . . . . . . . . . . . . . . . . . . . . . . . 136
28.7.15 MPLS QoS Mapping Table . . . . . . . . . . . . . . . . . . . . . . . . 137
28.7.16 Next Hop DA MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
28.7.17 Next Hop MPLS Table . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
28.7.18 Next Hop Packet Insert MPLS Header . . . . . . . . . . . . . . . . . . 138
28.7.19 Output Mirroring Table . . . . . . . . . . . . . . . . . . . . . . . . . . 139
28.7.20 Select Which Egress QoS Mapping Table To Use . . . . . . . . . . . . . 140
28.7.21 TOS QoS Mapping Table . . . . . . . . . . . . . . . . . . . . . . . . . 140
28.8 Global Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
28.8.1 Core Tick Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 141
28.8.2 Core Tick Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
28.8.3 Scratch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
113
CHAPTER 28. REGISTERS AND TABLES
All registers and tables that are accessible from a configuration interface are listed in this chapter. A user
guide for the configuration interface is found in Chapter 26, and the pins for the configuration interfaces
are described in Section 25.3.
Unused
Space
Actual
Read/Write Register / Table
To these Space
Bits Are
Unknown
Behavior
Integer fields in the registers have a little endian byte order so that the lowest bits in a field will be at
lowest bits on the configuration bus. When a field spans multiple configuration bus addresses the lowest
address will hold the lowest bits of the field. If this is memory mapped and accessed by a host CPU it will
be in the correct byte order for a little endian CPU.
In network byte order the first transmitted or received byte has byte number 0. One example is the Ethernet
MAC address with the printed representation a1-b2-c3-d4-e5-f6 where a1 would be sent first and would
be byte 0). When used in a register field the highest bits in the register field corresponds to the lowest
network byte. Therefore the MAC address above would be the value 0xa1b2c3d4e5f6 and as seen by a
little endian host CPU the byte 0xf6 would be at the lowest address.
A special case are IPv6 addresses. In the standard printed representation 0102:0304:0506:... the leftmost
byte 01 is byte 0 in the network order followed by byte 02 as network byte 1. When configuring this in a
register field the lowest bytes are from the lowest network byte numbers. However each pair of bytes are
also swapped. The address above would therefore be the value 0x....050603040102.
Number of Entries : 1
Number of Addresses per Entry : 2
Type of Operation : Read/Write
Address Space : 86066
Field Description
Field Default
Bits Description
Name Value
12:0 redXoff Number of free cells below this value will invoke the 0x199
red congestion check for the incoming cells. The
checks include the number of enqueued cells in the
current queue and the packet length. The incoming
packet might be terminated and dropped based on the
check result.
25:13 redXon Once the red congestion check is applied, number of 0x400
free cells need to go above this value to disable the
check again. The value needs to be larger than redX-
off to provide an effective hysteresis.
32:26 redMaxCells Maximum allowed packet length in cells when the 0xb
buffer memory congestion status is red.
Number of Entries : 1
Number of Addresses per Entry : 2
Type of Operation : Read/Write
Address Space : 86064
Field Description
Field Default
Bits Description
Name Value
12:0 yellowXoff Number of free cells below this value will invoke yellow 0x69f
congestion checks for the incoming cells. The checks
include the number of enqueued cells in the current
queue, higher priority queues and optionally the total
number of enqueued cells for the current egress port.
Incoming packets might be terminated and dropped
based on the check result.
25:13 yellowXon Once the yellow congestion check is applied, number 0x9e4
of free cells need to go above this value to disable
the check again. The value needs to be larger than
yellowXoff to provide an effective hysteresis.
37:26 redPortEn When the buffer memory congestion status is yellow 0xfff
and a single port consumes more than redPortXoff
cells, this field can apply the redLimit check on a per
port basis.
50:38 redPortXoff When the buffer memory congestion status is yellow 0x2ab
and the total number of cells enqueued on an egress
port is larger than this value, redLimit check for that
port will be invoked. Only valid when redPortEn is
turned on.
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress port
Address Space : 86076 to 86087
Field Description
Field Default
Bits Description
Name Value
1:0 q0 Pointer to the Resource Limiter Set for egress queue 0. 0x0
3:2 q1 Pointer to the Resource Limiter Set for egress queue 1. 0x0
5:4 q2 Pointer to the Resource Limiter Set for egress queue 2. 0x0
7:6 q3 Pointer to the Resource Limiter Set for egress queue 3. 0x0
9:8 q4 Pointer to the Resource Limiter Set for egress queue 4. 0x0
11:10 q5 Pointer to the Resource Limiter Set for egress queue 5. 0x0
13:12 q6 Pointer to the Resource Limiter Set for egress queue 6. 0x0
15:14 q7 Pointer to the Resource Limiter Set for egress queue 7. 0x0
Number of Entries : 4
Number of Addresses per Entry : 2
Type of Operation : Read/Write
Addressing : Pointer from the Egress Resource Manager Pointer
Address Space : 86068 to 86075
Field Description
Field Default
Bits Description
Name Value
12:0 yellowAccumulated When the buffer memory is slightly congested (yel- 0x72
low), the ERM allows accumulation of cells with
the same queue or higher scheduling priorities
to the limit in this field before appling the yel-
lowLimit.
25:13 yellowLimit When the buffer memory is slightly congested 0x20
(yellow)and yellowAccumulated is reached, the
packet will be terminated and dropped if the en-
queued cells in the corresponding queue is more
than this value.
38:26 redLimit When the buffer memory is heavily congested 0x1a
(red), the incoming packet will be terminated and
dropped if the enqueued cells in the corresponding
egress queue is more than this value.
Field Default
Bits Description
Name Value
45:39 maxCells Maximum allowed packet length in cells for this 0x7f
limiter. Packet with cells more than this value will
be dropped.
Number of Entries : 1
Type of Operation : Read Only
Address Space : 0
Field Description
Field Default
Bits Description
Name Value
31:0 version Version of the core. 0xcda53817
Number of Entries : 12
Number of Addresses per Entry : 2
Type of Operation : Read/Write
Addressing : Egress Port
Address Space : 86334 to 86357
Field Description
Field Default
Bits Description
Name Value
1:0 colorMode 0x1
0 = Skip remap
1 = Remap to L3 only
2 = Remap to L2 only
3 = Remap to L2 and L3
25:2 color2Tos New TOS/TC value based on packet color. 0x0
bits [0:7] : TOS/TC value for green
bits [8:15] : TOS/TC value for yellow
bits [16:23] : TOS/TC value for red
Field Default
Bits Description
Name Value
33:26 tosMask Mask for updating the TOS/TC field. For each bit in the 0x0
mask, 0 means keep original value, 1 means update new
value to that bit.
36:34 color2Dei New DEI value based on packet color. This is located in 0x0
the outermost VLAN of the transmitted packet.
bit 0 : DEI value for green
bit 1 : DEI value for yellow
bit 2 : DEI value for red
Number of Entries : 16
Number of Addresses per Entry : 2
Type of Operation : Read/Write
Addressing : Meter Pointer
Address Space : 86358 to 86389
Field Description
Field Default
Bits Description
Name Value
0 enable If set, the colorMode field determines the remap process. 0x0
Otherwise color remapping based on the ingress admission
control is skipped.
2:1 colorMode 0x0
0 = Remap disabled
1 = Remap to L3 only
2 = Remap to L2 only
3 = Remap to L2 and L3
26:3 color2Tos New TOS/TC value based on packet color. 0x0
bits [0:7] : TOS/TC value for green
bits [8:15] : TOS/TC value for yellow
bits [16:23] : TOS/TC value for red
34:27 tosMask Mask for updating the TOS/TC field. For each bit in the 0x0
mask, 0 means keep original value, 1 means update new
value to that bit.
37:35 color2Dei New DEI value based on packet color. This is located in 0x0
the outermost VLAN of the transmitted packet.
bit 0 : DEI value for green
bit 1 : DEI value for yellow
bit 2 : DEI value for red
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 95196
Field Description
Field Default
Bits Description
Name Value
0 disable When set, the CPU port will no longer add a CPU 0x0
Tag to packets going to the CPU port.
0 = To CPU Tag enabled
1 = To CPU Tag disabled
1 disableReason0 When set, the CPU port will no longer add a CPU Tag 0x0
to packets going to the CPU port with reason code
0(default reason).
0 = To CPU Tag enabled
1 = To CPU Tag disabled
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 86258
Field Description
Field Default
Bits Description
Name Value
11:0 drainMask Egress ports to be drained. One bit for each port in the 0x0
current switch slice where bit 0 corresponds to local port
0.
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 95195
Field Description
Field Default
Bits Description
Name Value
15:0 typeValue Ethernet Type value. 0xffff
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 95194
Field Description
Field Default
Bits Description
Name Value
3:0 nibbleForIpv4 The nibble value which is used to identify a IPv4 0x4
packet after a MPLS header. If the nibble does not
match this value it is assumed to be an IPv6 packet.
Number of Entries : 4
Type of Operation : Read/Write
Addressing : Packets VRF
Address Space : 89466 to 89469
Field Description
Field Default
Bits Description
Name Value
0 addNewTTL Select if the router should decremented TTL in the outgo- 0x0
ing packet or if it should be set to a fixed value.
0 = Decrement TTL
1 = Set the TTL to newTTL
8:1 newTTL New TTL for the packet. Only used when addNewTTL is 0x0
set to 1
Number of Entries : 16
Type of Operation : Read/Write
Addressing : msptPtr from VLAN Table or Next Hop Packet Modifications Table
Address Space : 66407 to 66422
Field Description
Field Default
Bits Description
Name Value
23:0 portSptState The egress spanning tree state for this MSTI. Bit[1:0] 0x0
is the state for port #0, bit[3:2] is the state for port
#1, etc.
0 = Forwarding
1 = Discarding
2 = Learning
Number of Entries : 12
Number of Addresses per Entry : 2
Type of Operation : Read/Write
Addressing : Egress port
Address Space : 86310 to 86333
Field Description
Field Default
Bits Description
Name Value
0 colorRemap If set, color remapping to outgoing packet head- 0x0
ers is allowed. The default color remapping op-
tions are based on the egress port number from
the Color Remap From Egress Port table. If a
packet is subjected to ingress admission control,
its ingress admission control pointer can provide
remap options from the Color Remap From
Ingress Admission Control table to override
default options.
3:1 vlanSingleOp The egress port VLAN operation to perform on 0x0
the packet.
0 = No operation.
1 = Swap.
2 = Push.
3 = Pop.
4 = Penultimate pop(remove all VLAN head-
ers).
5:4 typeSel Selects which TPID to use when building a new 0x0
VLAN header in a push or swap operation.
0 = C-VLAN - 0x8100.
1 = S-VLAN - 0x88A8.
2 = User defined VLAN type from register
Egress Ethernet Type for VLAN tag field
typeValue.
Field Default
Bits Description
Name Value
7:6 vidSel Selects which VID to use when building a new 0x0
VLAN header in a egress port push or swap op-
eration. If the selected outermost VLAN header
doesn’t exist in the packet then this table entry’s
vid will be used.
0 = From outermost VLAN in the packet (if
any).
1 = From this table entry’s vid.
2 = From the Ingress VID as selected in the
Source Port Table.
9:8 cfiDeiSel Selects which CFI/DEI to use when building 0x0
a new VLAN header in a egress port push or
swap operation. If the selected outermost VLAN
header doesn’t exist in the packet then this table
entry’s cfiDei will be used.
0 = From outermost VLAN in the packet (if
any).
1 = From this table entry’s cfiDei.
2 = From Egress Queue To PCP And
CFI/DEI Mapping Table.
11:10 pcpSel Selects which PCP to use when building a new 0x0
VLAN header in a egress port push or swap op-
eration. If the selected outermost VLAN header
doesn’t exist in the packet then this table entry’s
cfiDei will be used.
0 = From outermost VLAN in the packet (if
any).
1 = From this table entry’s pcp.
2 = From Egress Queue To PCP And
CFI/DEI Mapping Table.
23:12 vid The VID used in egress port VLAN push or swap 0x0
operation if selected by vidSel.
24 cfiDei The CFI/DEI used in egress port VLAN push or 0x0
swap operation if selected by cfiDeiSel.
27:25 pcp The PCP used in egress port VLAN push or swap 0x0
operation if selected by pcpSel.
28 disabled Disabling this port. All packets to this port is 0x0
dropped and Egress Port Disabled Drop is in-
cremented.
0 = All packets will be sent out.
1 = All packets will be dropped.
29 dropCtaggedVlans Drop or allow customer VLANs tagged pack- 0x0
ets on this egress port. Will only drop pack-
ets that has exactly one VLAN tag. Must set
moreThanOneVlans when this is used.
0 = Allow C-VLANs.
1 = Drop C-VLANs.
30 dropStaggedVlans Drop or allow service VLANs tagged packets 0x0
on this egress port. Will only drop packets
that has exactly one VLAN tag. Must set
moreThanOneVlans when this is used.
0 = Allow S-VLANs.
1 = Drop S-VLANs.
Field Default
Bits Description
Name Value
31 moreThanOneVlans When filtering with dropCtaggedVlans or drop- 0x0
StaggedVlans then this field must be set to 1.
32 dropUntaggedVlans Drop or Allow packets that are VLAN untagged 0x0
on this egress port.
0 = Allow untagged packets.
1 = Drop untagged packets.
33 dropSingleTaggedVlans Drop or Allow packets that has one VLAN tag 0x0
on this egress port.
0 = Allow untagged packets.
1 = Drop untagged packets.
34 dropDualTaggedVlans Drop or allow packets which has more than one 0x0
VLAN tag on this egress port.
0 = Allow packets which has more than one
VLAN tag.
1 = Drop packets which has more than one
VLAN tag.
35 dropCStaggedVlans Drop or allow packets which has a C-VLAN fol- 0x0
lowed by a S-VLAN tagged on this egress port.
0 = Allow packets which has a C-VLAN tag fol-
lowed by a S-VLAN tag.
1 = Drop packets which has a C-VLAN tag fol-
lowed by a S-VLAN tag.
36 dropSCtaggedVlans Drop or allow packets which has a S-VLAN fol- 0x0
lowed by a C-VLAN tagged on this egress port.
0 = Allow packets which has a S-VLAN fol-
lowed by a C-VLAN tag.
1 = Drop packets which has a S-VLAN tag fol-
lowed by a C-VLAN tag.
37 dropCCtaggedVlans Drop or allow packets which has a C-VLAN fol- 0x0
lowed by a C-VLAN tagged on this egress port.
0 = Allow packets which has a C-VLAN tag fol-
lowed by a C-VLAN tag.
1 = Drop packets which has a C-VLAN tag fol-
lowed by a C-VLAN tag.
38 dropSStaggedVlans Drop or allow packets which has a S-VLAN fol- 0x0
lowed by a S-VLAN tagged on this egress port.
0 = Allow packets which has a S-VLAN tag fol-
lowed by a S-VLAN tag.
1 = Drop packets which has a S-VLAN tag fol-
lowed by a S-VLAN tag.
39 useEgressQueueRemapping Which remapping to final PCP, DEI, EXP and 0x0
TOS fields shall be used for this port.
0 = Only use Egress Queue Remapping Tables
1 = First use the Egress Queue Remapping Ta-
bles then use the Select Which Egress
QoS Mapping Table To Use to determine
the final DEI,CFI,TOS and EXP fields.
Number of Entries : 8
Type of Operation : Read/Write
Addressing : Egress Queue
Address Space : 95186 to 95193
Field Description
Field Default
Bits Description
Name Value
2:0 exp The outgoing Exp value for this queue. 0x0
Number of Entries : 8
Type of Operation : Read/Write
Addressing : Egress Queue
Address Space : 93566 to 93573
Field Description
Field Default
Bits Description
Name Value
0 cfiDei Map from egress queue to CFI/DEI. 0x0
3:1 pcp Map from egress queue to PCP. 0x0
Number of Entries : 4
Type of Operation : Read/Write
Addressing : Packets VRF
Address Space : 86390 to 86393
Field Description
Field Default
Bits Description
Name Value
0 addNewTTL Select if the router should decremented TTL in the outgo- 0x0
ing packet or if it should be set to a fixed value.
0 = Decrement TTL
1 = Set the TTL to newTTL
8:1 newTTL New TTL for the packet. Only used when addNewTTL is 0x0
set to 1
Field Description
Field Default
Bits Description
Name Value
0 updateCfiDei Update CfiDei field in outgoing packet. 0x0
0 = Do not update.
1 = Update.
1 cfiDei Packets new CFI/DEI 0x0
2 updatePcp Update Pcp field in outgoing packet. 0x0
0 = Do not update.
1 = Update.
5:3 pcp Packets new PCP 0x0
7:6 ecnTos The outgoing TOS [1:0] ECN bits 0x0
8 updateExp If the packet enterns a new MPLS tunnel using the 0x0
Next Hop Packet Insert MPLS Header then use
this Exp for the outermost MPLS label.
0 = No. Dont Remap.
1 = Yes. Remap to this new value
11:9 newExp New Exp value to be used. 0x0
Number of Entries : 64
Type of Operation : Read/Write
Address [2:0] : The egress queue which the packet was queued
on.
Addressing : Address [4:3]: The color of the packet.
Address [5] : The Pointer from the Select Which Egress
QoS Mapping Table To Use whichTablePtr.
Address Space : 93830 to 93893
Field Description
Field Default
Bits Description
Name Value
0 updateCfiDei Update CfiDei field in outgoing packet. 0x0
0 = Do not update.
1 = Update.
1 cfiDei Packets new CFI/DEI. 0x0
2 updatePcp Update Pcp field in outgoing packet. 0x0
0 = Do not update.
1 = Update.
5:3 pcp Packets new PCP. 0x0
Field Description
Field Default
Bits Description
Name Value
0 updateCfiDei Update CfiDei field in outgoing packet. 0x0
0 = Do not update.
1 = Update.
1 cfiDei Packets new CFI/DEI. 0x0
2 updatePcp Update Pcp field in outgoing packet. 0x0
0 = Do not update.
1 = Update.
5:3 pcp Packets new PCP. 0x0
8:6 exp The outgoing Exp value for this queue in the outer- 0x0
most MPLS label.
Field Description
Field Default
Bits Description
Name Value
47:0 daMac The destination MAC address for the next hop. 0x0
Field Description
Field Default
Bits Description
Name Value
2:0 mplsOperation The egress MPLS tag operation to perform on the 0x0
packet.
0 = No operation.
1 = Swap.
2 = Push.
3 = Pop.
4 = Penultimate Pop(remove all MPLS tags).
4:3 expSel Select which EXP bits to use when building a new 0x0
MPLS tag in Push or Swap operation.
0 = From this entries EXP field.
1 = From egress queue remapping in Egress Queue
To MPLS EXP Mapping Table
2 = From the MPLS label (outermost MPLS tag if a
swap and innermost if a push.
7:5 exp Value to use for the EXP field when building a new 0x0
MPLS tag in a swap or push operation.
27:8 label MPLS label to use when building a new MPLS tag in 0x0
a swap or push operation.
Field Description
Field Default
Bits Description
Name Value
1:0 howManyLabelsToInsert How many labels shall be inserted. Setting a zero 0x0
here means no labels will be added.
2 whichEthernetType Which Ethernet Type shall be used for these MPLS 0x0
labels.
0 = 0x8847
1 = 0x8848
22:3 mplsLabel0 First/Outermost MPLS label to be inserter. 0x0
23 copyTtl0 Where shall the TTL come from in the MPLS label 0x0
0.
0 = From this table, field ttl0.
1 = From the inner packet.
31:24 ttl0 TTL table value for MPLS label 0. 0x0
32 expFromQueue0 Where shall the EXP come from in the MPLS label 0x0
0.
0 = From this table, field exp0.
1 = From the Egress Queue To MPLS EXP
Mapping Table.
35:33 exp0 EXP table value for MPLS label 0. 0x0
55:36 mplsLabel1 MPLS label 1 to be inserter. 0x0
56 copyTtl1 Where shall the TTL come from in the MPLS label 0x0
1.
0 = From this table, field ttl1.
1 = From the inner packet.
64:57 ttl1 TTL table value for MPLS label 1. 0x0
65 expFromQueue1 Where shall the EXP come from in the MPLS label 0x0
1.
0 = From this table, field exp1.
1 = From the Egress Queue To MPLS EXP
Mapping Table.
68:66 exp1 EXP table value for MPLS label 1. 0x0
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress port
Address Space : 95174 to 95185
Field Description
Field Default
Bits Description
Name Value
0 outputMirrorEnabled If set to one, output mirroring is enabled for this 0x0
port.
4:1 outputMirrorPort Destination of output mirroring. Only valid if out- 0x0
putMirrorEnabled is set. Notice if the design con-
tains more than one switch slice, packets egressed
on one slice cannot be mirrored to another slice.
Field Description
Field Default
Bits Description
Name Value
2:0 whichTableToUse Select which table type to use. 0x0
0 = None. No remapping
1 = L2 QoS Mapping Table
2 = IP QoS Mapping Table
3 = TOS QoS Mapping Table
4 = MPLS QoS Mapping Table
5 = Use this tables remapping of DEI and PCP bits.
3 whichTablePtr Which index of the tables to use. For most QoS tables 0x0
there exists multiple tables to choose from.
4 updateCfiDei Update CfiDei field in outgoing packet. 0x0
0 = Do not update.
1 = Update.
5 cfiDei Packets new CFI/DEI. 0x0
6 updatePcp Update Pcp field in outgoing packet. 0x0
0 = Do not update.
1 = Update.
9:7 pcp Packets new PCP. 0x0
Field Description
Field Default
Bits Description
Name Value
0 updateCfiDei Update CfiDei field in outgoing packet. 0x0
0 = Do not update.
1 = Update.
1 cfiDei Packets new CFI/DEI 0x0
2 updatePcp Update Pcp field in outgoing packet. 0x0
0 = Do not update.
1 = Update.
5:3 pcp Packets new PCP 0x0
13:6 newTos The outgoing new TOS bits 0x0
14 updateExp If the packet enterns a new MPLS tunnel using the 0x0
Next Hop Packet Insert MPLS Header then use
this Exp for the outermost MPLS label.
0 = No. Dont Remap.
1 = Yes. Remap to this new value
17:15 newExp New Exp value to be used. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 2
Field Description
Field Default
Bits Description
Name Value
17:0 clkDivider The master Core Tick will be issued once every 0xb4
rg tick div.clkDivider core clock cycles. If set to
zero, there will be no tick.
21:18 stepDivider The four ticks derived from the mas- 0xa
ter core tick are issued once every
rg tick div.stepDividertick number+1 master ticks.
The master tick is tick number 0. If stepDivider is
set to zero, there will be no ticks except possibly the
master tick.
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 3
Field Description
Field Default
Bits Description
Name Value
1:0 clkSelect Select the source clock for the Core Tick divider. 0: dis- 0x1
abled, 1: core clock, 2: debug write data[0], 3: reserved
28.8.3 Scratch
Scratch Register
Number of Entries : 1
Number of Addresses per Entry : 2
Type of Operation : Read/Write
Address Space : 4
Field Description
Field Default
Bits Description
Name Value
63:0 scratch scratch field. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 82825
Field Description
Field Default
Bits Description
Name Value
0 dropErrorChkSum If set, always calculate the checksum of the received 0x0
IPv4 packet. If the calculated value does not match
the IPv4 checksum field, the packet is dropped.
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 82835
Field Description
Field Default
Bits Description
Name Value
11:0 value Status from last processed packet. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 82834
Field Description
Field Default
Bits Description
Name Value
31:0 value Status from last processed packet. 0x0
Number of Entries : 1
Number of Addresses per Entry : 2
Type of Operation : Read/Write
Address Space : 83896
Field Description
Field Default
Bits Description
Name Value
35:0 sptState State of the spanning tree protocol. Bit[2:0] is port #0, 0x0
bit[5:3] is port #1 etc.
0 = Disabled
1 = Blocking
2 = Listening
3 = Learning
4
. = Forwarding
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress Port
Address Space : 82836 to 82847
Field Description
Field Default
Bits Description
Name Value
7:0 q on If a bit is set, the corresponding queue is on. 0xff
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 82828
Field Description
Field Default
Bits Description
Name Value
0 forceColor When set, packets which are non-VLAN tagged are forced 0x0
to a color.
2:1 color Initial color of the packet 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 82826
Field Description
Field Default
Bits Description
Name Value
0 forceQueue If set, the packet shall have a forced egress queue. Please 0x0
see Egress Queue Selection Diagram in Figure 17.1
Field Default
Bits Description
Name Value
3:1 eQueue The egress queue to be assigned if the forceQueue field in 0x0
this entry is set to 1.
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 82829
Field Description
Field Default
Bits Description
Name Value
0 forceColor When set, unknown L3 packet types are forced to a color. 0x0
2:1 color Initial color of the packet 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 82827
Field Description
Field Default
Bits Description
Name Value
0 forceQueue If set, the packet shall have a forced egress queue. Please 0x0
see Egress Queue Selection Diagram in Figure 17.1
3:1 eQueue The egress queue to be assigned if the forceQueue field in 0x0
this entry is set to 1.
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 82830
Field Description
Field Default
Bits Description
Name Value
0 enable If set, any frame received on the CPU port is forwarded without 0x0
consideration of the egress port’s spanning tree state.
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Ingress Port
Address Space : 232 to 243
Field Description
Field Default
Bits Description
Name Value
0 valid For a new packet which is to be learned what value 0x1
shall the valid bit have?
1 stat For a new packet which is to be learned what value 0x0
shall the static bit have?
2 hit For a new packet which is to be learned what value 0x1
shall the hit bit have?
15:3 learnLimit Maximum number of entries can be learned on this 0x0
port. 0 means no limit.
16 portMoveException When the hardware learning unit is turned on and 0x0
the ingress packet processing determines to bypass
the hardware learning check, set this field to one
to still perform the port move action.
17 saHitException When the hardware learning unit is turned on and 0x0
the ingress packet processing determines to bypass
the hardware learning check, set this field to one
to still perform the SA hit update action.
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Ingress Port
Address Space : 262 to 273
Field Description
Field Default
Bits Description
Name Value
12:0 cnt Number of learned L2 entries. 0x0
Field Description
Field Default
Bits Description
Name Value
0 ipVersion Select if this is an IPv4 or IPv6 entry. 0x0
0 = IPv4 entry.
1 = IPv6 entry.
1 mpls This is an MPLS entry, 0x0
0 = IP entry.
1 = MPLS entry.
3:2 vrf This entries VRF. The packets assigned VRF will be 0x0
compared with this field.
131:4 destIPAddr The IP or MPLS address to be matched. If the entry 0x0
is an IPv4 entry then only bits [31:0] is used. If the
entry is a MPLS entry then bits [4-1:0] contains the
source port while bits [4+19:4] contains the MPLS
label to match.
141:132 nextHopPointer Index into the Next Hop Table for this destination. 0x0
142 useECMP Enables the use of ECMP hash to calculate the next 0x0
hop pointer.
0 = Use ECMP hash.
1 = Do not use ECMP hash.
150:143 ecmpMask How many bits of the ECMP hash will be used when 0x0
calculating the ECMP offset. This byte is AND:ed
with the ECMP hash to determine which bits shall be
used as offset.
153:151 ecmpShift How many bits the masked ECMP hash will be right 0x0
shifted.
Field Description
Field Default
Bits Description
Name Value
2:0 pQueue Egress queue. 0x1
Field Description
Field Default
Bits Description
Name Value
1:0 color Packet initial color. 0x0
Field Description
Field Default
Bits Description
Name Value
2:0 pQueue Egress queue. 0x1
Field Description
Field Default
Bits Description
Name Value
1:0 color Packet initial color. 0x0
Number of Entries : 16
Type of Operation : Read/Write
Addressing : Meter Pointer
Address Space : 86016 to 86031
Field Description
Field Default
Bits Description
Name Value
15:0 tokens 0 Number of tokens after the last visit for token bucket 0. 0x0
31:16 tokens 1 Number of tokens after the last visit for token bucket 1. 0x0
Field Description
Field Default
Bits Description
Name Value
0 mmpValid If set, this entry contains a valid MMP pointer 0x0
4:1 mmpPtr Initial pointer to the ingress MMP. 0x0
6:5 mmpOrder Order of the initial ingress MMP pointer. 0x0
Number of Entries : 16
Type of Operation : Read/Write
Addressing : Meter Pointer
Address Space : 85920 to 85935
Field Description
Field Default
Bits Description
Name Value
0 markAllRed When this field is set to 1 by the core, the correspond- 0x0
ing MMP entry is under the blocking status. As a conse-
quence, all packets with this MMP pointer will be dropped.
Clear this field to allow packets enter the MMP entry again.
Number of Entries : 16
Type of Operation : Read/Write
Addressing : Meter Pointer
Address Space : 85904 to 85919
Field Description
Field Default
Bits Description
Name Value
0 markAllRedEn After setting this field to 1, if a packet is dropped by 0x0
a MMP entry, this MMP entry will stop metering and
drop all packets with the corresponding MMP pointer.
Number of Entries : 16
Type of Operation : Read/Write
Addressing : Meter Pointer
Address Space : 86000 to 86015
Field Description
Field Default
Bits Description
Name Value
0 bucketReset if set, reload with full tokens for token buckets in this entry. 0x1
Number of Entries : 16
Number of Addresses per Entry : 4
Type of Operation : Read/Write
Addressing : Meter Pointer
Address Space : 85936 to 85999
Field Description
Field Default
Bits Description
Name Value
15:0 bucketCapacity 0 Capacity for token bucket 0. 0x0
27:16 tokens 0 Number of tokens added each tick for token bucket 0x0
0.
30:28 tick 0 Select one of the 5 available ticks for token bucket 0x0
0. The tick frequencies are configured globaly in
the Core Tick Configuration register.
46:31 bucketCapacity 1 Capacity for token bucket 1. 0x0
58:47 tokens 1 Number of tokens added each tick for token bucket 0x0
1.
61:59 tick 1 Select one of the 5 available ticks for token bucket 0x0
1. The tick frequencies are configured globaly in
the Core Tick Configuration register.
62 bucketMode 0x0
0 = srTCM
1 = trTCM
63 colorBlind 0x0
0 = color-aware: The metering result is based on
the initial coloring from the ingress process
pipeline.
1 = color-blind: The metering ignores any pre-
coloring.
66:64 dropMask Drop mask for the three colors obtained from the 0x4
metering result. For each bit set to 1 the corre-
sponding color shall drop the packet. Bit 0, 1, 2
represents drop or not for green, yellow and red
respectively
80:67 maxLength Maximum allowed packet length in bytes. Packets 0x3fff
with bytes larger than this value will be dropped
before metering.
Field Default
Bits Description
Name Value
82:81 tokenMode 0x0
0 = Count in bytes and add extra bytes for me-
tering.
1 = Count in bytes and substract extra bytes for
metering.
2 = Count in packets.
3 = No tokens are counted.
90:83 byteCorrection Extra bytes per packet for IFG correction, only 0x18
valid under byte mode. Default is 4 byte FCS plus
20 byte IFG.
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 84474
Field Description
Field Default
Bits Description
Name Value
0 learnL2DestDrop Allow learning when L2 Destination Table drops 0x0
the packet.
1 learnL2FloodDrop Allow learning when the packet is dropped due 0x0
to unknown DA.
2 learnL2DestVlanMemberDrop Allow learning when the packt is dropped due to 0x1
destination VLAN membership check.
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress port
Address Space : 83116 to 83127
Field Description
Field Default
Bits Description
Name Value
0 dropCtaggedVlans Drop or allow customer VLAN tagged pack- 0x0
ets on this egress port. Will only drop pack-
ets that has exactly one VLAN tag. Must set
moreThanOneVlans when this is used. Note that
after a VLAN push operation the pushed VLAN
will be regarded as a C-VLAN.
0 = Allow C-VLANs.
1 = Drop C-VLANs.
1 dropStaggedVlans Drop or allow service VLAN tagged packets on 0x0
this egress port. Must set moreThanOneVlans
when this is used. Note that after a VLAN push
operation the pushed VLAN will be regarded as
a C-VLAN.
0 = Allow S-VLANs.
1 = Drop S-VLANs.
2 moreThanOneVlans When filtering with dropCtaggedVlans or drop- 0x0
StaggedVlans then this field must be set to 1.
3 dropSingleTaggedVlans Drop or Allow packets that are VLAN untagged 0x0
on this egress port.
0 = Allow untagged packets.
1 = Drop untagged packets.
4 dropUntaggedVlans Drop or Allow packets that are VLAN untagged 0x0
on this egress port.
0 = Allow untagged packets.
1 = Drop untagged packets.
5 dropIPv4Packets Drop or allow IPv4 packets on this egress port. 0x0
0 = Allow IPv4 packets.
1 = Drop IPv4 packets.
6 dropIPv6Packets Drop or allow IPv6 packets on this egress port. 0x0
0 = Allow IPv6 packets.
1 = Drop IPv6 packets.
7 dropMPLSPackets Drop or allow MPLS packets on this source port. 0x0
0 = Allow MPLS packets.
1 = Drop MPLS packets.
8 dropIPv4MulticastPackets Drop or allow IPv4 Multicast packets on this 0x0
egress port.
0 = Allow IPv4 MC packets.
1 = 1 = Drop IPv4 MC packets.
9 dropIPv6MulticastPackets Drop or allow IPv6 Multicast packets on this 0x0
egress port.
0 = Allow IPv6 MC packets.
1 = Drop IPv6 MC packets.
10 dropL2BroadcastFrames Drop or allow L2 broadcast packets on this 0x0
egress port.
0 = Allow L2 broadcast packets.
1 = Drop L2 broadcast packets.
11 dropL2FloodingFrames Drop or allow L2 flooding packets on this egress 0x0
port. Observe that this rule takes the un-
knownL2McFilterRule into account.
0 = Allow L2 flooding packets.
1 = Drop L2 flooding packets.
Field Default
Bits Description
Name Value
12 dropL2MulticastFrames Drop or allow L2 multicast packets on this egress 0x0
port. Observe that this L2 multicast bit takes
the register L2 Multicast Handling into ac-
count to determine if this packet is a L2 mul-
ticast packet or not.
0 = Allow L2 multicast packets
1 = Drop L2 multicast packets.
13 dropDualTaggedVlans Drop or allow packets with has more than one 0x0
VLAN tag on this egress port.
0 = Allow packets which has more than one
VLAN tag.
1 = Drop packets which has more than one
VLAN tag.
14 dropCStaggedVlans Drop or allow packets with has a C-VLAN fol- 0x0
lowed by a S-VLAN tagged on this egress port.
Note that after a VLAN push operation the
pushed VLAN will be regarded as a C-VLAN.
0 = Allow packets which has a C-VLAN tag fol-
lowed by a S-VLAN tag.
1 = Drop packets which has a C-VLAN tag fol-
lowed by a S-VLAN tag.
15 dropSCtaggedVlans Drop or allow packets with has a S-VLAN fol- 0x0
lowed by a C-VLAN tagged on this egress port.
Note that after a VLAN push operation the
pushed VLAN will be regarded as a C-VLAN.
0 = Allow packets which has a S-VLAN fol-
lowed by a C-VLAN tag.
1 = Drop packets which has a S-VLAN tag fol-
lowed by a C-VLAN tag.
16 dropCCtaggedVlans Drop or allow packets with has a C-VLAN fol- 0x0
lowed by a C-VLAN tagged on this egress port.
Note that after a VLAN push operation the
pushed VLAN will be regarded as a C-VLAN.
0 = Allow packets which has a C-VLAN tag fol-
lowed by a C-VLAN tag.
1 = Drop packets which has a C-VLAN tag fol-
lowed by a C-VLAN tag.
17 dropSStaggedVlans Drop or allow packets with has a S-VLAN fol- 0x0
lowed by a S-VLAN tagged on this egress port.
Note that after a VLAN push operation the
pushed VLAN will be regarded as a C-VLAN.
0 = Allow packets which has a S-VLAN tag fol-
lowed by a S-VLAN tag.
1 = Drop packets which has a S-VLAN tag fol-
lowed by a S-VLAN tag.
18 dropRouted Drop or allow packets which has been routed on 0x0
this egress port.
0 = Allow packets which has been routed.
1 = Drop packets which has been routed.
30:19 srcPortFilter Each egress port has an optional way of ensuring 0x0
that a specific source port does not send out
a packet on a specific egress port. By setting
a bit in this port mask, the packets originating
from that source port will be dropped and not
be allowed to reach this egress port.
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 82824
Field Description
Field Default
Bits Description
Name Value
15:0 typeValue Ethernet Type value. 0xffff
16 type User defined VLAN type. 0x0
0 = Customer VLAN.
1 = Service VLAN.
17 valid User defined VLAN is valid. 0x0
0 = Not Valid.
1 = Valid.
Number of Entries : 32
Number of Addresses per Entry : 8
Type of Operation : Read/Write
Addressing : All entries are read out in parallel
Address Space : 83638 to 83893
Field Description
Field Default
Bits Description
Name Value
0 compareEthType Determines if the EthType field in this entry shall 0x0
be compared.
0 = Do not compare.
1 = Include the comparison in the entry com-
parison.
1 typeOfComparisonEthType What type of comparison shall be considered as 0x1
hit.
0 = Not equal shall be considered a hit.
1 = Equal as hit.
17:2 ethType Ethernet Type after VLAN. 0x0
18 compareDaMac Determines if the DaMac field in this entry shall 0x0
be compared.
0 = Do not compare.
1 = Include the comparison in the entry com-
parison.
Field Default
Bits Description
Name Value
19 typeOfComparisonDaMac What type of comparison shall be considered as 0x1
hit.
0 = Not equal shall be considered a hit.
1 = Equal as hit.
67:20 daMac Destination MAC address. 0x0
68 compareSaMac Determines if the SaMac field in this entry shall 0x0
be compared.
0 = Do not compare.
1 = Include the comparison in the entry com-
parison.
69 typeOfComparisonSaMac What type of comparison shall be considered as 0x1
hit.
0 = Not equal shall be considered a hit.
1 = Equal as hit.
117:70 saMac Source MAC address. 0x0
118 compareVid Determines if the Vid field in this entry shall be 0x0
compared.
0 = Do not compare.
1 = Include the comparison in the entry com-
parison.
119 typeOfComparisonVid What type of comparison shall be considered as 0x1
hit.
0 = Not equal shall be considered a hit.
1 = Equal as hit.
131:120 vid Compared with the packets VLAN VID after 0x0
Ingress VID assignment and Source Port Table
VLAN operation.
132 comparePcp Determines if the Pcp field in this entry shall be 0x0
compared.
0 = Do not compare.
1 = Include the comparison in the entry com-
parison.
133 typeOfComparisonPcp What type of comparison shall be considered as 0x1
hit.
0 = Not equal shall be considered a hit.
1 = Equal as hit.
136:134 pcp Compared with the packets VLAN PCP after 0x0
Source Port Table VLAN operation.
137 compareDei Determines if the Dei field in this entry shall be 0x0
compared.
0 = Do not compare.
1 = Include the comparison in the entry com-
parison.
138 typeOfComparisonDei What type of comparison shall be considered as 0x1
hit.
0 = Not equal shall be considered a hit.
1 = Equal as hit.
139 dei Compared with the packets VLAN CFI/DEI after 0x0
Source Port Table VLAN operation.
Field Default
Bits Description
Name Value
140 compareHasVlans Determines if the HasVlans field in this entry 0x0
shall be compared.
0 = Do not compare.
1 = Include the comparison in the entry com-
parison.
141 typeOfComparisonHasVlans What type of comparison shall be considered as 0x1
hit.
0 = Not equal shall be considered a hit.
1 = Equal as hit.
142 hasVlans Is there at least one VLAN in the packet. 0x0
0 = No VLAN
1 = One or More VLAN
143 compareCstag Determines if the Cstag field in this entry shall 0x0
be compared.
0 = Do not compare.
1 = Include the comparison in the entry com-
parison.
144 typeOfComparisonCstag What type of comparison shall be considered as 0x1
hit.
0 = Not equal shall be considered a hit.
1 = Equal as hit.
145 cstag Is the outermost VLAN tag a C-tag or S-Tag. If 0x0
a packet does not have a VLAN or the VLAN was
removed due to a pop operation in the source
port vlan operation then the value will be set to
zero(0).
0 = C-tag
1 = S-tag
157:146 ports Ports that this filter rule applies to. 0x0
Number of Entries : 32
Number of Addresses per Entry : 4
Type of Operation : Read/Write
Addressing : Ingress L2 ACL Match Data Entries hit index
Address Space : 83466 to 83593
Field Description
Field Default
Bits Description
Name Value
0 dropEnable If set, the packet shall be dropped and the Ingress L2 0x0
ACL Drop counter is incremented.
1 sendToCpu If set, the packet shall be sent to the CPU port. 0x0
2 forceQueue If set, the packet shall have a forced egress queue. 0x0
Please see Egress Queue Selection Diagram in Figure
17.1
Field Default
Bits Description
Name Value
5:3 eQueue The egress queue to be assigned if the forceQueue 0x0
field in this entry is set to 1.
7:6 color Inital color of the packet 0x0
8 forceColor If set, the packet shall have a forced color. 0x0
9 mmpValid If set, this entry contains a valid MMP pointer 0x0
13:10 mmpPtr Ingress MMP pointer. 0x0
15:14 mmpOrder Ingress MMP pointer order. 0x0
16 sendToPort Send the packet to a specific port. 0x0
0 = Do not sent to a port.
1 = Send to port.
20:17 destPort The port which the packet shall be sent to. 0x0
21 forceVidValid A new ingress VID shall be used when doing the VLAN 0x0
table lookup. This is the VID which is used for the
VLAN lookup overriding the source port tables VID
assignment.
34:22 forceVid The new ingress VID which shall be used in the VLAN 0x0
lookup.
35 updateCounter When set the selected statistics counter will be up- 0x0
dated.
40:36 counter Which counter in Ingress L2 ACL Match Counter 0x0
to update.
41 updateCfiDei The CFI/DEI value of the packets outermost VLAN 0x0
should be updated.
0 = Do not update the value.
1 = Update the value.
42 newCfiDeiValue CFIDEI The value to update to. 0x0
43 updatePcp The PCP value of the packets outermost VLAN should 0x0
be updated.
0 = Do not update the value.
1 = Update the value.
46:44 newPcpValue The PCP value to update to. 0x0
47 updateVid The VID value of the packets outermost VLAN should 0x0
be updated.
0 = Do not update the value.
1 = Update the value.
59:48 newVidValue The VID value to update to. 0x0
60 updateEType The VLANs TPID type should be updated. 0x0
0= Do not update the TPID.
1= Update the TPID.
62:61 newEthType Selects which TPID to use in the outer VLAN header. 0x0
0 = C-VLAN - 0x8100.
1 = S-VLAN - 0x88A8.
2 = User defined VLAN type from register Egress
. Ethernet Type for VLAN tag
63 useChain A resulting chain ID shall be used when doing the L3 0x0
ACL lookups
69:64 chainId The chain Identifier value to use. 0x0
L3/L4 ACL Result Operation Entries is read out and acted on. When multiple entries match (are hit)
the associated actions from all matching entries will be executed. The entries in the table are searched
starting with entry 0.
Number of Entries : 32
Number of Addresses per Entry : 16
Type of Operation : Read/Write
Addressing : All entries are read out in parallel
Address Space : 83962 to 84473
Field Description
Field Default
Bits Description
Name Value
127:0 sip The Source IPv4/IPv6 address value to be com- 0x0
pared. If IPv4 then only bits [31:0] are compared.
255:128 dip The Destination IPv4/IPv6 address or the outer- 0x0
most MPLS label value to be compared. If IPv4
then only bits [31:0] are compared. If MPLS
then only bits [19:0] are compared.
264:256 compareTcpFlagMask Which of the TCP bits shall be compared. For 0x0
each bit: 1 = The bit has to match, 0 = The
bit is ignored.
273:265 tcpFlags The TCP flags to compare. Bit [8] = ns, Bit [7] 0x0
= cwr, Bit[6] = ece, Bit[5] = urg, Bit[4] = ack,
Bit[3] = psh, Bit [2] = rst, Bit[1] = syn , Bit[0]
= fin
281:274 compareIPv4OptionsByteMask Which bits of the IPv4 options byte shall be com- 0x0
pared. Setting a bit to 1 means the bit has to
match, setting the bit to 0 means it is ignored.
289:282 IPv4OptionsByte The first IPv4 options byte to compare to. 0x0
290 compareSip In this ACL entry shall the Source IPv4/IPv6 0x0
Address be compared.
0 = Do not compare.
1 = Include the comparison in the entry hit de-
cision.
291 typeOfComparisonSip What type of comparison shall be considered as 0x1
hit.
0 = Not equal shall be considered a hit.
1 = Equal as hit.
292 compareDip In this ACL entry shall the Destination 0x0
IPv4/IPv6 Address or the outermost MPLS label
be compared.
0 = Do not compare.
1 = Include the comparison in the entry hit de-
cision.
293 typeOfComparisonDip What type of comparison shall be considered as 0x1
hit.
0 = Not equal shall be considered a hit.
1 = Equal as hit.
294 compareHasChain Determines if the HasChain field in this entry 0x0
shall be compared.
0 = Do not compare.
1 = Include the comparison in the entry com-
parison.
Field Default
Bits Description
Name Value
295 typeOfComparisonHasChain What type of comparison shall be considered as 0x1
hit.
0 = Not equal shall be considered a hit.
1 = Equal as hit.
296 hasChain A chain tag from a first or second ACL shall be 0x0
used.
297 compareL4sp Determines if the L4sp field in this entry shall be 0x0
compared.
0 = Do not compare.
1 = Include the comparison in the entry com-
parison.
298 typeOfComparisonL4sp What type of comparison shall be considered as 0x1
hit.
0 = Not equal shall be considered a hit.
1 = Equal as hit.
314:299 l4sp L4 Source Port. 0x0
315 compareL4dp Determines if the L4dp field in this entry shall 0x0
be compared.
0 = Do not compare.
1 = Include the comparison in the entry com-
parison.
316 typeOfComparisonL4dp What type of comparison shall be considered as 0x1
hit.
0 = Not equal shall be considered a hit.
1 = Equal as hit.
332:317 l4dp L4 Destination Port. 0x0
333 compareTos Determines if the Tos field in this entry shall be 0x0
compared.
0 = Do not compare.
1 = Include the comparison in the entry com-
parison.
334 typeOfComparisonTos What type of comparison shall be considered as 0x1
hit.
0 = Not equal shall be considered a hit.
1 = Equal as hit.
342:335 tos TOS Byte. 0x0
343 compareL4Type Determines if the L4Type field in this entry shall 0x0
be compared.
0 = Do not compare.
1 = Include the comparison in the entry com-
parison.
344 typeOfComparisonL4Type What type of comparison shall be considered as 0x1
hit.
0 = Not equal shall be considered a hit.
1 = Equal as hit.
352:345 l4Type L4 Payload Type. 0x0
353 compareIsIPv4 Determines if the IsIPv4 field in this entry shall 0x0
be compared.
0 = Do not compare.
1 = Include the comparison in the entry com-
parison.
Field Default
Bits Description
Name Value
354 typeOfComparisonIsIPv4 What type of comparison shall be considered as 0x1
hit.
0 = Not equal shall be considered a hit.
1 = Equal as hit.
355 isIPv4 IPv4 Packet Type. 0x0
356 compareIsIPv6 Determines if the IsIPv6 field in this entry shall 0x0
be compared.
0 = Do not compare.
1 = Include the comparison in the entry com-
parison.
357 typeOfComparisonIsIPv6 What type of comparison shall be considered as 0x1
hit.
0 = Not equal shall be considered a hit.
1 = Equal as hit.
358 isIPv6 IPv6 Packet Type. 0x0
359 compareIsMPLS Determines if the IsMPLS field in this entry shall 0x0
be compared.
0 = Do not compare.
1 = Include the comparison in the entry com-
parison.
360 typeOfComparisonIsMPLS What type of comparison shall be considered as 0x1
hit.
0 = Not equal shall be considered a hit.
1 = Equal as hit.
361 isMPLS MPLS Packet Type. 0x0
362 compareRouted Determines if the Routed field in this entry shall 0x0
be compared.
0 = Do not compare.
1 = Include the comparison in the entry com-
parison.
363 typeOfComparisonRouted What type of comparison shall be considered as 0x1
hit.
0 = Not equal shall be considered a hit.
1 = Equal as hit.
364 routed Routed Result. 0x0
365 compareVrf Determines if the Vrf field in this entry shall be 0x0
compared.
0 = Do not compare.
1 = Include the comparison in the entry com-
parison.
366 typeOfComparisonVrf What type of comparison shall be considered as 0x1
hit.
0 = Not equal shall be considered a hit.
1 = Equal as hit.
368:367 vrf Packet VRF 0x0
369 compareChainTag Determines if the ChainTag field in this entry 0x0
shall be compared.
0 = Do not compare.
1 = Include the comparison in the entry com-
parison.
Field Default
Bits Description
Name Value
370 typeOfComparisonChainTag What type of comparison shall be considered as 0x1
hit.
0 = Not equal shall be considered a hit.
1 = Equal as hit.
376:371 chainTag The chain tag from either ingress l2 classification 0x0
lookups.
388:377 ports For which source ports should this filter rule ap- 0x0
ply.
Number of Entries : 32
Type of Operation : Read/Write
Addressing : Ingress L3/L4 ACL Match Data Entries hit index
Address Space : 83272 to 83303
Field Description
Field Default
Bits Description
Name Value
0 dropEnable If set, the packet shall be dropped and the L3 ACL 0x0
Drop counter is incremented.
1 sendToCpu If set, the packet shall be sent to the CPU port. 0x0
2 forceQueue If set, the packet shall have a forced egress queue. 0x0
Please see Egress Queue Selection Diagram in Figure
17.1
5:3 eQueue The egress queue to be assigned if the forceQueue 0x0
field in this entry is set to 1.
7:6 color Inital color of the packet. 0x0
8 forceColor If set, the packet shall have a forced color. 0x0
9 mmpValid If set, this entry contains a valid MMP pointer 0x0
13:10 mmpPtr Ingress MMP pointer. 0x0
15:14 mmpOrder Ingress MMP pointer order. 0x0
16 sendToPort Send the packet to a specific port. 0x0
0 = Dont send.
1 = Send to port.
Observe that if other ACL units also has sendToPort
turned on then the packet will be sent to both ports.
20:17 destPort The port which the packet shall be sent to. 0x0
21 updateCounter Update a counter. 0x0
26:22 counter Which counter to update. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 82833
Field Description
Field Default
Bits Description
Name Value
11:0 dropMask Each bit in this mask refers to if ingress MMP drop is 0xfff
allowed on the corresponding egress port.
Number of Entries : 16
Type of Operation : Read/Write
Addressing : msptPtr from VLAN Table or Next Hop Packet Modifications Table
Address Space : 13075 to 13090
Field Description
Field Default
Bits Description
Name Value
23:0 portSptState The ingress spanning tree state for this MSTI. Bit[1:0] 0x0
is the state for port #0, bit[3:2] is the state for port
#1, etc.
0 = Forwarding
1 = Discarding
2 = Learning
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Ingress port
Address Space : 83312 to 83323
Field Description
Field Default
Bits Description
Name Value
0 dropCtaggedVlans Drop or allow customer VLAN tagged packet 0x0
on this ingress port. Will only drop packets
that has exactly one VLAN tag. Must set
moreThanOneVlans when this is used.
0 = Allow C-VLANs.
1 = Drop C-VLANs.
Field Default
Bits Description
Name Value
1 dropStaggedVlans Drop or allow service VLANs tagged packets 0x0
on this ingress port. Will only drop packets
that has exactly one VLAN tag. Must set
moreThanOneVlans when this is used.
0 = Allow S-VLANs.
1 = Drop S-VLANs.
2 moreThanOneVlans When filtering with dropCtaggedVlans or drop- 0x0
StaggedVlans then this field must be set to 1.
3 dropUntaggedVlans Drop or Allow packets that are VLAN untagged 0x0
on this ingress port.
0 = Allow untagged packets.
1 = Drop untagged packets.
4 dropSingleTaggedVlans Drop or Allow packets that are VLAN untagged 0x0
on this ingress port.
0 = Allow untagged packets.
1 = Drop untagged packets.
5 dropIPv4Packets Drop or allow IPv4 packets on this ingress port. 0x0
0 = Allow IPv4 packets.
1 = Drop IPv4 packets.
6 dropIPv6Packets Drop or allow IPv6 packets on this ingress port. 0x0
0 = Allow IPv6 packets.
1 = Drop IPv6 packets.
7 dropMPLSPackets Drop or allow MPLS packets on this ingress port. 0x0
0 = Allow MPLS packets.
1 = Drop MPLS packets.
8 dropIPv4MulticastPackets Drop or allow IPv4 multicast packets on this 0x0
ingress port.
0 = Allow IPv4 MC packets.
1 = Drop IPv4 MC packets.
9 dropIPv6MulticastPackets Drop or allow IPv6 multicast packets on this 0x0
ingress port.
0 = Allow IPv6 MC packets.
1 = Drop IPv6 MC packets.
10 dropL2BroadcastFrames Drop or allow L2 broadcast packets on this 0x0
ingress port.
0 = Drop L2 broadcast packets.
1 = Allow L2 broadcast packets.
11 dropL2MulticastFrames Drop or allow L2 multicast packets on this 0x0
ingress port. Observe that this L2 multicast bit
takes the register L2 Multicast Handling into
account to determine if this packet is a L2 mul-
ticast packet or not.
0 = Allow L2 multicast packets
1 = Drop L2 multicast packets.
12 dropDualTaggedVlans Drop or allow packets which has more than one 0x0
VLAN tag on this ingress port.
0 = Allow packets which has dual tags.
1 = Drop packets which has dual tags.
Field Default
Bits Description
Name Value
13 dropCStaggedVlans Drop or allow packets which has a C-VLAN fol- 0x0
lowed by a S-VLAN tagged on this ingress port.
0 = Allow packets which has a C-VLAN tag fol-
lowed by a S-VLAN tag.
1 = Drop packets which has a C-VLAN tag fol-
lowed by a S-VLAN tag.
14 dropSCtaggedVlans Drop or allow packets which has a S-VLAN fol- 0x0
lowed by a C-VLAN tagged on this ingress port.
0 = Allow packets which has a S-VLAN fol-
lowed by a C-VLAN tag.
1 = Drop packets which has a S-VLAN tag fol-
lowed by a C-VLAN tag.
15 dropCCtaggedVlans Drop or allow packets which has a C-VLAN fol- 0x0
lowed by a C-VLAN tagged on this ingress port.
0 = Allow packets which has a C-VLANs tag
followed by a C-VLAN tag.
1 = Drop packets which has a C-VLAN tag fol-
lowed by a C-VLAN tag.
16 dropSStaggedVlans Drop or allow packets which has a S-VLAN fol- 0x0
lowed by a S-VLAN tagged on this source port.
0 = Allow packets which has a S-VLAN tag fol-
lowed by a S-VLAN tag.
1 = Drop packets which has a S-VLAN tag fol-
lowed by a S-VLAN tag.
Number of Entries : 4
Type of Operation : Read/Write
Addressing : vrf
Address Space : 13091 to 13094
Field Description
Field Default
Bits Description
Name Value
0 acceptIPv4 Accept IPv4 packets. If disabled and an IPv4 packet 0x0
reaches the router the packet will be dropped and the
Invalid Routing Protocol Drop incremented.
0 = Deny
1 = Accept
1 acceptIPv6 Accept IPv6 packets. If disabled and an IPv6 packet 0x0
reaches the router the packet will be dropped and the
Invalid Routing Protocol Drop incremented.
0 = Deny
1 = Accept
Field Default
Bits Description
Name Value
2 acceptMPLS Accept MPLS packets. If disabled and an MPLS 0x0
packet reaches the router the packet will be dropped
and the Invalid Routing Protocol Drop incre-
mented.
0 = Deny
1 = Accept
10:3 minTTL Minimum TTL. Packets with a TTL below this value 0x0
will not be accepted. The packet will be dropped and
the Expired TTL Drop counter incremented. If the
minTtlToCpu is set the packet will be sent to CPU
instead of being dropped. The TTL check is done for
IPv4, IPv6 and MPLS routed packets.
11 minTtlToCpu If this is set then packets below minimum TTL will be 0x0
send to CPU instead of dropped.
12 ipv4HitUpdates Enable updates of the Next Hop Hit Status for 0x0
routed IPv4 packets.
0 = Disable
1 = Enable
13 ipv6HitUpdates Enable updates of the Next Hop Hit Status for 0x0
routed IPv6 packets.
0 = Disable
1 = Enable
14 mplsHitUpdates Enable updates of the Next Hop Hit Status for 0x0
routed MPLS packets.
0 = Disable
1 = Enable
15 ecmpUseIpDa Use IP destination address as part of ECMP hash key. 0x1
16 ecmpUseIpSa Use IP source address as part of ECMP hash key. 0x1
17 ecmpUseIpTos Use IP TOS/Traffic Class as part of ECMP hash key. 0x0
18 ecmpUseIpProto Use IP Protocol/Next Header as part of ECMP hash 0x1
key.
19 ecmpUseIpL4Sp Use TCP/UDP source port as part of ECMP hash key. 0x1
20 ecmpUseIpL4Dp Use TCP/UDP destination port as part of ECMP hash 0x1
key.
21 mmpValid If set, this entry contains a valid MMP pointer. Only 0x0
valid when packets get routed
25:22 mmpPtr Ingress MMP pointer. 0x0
27:26 mmpOrder Ingress MMP pointer order. 0x0
28 sendToCpuOrDrop When a check if the packet protocols are allowed on 0x0
this Ingress Router Table shall the packets be dropped
or sent-to-CPU?
0 = Dropped.
1 = Sent-To-CPU
Number of Entries : 4
Type of Operation : Read/Write
Addressing : Ingress VID Ethernet Type Range Search Data hit index
Address Space : 83308 to 83311
Field Description
Field Default
Bits Description
Name Value
11:0 ingressVid Ingress VID. 0x0
13:12 order Order for this assignment. If the ingress VID can be as- 0x0
signed from other packet field ranges, the one with the
highest order wins.
Number of Entries : 4
Number of Addresses per Entry : 2
Type of Operation : Read/Write
Addressing : All entries are read out in parallel
Address Space : 83938 to 83945
Field Description
Field Default
Bits Description
Name Value
11:0 ports Ports that this range search is activated on. 0x0
27:12 start Start of Ethernet type range. 0x0
43:28 end End of Ethernet type range. 0x0
Number of Entries : 4
Type of Operation : Read/Write
Addressing : Ingress VID Inner VID Range Search Data hit index
Address Space : 4879 to 4882
Field Description
Field Default
Bits Description
Name Value
11:0 ingressVid Ingress VID. 0x0
13:12 order Order for this assignment. If the ingress VID can be as- 0x0
signed from other packet field ranges, the one with the
highest order wins.
Number of Entries : 4
Number of Addresses per Entry : 2
Type of Operation : Read/Write
Addressing : All entries are read out in parallel
Address Space : 83946 to 83953
Field Description
Field Default
Bits Description
Name Value
11:0 ports Ports that this range search is activated on. 0x0
12 vtype Shall this entry match S-Type or C-Type VLAN. 0x0
0 = C-Type
1 = S-Type
24:13 start Start of VID range. 0x0
36:25 end End of VID range. 0x0
Number of Entries : 4
Type of Operation : Read/Write
Addressing : Ingress VID MAC Range Search Data hit index
Address Space : 4871 to 4874
Field Description
Field Default
Bits Description
Name Value
11:0 ingressVid Ingress VID. 0x0
13:12 order Order for this assignment. If the ingress VID can be as- 0x0
signed from other packet field ranges, the one with the
highest order wins.
Number of Entries : 4
Number of Addresses per Entry : 4
Type of Operation : Read/Write
Addressing : All entries are read out in parallel
Address Space : 83450 to 83465
Field Description
Field Default
Bits Description
Name Value
11:0 ports Ports that this range search is activated on. 0x0
12 saOrDa Is this rule for source or destination MAC address. 0x0
0 = Source MAC
1 = Destination MAC
60:13 start Start of MAC address range. 0x0
108:61 end End of MAC address range. 0x0
Number of Entries : 4
Type of Operation : Read/Write
Addressing : Ingress VID Outer VID Range Search Data hit index
Address Space : 4875 to 4878
Field Description
Field Default
Bits Description
Name Value
11:0 ingressVid Ingress VID. 0x0
13:12 order Order for this assignment. If the ingress VID can be as- 0x0
signed from other packet field ranges, the one with the
highest order wins.
Number of Entries : 4
Number of Addresses per Entry : 2
Type of Operation : Read/Write
Addressing : All entries are read out in parallel
Address Space : 83954 to 83961
Field Description
Field Default
Bits Description
Name Value
11:0 ports Ports that this range search is activated on. 0x0
12 vtype Shall this entry match S-Type or C-Type VLAN. 0x0
0 = C-Type
1 = S-Type
24:13 start Start of VID range. 0x0
36:25 end End of VID range. 0x0
Number of Entries : 16
Type of Operation : Read/Write
Addressing : L2 Lookup Collision Table hit index
Address Space : 83240 to 83255
Field Description
Field Default
Bits Description
Name Value
0 valid If this is set, then the corresponding L2 Lookup Collision Ta- 0x0
ble entry is valid.
Number of Entries : 16
Type of Operation : Read/Write
Addressing : L2 Lookup Collision Table hit index
Address Space : 246 to 261
Field Description
Field Default
Bits Description
Name Value
0 valid If this is set, then the corresponding L2 Lookup Collision Ta- 0x0
ble entry is valid.
1 stat If this is set, then the corresponding L2 Lookup Collision Ta- 0x0
ble entry will not be aged out.
2 hit If this is set, then the corresponding L2 Lookup Collision Ta- 0x0
ble entry has a L2 SA/DA search hit since the last aging scan.
Field Description
Field Default
Bits Description
Name Value
0 valid If this is set, then the corresponding hash table entry is valid. 0x0
Field Description
Field Default
Bits Description
Name Value
0 valid If this is set, then the corresponding hash table entry is valid. 0x0
Field Description
Field Default
Bits Description
Name Value
0 valid If set, then the corresponding hash table entry is valid. 0x0
1 stat If set, then the corresponding hash table entry will not be aged 0x0
out.
2 hit If set, then the corresponding hash table entry has a L2 DA 0x0
search hit since the last aging scan.
Field Description
Field Default
Bits Description
Name Value
47:0 macAddr MAC address. 0x0
59:48 gid Global identifier from the VLAN Table. 0x0
Field Description
Field Default
Bits Description
Name Value
0 uc Unicast if set; multicast if cleared. Multicast 0x0
means that a lookup to the L2 Multicast Ta-
ble will occur and determine a list of destination
ports.
6:1 destPort or mcAddr Destination port number or pointer into the L2 0x0
Multicast Table.
7 pktDrop If set, the packet will be dropped and the L2 0x0
Lookup Drop incremented.
Field Description
Field Default
Bits Description
Name Value
0 uc Unicast if set; multicast if cleared. Multicast 0x0
means that a lookup to the L2 Multicast Ta-
ble will occur and determine a list of destination
ports.
6:1 destPort or mcAddr Destination port number or pointer into the L2 0x0
Multicast Table.
7 pktDrop If set, the packet will be dropped and the L2 0x0
Lookup Drop incremented.
Number of Entries : 16
Number of Addresses per Entry : 2
Type of Operation : Read/Write
Addressing : All entries are read out in parallel
Address Space : 83906 to 83937
Field Description
Field Default
Bits Description
Name Value
47:0 macAddr MAC address 0x0
59:48 gid Global identifier for learning 0x0
Number of Entries : 4
Number of Addresses per Entry : 2
Type of Operation : Read/Write
Addressing : All entries are read out in parallel
Address Space : 83898 to 83905
Field Description
Field Default
Bits Description
Name Value
47:0 macAddr MAC address mask 248 − 1
59:48 gid Global identifier for learning mask 0xfff
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 82832
Field Description
Field Default
Bits Description
Name Value
0 exclIPv4Mc If set, IPv4 packets with IPv4 multicast MAC ad- 0x0
dress will NOT have a L2 multicast flag.
1 exclIPv6Mc If set, IPv6 packets with IPv6 multicast MAC ad- 0x0
dress will NOT have a L2 multicast flag.
2 inclL2McLut If set, packets that are forwarded by L2 Multicast 0x1
Table will internally be treated as the L2 multicast
bit in the L2 DA address would have been set to
one.
3 inclMultiPorts If set, packets that end up in more than one des- 0x0
tination port but not due to broadcast or flooding
will have a L2 multicast flag. Observe that mirror-
ing is not a valid multiport destination.
4 unknownL2McFilterRule Select the filtering rules for unknown L2 multi- 0x0
cast MAC DA in the Ingress Egress Port Packet
Type Filter.
0 = dropL2FloodingFrames
1 = dropL2MulticastFrames
Number of Entries : 64
Type of Operation : Read/Write
Addressing : mcAddr field from L2 Destination Table or from Next Hop Table
Address Space : 83176 to 83239
Field Description
Field Default
Bits Description
Name Value
11:0 mcPortMask L2 portmask entry members. If set, the port is part 0xfff
of multicast group and shall be transmitted to.
Field Description
Field Default
Bits Description
Name Value
11:0 dropMask Determines which source ports that are not allowed 0x0
to receive this multicast address. Each bit set to 1
will result in dropping this multicast address on that
source port. Bit 0 is port 0, bit 1 is port 1 etc. Each
drop will be counted in L2 Reserved Multicast Ad-
dress Drop.
23:12 sendToCpuMask Received packets on these source ports will be sent to 0x0
the CPU. Bit 0 represents port 0, bit 1 represents port
1 etc. LLDP frames sent to the CPU takes priority
over this.
Number of Entries : 1
Number of Addresses per Entry : 2
Type of Operation : Read/Write
Address Space : 83894
Field Description
Field Default
Bits Description
Name Value
39:0 macBase The first 40 bits of the reserved MAC address, and 0x180c20000
the lower 16 bits of it can be masked. The default is
01:80:c2:00:00
55:40 mask Bit comparison mask for the lower 2 bytes in macBase 0xffff
(marked with XX as in 01:80:c2:XX:XX). If a bit is
set in the mask then the corresponding bit will be
compared. Otherwise the bits are dont care.
Field Description
Field Default
Bits Description
Name Value
47:0 macAddr MAC address. 0x0
59:48 gid Global identifier from the VLAN Table. 0x0
Number of Entries : 16
Type of Operation : Read/Write
Addressing : L3 Routing TCAM hit index
Address Space : 13095 to 13110
Field Description
Field Default
Bits Description
Name Value
0 useECMP Enables the use of ECMP hash to calculate the next 0x0
hop pointer.
0 = Use ECMP hash.
1 = Do not use ECMP hash.
8:1 ecmpMask How many bits of the ECMP hash will be used when 0x0
calculating the ECMP offset. This byte is AND:ed
with the ECMP hash to determine which bits shall be
used as offset.
11:9 ecmpShift How many bits the masked ECMP hash will be right 0x0
shifted.
21:12 nextHopPointer Index into the Next Hop Table for this destination. 0x0
Number of Entries : 4
Type of Operation : Read/Write
Addressing : vrf
Address Space : 83304 to 83307
Field Description
Field Default
Bits Description
Name Value
9:0 nextHop The default next hop to be used. Index into the Next Hop 0x0
Table.
10 pktDrop If set the packet will be drop and the L3 Lookup Drop 0x0
counter incremented.
11 sendToCpu If set then the packet will be sent to the CPU. 0x0
Number of Entries : 16
Number of Addresses per Entry : 16
Type of Operation : Read/Write
Addressing : Entry number
Address Space : 84475 to 84730
Field Description
Field Default
Bits Description
Name Value
1:0 proto Select if this is an IPv4, IPv6 or MPLS entry. 0x0
0 = Reserved
1 = MPLS Entry.
2 = IPv4 entry.
3 = IPv6 entry.
protoMaskN determines the bits in the field that can
be ignored for comparison.
3:2 vrf This entries VRF. The packets assigned VRF will be 0x0
compared with this field. vrfMaskN determines the
bits in the field that can be ignored for comparison.
131:4 destIPAddr The IP or MPLS address to be matched. If the entry is 0x0
an IPv4 entry then bits [31:0] should be set to the IPv4
address. If the entry is an MPLS entry then bits [4-
1:0] should contain the source port while bits [4+19:4]
should contain the MPLS label. destIPAddrMaskN
determines the bits in the field that can be ignored
for comparison.
133:132 protoMaskN Mask for the proto field. For each bit in the mask, 0x0
0 means the bit is valid for comparison, 1 means the
comparison ignores this bit.
135:134 vrfMaskN Mask for the vrf field. For each bit in the mask, 0 0x0
means the bit is valid for comparison, 1 means the
comparison ignores this bit.
263:136 destIPAddrMaskN Mask for the destIPAddr field. For each bit in the 0x0
mask, 0 means the bit is valid for comparison, 1 means
the comparison ignores this bit.
264 valid If set, this entry is valid 0x0
Number of Entries : 1
Number of Addresses per Entry : 8
Type of Operation : Read/Write
Address Space : 83630
Field Description
Field Default
Bits Description
Name Value
47:0 mac1 DA MAC address to match for LLDP packet. 0x180c200000e
95:48 mac2 DA MAC address to match for LLDP packet. 0x180c2000003
143:96 mac3 DA MAC address to match for LLDP packet. 0x180c2000000
159:144 eth The Ethernet Type for a LLDP 0x88cc
Field Default
Bits Description
Name Value
160 bpduOption If both LLDP and BPDU are valid, because the 0x0
BPDU has same MAC address as LLDP, then this
option allows the BPDU identification to be turned
off
0 = Don’t do anything. Both LLDP and BPDU
can be valid at same time.
1 = Remove BPDU valid causing that the packet
will only be seen as a LLDP packet and not a
BPDU frame and the new frame will not be
sent to the CPU because the switch will no
longer consider it a BPDU frame, this includes
Rapid Spanning Tree BPDUs also.
172:161 portmask One bit per source port, bit 0 for port 0, bit 1 for 0x7ff
port 1 etc.
0 = Do not sent a matched LLDP packet to the
CPU from this port. Packet will pass through
normal packet processing.
1 = Send a matched LLDP packet to CPU from
this source port and hence bypassing normal
processing.
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 231
Field Description
Field Default
Bits Description
Name Value
0 learningEnable If set, the learning unit will be activated. 0x1
1 agingEnable If set, the aging unit will be activated. 0x1
2 daHitEnable If set, MAC DA hit in the forwarding information base 0x1
will update the hit bit for non-static entries.
3 lru If set, the learning unit will try to overwrite a least 0x0
recently used non-static entry in either the hash table
or the collision table when there is no free entry to
use. Otherwise the learning unit will try to overwrite
a non-static entry in the collision table.
Number of Entries : 1
Number of Addresses per Entry : 4
Type of Operation : Read/Write
Address Space : 223
Field Description
Field Default
Bits Description
Name Value
0 valid Indicates hardware has written a learning conflict to this 0x0
status register. Write 0 to clear.
48:1 macAddr MAC address. 0x0
60:49 gid Global identifier from the VLAN Table. 0x0
64:61 port Port number. 0x0
Number of Entries : 1
Number of Addresses per Entry : 4
Type of Operation : Read/Write
Address Space : 227
Field Description
Field Default
Bits Description
Name Value
0 valid Indicates hardware has written a learning overflow to this 0x0
status register, Write 0 to clear.
48:1 macAddr MAC address. 0x0
60:49 gid Global identifier from the VLAN Table. 0x0
64:61 port Port number. 0x0
Field Description
Field Default
Bits Description
Name Value
11:0 ports One bit per physical port. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 82823
Field Description
Field Default
Bits Description
Name Value
0 enable Is Link aggregation enabled or not. 0x0
0 = Link Aggregation is disabled
1 = Link Aggregation is enabled
1 useSaMacInHash The packets source MAC address shall be part of the 0x0
hash key when calculating the link aggregate hash
value
2 useDaMacInHash The packets destination MAC addresses shall be part 0x0
of the hash key when calculating the link aggregate
hash value
3 useIpInHash The packets IP source and destination addresses shall 0x0
be part of the hash key when calculating the link ag-
gregate hash value
4 useL4InHash The packets L4 SP / DP and L4 protocol byte shall 0x0
be part of the hash key when calculating the link ag-
gregate hash value
5 useTosInHash The incoming packets TOS byte shall be part of the 0x0
hash key when calculating the link aggregate hash
value
6 useNextHopInHash For routed packets the next hop entry shall be part of 0x0
the hash key when calculating the link aggregate hash
value.
7 useVlanIdInHash The packets VLAN Identifier tag shall be part of the 0x0
hash key when calculating the link aggregate hash
value.
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Ingress port
Address Space : 83326 to 83337
Field Description
Field Default
Bits Description
Name Value
3:0 la The Link aggregation which this port is a member of 0x0
Number of Entries : 12
Type of Operation : Read/Write
Addressing : The link aggregate number.
Address Space : 82848 to 82859
Field Description
Field Default
Bits Description
Name Value
11:0 members Physical ports that are members of this link aggregate. 0x0
One bit per port.
Number of Entries : 8
Type of Operation : Read/Write
Addressing : Incoming packets MPLS EXP priority bits
Address Space : 83256 to 83263
Field Description
Field Default
Bits Description
Name Value
2:0 pQueue Egress queue 0x1
Number of Entries : 8
Type of Operation : Read/Write
Addressing : Incoming packets MPLS EXP priority bits
Address Space : 49991 to 49998
Field Description
Field Default
Bits Description
Name Value
1:0 color Packet initial color 0x0
Field Description
Field Default
Bits Description
Name Value
0 valid Is this a valid entry. If the router points to an entry 0x0
with this field cleared the packet will be sent to CPU.
0 = Invalid
1 = Valid
1 outerVlanAppend Insert/push an outer VLAN header in the packet. The 0x0
information used to create the new VLAN header is
controlled by the fields outerVid, outerPcpSel, out-
erCfiDeiSel and outerEthType. If the selected out-
ermost VLAN header field doesn’t exist in the packet
then the new VLAN header field will be taken from
Router Egress Queue To VLAN Data.
0 = No operation.
1 = Insert/push an outer VLAN tag.
3:2 outerPcpSel Selects which PCP bits to use when building an outer 0x0
VLAN header.
0 = From outermost VLAN header in the original
packet (if any).
1 = From this entrie’s outerPcp field.
2 = From Router Egress Queue To VLAN Data.
5:4 outerCfiDeiSel Selects which CFI/DEI bit to use when building an 0x0
outer VLAN header.
0 = From outermost VLAN header in the original
packet (if any).
1 = From this entrie’s outerCfiDei field.
2 = From Router Egress Queue To VLAN Data.
7:6 outerEthType Pointer to the VLAN type. 0x0
0 = C-VLAN - 0x8100.
1 = S-VLAN - 0x88A8.
2 = User defined VLAN.
19:8 outerVid The VID used when building an outer VLAN header. 0x0
22:20 outerPcp The PCP bits to use when building an outer VLAN 0x0
header. If selected by outerPcpSel.
Field Default
Bits Description
Name Value
23 outerCfiDei The CFI/DEI bit to use when building an outer VLAN 0x0
header. If selected by outerCfiDeiSel.
24 innerVlanAppend Insert/push an inner VLAN header in the packet. The 0x0
information used to create the new VLAN header is
controlled by the fields innerVid, innerPcpSel, in-
nerCfiDeiSel and innerEthType. If the selected in-
nermost VLAN header field doesn’t exist in the packet
then the new VLAN header field will be taken from
Router Egress Queue To VLAN Data.
0 = No operation
1 = Insert/push an inner VLAN tag.
26:25 innerPcpSel Selects which PCP bits to use when building an inner 0x0
VLAN header.
0 = From innermost VLAN header in the original
packet (if any).
1 = From this entrie’s innerPcp field.
2 = From Router Egress Queue To VLAN Data.
28:27 innerCfiDeiSel Selects which CFI/DEI bit to use when building an 0x0
inner VLAN header.
0 = From innermost VLAN header in the original
packet (if any).
1 = From this entrie’s innerCfiDei field.
2 = From Router Egress Queue To VLAN Data.
30:29 innerEthType Pointer to the VLAN type. 0x0
0 = C-VLAN - 0x8100.
1 = S-VLAN - 0x88A8.
2 = User defined VLAN.
42:31 innerVid The VID used when building an inner VLAN header. 0x0
45:43 innerPcp The PCP bits to use when building an inner VLAN 0x0
header. If selected by innerPcpSel.
46 innerCfiDei The CFI/DEI bit to use when building an inner VLAN 0x0
header. If selected by innerCfiDeiSel.
50:47 msptPtr The multiple spanning tree to be used by packets for 0x0
egress spanning tree check for this next hop. Points to
an entry in Egress Multiple Spanning Tree State
Field Description
Field Default
Bits Description
Name Value
0 validEntry Is this a valid entry or not. If the entry is not 0x0
valid then the packet shall be sent to the CPU for
further processsing
Field Default
Bits Description
Name Value
10:1 nextHopPacketMod Pointer into the Next Hop Packet Modifications 0x0
table and the Next Hop DA MAC table.
11 l2Uc L2 unicast or multicast. A multicast means that a 0x0
lookup in the L2 Multicast Table will take place
to determine the destination portmask.
0 = L2 multicast.
1 = L2 unicast.
17:12 destPort or mcAddr Destination port number or a pointer into the L2 0x0
Multicast Table
18 pktDrop If set then the packet will be dropped and the L3 0x0
Lookup Drop incremented.
19 sendToCpu If set then the packet will be sent to the CPU. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 82831
Field Description
Field Default
Bits Description
Name Value
11:0 allowPortMoveOnStatic This field configures which source ports that are 0xfff
allowed to change their static GID and MAC to
other ports. One bit for each port where bit 0
corresponds to port 0. When the L2 forwarding
information base identifies a GID, MAC SA and
source port combination that conflicts with a ex-
isting static entry, if the previous binded port has
a coressponding bit set to 1 in this field, it allows
the learning engine to update the GID and MAC
to the current source port.
Number of Entries : 4
Number of Addresses per Entry : 4
Type of Operation : Read/Write
Addressing : All entries are read out in parallel
Address Space : 83610 to 83625
Field Description
Field Default
Bits Description
Name Value
47:0 startAddr The start MAC address of the range. A packets destination 0x0
MAC address must be equal or greater than this value to
match the range.
95:48 stopAddr The end MAC address of the range. A packets destination 0x0
MAC address must be equal or less than this value to match
the range.
96 dropEnable If the MAC address was within the range the packet shall 0x0
be dropped and the Reserved MAC DA Drop counter
incremented.
97 sendToCpu If the MAC address was within the range the packet shall 0x0
be sent to the CPU.
98 forceQueue If set, the packet shall have a forced egress queue. Please 0x0
see Egress Queue Selection Diagram in Figure 17.1
101:99 eQueue The egress queue to be assigned if the forceQueue field in 0x0
this entry is set to 1.
103:102 color Inital color of the packet. 0x0
104 forceColor If set, the packet shall have a forced color. 0x0
105 mmpValid If set, this entry contains a valid MMP pointer 0x0
109:106 mmpPtr Ingress MMP pointer. 0x0
111:110 mmpOrder Ingress MMP pointer order. 0x0
123:112 enable Enable the reserved MAC DA check per source port. One 0x0
bit for each port where bit 0 corresponds to port 0. If a
bit is set to one, the reserved MAC DA range is activated
for that source port.
Number of Entries : 4
Number of Addresses per Entry : 4
Type of Operation : Read/Write
Addressing : All entries are read out in parallel
Address Space : 83594 to 83609
Field Description
Field Default
Bits Description
Name Value
47:0 startAddr The start MAC address of the range. A packets source 0x0
MAC address must be equal or greater than this value to
match the range.
Field Default
Bits Description
Name Value
95:48 stopAddr The end MAC address of the range. A packets source MAC 0x0
address must be equal or less than this value to match the
range.
96 dropEnable If the MAC address was within the range the packet shall 0x0
be dropped and the Reserved MAC SA Drop counter
incremented.
97 sendToCpu If the MAC address was within the range the packet shall 0x0
be sent to the CPU.
98 forceQueue If set, the packet shall have a forced egress queue. Please 0x0
see Egress Queue Selection Diagram in Figure 17.1
101:99 eQueue The egress queue to be assigned if the forceQueue field in 0x0
this entry is set to 1.
103:102 color Inital color of the packet. 0x0
104 forceColor If set, the packet shall have a forced color. 0x0
105 mmpValid If set, this entry contains a valid MMP pointer 0x0
109:106 mmpPtr Ingress MMP pointer. 0x0
111:110 mmpOrder Ingress MMP pointer order. 0x0
123:112 enable Enable the reserved source MAC check per source port. 0x0
One bit for each port where bit 0 corresponds to port 0.
If a bit is set to one, the reserved source MAC range is
activated for that source port.
Number of Entries : 8
Type of Operation : Read/Write
Addressing : Egress Queue
Address Space : 49999 to 50006
Field Description
Field Default
Bits Description
Name Value
0 cfiDei Map from egress queue to CFI/DEI 0x0
3:1 pcp Map from egress queue to PCP 0x0
Number of Entries : 48
Type of Operation : Read/Write
Addressing : destination-port * 4 + VRF
Address Space : 83128 to 83175
Field Description
Field Default
Bits Description
Name Value
15:0 maxIPv4MTU The maximum MTU allowed for IPv4 packets 0xffff
31:16 maxIPv6MTU The maximum MTU allowed for IPv6 packets 0xffff
Number of Entries : 16
Number of Addresses per Entry : 4
Type of Operation : Read/Write
Addressing : All entries are read out in parallel
Address Space : 83386 to 83449
Field Description
Field Default
Bits Description
Name Value
47:0 macAddress The base destination MAC address that is used to identify 0x0
packets to the router.
95:48 macMask Each bit says if the bit in the DA MAC shall be compared. 0x0
0 = Dont compare bit.
1 = Compare bit.
96 valid If set, this entry is valid for comparison. 0x0
98:97 vrf The VRF to use for this router 0x0
Number of Entries : 2
Type of Operation : Read/Write
Addressing : SMON set number
Address Space : 83324 to 83325
Field Description
Field Default
Bits Description
Name Value
3:0 srcPort Source port 0x0
15:4 vid VLAN ID 0x0
Number of Entries : 1
Number of Addresses per Entry : 4
Type of Operation : Read/Write
Address Space : 83626
Field Description
Field Default
Bits Description
Name Value
11:0 allowBpdu Send to CPU portmask, bit 0 port 0, bit 1 port 1 etc. 0xfff
If source port bit is set then packets that have the
destination MAC address equal to 01:80:C2:00:00:00
are sent to the CPU port.
23:12 allowRstBpdu Send to CPU portmask, bit 0 port 0, bit 1 port 0xfff
1 etc. If the source port bit is set then pack-
ets that have the destination MAC address equal to
01:00:0C:CC:CC:CD are sent to the CPU port.
35:24 uniqueCpuMac If set then unicast packets can not be switched or 0x0
routed to the CPU port. Other mechanism for send-
ing to the CPU port are not affected (e.g. ACL’s).
This also enables detection of a specific MAC address,
cpuMacAddr, that will be sent to the CPU.
83:36 cpuMacAddr Packets with this destination MAC address will be 0x0
sent to the CPU. Only valid if uniqueCpuMac on
the source port is set.
Number of Entries : 12
Number of Addresses per Entry : 4
Type of Operation : Read/Write
Addressing : Ingress port
Address Space : 83338 to 83385
Field Description
Field Default
Bits Description
Name Value
0 learningEn If hardware learning is turned on and this is set to 0x1
one, the unknown source MAC address from this
port will be learned.
Field Default
Bits Description
Name Value
1 dropUnknownDa If set to one packets with unknown destination 0x0
MAC address from this port will be dropped.
2 prioFromL3 If the packet is IP/MPLS and this is set the egress 0x0
queue will be selected from Layer 3 decoding de-
scribed in Determine Egress Queue.
3 colorFromL3 If the packet is IP/MPLS and this bit is set the 0x0
packet initial color will be selected from Layer 3
decoding.
6:4 vlanSingleOp The source port VLAN operation to perform on 0x0
the packet.
0 = No operation.
1 = Swap.
2 = Push.
3 = Pop.
4 = Penultimate pop(remove all VLAN headers).
8:7 vidSel Selects which VID to use when building a new 0x0
VLAN header in a source port push or swap opera-
tion. If the selected VLAN header doesn’t exist in
the packet then this table entry’s defaultVid will
be used.
0 = From outermost VLAN in the original packet
(if any).
1 = From this table entry’s defaultVid.
2 = From the second VLAN in the original packet
(if any).
10:9 cfiDeiSel Selects which CFI/DEI to use when building a new 0x0
VLAN header in a source port push or swap opera-
tion. If the selected VLAN header doesn’t exist in
the packet then this table entry’s defaultCfiDei
will be used.
0 = From outermost VLAN in the original packet
(if any).
1 = From this table entry’s defaultCfiDei.
2 = From the second VLAN in the original packet
(if any).
12:11 pcpSel Selects which PCP to use when building a new 0x0
VLAN header in a source port push or swap oper-
ation. If the selected VLAN header doesn’t exist
in the packet then this table entry’s defaultPcp
will be used.
0 = From outermost VLAN in the original packet.
(if any)
1 = From this table entry’s defaultPcp.
2 = From the second VLAN in the original packet
(if any).
14:13 typeSel Selects which TPID to use when building a new 0x0
VLAN header in a source port push or swap oper-
ation.
0 = C-VLAN - 0x8100.
1 = S-VLAN - 0x88A8.
2 = User defined VLAN type from register Egress
Ethernet Type for VLAN tag.
Field Default
Bits Description
Name Value
16:15 vlanAssignment Controls how a packets Ingress VID is assigned. If 0x0
the selected source is from a VLAN header in the
incoming packet and the packet doesn’t have that
header, then this table entry’s defaultVid will be
used.
0 = packet based - the Ingress VID is assigned
from the incoming packets outermost VLAN
header.
1 = port-based - the packets Ingress VID is as-
signed from this table entry’s defaultVid
2 = mixed - if there are two VLANs in the incom-
ing packet, the inner VLAN is chosen. If the
incoming packet has only 0 or 1 VLAN, then
it will select this table entry’s defaultVid
28:17 defaultVid The default VID. This is used in source port VLAN 0x0
operations (see vidSel). It is used to assign Ingress
VID (see vlanAssignment). It is used when creat-
ing an internal VLAN header for incoming packets
that has no VLAN header.
29 defaultCfiDei The default CFI / DEI bit. This is used in source 0x0
port VLAN operations (see cfiDeiSel). It is used
when creating an internal VLAN header for incom-
ing packets that has no VLAN header.
32:30 defaultPcp The default PCP bits. This is used in source 0x0
port VLAN operations (see .pcpSel). It is used
when creating an internal VLAN header for incom-
ing packets that has no VLAN header.
34:33 defaultVidOrder When a new hit is done in the result in the 0x0
L2,L3,L4 VID range checks the ingress VID will
only be changed if the result has a higher order
value.
36:35 minAllowedVlans The minimum number of VLAN headers a packet 0x0
must have to be allowed on this port. Otherwise
the packet will be dropped and the Minimum Al-
lowed VLAN Drop will be incremented.
0 = All packets are accepted.
1 = 1 or more tags are accepted.
2 = 2 or more tags are accepted.
3 = No packets are accepted.
38:37 maxAllowedVlans The maximum number of VLAN headers a packet 0x2
is allowed to have to enter on this port. Otherwise
the packet will be dropped and the Maximum Al-
lowed VLAN Drop will be incremented.
0 = Only untagged packets are accepted.
1 = 0 to 1 tags are accepted.
2 = Any number of VLANs are accepted.
3 = Any number of VLANs are accepted.
39 ignoreVlanMembership By default packets on non-VLAN member source 0x0
port are dropped before entering the L2 lookup
process. Set this field to one to ignore the VLAN
membership check on the source port. However
L2 lookup can never forward packets to non-VLAN
member destinations.
40 learnMulticastSaMac If set, the learning engine allows Ethernet multicast 0x0
source MAC addresses to be learned.
Field Default
Bits Description
Name Value
41 inputMirrorEnabled If set, input mirroring is enabled on this port. In 0x0
addition to the normal processing of the packet a
copy of the unmodified input packet will be send to
the destInputMirror port and exit on that port.
The copy will be subject to the normal resource
limitations in the switch.
42 imUnderVlanMembership If set, input mirroring to a destination that not a 0x0
member of the VLAN will be ignored.
43 imUnderPortIsolation If set, input mirroring to a destination that iso- 0x0
lated the source port in the srcPortFilter will be
ignored.
47:44 destInputMirror Destination physical port for input mirroring. Only 0x0
valid if inputMirrorEnabled is set.
50:48 spt The spanning tree state for this ingress port. The 0x0
state Disabled implies that spanning tree protocol
is not enabled and hence frames will be forwarded
on this egress port.
0 = Disabled.
1 = Blocking.
2 = Listening.
3 = Learning.
4 = Forwarding.
51 enablePriorityTag An outer VLAN tag with VID matching priori- 0x0
tyVid will have PCP bits extracted and used to
determine output queue but in remaining VLAN
processing this tag will not be treated as a VLAN
tag. If the packet has an inner VLAN tag this will
be treated as an outer VLAN tag in the following
VLAN processing. The VID will only be matched
in a VLAN header located immediately after DA
and SA MAC, i.e. no custom tags allowed. In
egress processing the outer VLAN tag will be re-
moved.
0 = Disable comparison.
1 = Enable comparison.
63:52 priorityVid The VID used in the outer VLAN tag comparison, 0x0
see enablePriorityTag.
64 disableRouting On this source port are the packets allowed to do 0x0
L3 routing.
0 = No
1 = Yes
Number of Entries : 1
Number of Addresses per Entry : 2
Type of Operation : Read/Write
Address Space : 244
Field Description
Field Default
Bits Description
Name Value
31:0 tickCnt Number of ticks (see Chapter Tick) between starts of 232 − 1
the aging process.
34:32 tick Select one of the 5 available ticks. The tick frequen- 0x0
cies are configured globaly in the Core Tick Config-
uration register.
Number of Entries : 16
Type of Operation : Read/Write
address[0:2] : PCP
Addressing :
address[3] : DEI
Address Space : 49463 to 49478
Field Description
Field Default
Bits Description
Name Value
1:0 color Packet initial color. 0x0
Number of Entries : 8
Type of Operation : Read/Write
Addressing : Incoming packets VLAN priority bits
Address Space : 83264 to 83271
Field Description
Field Default
Bits Description
Name Value
2:0 pQueue Egress queue. 0x1
Field Description
Field Default
Bits Description
Name Value
11:0 vlanPortMask VLAN membership portmask. The packets source 0xfff
port must be a member of the VLAN, otherwise the
packet will be dropped and the VLAN Member Drop
will be incremented. The membership mask will also
limit the destination ports for L2 unicast, multicast,
broadcast and flooding. If this results in an empty
destination port mask then the packet is dropped and
the Empty Mask Drop will be incremented.
23:12 gid The packet will be assigned a global identifier that 0x0
is used during L2 lookup to allow multiple VLANs to
share the same L2 tables.
24 mmpValid If set, this entry contains a valid MMP pointer 0x0
28:25 mmpPtr Ingress MMP pointer. 0x0
30:29 mmpOrder Ingress MMP pointer order. 0x0
34:31 msptPtr The multiple spanning tree to be used by packets on 0x0
this VLAN. Points to entries in the Ingress Multiple
Spanning Tree State and Egress Multiple Span-
ning Tree State tables
37:35 vlanSingleOp The ingress VLAN operation to perform on the packet. 0x0
0 = No operation.
1 = Swap.
2 = Push.
3 = Pop.
4 = Penultimate Pop(remove all VLANS).
39:38 vidSel Selects which VID to use when building a new VLAN 0x0
header in a push or swap operation. If the selected
VLAN header doesn’t exist in the packet then this
table entry’s vid will be used.
0 = From the outermost VLAN in the original packet
(if any).
1 = From this table entry’s vid.
2 = From the second VLAN in the original packet (if
any).
41:40 cfiDeiSel Selects which CFI/DEI to use when building a new 0x0
VLAN header in a push or swap operation. If the
selected VLAN header doesn’t exist in the packet then
this table entry’s cfiDei will be used.
0 = From outermost VLAN in the original packet (if
any).
1 = From this table entry’s cfiDei.
2 = From the second VLAN in the original packet (if
any).
Field Default
Bits Description
Name Value
43:42 pcpSel Selects which PCP to use when building a new VLAN 0x0
header in a push or swap operation. If the selected
VLAN header doesn’t exist in the packet then this
table entry’s pcp will be used.
0 = From outermost VLAN in the original packet. (if
any)
1 = From this table entry’s pcp.
2 = From the second VLAN in the original packet (if
any).
55:44 vid The VID used in VLAN push or swap operation if 0x0
selected by vidSel.
58:56 pcp The PCP used in VLAN push or swap operation if 0x0
selected by pcpSel.
59 cfiDei The CFI/DEI used in VLAN push or swap operation 0x0
if selected by cfiDeiSel
61:60 typeSel Selects which TPID to use when building a new VLAN 0x0
header in a push or swap operation.
0 = C-VLAN - 0x8100.
1 = S-VLAN - 0x88A8.
2 = User defined VLAN type from register Egress
Ethernet Type for VLAN tag field typeValue.
62 allowRouting Allow routing. 0x1
0 = The router will not process the packet but L2
processing will be done normally.
1 = Packet will be processed by the router.
63 sendIpMcToCpu Send all IPv4 and IPv6 multicast packets to CPU, 0x0
bypassing L2 processing and L3 routing.
28.10 MBSC
28.10.1 L2 Broadcast Storm Control Bucket Capacity Configuration
Token Bucket Capacity Configuration for L2 Broadcast Storm Control
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress Ports
Address Space : 124 to 135
Field Description
Field Default
Bits Description
Name Value
15:0 bucketCapacity Capacity of the token bucket 0x5c8
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress Ports
Address Space : 136 to 147
Field Description
Field Default
Bits Description
Name Value
15:0 threshold Minimum number of tokens in bucket for the status to be 0x2e4
set to accept.
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 148
Field Description
Field Default
Bits Description
Name Value
11:0 enable Bitmask where the index is the Egress Ports 0x0
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress Ports
Address Space : 112 to 123
Field Description
Field Default
Bits Description
Name Value
0 packetsNotBytes If set the bucket will count packets, if cleared bytes 0x1
12:1 tokens The number of tokens added each tick 0x4a
15:13 tick Select one of the five available core ticks. The tick 0x2
frequencies are configured globaly in the core Tick
Configuration register.
23:16 ifgCorrection Extra bytes per packet to correct for IFG in byte mode. 0x18
Default is 4 byte FCS plus 20 byte IFG.
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress Ports
Address Space : 198 to 209
Field Description
Field Default
Bits Description
Name Value
15:0 bucketCapacity Capacity of the token bucket 0x5c8
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress Ports
Address Space : 210 to 221
Field Description
Field Default
Bits Description
Name Value
15:0 threshold Minimum number of tokens in bucket for the status to be 0x2e4
set to accept.
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 222
Field Description
Field Default
Bits Description
Name Value
11:0 enable Bitmask where the index is the Egress Ports 0x0
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress Ports
Address Space : 186 to 197
Field Description
Field Default
Bits Description
Name Value
0 packetsNotBytes If set the bucket will count packets, if cleared bytes 0x1
12:1 tokens The number of tokens added each tick 0x4a
15:13 tick Select one of the five available core ticks. The tick 0x2
frequencies are configured globaly in the core Tick
Configuration register.
23:16 ifgCorrection Extra bytes per packet to correct for IFG in byte mode. 0x18
Default is 4 byte FCS plus 20 byte IFG.
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress Ports
Address Space : 161 to 172
Field Description
Field Default
Bits Description
Name Value
15:0 bucketCapacity Capacity of the token bucket 0x5c8
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress Ports
Address Space : 173 to 184
Field Description
Field Default
Bits Description
Name Value
15:0 threshold Minimum number of tokens in bucket for the status to be 0x2e4
set to accept.
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 185
Field Description
Field Default
Bits Description
Name Value
11:0 enable Bitmask where the index is the Egress Ports 0x0
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress Ports
Address Space : 149 to 160
Field Description
Field Default
Bits Description
Name Value
0 packetsNotBytes If set the bucket will count packets, if cleared bytes 0x1
12:1 tokens The number of tokens added each tick 0x4a
15:13 tick Select one of the five available core ticks. The tick 0x2
frequencies are configured globaly in the core Tick
Configuration register.
23:16 ifgCorrection Extra bytes per packet to correct for IFG in byte mode. 0x18
Default is 4 byte FCS plus 20 byte IFG.
28.11 Scheduling
28.11.1 Output Disable
Bitmask for disabling the egress queues on egress ports.
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress port
Address Space : 86212 to 86223
Field Description
Field Default
Bits Description
Name Value
0 egressQueue0Disabled If set, stop scheduling new packets for output from 0x0
queue 0 on this egress port.
1 egressQueue1Disabled If set, stop scheduling new packets for output from 0x0
queue 1 on this egress port.
2 egressQueue2Disabled If set, stop scheduling new packets for output from 0x0
queue 2 on this egress port.
3 egressQueue3Disabled If set, stop scheduling new packets for output from 0x0
queue 3 on this egress port.
4 egressQueue4Disabled If set, stop scheduling new packets for output from 0x0
queue 4 on this egress port.
5 egressQueue5Disabled If set, stop scheduling new packets for output from 0x0
queue 5 on this egress port.
6 egressQueue6Disabled If set, stop scheduling new packets for output from 0x0
queue 6 on this egress port.
7 egressQueue7Disabled If set, stop scheduling new packets for output from 0x0
queue 7 on this egress port.
Number of Entries : 1
Type of Operation : Read Only
Address Space : 1
Field Description
Field Default
Bits Description
Name Value
12:0 cells Number of free cells. 0x1000
Number of Entries : 12
Type of Operation : Read Only
Addressing : Egress Port
Address Space : 86103 to 86114
Field Description
Field Default
Bits Description
Name Value
12:0 packets Number of packet currently queued. 0x0
Number of Entries : 96
Type of Operation : Read Only
Addressing : Global queue number
Address Space : 86115 to 86210
Field Description
Field Default
Bits Description
Name Value
12:0 packets Number of packets currently queued. 0x0
Number of Entries : 1
Type of Operation : Read Only
Address Space : 86211
Field Description
Field Default
Bits Description
Name Value
12:0 cells Number of cells. 0x1000
Number of Entries : 1
Type of Operation : Read Only
Address Space : 86100
Field Description
Field Default
Bits Description
Name Value
11:0 empty Empty flags for the egress ports 0xfff
Number of Entries : 32
Type of Operation : Read/Write
Addressing : See Ingress L2 ACL Match Data Entries for how ACL rules are mapped
to counters.
Address Space : 84763 to 84794
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of packets. 0x0
Number of Entries : 32
Type of Operation : Read/Write
Addressing : Ingress L3/L4 ACL Match Data Entries entry number
Address Space : 85823 to 85854
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 86307
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4464
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress port
Address Space : 95250 to 95261
Field Description
Field Default
Bits Description
Name Value
7:0 underrun Number of packets which have empty cycles caused by 0x0
the internal PS-converter but not the external halt during
packet transmissions.
15:8 overflow Number of FIFO overflows in the PS-converter. This error 0x0
will cause packet corruptions.
Number of Entries : 12
Type of Operation : Read Only
Addressing : Ingress port
Address Space : 4416 to 4427
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets on this ingress port. 0x0
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress port
Address Space : 86283 to 86294
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress port
Address Space : 86295 to 86306
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress port
Address Space : 86271 to 86282
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress Port (not aggregated)
Address Space : 85867 to 85878
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress Port (not aggregated)
Address Space : 85891 to 85902
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress Port (not aggregated)
Address Space : 85879 to 85890
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress Port (not aggregated)
Address Space : 85855 to 85866
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4467
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4480
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4482
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4473
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4472
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4470
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4469
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4468
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4479
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4471
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4484
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4483
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4481
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4478
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4477
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4474
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4475
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4466
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4476
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 86101
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress port
Address Space : 86259 to 86270
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of packets. 0x0
Number of Entries : 12
Type of Operation : Read/Write
Addressing : Egress Port
Address Space : 86088 to 86099
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 85903
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4465
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets. 0x0
Number of Entries : 12
Type of Operation : Read Only (unreliable)
Addressing : Ingress Port
Address Space : 48 to 59
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of packets. 0x0
Number of Entries : 12
Type of Operation : Read Only (unreliable)
Addressing : Ingress Port
Address Space : 60 to 71
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of packets. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 86102
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of dropped packets 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 86308
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of packet headers. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 86309
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of packet tails. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4485
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of packet headers. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 4486
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of packet tails. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 86256
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of packet headers. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 86257
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of packet tails. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 95248
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of packet headers. 0x0
Number of Entries : 1
Type of Operation : Read/Write
Address Space : 95249
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of packet tails. 0x0
Field Description
Field Default
Bits Description
Name Value
0 ipv4 The next hop entry was hit with an IPv4 packet. 0x0
1 ipv6 The next hop entry was hit with an IPv6 packet. 0x0
2 mpls The next hop entry was hit with an MPLS packet. 0x0
Number of Entries : 4
Type of Operation : Read/Write
Addressing : vrf
Address Space : 84795 to 84798
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of packets. 0x0
Number of Entries : 4
Type of Operation : Read/Write
Addressing : vrf
Address Space : 95197 to 95200
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of packets. 0x0
Number of Entries : 8
Type of Operation : Read/Write
Addressing : VLAN PCP
Address Space : 84747 to 84754
Field Description
Field Default
Bits Description
Name Value
23:0 bytes Number of bytes. 0x0
Number of Entries : 8
Type of Operation : Read/Write
Addressing : VLAN PCP
Address Space : 84731 to 84738
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of packets. 0x0
Number of Entries : 8
Type of Operation : Read/Write
Addressing : VLAN PCP
Address Space : 84755 to 84762
Field Description
Field Default
Bits Description
Name Value
23:0 bytes Number of bytes. 0x0
Number of Entries : 8
Type of Operation : Read/Write
Addressing : VLAN PCP
Address Space : 84739 to 84746
Field Description
Field Default
Bits Description
Name Value
23:0 packets Number of packets. 0x0