Method and system for programming equal-cost multi-path routes on network devices
First Claim
Patent Images
1. A method for configuring a network device, comprising:
- setting a defer equal-cost multi-path (ECMP) variable to a first value;
setting a first timer to a user-configurable time value;
setting a routes received variable to zero;
starting the first timer;
receiving a plurality of routes while the first timer performs a countdown of the user-configurable time value to obtain an increased routes received variable;
determining a number of received routes using the increased routes received variable;
determining that the number of received routes exceeds a user-configurable minimum number of routes in order to discover that an active session exists;
determining that the first timer has reached zero;
determining, based on the first timer reaching completing the countdown and the existence of the active session, that a user-configurable minimum number of active sessions is not exceeded;
setting, based on the user-configurable minimum number of active sessions not being exceeded, the defer ECMP variable to a second value;
after setting the defer ECMP variable to the second value, identifying, in a routing information base (RIB) of the network device, a set of ECMP routes from a plurality of routes for a destination IP prefix; and
updating a forwarding information base (FIB) of the network device based on the set of ECMP routes.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for configuring a network device. The method includes writing a route for a destination IP prefix to the forwarding information base (FIB), and after writing the route, obtaining a set of routes and Writing the set of routes to a routing information base (RIB). The method further includes, after writing the set of routes to the RIB and after the expiration of a timer: identifying, in the RIB, a set of ECMP routes from the plurality of routes for the destination IP prefix, processing the set of ECMP routes for the destination IP prefix, and updating the FIB of the network device based on set of processed ECMP routes.
10 Citations
17 Claims
-
1. A method for configuring a network device, comprising:
-
setting a defer equal-cost multi-path (ECMP) variable to a first value; setting a first timer to a user-configurable time value; setting a routes received variable to zero; starting the first timer; receiving a plurality of routes while the first timer performs a countdown of the user-configurable time value to obtain an increased routes received variable; determining a number of received routes using the increased routes received variable; determining that the number of received routes exceeds a user-configurable minimum number of routes in order to discover that an active session exists; determining that the first timer has reached zero; determining, based on the first timer reaching completing the countdown and the existence of the active session, that a user-configurable minimum number of active sessions is not exceeded; setting, based on the user-configurable minimum number of active sessions not being exceeded, the defer ECMP variable to a second value; after setting the defer ECMP variable to the second value, identifying, in a routing information base (RIB) of the network device, a set of ECMP routes from a plurality of routes for a destination IP prefix; and updating a forwarding information base (FIB) of the network device based on the set of ECMP routes. - View Dependent Claims (2, 3, 4, 5, 6, 12)
-
-
7. A non-transitory computer readable medium comprising instructions which, when executed, perform a method for configuring a network device, the method comprising:
-
setting a defer equal-cost multi-path (ECMP) variable to a first value; setting a first timer to a user-configurable time value; setting a routes received variable to zero; starting the first timer; receiving a plurality of routes while the first timer performs a countdown of the user-configurable time value to obtain an increased routes received variable; determining a number of received routes using the increased routes received variable; determining that the number of received routes exceeds a user-configurable minimum number of routes in order to discover that an active session exists; determining that the first timer has reached zero; determining, based on the first timer reaching completing the countdown and the existence of the active session, that a user-configurable minimum number of active sessions is not exceeded; setting, based on the user-configurable minimum number of active sessions not being exceeded, the defer ECMP variable to a second value; after setting the defer ECMP variable to the second value, identifying, in a routing information base (RIB) of the network device, a set of ECMP routes from a plurality of routes for a destination IP prefix; and updating a forwarding information base (FIB) of the network device based on the set of ECMP routes. - View Dependent Claims (8, 9, 10, 11)
-
-
13. A network device, comprising:
-
a routing information base (RIB); a forwarding information base (FIB); and a processor coupled to memory and operatively connected to the RIB and the FIB, and configured to; set a defer equal-cost multi-path (ECMP) variable to a first value; set a first timer to a user-configurable time value; set a routes received variable to zero; start the first timer; receive a plurality of routes while the first timer performs a countdown of the user-configurable time value to obtain an increased routes received variable; determine a number of received routes using the increased routes received variable; determine that the number of received routes exceeds a user-configurable minimum number of routes in order to discover that an active session exists; determine that the first timer has reached zero; determine, based on the first timer reaching completing the countdown and the existence of the active session, that a user-configurable minimum number of active sessions is not exceeded; set, based on the user-configurable minimum number of active sessions not being exceeded, the defer ECMP variable to a second value; after setting the defer ECMP variable to the second value, identify in the RIB a set of ECMP routes from a plurality of routes for a destination IP prefix; and update the FIB based on the set of ECMP routes. - View Dependent Claims (14, 15, 16, 17)
-
Specification