Patent ID: 7765328

Claim:
A network device comprising: a set of compute elements internal to the network device, wherein the set of compute elements perform a set of network services on packet data, and wherein the set of compute elements are arranged in a processing pipeline to provide the set of network services; a forwarding table stored within the network device that defines a plurality of different routes through the compute elements of the network device, the routes defining different sets of one or more of the network services and specifying an order for applying the network services; a hardware switching fabric internal to the network device and coupling the compute elements to communicate the packet data between the compute elements; and a flow control element to receive a data packet, to identify the data packet as being associated with a subscriber of a data center, and to identify a subset of the network services that are associated with the identified subscriber, wherein, in response to receiving the data packet, the flow control element selects one of the routes based on the subset of network services identified as associated with the subscriber and attaches a route tag to the packet to identify the selected route, wherein the route tag causes the data packet to be forwarded within the network device to a first one of the compute elements in the processing pipeline and causes output from one of the compute elements in the processing pipeline to be forwarded to a next compute element in the processing pipeline along the selected route through the compute elements for performing the subset of the services associated with the identified subscriber.