IDT Programming the Device
Revision 1.5
Integrated Device Technology, Inc.
CPS-16/12/8 User Manual
8 - 3
July 10, 2012
8.2 ROUTE TABLES
8.2.1 Route Tables
The CPS device provides route tables which are used to determine the port(s) to which packets must be
output. The CPS performs lookups into these route tables to associate the destination ID of each received
packet with an output port configuration. Note that the device supports received destination ID associations
to multiple output ports (in support of multicast). The CPS provides two route table types: 1) Device Route
Tables and, 2) Domain Route Tables. Each table type is 256 entries in depth and 8 bits in width. The
Domain Route Tables in conjunction with the Device Route Tables provide the user the capability of using
both an 8-bit addressing scheme and a 16-bit addressing scheme simultaneously. Control Plane access to
all of these tables (both read and write) is provided at the applicable addresses defined in the Memory Map
(see Memory Map section).
8.2.2 Global Route Tables
The CPS provides both a global domain route table and a global device route table. Along with the global
tables, the CPS provides a set of route tables (domain and device) for each of its ports. Any write to the
global route tables force a replication of the written data into all local route tables. The CPS supports the
ability for the user to read the global route table by referencing the global route table’s address.
8.2.3 Individual Local Route Tables Access
In addition to the ability to globally access the routing tables, the CPS provides the user with the ability to
write and read each individual port’s local route tables (both device and domain). This provides the user
with the ability to route packets with the same destination ID, (if received on different ports), to different
output destination. A write to an individual port’s local route table causes no change to any other route table
in the device. Note that programming via global route table method will program ALL individual local route
tables. The user can perform global and or local route table configuration. Neither has higher priority.
8.2.4 Route Table Usage
Regardless of how the device is configured (i.e. with either writes to the global tables or to the individual
local tables), each port always uses its local route tables to determine how to route a specific packet. The
routing of received maintenance packets which have a hop count greater than zero is routed based on the
local route table for the port at which it was received.
The figure below is an informative view of the functional flow details of a Route Table lookup.
Figure 8.1 Route Table Lookup Diagram
Rx
Packet
tt
field
Device ID Size
destination ID [15:8]
Enable
Domain
Comparison
16 bit
Domain
Comparison
Device Route
Table Lookup
8 bit
Comparison Matches
or
destination ID [15:8] = 0x00
No Match
Domain Route
Table Lookup
Force
Local?
Destination
No
Yes
Destination
Select
Destination
Destination Selection is passed to switching function
Packet
References
Device Domain
Enable
Device
Comparison
Enable
Device
Comparison
destination ID [7:0]