Method and system for service switching using service tags
First Claim
1. A non-transitory machine readable medium storing a program for specifying a service to perform on a received packet, the program for execution by at least one hardware processing unit, the program comprising sets of instructions for:
- identifying a source client and a requested service associated with the received packet;
generating a service tag that identifies the source client and the requested service;
storing the service tag in an encapsulation header, and using the encapsulation header with the stored service tag to encapsulate the packet; and
forwarding the encapsulated packet to a service switching gateway that extracts the service tag from the encapsulation header and directs the packet to a service machine by using the extracted service tag to identify the service machine from a mapping structure that maps different service tags to different service machines.
0 Assignments
0 Petitions
Accused Products
Abstract
The disclosure herein describes a system, which provides service switching in a datacenter environment. The system can include a service switching gateway, which can identify a service tag associated with a received packet. During operation, the service switching gateway determines a source client, a requested service, or both for the packet based on the service tag, identifies a corresponding service portal based on the service tag, and forwards the packet toward the service portal. The service switching gateway can optionally maintain a mapping between the service tag and one or more of: a source client, a required service, the service portal, and a tunnel encapsulation. The service switching gateway can encapsulate the packet based on an encapsulation mechanism supported by the service portal and forward the packet based on the mapping.
-
Citations
18 Claims
-
1. A non-transitory machine readable medium storing a program for specifying a service to perform on a received packet, the program for execution by at least one hardware processing unit, the program comprising sets of instructions for:
-
identifying a source client and a requested service associated with the received packet; generating a service tag that identifies the source client and the requested service; storing the service tag in an encapsulation header, and using the encapsulation header with the stored service tag to encapsulate the packet; and forwarding the encapsulated packet to a service switching gateway that extracts the service tag from the encapsulation header and directs the packet to a service machine by using the extracted service tag to identify the service machine from a mapping structure that maps different service tags to different service machines. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory machine readable medium storing a service-switching program for directing a packet to a service machine to perform a service on the packet, the program for execution by at least one hardware processing unit, the program comprising sets of instructions for:
-
receiving an encapsulated packet comprising an encapsulation header that includes a service tag that identifies (i) a source identifier identifying a source machine for the packet and (ii) a service identifier identifying the requested service; extracting, from the encapsulated packet, the service tag; from a plurality of service policies, selecting a particular service policy by using a mapping structure that maps service tags to service policies to select the particular service policy associated with the extracted service tag; using the selected service policy to select a particular service machine to perform a service operation on the packet; and forwarding the packet to the selected particular service machine. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory machine readable medium storing a service-switching program for directing a packet to a service machine to perform a service on the packet, the program for execution by at least one hardware processing unit, the program comprising sets of instructions for:
-
receiving an encapsulated packet comprising an encapsulation header that includes a source identifier identifying a source machine for the packet and a service identifier identifying the requested service; extracting, from the encapsulated packet, the source and service identifiers; from a plurality of service policies, selecting a particular service policy based on the extracted source and service identifiers, said selected service policy specifying a particular forwarding operation to perform; and based on the particular forwarding operation, forwarding the packet to a service machine, wherein at least two different service policies for two different source clients specify the same forwarding operation, and at least two different service policies for two other different source clients specify different forwarding operations. - View Dependent Claims (17, 18)
-
Specification