Cisco Nexus 7000 Series NX-OS Unicast Routing Configuration Guide, Release 6.x
Managing the Unicast RIB and FIB
Downloads: This chapterpdf (PDF - 217.0KB) The complete bookPDF (PDF - 6.2MB) | The complete bookePub (ePub - 1.41MB) | The complete bookMobi (Mobi - 2.5MB) | Feedback

Table of Contents

Managing the Unicast RIB and FIB

Finding Feature Information

Information About the Unicast RIB and FIB

Layer 3 Consistency Checker

Dynamic TCAM Allocation

Maximum TCAM Entries and FIB Scale Limits

Licensing Requirements for the Unicast RIB and FIB

Guidelines and Limitations

Default Settings

Managing the Unicast RIB and FIB

Displaying Module FIB Information

Configuring Load Sharing in the Unicast FIB

Configuring Per-Packet Load Sharing

Checking Routes in the Unicast FIB

Displaying Routing and Adjacency Information

Triggering the Layer 3 Consistency Checker

Clearing Forwarding Information in the FIB

Configuring Maximum Routes for the Unicast RIB

Estimating Memory Requirements for Routes

Clearing Routes in the Unicast RIB

Monitoring TCAM Utilization

Verifying the Unicast RIB and FIB

Additional References

Related Documents

Feature History for Unicast RIB and FIB

Managing the Unicast RIB and FIB

This chapter describes how to manage routes in the unicast Routing Information Base (RIB) and the Forwarding Information Base (FIB) on the Cisco NX-OS device.

This chapter includes the following sections:

Finding Feature Information

Your software release might not support all the features documented in this module. For the latest caveats and feature information, see the Bug Search Tool at https//tool.cisco.com/bugsearch/ and the release notes for your software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the New and Changed Information section or the Feature History table below.

Information About the Unicast RIB and FIB

The unicast RIB (IPv4 RIB and IPv6 RIB) and FIB are part of the Cisco NX-OS forwarding architecture, as shown in Figure 1-1.

Figure 1-1 Cisco NX-OS Forwarding Architecture

 

The unicast RIB exists on the active supervisor. It maintains the routing table with directly connected routes, static routes, and routes learned from dynamic unicast routing protocols. The unicast RIB also collects adjacency information from sources such as the Address Resolution Protocol (ARP). The unicast RIB determines the best next hop for a given route and populates the unicast forwarding information bases (FIBs) on the modules by using the services of the unicast FIB distribution module (FDM).

Each dynamic routing protocol must update the unicast RIB for any route that has timed out. The unicast RIB then deletes that route and recalculates the best next hop for that route (if an alternate path is available).

This section includes the following topics:

Layer 3 Consistency Checker

In rare instances, an inconsistency can occur between the unicast RIB and the FIB on each module. In Cisco NX-OS Release 4.0(3) and later releases, Cisco NX-OS supports the Layer 3 consistency checker. This feature detects inconsistencies between the unicast IPv4 RIB on the supervisor module and the FIB on each interface module. Inconsistencies include the following:

  • Missing prefix
  • Extra prefix
  • Wrong next-hop address
  • Incorrect Layer 2 rewrite string in the ARP or neighbor discovery (ND) cache

The Layer 3 consistency checker compares the FIB entries to the latest adjacency information from the Adjacency Manager (AM) and logs any inconsistencies. The consistency checker then compares the unicast RIB prefixes to the module FIB and logs any inconsistencies. See the “Triggering the Layer 3 Consistency Checker” section.

You can then manually clear any inconsistencies. See the “Clearing Forwarding Information in the FIB” section.

Dynamic TCAM Allocation

Dynamic TCAM allocation reallocates unused TCAM blocks on M1 Series non-XL modules to an adjacent region when all existing blocks in that region are full. Dynamic TCAM allocation allows more flexibility in the number of routes that the FIB can allocate for a route type.

Cisco NX-OS divides the FIB to support multiple address families. The FIB TCAM for M1 Series non-XL modules has 128,000 physical entries.

Table 1-1 describes the default FIB TCAM allocation.

 

