| CPC H04L 45/74 (2013.01) [H04L 45/66 (2013.01)] | 18 Claims |

|
1. A method for applying network functions to a packet, comprising:
receiving a packet via a network interface port of a network switch, wherein the packet is directed to a destination node other than the network switch;
tunneling, by the network switch, the packet to a service insertion point controlled by a network controller, wherein the packet includes identification information and a host identifier;
storing in a memory cache of a network controller, a first look-up table comprising a collection of service identifiers;
determining, by the service insertion point, a service identifier by mapping the identification information of the packet to the service identifier within the look-up table;
adding, by the service insertion point, the service identifier to the packet;
forwarding, by the service insertion point, the packet with the service identifier to a service block;
storing in the cache of the network controller, a second look-up table having a key comprising the host identifier and the service identifier;
determining, by the service block, based on the host identifier and the service identifier, one or more network functions to apply to the packet;
applying, by the service block, the one or more network functions to the packet; and
forwarding, by the service block, the packet with the network function to the destination node.
|