Specifications
Page 42 /148
Forwarding tables exist in the RE and in the PFE. In the RE, forwarding tables
are present at both the routing software and operating system levels. The routing
software must be aware of the forwarding table because the routing software is
the element of the system that chooses which routes are selected for use. The
routing software tells the operating system what its forwarding table should be.
Finally, the PFE’s forwarding table is created by flushing the operating system’s
forwarding table into the PFE. The RE supports very large forwarding tables
given that a forwarding table can be represented more concisely than a routing
table. The forwarding table in the PFE is stored in 4 MB or 8 MB of special-
purpose memory on the System Control Board (SCB) on the M40, and System
and Switching Board (SSB) on the M20, and on each of the 4 Switching Fabric
Modules (SFM) on the M160.
The system is built such that the 256/768 MB of memory in the RE and the 4/8
MB of special-purpose memory on the SCB/SSB/SFM can be upgraded to
accommodate growth.
2.5.6 The Forwarding Table
The M20/M40/M160 has a centralized forwarding table. The route lookup engine
is implemented in ASIC (Internet Processor I or II ASICs), which can perform
route lookups at the rate of 40 million pps. The Internet Processor ASIC supports
atomic updates to its centralized forwarding table. In the M20/M40/M160 system,
the routing table contains the routes learned from routing protocol exchanges with
neighbors and through static configuration. The forwarding table is derived from
the routing table and contains an index of IP prefixes (or MPLS labels) that are
actively used to associate a prefix (or MPLS label) with an outgoing interface. The
Packet Forwarding Engine uses the contents of the forwarding table, not the
routing table, to make its forwarding decisions.
Typically, modifying a specific route affects only a small portion of the forwarding
table's data structure. This means that the Routing Engine simply needs to
update a portion of the binary tree in free memory and switch a pointer, and the
update is instantaneous. Because forwarding information does not have to be
distributed to multiple line cards, the Internet Processor does not require the
forwarding table to be locked as the table is modified. Any attempt to perform a
route lookup gets either the new tree or the old new tree, depending on whether
the location is read before or after the pointer has been changed. The benefit of
this design is that the forwarding table remains consistent at all times. This
means that during periods of route instability, the Packet Forwarding Engine can
simultaneously accept updates to its forwarding table while continuing to make
forwarding decisions at an extremely rapid rate.
Other high-performance router architectures perform packet lookups on each
individual line card. This means that when a routing change occurs and the
forwarding table must be modified, the update must be distributed to each of the
individual line cards. During the update and distribution process, the forwarding
table must be locked to maintain route consistency as the centralized table is
modified. As a result, packets are required to queue up and wait until the
forwarding table is updated and then unlocked. Only after the forwarding table is
unlocked can packet forwarding resume. Clearly, locking the forwarding table can
have a negative impact on system performance during exceptional conditions
when a high rate of routing change is coupled with a dramatic increase in traffic
flowing through the router.
2.5.7 Switching Performance
The M20 router backplane speed is rated over 25 Gbps. The M40 router
backplane speed is rated over 50 Gbps. The entire M20/M40/M160 system is
oversized and handles line rate OC48 performance under any condition. The
M160 router backplane speed is rated over 200 Gbps. The entire M160 system is
oversized and handles line rate OC-192 performance under any condition.
The M20 router chassis has four slots, and the M40 has eight slots; each slot
handles 3.2 Gbps of traffic. The M160 has 8 slots, each slot handles 12.8 Gbps of
traffic. All slots can run at full bandwidth simultaneously. The M20 and M40 will
forward packets at line rate in a fully populated chassis in any configuration with
the exception of one case where there is more than 3.2 Gbps in a single FPC,
which is the case with Gigabit Ethernet PICs. When four Gigabit Ethernet PICs
are plugged into the FPC, the 3.2Gbps limit of the FPC will be exceeded if more
than three Gigabit Ethernet PICs are installed. If the FPC gets oversubscribed, it
will be handled gracefully.
Routing Engine
Routing
Table
Packet Forwarding Engine
Internet
Processor
ASIC
Forwarding
Table
Forwarding
Table
Forwarding Table
(Binary tree data structure)
Old Pointer New Pointer
Deteled Subtree New Subtree