IP Library › Granted Patent US 9,253,086
Granted Patent B2
US 9,253,086 · App. 13/938,104 · Granted Feb 2, 2016

Method and system of dynamic next-hop routing

Inventors: Selvam Ramanathan (Sunnyvale, CA); Neelesh Bansod (Sunnyvale, CA)
Assignee: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
H04L45/72H04L45/306
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,253,086
App. No.
13/938,104
Granted
Feb 2, 2016
Kind
B2
Abstract

A method implementing dynamic next-hop routing at a network device is disclosed. The network device contains a routing information base (RIB) and a forwarding information base (FIB). The method starts with receiving a request to create a dynamic next-hop type using a next-hop schema. The dynamic next-hop type is for a prefix associated with an application. The next-hop schema includes a set of functions and a set of fields associated with the set of functions. The dynamic next-hop type is created using the next-hop schema at the RIB, where the set of fields associated with the set of functions of the dynamic next-hop type is processed. The created dynamic next-hop type is then downloaded to the FIB, where the set of functions of the dynamic next-hop type is processed. Afterward, an identifier associated with the dynamic next-hop type for the prefix associated with the application is returned.

Claims (45)

1. A method implemented on a network device, wherein the network device contains a routing information base (RIB) and a forwarding information base (FIB), wherein the RIB contains routing information to map routes to a set of next-hops, wherein the FIB contains forwarding information for the network device to forward traffic flows to next-hops, the method comprising:

receiving a request to create a dynamic next-hop type using a next-hop schema, wherein the dynamic next-hop type is for a prefix associated with an application, wherein the dynamic next-hop type indicates a type of next-hop of the request, wherein the next-hop schema includes a set of functions and a set of fields associated with the set of functions;

creating the dynamic next-hop type using the next-hop schema at the RIB, wherein the set of fields associated with the set of functions of the dynamic next-hop type is processed;

downloading the dynamic next-hop type from the RIB to the FIB;

processing the set of functions of the dynamic next-hop type downloaded from the RIB at the FIB;

returning an identifier associated with the dynamic next-hop type for the prefix associated with the application once processing the set of functions of the dynamic next-hop at the FIB is complete;

receiving a request to add a route for the application, wherein the request contains the identifier associated with the dynamic next-hop type and data to fill in the set of fields of the next-hop schema;

instantiating a dynamic next-hop of the dynamic next-hop type using the data to fill in the set of fields of the next-hop schema at the RIB;

downloading the dynamic next-hop from the RIB to the FIB; and

processing the set of functions of the next-hop schema using the data to fill in the set of fields of the next-hop schema, wherein upon a packet from the application being received at the network device, performing the set of functions of the dynamic next-hop of the dynamic next-hop type.

2. The method of claim 1 , wherein the set of functions of the next-hop schema includes forwarding constructs.

3. The method of claim 1 , wherein the set of functions of the next-hop schema includes conditional operations and loops.

4. The method of claim 1 , wherein the set of functions of the next-hop schema includes a dynamic linked library.

5. The method of claim 1 , wherein the set of functions are processed in a predetermined order specified by one or more functions within the set of functions.

6. The method of claim 1 , wherein the application is one of open shortest path first (OSPF), intermediate system to intermediate system (IS-IS), address resolution protocol (ARP), neighbor discovery (ND) protocol, and IP services.

7. A network device containing a routing information base (RIB) and a forwarding information base (FIB), wherein the RIB contains routing information to map routes to a set of next-hops, wherein the FIB contains forwarding information for the network device to forward traffic flows to next-hops, the network device comprising:

an application processor configured to send a request to create a dynamic next-hop type using a next-hop schema, wherein the dynamic next-hop type is for a prefix associated with an application, wherein the dynamic next-hop type indicates a type of next-hop of the request, and wherein the next-hop schema includes a set of functions and a set of fields associated with the set of functions; and

the application processor is further configured to send a request to add a route for the application, wherein the request contains an identifier associated with the dynamic next-hop type and data to fill in the set of fields of the next-hop schema;

a route controller configured to receive the request, the route controller further configured to receive the request to add the route, and to instantiate a dynamic next-hop of the dynamic next-hop type using the data to fill in the set of fields of the next-hop schema at the RIB;

a first storage device coupled with the route controller, wherein the first storage device contains the RIB, where the route controller is further configured to create the dynamic next-hop type using the next-hop schema at the RIB, and wherein the set of fields associated with the set of functions of the dynamic next-hop type is processed;

a second storage device coupled with the first storage device, wherein the second storage device contains the FIB, wherein the FIB is configured to download the dynamic next-hop type, the second storage device is further configured to download the dynamic next-hop from the RIB to the FIB; and

