Translating network forwarding plane models into target implementation using sub models and hints
First Claim
1. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to:
- receive a specification at an electronic device having forwarding functionality, the specification including;
a rule, an identifier for a specified function associated with a networking primitive or a collection of networking primitives to be performed by the electronic device, and an implementation of the specified function;
comparing the identifier for the specified function to a set of identifiers for known functions, the known functions having predetermined implementations that are prescribed by the electronic device;
locating the identifier for the specified function in the set of identifiers for the known functions;
disregarding the implementation of the specified function included in the specification; and
implementing the specified function on the electronic device using the predetermined implementation prescribed by the electronic device.
2 Assignments
0 Petitions
Accused Products
Abstract
A routing controller in a communication network may be responsible for issuing routing rules to forwarding devices in the network. Exemplary embodiments allow forwarding functionality to be implemented by the forwarding devices in a device-specific manner. The routing controller may specify a routing rule to be implemented by the forwarding device, and may provide a default or suggested implementation of the function in the specification of the rule. If the forwarding device does not have a predetermined implementation of the function that is specific to the routing device, the forwarding device may use the default implementation provided by the routing controller. However, if the forwarding device does have a predetermined implementation of the function, the forwarding device may override the implementation described in the specification and use the predetermined implementation instead.
-
Citations
22 Claims
-
1. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to:
-
receive a specification at an electronic device having forwarding functionality, the specification including;
a rule, an identifier for a specified function associated with a networking primitive or a collection of networking primitives to be performed by the electronic device, and an implementation of the specified function;comparing the identifier for the specified function to a set of identifiers for known functions, the known functions having predetermined implementations that are prescribed by the electronic device; locating the identifier for the specified function in the set of identifiers for the known functions; disregarding the implementation of the specified function included in the specification; and implementing the specified function on the electronic device using the predetermined implementation prescribed by the electronic device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
receiving a specification at an electronic device having forwarding functionality, the specification including an identifier for a specified function associated with a networking primitive or a collection of networking primitives to be performed by the electronic device and an implementation of the specified function; comparing the identifier for the specified function to a set of identifiers for known functions, the known functions having predetermined implementations that are prescribed by the electronic device; failing to locate the identifier for the specified function in the set of identifiers for the known functions; and implementing the specified function on the electronic device using the implementation specified by the specification. - View Dependent Claims (12, 13, 14)
-
-
15. A system comprising:
-
a memory for storing, in a database, a known technique for implementing a specified function associated with a networking primitive or a collection of networking primitives; and a processor configured to; receive a request to apply a rule, the rule using the specified function, the request including a specification specifying an identifier for the specified function and a recommended implementation of the specified function, look up the identifier for the specified function in the database, override the recommended implementation in the request in favor of the known technique stored in the database, and apply the rule using the known technique. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. A routing system comprising:
-
a routing controller that formulates a specification for a forwarding device, the specification incorporating an identifier for a specified function associated with a networking primitive or a collection of networking primitives, the specification specifying a recommended implementation of the specified function and providing a flag indicating that the recommended implementation may be overridden if the forwarding device natively implements the specified function; and a transmitter for forwarding the rule towards the forwarding device.
-
Specification