Table 1-1 Default FIB TCAM Allocation

Region
Default # Routes
#TCAM blocks
Entry size

IPv4 unicast routes

56,000

7

72 bits

IPv4 multicast routes or
IPv6 unicast routes

32,000

8

144 bits

IPv6 multicast routes

2,000

1

288 bits

Maximum TCAM Entries and FIB Scale Limits

The FIB TCAM entries are system wide resources that are shared across virtual device contexts (VDC) configured on the module. Table 1-2 describes the supported maximum FIB scale entries on the Nexus 7000 system configuration per route-type.

Table 1-2 Maximum Supported TCAM Entries and FIB Scale Limits

Module Type in a VDC
Maximum TCAM Physical Entries in a VDC
Maximum Supported IPv4 Unicast Routes
Maximum Supported IPv4 Multicast Routes
Maximum Supported IPv6 Unicast Routes
Maximum Supported IPv6 Multicast Routes
Only non-XL modules in a VDC

128,000

112,000

32,000 mroutes

56,000 routes

2000 routes

Only XL modules in a VDC

900,000

900,000

32,000 mroutes

350,000 routes

2000 routes

Mix of XL/non-XL modules in same VDC

128,000

112,000

32,000 mroutes

56,000 routes

2000 routes

Only F2 Series modules in a VDC 1

32,000

32,768

16,384 mroutes

16,384 routes

8192 routes

1.Utilization may vary based on the sequence of routes being added and on the mix of unicast and multicast routes.


Note Table 1-2 captures the scale limits in a VDC. In a Cisco Nexus 7000 system, the total memory on the supervisor module restricts the actual route scale limits across all VDCs in the system.



NoteDo not exceed the maximum route limits for non-XL modules in a VDC that contains both XL modules and non-XL modules. Do not exceed the maximum route limits for non-XL modules in a VDC that contains both XL modules and non-XL modules.



NoteThe actual FIB TCAM can scale to a higher scale number from a hardware perspective. The actual FIB TCAM can scale to a higher scale number from a hardware perspective. Table 1-2 captures the currently supported FIB sizes.



NoteThe maximum routes are individual route-type maximum values and these values are not cumulative across each route-type. The maximum routes are individual route-type maximum values and these values are not cumulative across each route-type.


You must install the Scalable Services License (see the Cisco NX-OS Licensing Guide ) and configure the higher shared memory sizes (see the Cisco Nexus 7000 Series NX-OS Virtual Device Context Configuration Guide ) for the routing table to enable the higher FIB scale on the XL modules. See the Cisco Nexus 7000 Series Hardware Installation and Reference Guide for more information on the XL modules.

When you install the Scalable Services license, you may see the following system message:

"2011 Mar 30 12:38:13 switch %PLTFM_CONFIG-4-XL_LICENSE_MIX_NOTIFY: Mixed use of non-XL with XL modules in the same VDC may limit common resources to non-XL capacity."

This message occurs if you install the Scalable Services license in a system with non-XL modules or when non-XL modules come on line after you install this license.


NoteThe full IPv4 Internet route tables currently have more than 500,000 routes and require the XL modules. The full IPv4 Internet route tables currently have more than 500,000 routes and require the XL modules.


The unicast RIB and FIB support virtual routing and forwarding (VRF) instances. VRF exists within VDCs. By default, Cisco NX-OS places you in the default VDC and default VRF unless you specifically configure another VDC and VRF. For more information, see the Cisco Nexus 7000 Series NX-OS Virtual Device Context Configuration Guide and Chapter1, “Configuring Layer 3 Virtualization”

Licensing Requirements for the Unicast RIB and FIB

The following table shows the licensing requirements for this feature:

 

Product
License Requirement

Cisco NX-OS

The unicast RIB and FIB require no license. Any feature not included in a license package is bundled with the Cisco NX-OS system images and is provided at no extra charge to you. For a complete explanation of the Cisco NX-OS licensing scheme, see the Cisco NX-OS Licensing Guide .

Guidelines and Limitations

Unicast RIB and FIB have the following configuration guidelines and limitations:

  • You must install the Scalable Services license and configure the higher shared memory sizes to enable the higher FIB sizes for XL modules.

