IP Library Granted Patent US 9,749,251
Granted Patent B2
US 9,749,251 · App. 14/543,769 · Granted Aug 29, 2017

Method and system for processing packets in a network device

Inventors: Sunay Tripathi (Los Altos, CA); Robert James Drost (Los Altos, CA); Chih-Kong Ken Yang (Los Altos, CA)
Assignee: Pluribus Networks, Inc.
H04L47/35H04L12/4641H04L45/66H04L47/196
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 9,749,251
App. No.
14/543,769
Granted
Aug 29, 2017
Kind
B2
Abstract

Systems are presented for processing packets in a network switch. One network device includes a processor, an Ethernet switch, a PCIe switch, and a packet processor. The processor is for executing a controller program, and the Ethernet switch is for switching packets among a ports. Further, the PCIe switch is coupled to the processor and the Ethernet switch, and the packet processor, coupled to the Ethernet switch and the PCIe switch, is operable to modify an application header of an incoming packet and send the incoming packet to one of the ports. The controller program is operable to configure the Ethernet switch and the packet processor to define processing of packets. The controller program is operable to send a first configuration rule to the Ethernet switch, the first configuration rule defining that packets of a network flow requiring header modification be forwarded to the packet processor.

Claims (23)

1. A method comprising:

identifying a network flow of packets being switched thorough a network device, the network device including a processor for executing a controller program stored in a memory of the network device, an Ethernet switch for switching packets among a plurality of ports, a PCIe switch coupled to the processor and the Ethernet switch, and a packet processor coupled to the Ethernet switch and the PCIe switch, wherein the packet processor is operable to modify an application header of an incoming packet and send the incoming packet to one of the plurality of ports via the Ethernet switch;

determining by the controller whether the network flow requires modification of application headers in the packets of the network flow;

sending from the controller a first configuration rule to the Ethernet switch when the network flow requires modification of application headers, the first configuration rule defining that packets of the network flow be forwarded to the packet processor; and

sending from the controller a second configuration rule to the Ethernet switch when the network flow does not require modification of application headers, the second configuration rule defining that packets of the network flow be switched by the Ethernet switch.

2. The method as recited in claim 1 , further including:

sending a request from the packet processor to the controller program to define switching for a second network flow; and

sending a third configuration rule from the controller program to the Ethernet switch in response to the request from the packet processor.

3. The method as recited in claim 1 , further including:

creating a processing rule at the Ethernet switch in response to receiving the first configuration rule, wherein the processing rule is applied to incoming packets at the Ethernet switch.

4. The method as recited in claim 1 , wherein the network flow is one of a TCP flow or a UDP flow.

5. The method as recited in claim 1 , further including:

sending a packet from the Ethernet switch to the packet processor when the Ethernet switch detects congestion, wherein the packet processor processes the packet to offload the Ethernet switch during the congestion.

6. The method as recited in claim 1 , further including:

sending from the controller a fourth configuration rule to the packet processor to define that the packet processor switch the packets of the network flow associated with the first configuration rule.

7. A non-transitory computer-readable storage medium storing a computer program, the computer-readable storage medium comprising:

program instructions for identifying a network flow of packets being switched thorough a network device, the network device including a processor for executing a controller program stored in a memory of the network device, an Ethernet switch for switching packets among a plurality of ports, a PCIe switch coupled to the processor and the Ethernet switch, and a packet processor coupled to the Ethernet switch and the PCIe switch, wherein the packet processor is operable to modify an application header of an incoming packet and send the incoming packet to one of the plurality of ports via the Ethernet switch;

program instructions for determining by the controller whether the network flow requires modification of application headers in the packets of the network flow;

program instructions for sending from the controller a first configuration rule to the Ethernet switch when the network flow requires modification of application headers, the first configuration rule defining that packets of the network flow be forwarded to the packet processor; and

program instructions for sending from the controller a second configuration rule to the Ethernet switch when the network flow does not require modification of application headers, the second configuration rule defining that packets of the network flow be switched by the Ethernet switch.

8. The storage medium as recited in claim 7 , further including:

program instructions for sending from the controller a fifth configuration rule to the Ethernet switch defining that the Ethernet switch send a copy of packets in the network flow to the packet processor.

9. The storage medium as recited in claim 7 , wherein the first configuration rule further defines that packets of the network flow be redirected to a server coupled to the network switch.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2024
From: PLURIBUS NETWORKS, INC.
To: ARISTA NETWORKS, INC.
Reel/Frame 066347/0867 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2022
From: TRIPATHI, SUNAY; DROST, ROBERT JAMES; YANG, CHIH-KONG KEN
To: PLURIBUS NETWORKS, INC.
Reel/Frame 060774/0807 →
RELEASE OF SECURITY INTEREST Recorded Jun 14, 2022
From: NH EXPANSION CREDIT FUND HOLDINGS LP
To: PLURIBUS NETWORKS, INC.
Reel/Frame 060200/0252 →
SECURITY INTEREST Recorded Sep 10, 2021
From: PLURIBUS NETWORKS, INC.
To: NH EXPANSION CREDIT FUND HOLDINGS LP
Reel/Frame 057440/0011 →
Continuity (5)
Continuation 13478179 · May 23, 2012
Continuation 13313837 · Dec 7, 2011
Provisional Application 61489085 · May 23, 2011
Provisional Application 61420526 · Dec 7, 2010
Related Publication 20150071292A1 · Mar 12, 2015