Portable networking interface method and apparatus for distributed switching system
First Claim
Patent Images
1. A network switch comprising:
- a CPU;
a memory system having circuitry to attach to the CPU;
a switch fabric system having circuitry to attach to the CPU;
a port controller having circuitry to attach to the switch fabric system;
a software application to execute on the CPU;
a Forwarding Database Distribution Library (FDDL) system to execute on the CPU;
a switch device driver to execute on the CPU; and
a second software application to execute on the CPU, wherein the second software application communicates with the FDDL system;
wherein the software application is to communicate with the FDDL system, the FDDL system is to communicate with the switch device driver, and the switch device driver is to communicate with the switch fabric;
wherein the FDDL system comprises;
a base FDDL system;
a software application tower FDDL system; and
a second software application tower FDDL system wherein the base FDDL system communicates with the switch device driver, the software application communicates with the software application tower FDDL system, the second software application communicates with the second software application tower FDDL system, and the base FDDL system communicates with the software application tower FDDL system and the second software application tower FDDL system.
3 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method to provide a portable networking interface for distributed switching systems. Two Application Program Interfaces (APIs) are defined for communication to a Forwarding Database Distribution Library (FDDL). The FDDL sits between network client applications and the switch device driver in order to provide a uniform interface to the switch device driver. Towers may be added to the FDDL to provide additional functionality specific to certain client applications.
-
Citations
12 Claims
-
1. A network switch comprising:
-
a CPU; a memory system having circuitry to attach to the CPU; a switch fabric system having circuitry to attach to the CPU; a port controller having circuitry to attach to the switch fabric system; a software application to execute on the CPU; a Forwarding Database Distribution Library (FDDL) system to execute on the CPU; a switch device driver to execute on the CPU; and a second software application to execute on the CPU, wherein the second software application communicates with the FDDL system; wherein the software application is to communicate with the FDDL system, the FDDL system is to communicate with the switch device driver, and the switch device driver is to communicate with the switch fabric; wherein the FDDL system comprises; a base FDDL system; a software application tower FDDL system; and a second software application tower FDDL system wherein the base FDDL system communicates with the switch device driver, the software application communicates with the software application tower FDDL system, the second software application communicates with the second software application tower FDDL system, and the base FDDL system communicates with the software application tower FDDL system and the second software application tower FDDL system.
-
-
2. A network switch comprising:
-
a CPU; a memory system having circuitry to attach to the CPU; a switch fabric system having circuitry to attach to the CPU; a port controller having circuitry to attach to the switch fabric system; a software application to execute on the CPU; a Forwarding Database Distribution Library (FDDL) system to execute on the CPU; a switch device driver to execute on the CPU; an independent software application to execute on the CPU; an independent software application shim to execute on the CPU; wherein the software application is to communicate with the FDDL system, the FDDL system is to communicate with the switch device driver, and the switch device driver is to communicate with the switch fabric; wherein the independent software application communicates with the independent software application shim and the independent software application shim communicates with the switch device driver; and wherein the FDDL system comprises; a base FDDL system; a software application tower FDDL system; and a second software application tower FDDL system wherein the base FDDL system communicates with the switch device driver, the software application communicates with the software application tower FDDL system, the second software application communicates with the second software application tower FDDL system, and the base FDDL system communicates with the software application tower FDDL system and the second software application tower FDDL system.
-
-
3. A network switch comprising:
-
a CPU; a memory system having circuitry to attach to the CPU, a switch fabric system having circuitry to attach to the CPU; a port controller having circuitry to attach to the switch fabric system; a protocol means for providing a service to a network system; a Forwarding Database Distribution Library (FDDL) means for communicating with the protocol means; a switch device driver means for communicating with the FDDL means and the port controller; and a second protocol means for providing a second service to the network system, wherein the FDDL means communicates with the second protocol means; wherein the FDDL means comprises; a base FDDL means for communicating with the switch device driver means; a protocol tower FDDL means for communicating with the protocol means and the base FDDL means; and a second protocol tower FDDL means for communicating with a second protocol means and the base FDDL means.
-
-
4. A network switch comprising:
-
a CPU; a memory system having circuitry to attach to the CPU; a switch fabric system having circuitry to attach to the CPU; a port controller having circuitry to attach to the switch fabric system; a protocol means for providing a service to a network system; a Forwarding Database Distribution Library (FDDL) means for communicating with the protocol means; a switch device driver means for communicating with the FDDL means and the port controller; an independent protocol means for providing an independent service to the network system; and an independent protocol shim for communicating with the independent protocol means and the switch device driver means; wherein the FDDL means comprises; a base FDDL means for communicating with the switch device driver means; a protocol tower FDDL means for communicating with the protocol means and the base FDDL means; and a second protocol tower FDDL means for communicating with the second protocol means and the base FDDL means.
-
-
5. A method of providing communications over a network system utilizing a first protocol and a second protocol, the method comprising the steps of:
-
receiving information at a port controller in a first protocol from a first node machine; communicating the information from the port controller to a switch fabric; communicating the information from the switch fabric to a switch device driver within an operating system; communicating the information from the switch device driver to a Forwarding Database Distribution Library (FDDL); communicating the information from the FDDL to a first protocol client; receiving additional information at a port controller in a second protocol from a first node machine; communicating the additional information from the port controller to a switch fabric; communicating the additional information from the switch fabric to a switch device driver within an operating system; communicating the additional information from the switch device driver to a Forwarding Database Distribution Library (FDDL); communicating the additional information from the FDDL to a second protocol client; wherein all communicating between the switch device driver to the FDDL is done through a switch services API; and all communicating from the FDDL to the first protocol client and the second protocol client is done through an FDDL API.
-
-
6. A method of providing communications over a network system utilizing a first protocol and a second protocol, the method comprising the steps of:
-
receiving information at a port controller in a first protocol from a first node machine; communicating the information from the port controller to a switch fabric; communicating the information from the switch fabric to a switch device driver within an operating system; communicating the information from the switch device driver to a Forwarding Database Distribution Library (FDDL); communicating the information from the FDDL to a first protocol client; receiving additional information at a port controller in a second protocol from a first node machine; communicating the additional information from the port controller to a switch fabric; communicating the additional information from the switch fabric to a switch device driver within an operating system; communicating the additional information from the switch device driver to a Forwarding Database Distribution Library (FDDL); communicating the additional information from the FDDL to a second protocol client; defining a switch services API for communication between the switch device driver; and defining an FDDL API for communication between the first protocol client and the FDDL.
-
-
7. A method of providing communications over a network system utilizing a first protocol and a second protocol, the method comprising the steps of:
-
receiving information at a port controller in a first protocol from a first node machine; communicating the information from the port controller to a switch fabric; communicating the information from the switch fabric to a switch device driver within an operating system; communicating the information from the switch device driver to a Forwarding Database Distribution Library (FDDL); communicating the information from the FDDL to a first protocol client; receiving additional information at a port controller in a second protocol from a first node machine; communicating the additional information from the port controller to a switch fabric; communicating the additional information from the switch fabric to a switch device driver within an operating system; communicating the additional information from the switch device driver to a Forwarding Database Distribution Library (FDDL); communicating the additional information from the FDDL to a second protocol client; receiving the information from the switch device driver at an FDDL base within the FDDL; passing the information from the FDDL base to a first protocol FDDL tower within the FDDL; and sending the information from the first protocol FDDL tower to the first protocol client.
-
-
8. A computer-readable medium having stored thereon computer executable instructions for performing the steps comprising:
-
receiving information at a port controller in a first protocol from a first node machine; communicating the information from the port controller to a switch fabric; communicating the information from the switch fabric to a switch device driver within an operating system; communicating the information from the switch device driver to a Forwarding Database Distribution Library (FDDL); communicating the information from the FDDL to a first protocol client; receiving additional information at a port controller in a second protocol from a first node machine; communicating the additional information from the port controller to a switch fabric; communicating the additional information from the switch fabric to a switch device driver within an operating system; communicating the additional information from the switch device driver to a Forwarding Database Distribution Library (FDDL); communicating the additional information from the FDDL to a second protocol client; wherein all communicating between the switch device driver to the FDDL is done through a switch services API; and all communicating from the FDDL to the first protocol client and the second protocol client is done through an FDDL API.
-
-
9. A computer-readable medium having stored thereon computer executable instructions for performing the steps comprising:
-
receiving information at a port controller in a first protocol from a first node machine; communicating the information from the port controller to a switch fabric; communicating the information from the switch fabric to a switch device driver within an operating system; communicating the information from the switch device driver to a Forwarding Database Distribution Library (FDDL); communicating the information from the FDDL to a first protocol client; receiving additional information at a port controller in a second protocol from a first node machine; communicating the additional information from the port controller to a switch fabric; communicating the additional information from the switch fabric to a switch device driver within an operating system; communicating the additional information from the switch device driver to a Forwarding Database Distribution Library (FDDL); communicating the additional information from the FDDL to a second protocol client; defining a switch services API for communication between the switch device driver; and defining an FDDL API for communication between the first protocol client and the FDDL.
-
-
10. A computer-readable medium having stored thereon computer executable instructions for performing the steps comprising:
-
receiving information at a port controller in a first protocol from a first node machine; communicating the information from the port controller to a switch fabric; communicating the information from the switch fabric to a switch device driver within an operating system; communicating the information from the switch device driver to a Forwarding Database Distribution Library (FDDL); communicating the information from the FDDL to a first protocol client; receiving additional information at a port controller in a second protocol from a first node machine; communicating the additional information from the port controller to a switch fabric; communicating the additional information from the switch fabric to a switch device driver within an operating system; communicating the additional information from the switch device driver to a Forwarding Database Distribution Library (FDDL); communicating the additional information from the FDDL to a second protocol client; receiving the information from the switch device driver at an FDDL base within the FDDL; passing the information from the FDDL base to a first protocol FDDL tower within the FDDL; and sending the information from the first protocol FDDL tower to the first protocol client.
-
-
11. A network system comprising:
-
a network switch comprising a CPU, a memory system having circuitry to attach to the CPU, a switch fabric system having circuitry to attach to the CPU a port controller having circuitry to attach to the switch fabric system, a software application to execute on the CPU, a Forwarding Database Distribution Library (FDDL) system operable to execute on the CPU, and a switch device driver to execute on the CPU, wherein the software application is to communicate with the FDDL system, the FDDL system is to communicate with the switch device driver, and the switch device driver is to communicate with the switch fabric; a backbone; a workstation; and a second software application to execute on the CPU, wherein the second software application communicates with the FDDL system; wherein the workstation is logically connected to the backbone, wherein the backbone is logically connected to the port controller of the network switch; and wherein the FDDL system comprises; a base FDDL system; a software application tower FDDL system; and a second software application tower FDDL system wherein the base FDDL system communicates with the switch device driver, the software application communicates with the software application tower FDDL system, the second software application communicates with the second software application tower FDDL system, and the base FDDL system communicates with the software application tower FDDL system and the second software application tower FDDL system.
-
-
12. A network system comprising:
-
a network switch comprising a CPU, a memory system having circuitry to attach to the CPU, a switch fabric system having circuitry to attach to the CPU a port controller having circuitry to attach to the switch fabric system, a software application to execute on the CPU, a Forwarding Database Distribution Library (FDDL) system to execute on the CPU, and a switch device driver to execute on the CPU, wherein the software application is to communicate with the FDDL system, the FDDL system is to communicate with the switch device driver, and the switch device driver is to communicate with the switch fabric; a backbone; a workstation, an independent software application to execute on the CPU; an independent software application shim to execute on the CPU; wherein the workstation is logically connected to the backbone, wherein the backbone is logically connected to the port controller of the network switch; wherein the independent software application communicates with the independent software application shim and the independent software application shim communicates with the switch device driver; and wherein the FDDL system comprises; a base FDDL system; a software application tower FDDL system; and a second software application tower FDDL system wherein the base FDDL system communicates with the switch device driver, the software application communicates with the software application tower FDDL system, the second software application communicates with the second software application tower FDDL system, and the base FDDL system communicates with the software application tower FDDL system and the second software application tower FDDL system.
-
Specification