Default Settings

Table 1-3 lists the default settings for unicast RIB and FIB parameters.

 

Table 1-3 Default Unicast RIB and FIB Parameters

Parameters
Default

Dynamic TCAM allocation

Enabled by default and cannot be disabled.

Managing the Unicast RIB and FIB

This section includes the following topics:


NoteIf you are familiar with the Cisco IOS CLI, be aware that the Cisco NX-OS commands for this feature might differ from the Cisco IOS commands that you would use. If you are familiar with the Cisco IOS CLI, be aware that the Cisco NX-OS commands for this feature might differ from the Cisco IOS commands that you would use.


Displaying Module FIB Information

You can display the FIB information on a module.

DETAILED STEPS

To display the FIB information on a module, use the following commands in any mode:

 

Command
Purpose
show forwarding { ipv4 | ipv6 } adjacency module slot
 
Example:
switch# show forwarding ipv6 adjacency module 2

Displays the adjacency information for IPv4 or IPv6.

show forwarding { ipv4 | ipv6 } route module slot
 
Example:
switch# show forwarding ipv6 route module 2

Displays the route table for IPv4 or IPv6.

Configuring Load Sharing in the Unicast FIB

Dynamic routing protocols such as Open Shortest Path First (OSPF) support load balancing with equal-cost multipath (ECMP). The routing protocol determines its best routes based on the metrics configured for the protocol and installs up to the protocol-configured maximum paths in the unicast RIB. The unicast RIB compares the administrative distances of all routing protocol paths in the RIB and selects a best path set from all of the path sets installed by the routing protocols. The unicast RIB installs this best path set into the FIB for use by the forwarding plane.

The forwarding plane uses a load-sharing algorithm to select one of the installed paths in the FIB to use for a given data packet.

You can globally configure the following load-sharing settings:

  • Load-share mode—Selects the best path based on the destination address and port or the source and the destination address and port.
  • Universal ID—Sets the random seed for the hash algorithm. You do not need to configure the Universal ID. Cisco NX-OS chooses the Universal ID if you do not configure it.

NoteLoad sharing uses the same path for all packets in a given flow. A flow is defined by the load-sharing method that you configure. For example, if you configure source-destination load sharing, then all packets with the same source IP address and destination IP address pair follow the same path. Load sharing uses the same path for all packets in a given flow. A flow is defined by the load-sharing method that you configure. For example, if you configure source-destination load sharing, then all packets with the same source IP address and destination IP address pair follow the same path.


To configure the unicast FIB load-sharing algorithm, use the following command in global configuration mode:

 

Command
Purpose
ip load-sharing address { destination port destination | source-destination [ port source-destination ]} [ universal-id seed ]
 
Example:
switch(config)# ip load-sharing address source-destination

Configures the unicast FIB load-sharing algorithm for data traffic. The universal-id range is from 1 to 4294967295.

To display the unicast FIB load-sharing algorithm, use the following command in any mode:

 

Command
Purpose
show ip load-sharing
 
Example:
switch(config)# show ip load-sharing address source-destination

Displays the unicast FIB load-sharing algorithm for data traffic.

To display the route that the unicast RIB and FIB use for a particular source address and destination address, use the following command in any mode:

 

Command
Purpose
show routing hash source-addr dest-addr [ source-port dest-port ] [ vrf vrf-name ]
 
Example:
switch# show routing hash 192.0.2.1 10.0.0.1

Displays the route that the unicast RIB FIB use for a source and destination address pair. The source address and destination address format is x.x.x.x. The source port and destination port range is from 1 to 65535. The VRF name can be any case-sensitive, alphanumeric string up to 64 characters.

This example shows the route selected for a source/destination pair:

switch# show routing hash 10.0.0.5 30.0.0.2
Load-share parameters used for software forwarding:
load-share mode: address source-destination port source-destination
Universal-id seed: 0xe05e2e85
Hash for VRF "default"
Hashing to path *20.0.0.2 (hash: 0x0e), for route:

Configuring Per-Packet Load Sharing

