Servers, Switches, and Systems with Switching Module Implementing a Distributed Network Operating System
First Claim
1. A networking device system comprising:
- a switch module having one or more ports with a communications interface of a first type (CI1) and one or more ports with a communications interface of a second type (CI2);
a server in communication with the switch module via a first CI2 coupling, the server including a virtual CI1 driver that provides a CI1 interface to applications in the server, the virtual CI1 driver defined to exchange CI1 packets with the switch module via the first CI2 coupling, the virtual CI1 driver further including a first network device operating system (ndOS) program; and
a switch controller in communication with the switch module via a second CI2 coupling, the switch controller including a second ndOS program that, when executed by a processor, controls packet switching policy in the switch module, the packet switching policy including a definition for switching incoming packets through the switch module or through the switch controller, wherein the first ndOS program and the second ndOS program, when executed by respective processors, exchange control messages to maintain a network policy for a switch layer fabric.
4 Assignments
0 Petitions
Accused Products
Abstract
One networking device includes a switch module, a server, and a switch controller. The switch module has ports with a communications interface of a first type (CI1) and ports with a communications interface of a second type (CI2). The server, coupled to the switch module via a first CI2 coupling, includes a virtual CI1 driver, which provides a CI1 interface in the server, defined to exchange CI1 packets with the switch module via the first CI2 coupling. The virtual CI1 driver includes a first network device operating system (ndOS) program. The switch controller, in communication with the switch module via a second CI2 coupling, includes a second ndOS program controlling, in the switch module, a packet switching policy defining the switching of packets through the switch module or switch controller. The first and second ndOS programs exchange control messages to maintain a network policy for the switch fabric.
71 Citations
22 Claims
-
1. A networking device system comprising:
-
a switch module having one or more ports with a communications interface of a first type (CI1) and one or more ports with a communications interface of a second type (CI2); a server in communication with the switch module via a first CI2 coupling, the server including a virtual CI1 driver that provides a CI1 interface to applications in the server, the virtual CI1 driver defined to exchange CI1 packets with the switch module via the first CI2 coupling, the virtual CI1 driver further including a first network device operating system (ndOS) program; and a switch controller in communication with the switch module via a second CI2 coupling, the switch controller including a second ndOS program that, when executed by a processor, controls packet switching policy in the switch module, the packet switching policy including a definition for switching incoming packets through the switch module or through the switch controller, wherein the first ndOS program and the second ndOS program, when executed by respective processors, exchange control messages to maintain a network policy for a switch layer fabric. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A networking device system comprising:
-
a switch module having one or more ports with a communications interface of a first type (CI1) and one or more ports with a communications interface of a second type (CI2); a plurality of servers in communication with the switch module via a first CI2 couplings, the servers including a respective virtual CI1 driver that provides a CI1 interface to applications in the respective server, each virtual CI1 driver defined to exchange CI1 packets with the switch module via the first CI2 coupling, each virtual CI1 driver further including a first network device operating system (ndOS) program; and a switch controller in communication with the switch module via a second CI2 coupling, the switch controller including a second ndOS program that, when executed by a processor, controls packet switching policy in the switch module, the packet switching policy including a definition for switching incoming packets through the switch module or through the switch controller, wherein the first ndOS programs and the second ndOS program, when executed by respective processors, exchange control messages to maintain a network policy for a switch layer fabric. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A method for processing packets, the method comprising:
-
receiving a packet at a switch module, the switch module having one or more ports with a communications interface of a first type (CI1) and one or more ports with a communications interface of a second type (CI2), wherein a server is in communication with the switch module via a first CI2 coupling, wherein a switch controller is in communication with the switch module via a second CI2 coupling, the server including a virtual CI1 driver that provides a CI1 interface to applications in the server, the virtual CI1 driver defined to exchange CI1 packets with the switch module via the first CI2 coupling, the virtual CI1 driver further including a first network device operating system (ndOS) program, the switch controller including a second ndOS program that, when executed by a processor, controls packet switching policy in the switch module, the packet switching policy including a definition for switching incoming packets through the switch module or through the switch controller, wherein the first ndOS program and the second ndOS program, when executed by respective processors, exchange control messages to maintain a network policy for a switch layer fabric; determining by a classifier in the switch module to switch the packet through the switch module or through the switch controller based on the packet switching policy; and switching the packet based on the determining. - View Dependent Claims (19, 20)
-
-
21. A networking device system comprising:
-
a switch module having one or more Ethernet ports and one or more peripheral component interconnect (PCI) ports; a plurality of servers in communication with the switch module via the PCI ports, the servers including a respective virtual Ethernet driver that provides an Ethernet interface to applications in the respective server, each virtual Ethernet driver defined to exchange Ethernet packets with the switch module via the PCI ports, each virtual Ethernet driver further including a first network device operating system (ndOS) program; and a switch controller in communication with the switch module via one of the PCI ports, the switch controller including a second ndOS program that, when executed by a processor, controls a packet switching policy in the switch module, the packet switching policy including a definition for switching incoming packets through either one of the switch module and the switch controller, wherein the first ndOS program and the second ndOS program, when executed by respective processors, exchange control messages to maintain a network policy for a switch layer fabric, wherein the switching policy is exchanged between the ndOS programs and other interconnected ndOS programs via multicast messages, and each ndOS program is configured for receiving instructions for propagating changes to the switching policy via messages exchanged between the ndOS programs, and wherein the switching policy is managed across multiple switching devices having a respective ndOS program as a single logical switch that spans a plurality of ndOS switching devices in the switch layer fabric, and wherein each ndOS program communicates with other ndOS programs to keep a global state of flows, services, and virtual networks in the switching layer fabric.
-
-
22. A networking device system comprising:
-
a switch module having one or more Ethernet ports and one or more peripheral component interconnect (PCI) ports; a plurality of servers in communication with the switch module via the PCI ports, the servers including a respective virtual Ethernet driver that provides an Ethernet interface to applications in the respective server, each virtual Ethernet driver defined to exchange Ethernet packets with the switch module via the PCI ports; and a switch controller in communication with the switch module via one of the PCI ports, the switch controller including an ndOS program that, when executed by a processor, controls a packet switching policy in the switch module, the packet switching policy including a definition for switching incoming packets through either one of the switch module and the switch controller, wherein the ndOS program, when executed by a processor, exchanges control messages to maintain a network policy for a switch layer fabric, wherein the switching policy is exchanged between the ndOS programs and other interconnected ndOS programs via multicast messages, and each ndOS program is configured for receiving instructions for propagating changes to the switching policy via messages exchanged between the ndOS programs, and wherein the switching policy is managed across multiple switching devices having a respective ndOS program as a single logical switch that spans a plurality of ndOS switching devices in the switch layer fabric, and wherein each ndOS program communicates with other ndOS programs to keep a global state of flows, services, and virtual networks in the switching layer fabric.
-
Specification