IP Library Granted Patent US 12,470,474
Granted Patent B2
US 12,470,474 · App. 17/809,452 · Granted Nov 11, 2025

Extending switch fabric processing to network interface cards

Inventors: Raja Kommula (Cupertino, CA); Yuvaraja Mariappan (San Jose, CA); Thayumanavan Sridhar (Sunnyvale, CA); Raj Yavatkar (Los Gatos, CA); Dilip Sundarraj (San Mateo, CA); Vikram Singh (San Jose, CA)
Assignee: Juniper Networks, Inc.
H04L45/124H04L12/4633H04L45/02H04L45/20H04L45/302H04L45/34H04L45/42H04L47/781H04L47/822H04L49/30H04L69/08H04L69/22H04L2212/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,470,474
App. No.
17/809,452
Granted
Nov 11, 2025
Kind
B2
Abstract

An example system comprises a plurality of servers comprising respective network interface cards (NICs) connected by physical links in a physical topology, wherein each NIC of the plurality of NICs comprises an embedded switch and a processing unit coupled to the embedded switch; and an edge services controller configured to program the processing unit of a network interface card of the plurality of network interface cards to: receive, at a first network interface of the NIC, a data packet from a physical device; based on the data packet being received at the first network interface, modify the data packet to generate a modified data packet; and output the modified data packet to the physical device via a second network interface of the NIC.

Claims (49)

1 . A system comprising:

a plurality of servers comprising respective network interface cards (NICs) connected by physical links in a physical topology, wherein each NIC of the plurality of NICs comprises an embedded switch and a processing unit coupled to the embedded switch; and

an edge services controller configured to program the processing unit of a NIC of the plurality of NICs to:

receive, at a first network interface of the NIC coupled to a first physical link to a physical network device, a data packet from the physical network device;

based on the data packet being received at the first network interface, modify the data packet to generate a modified data packet according to a protocol not supported by the physical network device; and

output the modified data packet to the physical network device via a second network interface of the NIC, wherein the second network interface is coupled to a second physical link to the physical network device.

2 . The system of claim 1 , wherein the edge services controller is configured to program the processing unit of the NIC to, as part of modifying the data packet to generate the modified data packet, modify a segment routing header of the data packet to include a modified segment routing header.

3 . The system of claim 1 , wherein:

the protocol is a first protocol,

the processing unit of the NIC is programmed to, as part of modifying the data packet to generate the modified data packet, encapsulate the data packet for transmission according to the first protocol, or

the data packet is encapsulated for transmission according to the first protocol and the processing unit of the NIC is programmed to, as part of modifying the data packet to generate the modified data packet, decapsulate the data packet for transmission according to a second protocol.

4 . The system of claim 3 , wherein the physical network device is not equipped for decapsulating data packets encapsulated for transmission according to the first protocol.

5 . The system of claim 1 , wherein:

the data packet is a Segment Routing (SR) packet encapsulated according to a Compressed Routing Header (CRH) protocol, and

the processing unit of the NIC is programmed to, as part of modifying the data packet to generate the modified data packet, modify the data packet to be a SR packet with a destination IP address set to a new waypoint.

6 . The system of claim 1 ,

wherein the physical network device comprises at least one of a network switch, network router, firewall, load balancer, network address translation device, or physical network function.

7 . A network interface card comprising:

a first network interface coupled to a first physical link to a physical network device;

a second network interface coupled to a second physical link to the physical network device;

an embedded switch; and

a processing unit coupled to the embedded switch, wherein the processing unit is configured to:

receive, at the first network interface, a data packet from the physical network device;

based on the data packet being received at the first network interface, modify the data packet to generate a modified data packet according to a protocol not supported by the physical network device; and

output the modified data packet to the physical network device via the second network interface.

8 . The network interface card of claim 7 , wherein the processing unit is configured to, as part of modifying the data packet, modify a segment routing header of the data packet to generate the modified data packet with a modified segment routing header.

9 . The network interface card of claim 7 , wherein:

the protocol is a first protocol,

the processing unit is configured to, as part of modifying the data packet to generate the modified data packet, encapsulate the data packet for transmission according to the first protocol, or

the data packet is encapsulated for transmission according to the first protocol and the processing unit is programmed to, as part of modifying the data packet to generate the modified data packet, decapsulate the data packet for transmission according to a second protocol.

10 . The network interface card of claim 7 , wherein:

the data packet is a Segment Routing (SR) packet encapsulated according to a Compressed Routing Header (CRH) protocol; and

the processing unit is configured to, as part of modifying the data packet to generate the modified data packet, modify the data packet to be a SR packet with a destination IP address set to a new waypoint.

11 . The network interface card of claim 7 ,

wherein the physical network device comprises at least one of a network switch, network router, firewall, load balancer, network address translation device, or physical network function.

12 . A physical network device comprising:

a physical network interface; and

a first processing unit configured to:

receive a data packet;

apply a flow filter that performs a first lookup to determine whether to send the data packet to a network interface card (NIC) for processing, wherein the NIC has a second processing unit coupled to an embedded switch;

based on the flow filter causing a determination to send the data packet to the NIC for processing, encapsulate the data packet to generate an encapsulated data packet and send the encapsulated data packet to the NIC via a first network interface of the physical network device coupled to a first physical link to a first network interface of the NIC;

receive an encapsulated modified data packet from the NIC via a second network interface of the physical network device coupled to a second physical link to a second network interface of the NIC;

decapsulate the encapsulated modified data packet to obtain a modified data packet that was modified by the NIC according to a protocol not supported by the physical network device; and