You can use per-packet load sharing to evenly distribute data traffic in an IP network over multiple equal-cost connections. Per-packet load sharing allows the router to send successive data packets over paths on a packet-by-packet basis rather than on a per-flow basis.


NoteUsing per-packet load sharing can result in out-of-order packets. Packets for a given pair of source-destination hosts might take different paths and arrive at the destination out of order. Make sure you understand the implications of out-of-order packets to your network and applications. Per-packet load sharing is not appropriate for all networks. Per-flow load sharing ensures packets always arrive in the order that they were sent. Using per-packet load sharing can result in out-of-order packets. Packets for a given pair of source-destination hosts might take different paths and arrive at the destination out of order. Make sure you understand the implications of out-of-order packets to your network and applications. Per-packet load sharing is not appropriate for all networks. Per-flow load sharing ensures packets always arrive in the order that they were sent.


Per-packet load sharing uses the round-robin method to determine which path each packet takes to the destination. With per-packet load sharing enabled on interfaces, the router sends one packet for destination1 over the first path, the second packet for (the same) destination1 over the second path, and so on. Per-packet load sharing ensures balancing over multiple links.

Use per-packet load sharing to ensure that a path for a single source-destination pair does not get overloaded. If most of the traffic passing through parallel links is for a single pair, per-destination load sharing will overload a single link while other links will have very little traffic. Enabling per-packet load sharing allows you to use alternate paths to the same busy destination.


NotePer-packet load sharing on an interface overrides the global load-sharing configuration. Per-packet load sharing on an interface overrides the global load-sharing configuration.


You configure per-packet load sharing on the input interface. This configuration determines the output interface that Cisco NX-OS chooses for the packet.

For example, if you have ECMP paths on two output interfaces, Cisco NX-OS uses the following load-sharing methods for input packets on Ethernet 1/1:

  • Per-packet load sharing if you configure per-packet load sharing on Ethernet 1/1.
  • Per-flow load sharing.

The configurations for the other interfaces have no effect on the load-sharing method used for Ethernet 1/1 in this example.

To configure per-packet load sharing, use the following command in interface configuration mode:

 

Command
Purpose
ip load-sharing per-packet
 
Example:
switch(config-if)# ip load-sharing per-packet

Configures per-packet load sharing on an interface.

Checking Routes in the Unicast FIB

You can configure a policy in the Embedded Event Manager (EEM) to check for inconsistent, missing, or failed routes in the unicast Forwarding Information Base (FIB).

BEFORE YOU BEGIN

Ensure that you have network-admin or vdc-admin user privileges to configure EEM.

Ensure that you are in the correct VDC (or use the switchto vdc command).

SUMMARY STEPS

1. configure terminal

2. [ no ] event manager applet applet-name

3. (Optional) description description

4. [ no ] event fib route { inconsistent | missing | failure }

5. [ no ] action number [ .number2 ] action-statement

6. (Optional) show event manager policy-state applet-name

7. (Optional) copy running-config startup-config

8. (Optional) show event manager events action-log policy applet-name

DETAILED STEPS

 

Command
Purpose

Step 1

configure terminal

 

Example:

switch# configure terminal

switch(config)#

Enters global configuration mode.

Step 2

[ no ] event manager applet applet-name

 

Example:

switch(config)# event manager applet

Route1

switch(config-applet)#

Registers the applet with EEM and enters applet configuration mode.

The applet-name argument is a unique identifier for this policy. The maximum range is 29 alphanumeric, case-sensitive characters.

Note You can use the no form of this command to remove this EEM policy configuration.

Step 3

description description

 

Example :

switch(config-applet)# description

“checks for missing routes in FIB”

(Optional) Configures a descriptive string for the policy.

The maximum range is 80 alphanumeric characters. Enclose the string in quotation marks.

Step 4

[no] event fib route {inconsistent | missing | failure}
 
Example:

switch(config-applet)# event fib route

missing

Configures an event statement for the policy.

  • inconsistent —Triggers an event if the route or adjacency programming is changed in the hardware configuration.
  • missing —Triggers an event if the route is deleted in the unicast FIB.
  • failure —Triggers an event if a route fails to be inserted in the unicast FIB.

