US 12,463,899 B2
Systems and methods for tunneling network traffic to apply network functions
Arivudainambi Appachi Gounder, Cupertino, CA (US); Bolei Fu, San Jose, CA (US); Stephen Stuart, Los Altos Hills, CA (US); and Zhiwei Cen, San Jose, CA (US)
Assigned to Google LLC, Mountain View, CA (US)
Filed by Google LLC, Mountain View, CA (US)
Filed on Dec. 16, 2021, as Appl. No. 17/552,574.
Claims priority of provisional application 63/282,371, filed on Nov. 23, 2021.
Prior Publication US 2023/0164073 A1, May 25, 2023
Int. Cl. H04L 12/66 (2006.01); H04L 45/00 (2022.01); H04L 45/74 (2022.01)
CPC H04L 45/74 (2013.01) [H04L 45/66 (2013.01)] 18 Claims
OG exemplary drawing
 
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.