forward the modified data packet via the physical network interface.

13 . The physical network device of claim 12 , wherein the modified data packet has a modified segment routing header.

14 . The physical network device of claim 12 , wherein the modified data packet is encapsulated for transmission according to the protocol.

15 . The physical network device of claim 12 , wherein the first processing unit is configured to encapsulate the data packet with an outer header for a tunnel, wherein the tunnel is an Internet Protocol (IP)-IP tunnel.

16 . The physical network device of claim 12 , wherein the first processing unit is configured to, as part of encapsulating the data packet, generate an outer header of the data packet, wherein the first processing unit marks the outer header of the data packet to indicate the data packet for modification by the NIC.

17 . The physical network device of claim 12 , wherein the physical network device is a Top of Rack switch configured to provide at least one of layer 2 or layer 3 routing and/or switching functionality.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2025
From: YAVATKAR, RAJENDRA SHIVARAM
To: JUNIPER NETWORKS, INC.
Reel/Frame 072903/0212 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2022
From: KOMMULA, RAJA; MARIAPPAN, YUVARAJA; SRIDHAR, THAYUMANAVAN; YAVATKAR, RAJ; SUNDARRAJ, DILIP; SINGH, VIKRAM
To: JUNIPER NETWORKS, INC.
Reel/Frame 060340/0736 →
Priority Claims (1)
IN 202141029401 · Jun 30, 2021 · national
Continuity (1)
Related Publication 20230017692A1 · Jan 19, 2023
References Cited (44)
US 8750288B2 · Nakil · 2014 [cited by applicant]
US 9130867B2 · Karina · 2015 [cited by applicant]
US 9571394B1 · Sivaramakrishnan et al. · 2017 [cited by applicant]
US 9654396B2 · Kothari · 2017 [cited by applicant]
US 9973390B2 · Bhatia · 2018 [cited by applicant]
US 10484265B2 · Wu · 2019 [cited by applicant]
US 10560431B1 · Chen · 2020 [cited by applicant]
US 10756967B2 · Kommula · 2020 [cited by applicant]
US 10997106B1 · Bandaru et al. · 2021 [cited by applicant]
US 11588757B2 · Arad · 2023 [cited by applicant]
US 20070070937A1 · Demirhan et al. · 2007 [cited by applicant]
US 20110085568A1 · Gnanasekaran · 2011 [cited by applicant]
US 20120170477A1 · Hieda · 2012 [cited by applicant]
US 20130242718A1 · Zhang · 2013 [cited by applicant]
US 20130332602A1 · Nakil · 2013 [cited by applicant]
US 20140098673A1 · Lee · 2014 [cited by applicant]
US 20150029848A1 · Jain · 2015 [cited by applicant]
US 20150244617A1 · Nakil · 2015 [cited by applicant]
US 20150277953A1 · Xu · 2015 [cited by applicant]
US 20160330080A1 · Bhatia · 2016 [cited by applicant]
US 20160378401A1 · Savic · 2016 [cited by examiner]
US 20170048154A1 · Fung · 2017 [cited by examiner]
US 20170324645A1 · Johnsen · 2017 [cited by applicant]
US 20180052702A1 · Kaplan et al. · 2018 [cited by applicant]
US 20180109471A1 · Chang · 2018 [cited by examiner]
US 20200007383A1 · Efraim · 2020 [cited by applicant]
US 20200278892A1 · Nainar · 2020 [cited by examiner]
US 20200328989A1 · Lambeth · 2020 [cited by applicant]
US 20220217094A1 · Hewson et al. · 2022 [cited by applicant]
US 20220232073A1 · Kuttuva Jeyaram · 2022 [cited by applicant]
US 20220255857A1 · Li · 2022 [cited by examiner]
US 20230171178A1 · Gamage et al. · 2023 [cited by applicant]
EP 3716533A1 · 2020 [cited by applicant]
WO 2013184846A1 · 2013 [cited by applicant]
WO 2016210017A1 · 2016 [cited by applicant]
WO 2021206864A1 · 2021 [cited by applicant]
International Search Report and Written Opinion of International Application No. PCT/US2022/073295 dated Dec. 1, 2022, 22 pp. [cited by applicant]
International Preliminary Report on Patentability from International Application No. PCT/US2022/073295 dated Jan. 11, 2024, 16 pp. [cited by applicant]
Le et al., “UNO : uniflying host and smart NIC offload for flexible packet processing”, Proceedings of the 2017 Symposium on Cloud Computing, SOCC '17, Sep. 27, 2017, pp. 506-519. [cited by applicant]
Liu et al., “E3: Energy-Efficient Microservices on SmartNIC-Accelerated Servers”, USENIX, The Advanced Computing Systems Association, Jul. 10, 2019, pp. 1-17. [cited by applicant]
Invitation to Pay Additional Fees and, Where Applicable, Protest Fee from International Application No. PCT/US2022/073295 dated Oct. 10, 2022, 13 pp. [cited by applicant]
Response to Communication Pursuant to Rules 161(1) and 162 EPC dated Oct. 6, 2023, from counterpart European Application No. 22755371.6, filed Apr. 2, 2024, 44 pp. [cited by applicant]
Yavatkar, “Extending the Edge of the Network with Juniper Edge Services Platform (JESP)”, (https://blogs.juniper.net/en-us/engineering-simplicity/extending-the-edge-of-the-network-with-juniper-edge-services-platform-jes… [cited by applicant]
U.S. Appl. No. 17/806,865, filed Jun. 14, 2022 naming inventors Kommula et al. [cited by applicant]
Cited By (1)
US 12,701,072