Note You can use the no form of this command to remove an event statement from an EEM policy.

Step 5

[no] action number [ .number2 ]
action-statement
 
Example:

switch(config-applet)# action 1.0

event-default

Configures an action statement to describe the action triggered by a policy. Repeat this step to create multiple action statements.

Each policy can have multiple action statements. If no action is associated with a policy, EEM observes events but takes no actions.

  • The number.number2 argument is a label for the action statement.

The format for the label is number , as in 1, or number.number2 , as in 1.0. You must separate the two numbers with a period (.).

The range for the number argument is from 0 to any number up to 16 digits in length.

The range for the number2 argument is from 0 to 9.

  • Only predefined keywords are supported for the action-statement argument. For information, see the Cisco Nexus 7000 Series NX-OS System Management Configuration Guide .

The event-default keyword executes the default action for the associated event. The default action for the TCAM usage event is to log the event details.

You can configure a different action statement, such as action 1.0 snmp-trap strdata “TCAM usage percent" to send an SNMP trap for this event.

Note You can use the no form of this command to delete the action statement from an EEM policy.

Step 6

show event manager policy-state

applet-name

 

Example:

switch(config-applet)# show event

manager policy-state Route1

(Optional) Displays information about the status of the specified event policy.

Step 7

copy running-config startup-config

 

Example:

switch(config-applet)# copy running-config startup-config

(Optional) Saves this configuration change.

Step 8

show event manager events action-log

policy applet-name

 

Example:

switch(config-applet)# show event manager events action-log policy Route1

(Optional) Displays an event action log for the specified EEM policy.

Displaying Routing and Adjacency Information

You can display the routing and adjacency information.

To display the routing and adjacency information, use the following commands in any mode:

 

Command
Purpose
show { ip | ipv6 } route [ route-type | interface int-type number | next-hop ]
 
Example:
switch# show ip route

Displays the unicast route table. The route-type argument can be a single route prefix, direct, static, or a dynamic route protocol. Use the ? command to see the supported interfaces.

show { ip | ipv6 } adjacency [ prefix | interface-type number [ summary ]| non-best ] [ detail ] [ vrf vrf-id ]
 
Example:
switch# show ip adjacency

Displays the adjacency table. The argument ranges are as follows:

  • prefix —Any IPv4 or IPv6 prefix address.
  • interface-type number —Use the ? command to see the supported interfaces.
  • vrf-id —Any case-sensitive, alphanumeric string up to 64 characters.
show { ip | ipv6 } routing [ route-type | interface int-type number | next-hop | recursive-next-hop | summary | updated { since | until } time ]
 
Example:
switch# show routing summary

Displays the unicast route table. The route-type argument can be a single route prefix, direct, static, or a dynamic route protocol. Use the ? command to see the supported interfaces.

This example displays the unicast route table:

switch# show ip route
IP Route Table for Context "default"
'*' denotes best ucast next-hop '**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
 
0.0.0.0/0, 1 ucast next-hops, 0 mcast next-hops
*via 10.1.1.1, mgmt0, [1/0], 5d21h, static
0.0.0.0/32, 1 ucast next-hops, 0 mcast next-hops
*via Null0, [220/0], 1w6d, local, discard
10.1.0.0/22, 1 ucast next-hops, 0 mcast next-hops, attached
*via 10.1.1.55, mgmt0, [0/0], 5d21h, direct
10.1.0.0/32, 1 ucast next-hops, 0 mcast next-hops, attached
*via 10.1.0.0, Null0, [0/0], 5d21h, local
10.1.1.1/32, 1 ucast next-hops, 0 mcast next-hops, attached
*via 10.1.1.1, mgmt0, [2/0], 5d16h, am
10.1.1.55/32, 1 ucast next-hops, 0 mcast next-hops, attached
*via 10.1.1.55, mgmt0, [0/0], 5d21h, local
10.1.1.253/32, 1 ucast next-hops, 0 mcast next-hops, attached
*via 10.1.1.253, mgmt0, [2/0], 5d20h, am
10.1.3.255/32, 1 ucast next-hops, 0 mcast next-hops, attached
*via 10.1.3.255, mgmt0, [0/0], 5d21h, local
255.255.255.255/32, 1 ucast next-hops, 0 mcast next-hops
*via Eth Inband Port, [0/0], 1w6d, local

 

