Cascading multiple services on a forwarding agent
First Claim
1. A method of providing a plurality of network services comprising:
- receiving at a forwarding agent a plurality of matching instructions corresponding to a specified flow from one or more service managers;
storing the plurality of matching instructions on the forwarding agent having a forwarding agent network interface;
receiving a packet for the specified flow at the forwarding agent on the forwarding agent network interface;
determining a highest service priority matching instruction stored on the forwarding agent;
processing the packet according to the highest priority matching instruction;
determining a next highest service priority matching instruction stored on the forwarding agent; and
processing the packet according to the next highest service priority matching instruction.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method are disclosed for providing a plurality of network services. The method includes receiving at a forwarding agent a plurality of matching instructions corresponding to a specified flow from one or more service managers and storing the plurality of matching instructions on the forwarding agent having a forwarding agent network interface. A packet for the specified flow at the forwarding agent is received on the forwarding agent network interface. A highest service priority matching instruction stored on the forwarding agent is determined. The packet is processed according to the highest priority matching instruction. A next highest service priority matching instruction stored on the forwarding agent is determined and the packet is processed according to the next highest service priority matching instruction.
-
Citations
35 Claims
-
1. A method of providing a plurality of network services comprising:
-
receiving at a forwarding agent a plurality of matching instructions corresponding to a specified flow from one or more service managers;
storing the plurality of matching instructions on the forwarding agent having a forwarding agent network interface;
receiving a packet for the specified flow at the forwarding agent on the forwarding agent network interface;
determining a highest service priority matching instruction stored on the forwarding agent;
processing the packet according to the highest priority matching instruction;
determining a next highest service priority matching instruction stored on the forwarding agent; and
processing the packet according to the next highest service priority matching instruction. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A forwarding agent comprising:
-
an instruction receiving interface configured to receive a plurality of matching instructions corresponding to a specified flow from one or more service managers;
a memory configured to store the plurality of matching instructions on the forwarding agent having a forwarding agent network interface;
a packet receiving interface configured to receive a packet for the specified flow at the forwarding agent;
a processor configured to determine a highest service priority matching instruction stored on the forwarding agent and to process the packet according to the highest priority matching instruction and to determine a next highest service priority matching instruction stored on the forwarding agent and to process the packet according to the next highest service priority matching instruction.
-
-
8. A method of providing a plurality of network services comprising:
-
receiving at a forwarding agent a plurality of matching instructions corresponding to a specified flow from one or more service managers;
storing the plurality of matching instructions on the forwarding agent having a service manager interface;
receiving a packet for the specified flow at the forwarding agent on the service manager interface wherein the packet is encapsulated along with a service priority identifier, the service priority identifier specifies a next service priority for a stage of packet processing to be executed by the forwarding agent;
determining a matching instruction that corresponds to an eligible service priority wherein the eligible service priority is the same level as or a lower level than the next service priority; and
processing the packet according to the matching instruction that corresponds to the eligible service priority. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of providing a plurality of network services comprising:
-
receiving at a forwarding agent a plurality of matching instructions corresponding to a specified flow from one or more service managers;
storing the plurality of matching instructions on the forwarding agent having a forwarding agent network interface;
receiving a packet for the specified flow at the forwarding agent;
retrieving a first service priority matching instruction stored on the forwarding agent wherein the first service priority matching instruction stored on the forwarding agent specifies that the packet is to be sent from the forwarding agent over the forwarding agent network interface;
retrieving a second service priority matching instruction stored on the forwarding agent wherein the second service priority matching instruction stored on the forwarding has a lower priority than the first service priority matching instruction stored on the forwarding agent;
noting that the second service priority matching instruction stored on the forwarding agent has been preempted by the first service priority matching instruction stored on the forwarding agent. - View Dependent Claims (17, 18)
-
-
19. A computer program product for providing a plurality of network services, the computer program product being embodied in a computer readable medium and comprising computer instructions for:
-
receiving at a forwarding agent a plurality of matching instructions corresponding to a specified flow from one or more service managers;
storing the plurality of matching instructions on the forwarding agent having a forwarding agent network interface;
receiving a packet for the specified flow at the forwarding agent on the forwarding agent network interface;
determining a highest service priority matching instruction stored on the forwarding agent;
processing the packet according to the highest priority matching instruction;
determining a next highest service priority matching instruction stored on the forwarding agent; and
processing the packet according to the next highest service priority matching instruction. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. A computer program product for providing a plurality of network services, the computer program product being embodied in a computer readable medium and comprising computer instructions for:
-
receiving at a forwarding agent a plurality of matching instructions corresponding to a specified flow from one or more service managers;
storing the plurality of matching instructions on the forwarding agent having a service manager interface;
receiving a packet for the specified flow at the forwarding agent on the service manager interface wherein the packet is encapsulated along with a service priority identifier, the service priority identifier specifies a next service priority for a stage of packet processing to be executed by the forwarding agent;
determining a matching instruction that corresponds to an eligible service priority wherein the eligible service priority is the same level as or a lower level than the next service priority; and
processing the packet according to the matching instruction that corresponds to the eligible service priority. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
-
33. A computer program product for providing a plurality of network services, the computer program product being embodied in a computer readable medium and comprising computer instructions for:
-
receiving at a forwarding agent a plurality of matching instructions corresponding to a specified flow from one or more service managers;
storing the plurality of matching instructions on the forwarding agent having a forwarding agent network interface;
receiving a packet for the specified flow at the forwarding agent;
retrieving a first service priority matching instruction stored on the forwarding agent wherein the first service priority matching instruction stored on the forwarding agent specifies that the packet is to be sent from the forwarding agent over the forwarding agent network interface;
retrieving a second service priority matching instruction stored on the forwarding agent wherein the second service priority matching instruction stored on the forwarding has a lower priority than the first service priority matching instruction stored on the forwarding agent;
noting that the second service priority matching instruction stored on the forwarding agent has been preempted by the first service priority matching instruction stored on the forwarding agent. - View Dependent Claims (34, 35)
-
Specification