IP Library Granted Patent US 8,635,352
Granted Patent B2
US 8,635,352 · App. 13/032,118 · Granted Jan 21, 2014

System and method for symmetric receive-side scaling (RSS)

Inventor: Oren Shemesh (Moshav Moledet, IL)
Assignee: Qwilt, Inc.
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 8,635,352
App. No.
13/032,118
Granted
Jan 21, 2014
Kind
B2
Abstract

A method for symmetric receive-side scaling (RSS) in a network device having an ingress side RRS router and an egress side RSS router and a plurality of queues for handling packets. The method comprises identifying an internet protocol (IP) version being used for the network. The transport layer headers (TLHs) existence status is identified. A secret key by each of the egress side RSS router and the ingress side RSS router is identified. The key is based on the identification of the IP version and the TLHs existence status. The secret key ensures that packets sent from a source to a destination and packets sent from the destination to the source are routed by the egress side RSS router and the ingress side RSS router to a common queue among the plurality of queues. The secret key is stored at a storage in the network device. The secret key is used by the ingress side RSS router and the egress side RSS router for routing packets.

Claims (23)

1. A method for symmetric receive-side scaling (RSS) in a network device having an ingress side RRS router and an egress side RSS router and a plurality of queues for handling packets, the method comprising:

identifying an internet protocol (IP) version being used for the network, wherein the IP versions is IPv4 or IPv6;

identifying transport layer headers (TLHs) existence status, wherein the TLHs existence status is one of existent and nonexistent;

generating a secret key by each of the egress side RSS router and the ingress side RSS router, the key being based on the identification of the IP version and the TLHs existence status, the secret key ensuring that packets sent from a source to a destination and packets sent from the destination to the source are routed by the egress side RSS router and the ingress side RSS router to a common queue among the plurality of queues, wherein the secret key is generated based on a seed, and wherein generation of the secret key further comprises: for a case of IPv4 and nonexistent status of the TLHs choosing the seed to be a random 32-bit number and repeating it four times thereby creating a 128-bit secret key; for a case of IPv4 and existent status of the TLHs choosing the seed to be a random 16-bit number and repeating it eight times thereby creating a 128-bit secret key; for a case of IPv6 and nonexistent status of the TLHs by choosing the seed to be a random 32-bit number and repeating it ten times thereby creating a 320-bit secret key; and, for a case of IPv6 and existent status of the TLHs choosing the seed to be a random 16-bit number and repeating it twenty times thereby creating a 320-bit secret key; and

storing the secret key at a storage in the network device, the secret key being used by the ingress side RSS router and the egress side RSS router for routing packets.

2. The method of claim 1 , further comprising:

initializing the network device periodically by generation of a new seed.

3. The method of claim 1 , wherein the TLHs correspond to at least one of: transport control protocol (TCP), User Datagram Protocol (UDP).

4. An apparatus operative as a symmetric receive-side scaling (RSS) network device, the apparatus comprising:

a plurality of queues for handling network packets;

an ingress RSS router connected to the plurality of queues, the ingress RSS router routing packets to a queue from the plurality of queues using a secret key;

an egress RSS router connected to the plurality of queues, the egress RSS router routing packets to a queue from the plurality of queues using the secret key; and

a generator that generates the secret key based on identification of an internet protocol (IP) version, wherein the IP version is IPv4 or IPv6, and existence status of transport layer headers (TLHs), wherein the TLHs existence status is one of: existent, nonexistent, the secret key ensuring that packets sent from a source to a destination and packets sent from the destination to the source are routed by the egress side RSS router and the ingress side RSS router to a common queue from the plurality of queues, wherein the secret key is generated based on a seed and wherein the secret key comprises: a random 32-bit number as the seed that is repeated four times to create a 128-bit secret key for a case of IPv4 and nonexistent status of the TLHs; a random 16-bit number as the seed that is repeated eight times to create a 128-bit secret key for a case of IPv4 and existent status of the TLHs; a random 32-bit number as the seed that is repeated ten times to create a 320-bit secret key for a case of IPv6 and nonexistent status of the TLHs; and, a random 16-bit number as the seed that is repeated twenty times to create a 320-bit secret key for a case of IPv6 and existent status of the TLHs.

5. The apparatus of claim 4 , wherein the network device is initialized periodically to generate a new seed.

6. The apparatus of claim 4 , wherein the TLHs correspond to at least one of: transport control protocol (TCP), User Datagram Protocol (UDP).

7. A computer software product embodied in a tangible and non-transitory medium readable by a computing device that contains a series of instructions that when executed by the computing device executes a method for symmetric receive-side scaling (RSS) in a network device having an ingress side RRS router and an egress side RSS router and a plurality of queues for handling packets, the method comprising:

identifying an internet protocol (IP) version, wherein the IP versions is IPv4 or IPv6;

identifying transport layer headers (TLHs) existence status, wherein the TLHs existence status is one of: existent, nonexistent;

generating a secret key by each of the egress side RSS router and the ingress side RSS router, the key being based on the identification of the IP version and the TLHs existence status, the secret key ensuring that packets sent from a source to a destination and packets sent from the destination to the source are routed by the egress side RSS router and the ingress side RSS router to a common queue among the plurality of queues, wherein the secret key is generated responsive of a seed, and wherein the generation of the secret key comprises: a random 32-bit number as the seed that is repeated four times to create a 128-bit secret key for a case of IPv4 and nonexistent status of the TLHs; a random 16-bit number as the seed that is repeated eight times to create a 128-bit secret key for a case of IPv4 and existent status of the TLHs; a random 32-bit number as the seed that is repeated ten times to create a 320-bit secret key for a case of IPv6 and nonexistent status of the TLHs; and, a random 16-bit number as the seed that is repeated twenty times to create a 320-bit secret key for a case of IPv6 and existent status of the TLHs; and

storing the secret key at a storage in the network device, the secret key being used by the ingress side RSS router and the egress side RSS router for routing packets.

8. The computer software product of claim 7 , further comprising:

initializing periodically the network device by generation of a new seed.

9. The computer software product of claim 7 , wherein the TLHs correspond to at least one of: transport control protocol (TCP), User Datagram Protocol (UDP).

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Feb 12, 2026
From: FIRST-CITIZENS BANK & TRUST COMPANY
To: QWILT INC.
Reel/Frame 073767/0701 →
RELEASE OF SECURITY INTEREST Recorded Feb 12, 2026
From: FIRST-CITIZENS BANK & TRUST COMPANY
To: QWILT INC.
Reel/Frame 073768/0499 →
SECURITY INTEREST Recorded Jul 28, 2022
From: QWILT INC.
To: SILICON VALLEY BANK
Reel/Frame 060660/0219 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Apr 4, 2019
From: QWILT INC.
To: SILICON VALLEY BANK
Reel/Frame 048791/0554 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2011
From: SHEMESH, OREN
To: QWILT, INC.
Reel/Frame 025879/0781 →
Continuity (1)
Related Publication 20120215932A1 · Aug 23, 2012