IP Library Granted Patent US 9,813,342
Granted Patent B2
US 9,813,342 · App. 14/542,528 · Granted Nov 7, 2017

Method and system for improved load balancing of received network traffic

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,813,342
App. No.
14/542,528
Granted
Nov 7, 2017
Kind
B2
Abstract

A method and a system embodying the method for load balancing of a received a packet based network traffic, comprising: receiving a packet at a software defined network switch; determining information pertaining to uniqueness of a packet flow for the received packet; providing the determined information and the received packet to a network interface controller; and processing the received packet at the network interface controller in accordance with the provided determined information, are disclosed.

Claims (53)

1. A method for load balancing of a received packet based network traffic, comprising:

receiving a packet at a network interface;

determining a physical port identifier in accordance with a physical port receiving the packet;

providing the packet and the determined physical port identifier to a software defined network switch;

determining information pertaining to uniqueness of a packet flow for the received packet by parsing at least one layer of the packet in accordance with rules of the software defined network switch and determining a tag from the at least one parsed layer in accordance with the rules;

determining that the received packet comprises a non-standard packet structure upon the physical port identifier identifying one of a first set of physical ports;

providing the tag together with the received packet to a network interface controller when the received packet comprises the non-standard packet structure;

providing at least the received packet to the network interface controller when the received packet comprises a standard packet structure upon the physical port identifier identifying one of a second set of physical ports; and

processing the received packet at the network interface controller in accordance with at least one of the provided tag and the packet structure; wherein the received packet comprising the standard packet structure is processed in accordance with a receive side scaling.

2. The method as claimed in claim 1 , wherein the processing the received packet at the network interface controller in accordance with at least one of the provided tag and the packet structure comprises:

determining a value of a first field in the tag; and

processing the received packet in accordance with the determined value.

3. The method as claimed in claim 2 , wherein the processing the received packet in accordance with the determined value comprises:

processing the received packet in accordance with a receive side scaling as indicated by the first field's determined value comprising a first value.

4. The method as claimed in claim 2 , wherein the processing the received packet in accordance with the determined value comprises:

modifying a receive side scaling as indicated by the first field comprising other than a first value.

5. The method as claimed in claim 4 , wherein the modifying a receive side scaling as indicated by the first field comprising other than a first value comprises:

determining a value of a second field in the tag as indicated by the first field comprising a second value; and

mapping the packet to a received queue indicated by the determined value of the second field.

6. The method as claimed in claim 4 , wherein the modifying a receive side scaling as indicated by the first field comprising other than a first value comprises:

determining a value of a second field in the provided tag as indicated by the first field comprising a third value; and

using the determined value of the second field of the tag as a pointer into a packet format lookup table of the receive side scaling.

7. The method as claimed in claim 6 , further comprising:

determining a value of a third field in the tag as indicated by the first field comprising the third value; and

combining an indirection index generated by the receive side scaling with the determined value of the third field.

8. An apparatus for load balancing of a received packet based network traffic, comprising:

a network interface configured to:

receive a packet;

determine a physical port identifier in accordance with a physical port receiving the packet; and

provide the packet and the determined physical port identifier to a software defined network switch communicatively coupled to the network interface; and

a network interface controller communicatively coupled to the software defined network switch; wherein the software defined network switch is configured to:

receive the packet and the determined physical port identifier;

determine information pertaining to uniqueness of a packet flow for the received packet by parsing at least one layer of the packet in accordance with rules of the software defined network switch and determining a tag from the at least one parsed layer in accordance with the rules;

determine that the received packet comprises a non-standard packet structure upon the physical port identifier identifying one of a first set of physical ports;

provide the tag together with the received packet to the network interface controller when the received packet comprises the non-standard packet structure; and

provide at least the received packet to the network interface controller when the received packet comprises a standard packet structure upon the physical port identifier identifying one of a second set of physical ports; and

the network interface controller is configured to process the received packet in accordance with at least one of the provided tag and the packet structure; wherein the received packet comprising the standard packet structure is processed in accordance with a receive side scaling.

9. The apparatus as claimed in claim 8 , wherein the network interface controller processes the received packet in accordance with at least one of the provided tag and the packet structure by being configured to:

determine a value of a first field in the provided tag; and

process the received packet in accordance with the determined value.

10. The apparatus as claimed in claim 9 , wherein the network interface controller processes the received packet in accordance with the determined value by being configured to:

process the received packet in accordance with a receive side scaling as indicated by the first field's determined value comprising a first value.

11. The apparatus as claimed in claim 9 , wherein the network interface controller processes the received packet in accordance with the determined value by being configured to:

modify the receive side scaling as indicated by the first field comprising other than the first value.

12. The apparatus as claimed in claim 11 , wherein the network interface controller modifies the receive side scaling as indicated by the first field comprising other than the first value by being configured to:

determine a value of a second field in the tag as indicated by the first field comprising a second value; and

map the packet to a received queue indicated by the determined value of the second field.

13. The apparatus as claimed in claim 11 , wherein the network interface controller modifies the receive side scaling as indicated by the first field comprising other than the first value by being configured to:

determine a value of a second field in the provided tag as indicated by the first field comprising a third value; and

use the determined value of the second field of the tag as a pointer into a packet format lookup table of the receive side scaling.

14. The apparatus as claimed in claim 13 , wherein the network interface controller is further configured to:

determine a value of a third field in the tag as indicated by the first field comprising the third value; and

combine an indirection index generated by the receive side scaling with the determined value of the third field.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CHANGE OF NAME Recorded Dec 12, 2019
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 051260/0567 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
SECURITY AGREEMENT Recorded Aug 17, 2016
From: CAVIUM, INC.; CAVIUM NETWORKS LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 039715/0449 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2015
From: GYLLENHAMMER, CARL RICHARD; SNYDER, WILSON PARKHURST, II; ROMANOV, PHILIP
To: CAVIUM, INC.
Reel/Frame 035431/0275 →