Abstract:
A computer-implemented method for increasing the scalability of software-defined networks may include (1) maintaining a set of databases collectively configured to (i) store a set of flow entries that direct network traffic within a software-defined network and (ii) facilitate searching the set of flow entries based at least in part on at least one key whose size remains substantially constant irrespective of the number of flow entries within the set of flow entries, (2) detecting a request to perform an operation in connection with a flow of data packets within the software-defined network, (3) identifying at least one attribute of the flow of data packets in the request, and then (4) searching, using the attribute of the flow of data packets as a database key, at least one database within the set of databases to facilitate performing the operation. Various other methods, systems, and apparatuses are also disclosed.
Abstract:
A computer-implemented method for increasing the scalability of software-defined networks may include (1) maintaining a set of databases collectively configured to (i) store a set of flow entries that direct network traffic within a software-defined network and (ii) facilitate searching the set of flow entries based at least in part on at least one key whose size remains substantially constant irrespective of the number of flow entries within the set of flow entries, (2) detecting a request to perform an operation in connection with a flow of data packets within the software-defined network, (3) identifying at least one attribute of the flow of data packets in the request, and then (4) searching, using the attribute of the flow of data packets as a database key, at least one database within the set of databases to facilitate performing the operation. Various other methods, systems, and apparatuses are also disclosed.
Abstract:
In general, this disclosure describes a high-level forwarding path description language (FPDL) for describing internal forwarding paths within a network device. The FPDL enables developers to create a template that describes a section of an internal forwarding path within the forwarding plane of a network device. The FPDL provides syntactical elements for specifying the allocation of forwarding path structures as well as enabling the run-time construction of internal forwarding paths to interconnect the forwarding path structures in a manner specific to packet, packet flow, and/or interface properties, for example. In conjunction with late binding techniques, whereby the control plane of the network device provides arguments to template parameters that drive allocation by the packet forwarding engines of forwarding path structures specified by the FPDL, the techniques provide control plane processes a unified interface with which to manage the operation of the packet forwarding engines.
Abstract:
In general, this disclosure describes a high-level forwarding path description language (FPDL) for describing internal forwarding paths within a network device. The FPDL enables developers to create a template that describes a section of an internal forwarding path within the forwarding plane of a network device. The FPDL provides syntactical elements for specifying the allocation of forwarding path structures as well as enabling the run-time construction of internal forwarding paths to interconnect the forwarding path structures in a manner specific to packet, packet flow, and/or interface properties, for example. In conjunction with late binding techniques, whereby the control plane of the network device provides arguments to template parameters that drive allocation by the packet forwarding engines of forwarding path structures specified by the FPDL, the techniques provide control plane processes a unified interface with which to manage the operation of the packet forwarding engines.
Abstract:
In some embodiments, an apparatus includes a first core device configured to be disposed within a network. The network has a set of access nodes and a second core device. The first core device is configured to receive a signal designating the first core device as a master device for a virtual group identifier such that the second core device is designated as a back-up device for that virtual group identifier.
Abstract:
A computer-implemented method for increasing the scalability of software-defined networks may include (1) maintaining a set of databases collectively configured to (i) store a set of flow entries that direct network traffic within a software-defined network and (ii) facilitate searching the set of flow entries based at least in part on at least one key whose size remains substantially constant irrespective of the number of flow entries within the set of flow entries, (2) detecting a request to perform an operation in connection with a flow of data packets within the software-defined network, (3) identifying at least one attribute of the flow of data packets in the request, and then (4) searching, using the attribute of the flow of data packets as a database key, at least one database within the set of databases to facilitate performing the operation. Various other methods, systems, and apparatuses are also disclosed.
Abstract:
A computer-implemented method for interfacing software-defined networks with non-software-defined networks may include (1) receiving at least one packet via software-defined network at a switching device, (2) searching a set of flow entries that collectively direct network traffic within the software-defined network for a flow entry that corresponds to the packet, (3) determining that the packet is destined for a non-software-defined network based at least in part on the search, and (4) forwarding the packet to the non-software-defined network via a logical tunnel that interfaces the software-defined network with the non-software-defined network by connecting a virtual port within the software-defined network to a virtual port within the non-software-defined network. Various other methods, systems, and computer-readable media are also disclosed.
Abstract:
A computer-implemented method for increasing the scalability of software-defined networks may include (1) maintaining a set of databases collectively configured to (i) store a set of flow entries that direct network traffic within a software-defined network and (ii) facilitate searching the set of flow entries based at least in part on at least one key whose size remains substantially constant irrespective of the number of flow entries within the set of flow entries, (2) detecting a request to perform an operation in connection with a flow of data packets within the software-defined network, (3) identifying at least one attribute of the flow of data packets in the request, and then (4) searching, using the attribute of the flow of data packets as a database key, at least one database within the set of databases to facilitate performing the operation. Various other methods, systems, and apparatuses are also disclosed.
Abstract:
In some embodiments, an apparatus includes a core network node configured to associate with a native multicast group a first client device that is associated with a first virtual local area network (VLAN) and operatively coupled to the core network node via a first access network node and an aggregation network node. The core network node can associate with the native multicast group a second client device that is associated with a second VLAN and operatively coupled to the core network node via a second access network node and the aggregation network node. The core network node can define a multicast VLAN including the first VLAN and the second VLAN based on the native multicast group. The core network node can receive a multicast data unit associated with the native multicast group and can also define a single instance of the multicast data unit for the multicast VLAN.
Abstract:
In some embodiments, an apparatus includes a core network node configured to associate with a native multicast group a first client device that is associated with a first virtual local area network (VLAN) and operatively coupled to the core network node via a first access network node and an aggregation network node. The core network node can associate with the native multicast group a second client device that is associated with a second VLAN and operatively coupled to the core network node via a second access network node and the aggregation network node. The core network node can define a multicast VLAN including the first VLAN and the second VLAN based on the native multicast group. The core network node can receive a multicast data unit associated with the native multicast group and can also define a single instance of the multicast data unit for the multicast VLAN.