This example shows the adjacency information:

switch# show ip adjacency
 
IP Adjacency Table for context default
Total number of entries: 2
Address Age MAC Address Pref Source Interface Best
10.1.1.1 02:20:54 00e0.b06a.71eb 50 arp mgmt0 Yes
10.1.1.253 00:06:27 0014.5e0b.81d1 50 arp mgmt0 Yes

Triggering the Layer 3 Consistency Checker

You can manually trigger the Layer 3 consistency checker.

To manually trigger the Layer 3 consistency checker, use the following commands in global configuration mode:

 

Command
Purpose
test forwarding [ ipv4 | ipv6 ] [ unicast] inconsistency [ vrf vrf-name ] [ module { slot | all }]
 
Example:
switch(config)# test forwarding inconsistency

Starts a Layer 3 consistency check. The vrf-name can be any case-sensitive, alphanumeric string up to 64 characters. The slot range is from 1 to 10.

To stop the Layer 3 consistency checker, use the following commands in global configuration mode:

 

Command
Purpose
test forwarding [ ipv4 | ipv6 ] [ unicast ] inconsistency [ vrf vrf-name ] [ module { slot | all }] stop
 
Example:
switch# test forwarding inconsistency stop

Stops a Layer 3 consistency check. The vrf-name can be any case-sensitive, alphanumeric string up to 64 characters. The slot range is from 1 to 10.

To display the Layer 3 inconsistencies, use the following commands in any mode:

 

Command
Purpose
show forwarding [ ipv4 | ipv6 ] inconsistency [ vrf vrf-name ] [ module { slot | all }]
 
Example:
switch# show forwarding inconsistency

Displays the results of a Layer 3 consistency check. The vrf-name can be any case-sensitive, alphanumeric string up to 64 characters. The slot range is from 1 to 10.

Clearing Forwarding Information in the FIB

You can clear one or more entries in the FIB. Clearing a FIB entry does not affect the unicast RIB.


Caution The clear forwarding command disrupts forwarding on the device.

To clear an entry in the FIB, including a Layer 3 inconsistency, use the following command in any mode:

 

Command
Purpose
clear forwarding { ipv4 | ipv6 } route {* | prefix } [ vrf vrf-name ] module { slot | all }
 
Example:
switch# clear forwarding ipv4 route * module 1

Clears one or more entries from the FIB. The route options are as follows:

  • *—All routes.
  • prefix —Any IP or IPv6 prefix.

The vrf-name can be any case-sensitive, alphanumeric string up to 64 characters. The slot range is from 1 to 10.

Configuring Maximum Routes for the Unicast RIB

You can configure the maximum number of routes allowed in the routing table.

BEFORE YOU BEGIN

Ensure that you are in the default VDC (or use the switchto vdc command).

SUMMARY STEPS

1. configure terminal

2. vrf context vrf-name

3. ipv4 unicast

4. maximum routes max-routes [ threshold [ reinstall threshold ] | warning-only]

5. (Optional) copy running-config startup-config

DETAILED STEPS

 

Command
Purpose

Step 1

configure terminal

 

Example:

switch# configure terminal

switch(config)#

Enters global configuration mode.

Step 2

vrf context vrf-name

 

Example:

switch(config)# vrf context Red

switch(config-vrf)#

Creates a VRF and enters VRF configuration mode.

Step 3

ipv4 unicast

 

Example :

switch(config-vrf)# ipv4 unicast

switch(config-vrf-af-ipv4)#

Enters address family configuration mode.

Step 4

maximum routes max-routes [ threshold [reinstall threshold ] | warning-only]
 
Example:

switch(config-vrf-af-ipv4)# maximum routes 250 90

Configures the maximum number of routes allowed in the routing table. The range is from 1 to 4294967295.

