Patent ID: 6975628

Claim:
A method comprising: selecting one or more software stage objects from an object-oriented programming model wherein the software stage objects encapsulate and represent functionality performed by underlying hardware to process a packet, the software stage objects including: one or more link stage objects to define a physical interface and packet framing, one or more classifier stage objects to direct filtering and matching algorithms on packets, one or more packet flow stage objects to direct packet flow policy, a scatter stage object to direct packet routing to scatterer object outputs, a gather stage object to direct packet collecting and routing scattered packets, an editor stage object to direct packet modification, and a monitor stage object to direct gathering of statistical information regarding packets and packet flows; programming the one or more selected software stage objects to perform a desired packet processing functionality; and connecting the one or more programmed software stage objects to form a directed graph of packet flow to complete definition of the desired packet processing functionality, such that underlying hardware is directed to process packets in accordance with the desired packet processing functionality.