Cloud Service Providers (CSPs) provide a scalable multi-tenant cloud infrastructure. To implement the multi-tenant cloud infrastructure CSPs have need to deliver layer 2 and layer 3 network services or functions, e.g., firewalls, load balancers, network accelerators, etc. Network services may be daisy-chained, thereby forming a service chain. Service chains define a set of layer 2 and layer 3 service functions and their order, e.g., service1->to->service2, to be applied to selective packets as they are forwarded through a network. The order in which services are applied is predetermined through an orchestration function and that order is mapped into each network node that is involved in the forwarding of packets through a given service chain. The mapping of forwarding state-to-service chain structure is referred to as a service path. The service path for a given service chain may be unidirectional or bidirectional dependent on whether one or more of the service functions in the chain hold state information that needs to be maintained in the forward and reverse packet forwarding paths.