a traffic forwarder coupled with the second storage device, wherein the traffic forwarder is configured to return the identifier associated with the dynamic next-hop type for the prefix associated with the application once processing the set of functions of the dynamic next-hop at the FIB is complete, the traffic forwarder is further configured to process the set of functions of the next-hop schema using the data to fill in the set of fields of the next-hop schema, wherein upon a packet from the application being received at the network device, the traffic forwarder is to perform the set of functions of the dynamic next-hop of the dynamic next-hop type.

8. The network device of claim 7 , wherein the set of functions of the next-hop schema includes forwarding constructs.

9. The network device of claim 7 , wherein the set of functions of the next-hop schema includes conditional operations and loops.

10. The network device of claim 7 , wherein the set of functions of the next-hop schema includes a dynamic linked library.

11. The network device of claim 7 , wherein the set of functions are processed in a predetermined order specified by one or more functions within the set of functions.

12. The network device of claim 7 , wherein the application is one of open shortest path first (OSPF), intermediate system to intermediate system (IS-IS), address resolution protocol (ARP), neighbor discovery (ND) protocol, and IP services.

13. A method implemented in a network including a network controller and a traffic forwarding element containing a routing information base (RIB) and a forwarding information base (FIB) respectively, wherein the RIB contains routing information to map routes to a set of next-hops, wherein the FIB contains forwarding information for the traffic forwarding element to forward traffic flows to next-hops, the method comprising:

receiving a request at the network controller to create a dynamic next-hop type using a next-hop schema, wherein the dynamic next-hop type is for a prefix associated with an application, wherein the dynamic next-hop type indicates a type of next-hop of the request, wherein the next-hop schema includes a set of functions and a set of fields associated with the set of functions;

creating the dynamic next-hop type using the next-hop schema at the RIB, wherein the set of fields associated with the set of functions of the dynamic next-hop type is processed;

downloading the dynamic next-hop type from the RIB to the FIB;

processing at the traffic forwarding element the set of functions of the dynamic next-hop type downloaded from the RIB at the FIB;

returning an identifier associated with the dynamic next-hop type for the prefix associated with the application once processing the set of functions of the dynamic next-hop at the FIB is complete;

receiving a request to add a route for the application, wherein the request contains the identifier associated with the dynamic next-hop type and data to fill in the set of fields of the next-hop schema;

instantiating a dynamic next-hop of the dynamic next-hop type using the data to fill in the set of fields of the next-hop schema at the RIB;

downloading the dynamic next-hop from the RIB to the FIB; and

processing the set of functions of the next-hop schema using the data to fill in the set of fields of the next-hop schema, wherein upon a packet from the application being received at the traffic forwarding element, performing the set of functions of the dynamic next-hop of the dynamic next-hop type.

14. A plurality of network devices coupled to a network, the plurality of network devices includes a network controller and a traffic forwarding element containing a routing information base (RIB) and a forwarding information base (FIB) respectively, wherein the RIB contains routing information to map routes to a set of next-hops, wherein the FIB contains forwarding information for the traffic forwarding element to forward traffic flows to next-hops, the network controller comprising:

an application processor configured to send a request to create a dynamic next-hop type using a next-hop schema, wherein the dynamic next-hop type is for a prefix associated with an application, wherein the dynamic next-hop type indicates a type of next-hop of the request, and wherein the next-hop schema includes a set of functions and a set of fields associated with the set of functions; and

the application processor of the network controller is further configured to send a request to add a route for the application, wherein the request contains an identifier associated with the dynamic next-hop type and data to fill in the set of fields of the next-hop schema;

a route controller configured to receive the request, the route controller further configured to instantiate a dynamic next-hop of the dynamic next-hop type using the data to fill in the set of fields of the next-hop schema at the RIB;

a first storage device coupled with the route controller, wherein the first storage device contains the RIB, where the route controller is further configured to create the dynamic next-hop type using the next-hop schema at the RIB, and wherein the set of fields associated with the set of functions of the dynamic next-hop type is processed; and

the traffic forwarding element comprising:

a second storage device coupled with the first storage device, wherein the second storage device contains the FIB, wherein the FIB is configured to download the dynamic next-hop type; and wherein the second storage device of the traffic forwarding element is further configured to download the dynamic next-hop from the RIB to the FIB; and

a traffic forwarder coupled with the second storage device, wherein the traffic forwarder is configured to return the identifier associated with the dynamic next-hop type for the prefix associated with the application once processing the set of functions of the dynamic next-hop at the FIB is complete, wherein the traffic forwarder further configured to process the set of functions of the next-hop schema using the data to fill in the set of fields of the next-hop schema, and wherein upon a packet from the application being received at the traffic forwarding element, the traffic forwarder performs the set of functions of the dynamic next-hop of the dynamic next-hop type.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2013
From: RAMANATHAN, SELVAM; BANSOD, NEELESH
To: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
Reel/Frame 031322/0930 →
Continuity (1)
Related Publication 20150016456A1 · Jan 15, 2015