You can optionally specify the following:

  • threshold —Percentage of maximum routes that triggers a warning message. The range is from 1 to 100.
  • warning-only —Logs a warning message when the maximum number of routes is exceeded.
  • reinstall threshold —Reinstalls routes that previously exceeded the maximum route limit and were rejected and specifies the threshold value at which to reinstall them. The threshold range is from 1 to 100.

Step 5

copy running-config startup-config

 

Example:

switch(config-vrf-af-ipv4)# copy running-config startup-config

(Optional) Saves this configuration change.

Estimating Memory Requirements for Routes

You can estimate the memory that a number of routes and next-hop addresses will use.

To estimate the memory requirements for routes, use the following command in any mode:

 

Command
Purpose
show routing {ipv6} memory estimate routes num-routes next-hops num-nexthops
 
Example:
switch# show routing memory estimate routes 5000 next-hops 2

Displays the memory requirements for routes. The num-routes range is from 1000 to 1000000. The num-nexthops range is from 1 to 16.

Clearing Routes in the Unicast RIB

You can clear one or more routes from the unicast RIB.


Caution The * keyword is severely disruptive to routing.

To clear one or more entries in the unicast RIB, use the following commands in any mode:

 

Command
Purpose
clear { ip | ipv4 | ipv6 } route {* | { route | prefix/length }[ next-hop interface ]} [ vrf vrf-name ]
 
Example:
switch(config)# clear ip route 10.2.2.2

Clears one or more routes from both the unicast RIB and all the module FIBs. The route options are as follows:

  • *—All routes.
  • route —An individual IP or IPv6 route.
  • prefix/length —Any IP or IPv6 prefix.
  • next-hop —The next-hop address
  • interface —The interface to reach the next-hop address.

The vrf-name can be any case-sensitive, alphanumeric string up to 64 characters.

clear routing [ multicast | unicast ] [ ip | ipv4 | ipv6 ] {* | { route | prefix/length }[ next-hop interface ]} [ vrf vrf-name ]
 
Example:
switch(config)# clear routing ip 10.2.2.2

Clears one or more routes from the unicast RIB. The route options are as follows:

  • *—All routes.
  • route —An individual IP or IPv6 route.
  • prefix/length —Any IP or IPv6 prefix.
  • next-hop —The next-hop address
  • interface —The interface to reach the next-hop address.

The vrf-name can be any case-sensitive, alphanumeric string up to 64 characters.

Monitoring TCAM Utilization

You can configure a policy in the Embedded Event Manager (EEM) to monitor TCAM utilization on M1 Series modules.

BEFORE YOU BEGIN

Ensure that you have network-admin or vdc-admin user privileges to configure EEM.

Ensure that you are in the correct VDC (or use the switchto vdc command).

SUMMARY STEPS

1. configure terminal

2. [ no ] event manager applet applet-name

3. (Optional) description description

4. [ no ] event fib resource tcam usage

5. [ no ] action number [ .number2 ] action-statement

6. (Optional) show event manager policy-state applet-name

7. (Optional) copy running-config startup-config

8. (Optional) show event manager events action-log policy applet-name

DETAILED STEPS

 

Command
Purpose

Step 1

configure terminal

 

Example:

switch# configure terminal

switch(config)#

Enters global configuration mode.

Step 2

[ no ] event manager applet applet-name

 

Example:

switch(config)# event manager applet TU1

switch(config-applet)#

Registers the applet with EEM and enters applet configuration mode.

The applet-name argument is a unique identifier for this policy. The maximum range is 29 alphanumeric, case-sensitive characters.

Note You can use the no form of this command to remove this EEM policy configuration.

Step 3

description description

 

Example :

switch(config-applet)# description

“checks TCAM usage threshold on M1

card”

(Optional) Configures a descriptive string for the policy.

The maximum range is 80 alphanumeric characters. Enclose the string in quotation marks.

Step 4

[no] event fib resource tcam usage
 
Example:

switch(config-applet)# event fib resource tcam usage

Configures an event statement for the policy.

This command triggers an event each time the TCAM utilization percentage becomes a multiple of 5, in either direction.

