1. Field of the Invention
The present invention generally relates to a method of providing lightweight inter process inband communication and, more particularly, to a method that allows for information exchange between blades in a network processing environment.
2. Background Description
Today=s methods of providing inter process communication among components in a distributed network processing environment typically involves two options:
It is therefore an object of the present invention to provide a lightweight, low cost solution that provides inter process communications (IPC) in a network processing environment.
According to the invention, there is provided a method of inter process communication (IPC) between processors in a network processing environment. The invention comprises software enabled functions that open and close inter process communication paths for transmitting and receiving of inter process communication frames and software enabled functions that allow said inter process communication frames to be transmitted to one or several processors in the network processing environment. The software has the capability of selecting either data or control path in said network processing environment to transmit or receive said inter process communication frames.
The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of a preferred embodiment of the invention with reference to the drawings, in which:
Referring now to the drawings, and more particularly to
The role of the NPTS 100 is to provide a transmit/receive function to applications which may be internal and external to the Network Processor Device Driver (NPPD) 101. Particularly, it entirely hides the nature of the underlying Physical Transport Services (PTS) 105. Also, it is the privileged interface to communicate with the Network Processor (NP) by handling the headers necessary to exchange various frame formats.
The PTS 105 is responsible for handling the transmission and the reception of frames on the actual media. It is defined so that it shows a consistent interface to the NPTS 100 regardless the hardware used to communicate to the media. The Application Program Interface (API) between the NPTS 100 and PTS 105 is made of two functions which are called synchronously from each of those two components. As shown in
The NPTS 100 supports the following frame formats and flows:
Provided here is sample code that embodies each of these functions. It should be obvious to those skilled in the art that these functions are just examples and can be structured in several ways to obtain the same result.
Two return codes are received after this function has been called: NP received successfully (NP received valid parameters) or NP did not receive successfully (NP received invalid parameters). The parameters in this function called are explained here:
Two return codes are received after this function has been called: NP received successfully (NP received valid parameters) or user entry was not found by NP (user was not registered). The parameters in this function called are explained here:
Two return codes are received after this function has been called: NP received successfully (NP received valid parameters) or NP did not receive successfully (NP received invalid parameters). The parameters in this function called are explained here:
Two return codes are received after this function has been called: NP received successfully (NP received valid parameters) or NP did not receive successfully (NP received invalid parameters). The parameters in this function called are explained here:
This invention enables information exchange between processors in a network processing environment without requiring an IP stack on each General Purpose Processor and not requiring additional overhead (i.e., external ethernet connection). By providing functions that enable inter process communication among processors, software enabled information exchange is possible through either data or control paths that physically exist in a NP. These functions not only enable processors in an network processing environment to communicate amongst each other, but they also enable the end user to decide which path to transmit information on (i.e., either data or control path). If bandwidth is crucial, the data path would be chosen. If high priority is crucial, the control path would be chosen.
The novel features of this invention are software based functions (APIs) that enable inter process communication between processors in a network processing environment.
While the invention has been described in terms of a single preferred embodiment, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims.
The present application is a continuation of U.S. patent application Ser. No. 11/214,860, filed on Aug. 31, 2005, which application is a continuation of parent U.S. patent application Ser. No. 09/544,314, filed on Apr. 6, 2000, now U.S. Pat. No. 6,996,823 issued Feb. 7, 2006, the disclosures of these applications are expressly incorporated by reference herein in their entireties.
Number | Name | Date | Kind |
---|---|---|---|
5579371 | Aridas et al. | Nov 1996 | A |
5644719 | Aridas et al. | Jul 1997 | A |
5802278 | Isfeld et al. | Sep 1998 | A |
5878225 | Bilansky et al. | Mar 1999 | A |
6233619 | Narisi et al. | May 2001 | B1 |
6795446 | Matsumoto et al. | Sep 2004 | B2 |
6996823 | Basso et al. | Feb 2006 | B1 |
7461379 | Basso et al. | Dec 2008 | B2 |
Number | Date | Country | |
---|---|---|---|
20090070778 A1 | Mar 2009 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11214860 | Aug 2005 | US |
Child | 12233956 | US | |
Parent | 09544314 | Apr 2000 | US |
Child | 11214860 | US |