Automation and programmability for software defined networking systems
Abstract
System, method, and computer program product to perform an operation comprising providing, to a software defined networking (SDN) application executing on a first network element, of a plurality of network elements in a network, an application program interface (API) to abstract access to: (i) a plurality of ingress interfaces of the first network element, (ii) a plurality of egress interfaces of the first network element, and (iii) a routing information base (RIB) of the first network element, wherein each of the plurality of network elements comprise a plurality of ingress interfaces, a plurality of egress interfaces, and a RIB, receiving a request from the SDN application invoke a function of the API to apply the function to the first network element, and applying the function to the first network element through the API.
Claims
exact text as granted — not AI-modifiedWe claim:
1 . A computer implemented method, comprising:
providing, to a software defined networking (SDN) application executing on a first network element, of a plurality of network elements in a network, an application program interface (API) to abstract access to: (i) a plurality of ingress interfaces of the first network element, (ii) a plurality of egress interfaces of the first network element, and (iii) a routing information base (RIB) of the first network element, wherein each of the plurality of network elements comprise a plurality of ingress interfaces, a plurality of egress interfaces, and a RIB; receiving a request from the SDN application invoke a function of the API to apply the function to the first network element; and applying the function to the first network element through the API.
2 . The method of claim 1 , wherein the function specifies to modify the RIB of the first network element, wherein modifying the RIB of the first network element comprises overriding a routing logic in the RIB of the first network element to route the data packet.
3 . The method of claim 2 , wherein the routing logic specifies to forward the data packet through a first one of the plurality of egress interfaces of the first network element, wherein the modified routing logic specifies to forward the data packet through a second one of the plurality of egress interfaces of the first network element.
4 . The method of claim 1 , wherein the function specifies to independently modify each individual one of: (i) a preprocessing operation on a data packet performed by the ingress interfaces of the first network element, (ii) the RIB of the first network element, (iii) a post processing operation on the data packet performed by the egress interfaces of the first network element, and (iv) at least one of the properties of at least one of the ingress interfaces, egress interfaces, and RIBs of the first network element.
5 . The method of claim 4 , wherein the preprocessing operation and the post processing operation comprise applying at least one networking function to the data packet.
6 . The method of claim 5 , wherein modifying a selected one of the preprocessing operation and the post processing operation comprises at least one of: (i) adding a new network function of the selected one of the preprocessing operation and the post processing operation, (ii) removing an existing network function from the selected one of the preprocessing operation and the post processing operation, and (iii) modifying the existing network function of the selected one of the preprocessing operation and the post processing operation.
7 . The method of claim 1 , wherein the SDN application is executed by each of the plurality of network elements, wherein the APIs are provided by each of the plurality of network elements.
8 . The method of claim 1 , wherein the SDN application is executed by a computing device external to the first network element and communicably coupled to the network, wherein the computing device is not a network element, wherein the network comprises a software defined network (SDN).
9 . A system, comprising:
one or more computer processors; and a memory containing a program, which when executed by the processors, performs an operation comprising:
providing, to a software defined networking (SDN) application executing on a first network element, of a plurality of network elements in a network, an application program interface (API) to abstract access to: (i) a plurality of ingress interfaces of the first network element, (ii) a plurality of egress interfaces of the first network element, and (iii) a routing information base (RIB) of the first network element, wherein each of the plurality of network elements comprise a plurality of ingress interfaces, a plurality of egress interfaces, and a RIB;
receiving a request from the SDN application invoke a function of the API to apply the function to the first network element; and
applying the function to the first network element through the API.
10 . The system of claim 9 , wherein the function specifies to modify the RIB of the first network element, wherein modifying the RIB of the first network element comprises overriding a routing logic in the RIB of the first network element to route the data packet.
11 . The system of claim 10 , wherein the routing logic specifies to forward the data packet through a first one of the plurality of egress interfaces of the first network element, wherein the modified routing logic specifies to forward the data packet through a second one of the plurality of egress interfaces of the first network element.
12 . The system of claim 9 , wherein the function specifies to independently modify each individual one of: (i) a preprocessing operation on a data packet performed by the ingress interfaces of the first network element, (ii) the RIB of the first network element, (iii) a post processing operation on the data packet performed by the egress interfaces of the first network element, and (iv) at least one of the properties of at least one of the ingress interfaces, egress interfaces, and RIBs of the first network element.
13 . The system of claim 12 , wherein the preprocessing operation and the post processing operation comprise applying at least one networking function to the data packet.
14 . The system of claim 13 , wherein modifying a selected one of the preprocessing operation and the post processing operation comprises at least one of: (i) adding a new network function of the selected one of the preprocessing operation and the post processing operation, (ii) removing an existing network function from the selected one of the preprocessing operation and the post processing operation, and (iii) modifying the existing network function of the selected one of the preprocessing operation and the post processing operation.
15 . The system of claim 9 , wherein the SDN application is executed by each of the plurality of network elements, wherein the APIs are provided by each of the plurality of network elements.
16 . The system of claim 9 , wherein the SDN application is executed by a computing device external to the first network element and communicably coupled to the network, wherein the computing device is not a network element, wherein the network comprises a software defined network (SDN).
17 . A computer program product to orchestrate software defined networking (SDN) applications, comprising:
a computer-readable storage medium having computer-readable program code embedded therewith, the computer-readable program code executable to perform an operation comprising:
providing, to a software defined networking (SDN) application executing on a first network element, of a plurality of network elements in a network, an application program interface (API) to abstract access to: (i) a plurality of ingress interfaces of the first network element, (ii) a plurality of egress interfaces of the first network element, and (iii) a routing information base (RIB) of the first network element, wherein each of the plurality of network elements comprise a plurality of ingress interfaces, a plurality of egress interfaces, and a RIB;
receiving a request from the SDN application invoke a function of the API to apply the function to the first network element; and
applying the function to the first network element through the API.
18 . The computer program product of claim 15 , wherein the function specifies to modify the RIB of the first network element, wherein modifying the RIB of the first network element comprises overriding a routing logic in the RIB of the first network element to route the data packet.
19 . The computer program product of claim 16 , wherein the routing logic specifies to forward the data packet through a first one of the plurality of egress interfaces of the first network element, wherein the modified routing logic specifies to forward the data packet through a second one of the plurality of egress interfaces of the first network element.
20 . The computer program product of claim 19 , wherein the function specifies to independently modify each individual one of: (i) a preprocessing operation on a data packet performed by the ingress interfaces of the first network element, (ii) the RIB of the first network element, (iii) a post processing operation on the data packet performed by the egress interfaces of the first network element, and (iv) at least one of the properties of at least one of the ingress interfaces, egress interfaces, and RIBs of the first network element.Join the waitlist — get patent alerts
Track US2015229709A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.