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.
Abstract:
A Hardware Abstraction Layer (HAL) for a target computing device that is equipped with an Application Specific Integrated Circuit (ASIC) or other hardware element that provides forwarding and/or switching capability is used to analyze an abstract candidate device model. The abstract candidate device model is received from a controller and specifies intended forwarding behavior for the target device. The HAL analyzes the abstract candidate device model based on its knowledge of the architecture of the ASIC or other hardware element providing forwarding or switching capability to the target device. If the behavior is supported by the target device's architecture, the model may be implemented in a specific manner supported by that architecture and used to control forwarding behavior on the target device.
Abstract:
A Hardware Abstraction Layer (HAL) for a target computing device that is equipped with an Application Specific Integrated Circuit (ASIC) or other hardware element that provides forwarding and/or switching capability is used to analyze an abstract candidate device model. The abstract candidate device model is received from a controller and specifies intended forwarding behavior for the target device. The HAL analyzes the abstract candidate device model based on its knowledge of the architecture of the ASIC or other hardware element providing forwarding or switching capability to the target device. If the behavior is supported by the target device's architecture, the model may be implemented in a specific manner supported by that architecture and used to control forwarding behavior on the target device.
Abstract:
A negotiation process is conducted between a controller and a target forwarding or switching device with respect to an abstract candidate device model for a forwarding plane. The abstract candidate device model is provided by a controller and indicates intended forwarding or switching behavior for the target device that a controller desires to have implemented on the target device. The intended behavior is specified in terms of mandatory and non-mandatory behavior. A hardware abstraction layer (HAL) for the target device analyzes the abstract candidate device model and decides whether the mandatory and optional behavior that is specified by the model is supported given the architecture of the target. The HAL informs the controller whether the intended behavior is supported by the target. Additional behavior may be proposed and accepted or not before the model is finalized. The finalized model may then be implemented and used to control forwarding behavior on the target device.
Abstract:
A controller in a communication network may be responsible for generating a device model that defines intended forwarding behavior of a network. The device model may be generated using a target-independent universal language of network primitives. The controller may assign a first set of parameters to the device model to generate a first parameterized device model. The controller may assign a second set of parameters to the device model to generate a second parameterized device model. The controller may send the first parameterized device model or the second parameterized device model to a target device. The target device may statically or dynamically translate the received parameterized device model(s) to implementation. The controller is not required to generate a new device model for each modification made to the network: the controller may parameterized a generic device model to reflect the modifications.
Abstract:
A routing controller in a communication network may be responsible for generating a device model that defines intended forwarding behavior of the network. The device model may be generated using a target-independent universal language of network primitives. Network primitives are building blocks of the device model. The network primitives can be grouped to form submodels to create modularity within the device model. The network primitives and the submodels can be stored in libraries. The controller may send the device model to a target device. Upon receiving the device model from the controller, the target device may translate the device model to implementation.
Abstract:
A Hardware Abstraction Layer (HAL) for a target computing device that is equipped with an Application Specific Integrated Circuit (ASIC) or other hardware element that provides forwarding and/or switching capability is used to analyze an abstract candidate device model. The abstract candidate device model is received from a controller and specifies intended forwarding behavior for the target device. The HAL analyzes the abstract candidate device model based on its knowledge of the architecture of the ASIC or other hardware element providing forwarding or switching capability to the target device. If the behavior is supported by the target device's architecture, the model may be implemented in a specific manner supported by that architecture and used to control forwarding behavior on the target device.
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.