Note You can use the no form of this command to remove an event statement from an EEM policy.

Step 5

[no] action number [ .number2 ]
action-statement
 
Example:

switch(config-applet)# action 1.0

event-default

Configures an action statement to describe the action triggered by a policy. Repeat this step to create multiple action statements.

Each policy can have multiple action statements. If no action is associated with a policy, EEM observes events but takes no actions.

  • The number.number2 argument is a label for the action statement.

The format for the label is number , as in 1, or number.number2 , as in 1.0. You must separate the two numbers with a period (.).

The range for the number argument is from 0 to any number up to 16 digits in length.

The range for the number2 argument is from 0 to 9.

  • Only predefined keywords are supported for the action-statement argument. For information, see the Cisco Nexus 7000 Series NX-OS System Management Configuration Guide .

The event-default keyword executes the default action for the associated event. The default action for the TCAM usage event is to log the event details.

You can configure a different action statement, such as action 1.0 snmp-trap strdata “TCAM usage percent" to send an SNMP trap for this event.

Note You can use the no form of this command to delete the action statement from an EEM policy.

Step 6

show event manager policy-state

applet-name

 

Example:

switch(config-applet)# show event

manager policy-state TU1

(Optional) Displays information about the policy state, including thresholds.

Step 7

copy running-config startup-config

 

Example:

switch(config-applet)# copy running-config startup-config

(Optional) Saves this configuration change.

Step 8

show event manager events action-log

policy applet-name

 

Example:

switch(config-applet)# show event manager events action-log policy TU1

(Optional) Displays an event action log for the specified EEM policy.

Verifying the Unicast RIB and FIB

To display the unicast RIB and FIB information, perform one the following tasks:

 

Command
Purpose

show forwarding adjacency

Displays the adjacency table on a module.

show forwarding distribution { clients | fib-state }

Displays the FIB distribution information.

show forwarding interfaces module slot

Displays the FIB information for a module.

show forwarding { ip | ipv4 | ipv6 } route

Displays routes in the FIB.

show { ip | ipv6 } adjacency

Displays the adjacency table.

show { ip | ipv6 } route

Displays IPv4 or IPv6 routes from the unicast RIB.

show routing

Displays routes from the unicast RIB.

Note See the Cisco Nexus 7000 Series NX-OS Unicast Routing Command Reference for a description of all the optional keywords available for this command.

Additional References

For additional information related to managing unicast RIB and FIB, see the following sections:

Related Documents

Related Topic
Document Title

Unicast RIB and FIB CLI commands

Cisco Nexus 7000 Series NX-OS Unicast Routing Command Reference

Configuring EEM

Cisco Nexus 7000 Series NX-OS System Management Configuration Guide

Feature History for Unicast RIB and FIB

Table 1-4 lists the release history for this feature.

 

Table 1-4 Feature History for Unicast RIB and FIB

Feature Name
Releases
Feature Information

Unicast FIB

6.2(2)

Added the ability to check for inconsistent, missing, or failed routes in the unicast FIB.

TCAM utilization

6.2(2)

Added the ability to monitor TCAM utilization on M1 Series modules.

Unicast RIB

6.2(2)

Added the optional keyword longer-prefixes [ detail ] to the show routing command to display specific routes for a particular prefix.

Maximum routes

5.2(1)

Added support to configure the maximum number of routes allowed in the routing table.

TCAM Size for XL Modules

5.0(2)

Added support for larger TCAM and FIB sizes with XL modules.

Dynamic TCAM allocation

5.0(2)

Enabled by default and cannot be disabled.

IPv6 forwarding inconsistency checker

4.2(1)

Added support to check for inconsistencies in the IPv6 forwarding table.

Dynamic TCAM allocation

4.2(1)

Added support for dynamically allocating TCAM blocks in the FIB.

Per-packet load sharing

4.1(2)

Added support to load balance per packet on an interface.

Unicast RIB and FIB

4.0(3)

Added support to clear individual routes in unicast RIB and FIB.

Unicast RIB and FIB

4.0(1)

This feature was introduced.