US 12,218,839 B1
Service function chaining with session-based routing
Abilash Menon, Boxborough, MA (US); Scott Peter Inguagiato, Port Washington, NY (US); and Anna Yungelson, Lexington, MA (US)
Assigned to Juniper Networks, Inc., Sunnyvale, CA (US)
Filed by Juniper Networks, Inc., Sunnyvale, CA (US)
Filed on Aug. 31, 2023, as Appl. No. 18/240,714.
Application 18/240,714 is a continuation of application No. 17/453,149, filed on Nov. 1, 2021, abandoned.
Int. Cl. H04L 45/745 (2022.01); H04L 12/46 (2006.01); H04L 45/00 (2022.01); H04L 45/42 (2022.01); H04L 101/622 (2022.01)
CPC H04L 45/745 (2013.01) [H04L 12/4641 (2013.01); H04L 45/38 (2013.01); H04L 45/42 (2013.01); H04L 2101/622 (2022.05)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
receiving, by a network system, a first Layer-3 (L3) packet of a forward packet flow from a network service instance of a plurality of network service instances, the first L3 packet specifying a Media Access Control (MAC) address of the network service instance as a source MAC address, wherein the network system is within a first subnet and the plurality of network service instances are within a second subnet logically isolated from the first subnet;
based on receiving the first L3 packet, defining, by the network system, a session entry for a session between a first client device and a second client device, the session entry specifying first address information for the first client device, second address information for the second client device, and the MAC address of the network service instance specified by the first L3 packet, wherein the session includes the forward packet flow and a reverse packet flow, the forward packet flow originating from the first client device and destined for the second client device and a reverse packet flow originating from the second client device and destined for the first client device;
determining, by the network system, that a second L3 packet, received from the second client device and destined for the first client device, is associated with the reverse packet flow of the session;
selecting, by the network system and based at least in part on the MAC address of the network service instance specified by the session entry for the session that includes the reverse packet flow with which the second L3 packet is determined to be associated, the network service instance from among the plurality of network service instances; and
forwarding, by the network system, the second L3 packet to the selected network service instance using the MAC address of the selected network service instance.