IP Library Granted Patent US 12,095,889
Granted Patent B2
US 12,095,889 · App. 17/581,674 · Granted Sep 17, 2024

Processing queue assignment based on a flag in a Geneve header

Inventors: Yong Wang (San Jose, CA); Guolin Yang (San Jose, CA); Eduard Serra Miralles (Redwood City, CA); Dexiang Wang (Sunnyvale, CA); Qing Chang (San Ramon, CA)
Assignee: VMware LLC
H04L69/22H04L47/31H04L47/6235H04L47/78
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,095,889
App. No.
17/581,674
Granted
Sep 17, 2024
Kind
B2
Abstract

Described herein are systems, methods, and software to manage the identification of control packets in an encapsulation header. In one implementation, a computing system may receive a Geneve packet at a network interface and determine that the Geneve packet includes an Operations and Management (OAM) flag. Once the OAM flag is identified, the computing system can select a processing queue from a plurality of processing queues for a main processing system of the computing system based on the OAM flag and assign the Geneve packet to the processing queue.

Claims (73)

1. A method comprising:

in a first computing system, identifying a packet to be encapsulated and forwarded to a second computing system;

in the first computing system, determining that the packet comprises a control packet based on values in the packet;

in the first computing system and in response to determining that the packet comprises a control packet, encapsulating the packet as a Geneve packet, wherein an Operations and Management (OAM) flag is set in a header of the Geneve packet based on the packet comprising a control packet;

in the first computing system, communicating the Geneve packet toward the second computing system;

in the second computing system, receiving the Geneve packet at a network interface;

in the second computing system, assigning the Geneve packet to the processing queue;

in the main processing system of the second computing system, obtaining the Geneve packet from the processing queue;

in the main processing system of the second computing system, decapsulating the Geneve packet to obtain the packet; and

in the main processing system of the second computing system, forwarding the packet to a destination appliance.

2. The method of claim 1 , further comprising:

in the second computing system, determining that the Geneve packet includes the OAM flag; and

in the second computing system and in response to determining that the Geneve packet includes the OAM flag, selecting a processing queue from a plurality of processing queues for a main processing system of the second computing system based on the OAM flag.

3. The method of claim 2 , further comprising:

in the second computing system, receiving a second packet at the network interface;

in the second computing system, determining that the second packet does not include a set OAM flag;

in the second computing system and in response to determining that the second packet does not include the set OAM flag, selecting a second processing queue from the plurality of processing queues based on the second packet not including the set OAM flag; and

in the second computing system, assigning the second packet to the second processing queue.

4. The method of claim 3 , wherein the processing queue comprises a quality of service better than the second processing queue.

5. The method of claim 3 , wherein the processing queue is allocated a first set of processing resources for the main processing system of the second computing system, and wherein the second processing queue is allocated a second set of processing resources for the main processing system.

6. The method of claim 2 , wherein determining that the Geneve packet includes the OAM flag, selecting the processing queue from the plurality of processing queues for the main processing system, and assigning the Geneve packet to the processing queue comprises:

in network interface processing system of the second computing system:

determining that the Geneve packet includes the OAM flag;

selecting the processing queue from the plurality of processing queues for the main processing system; and

assigning the Geneve packet to the processing queue.

7. A system comprising:

a first computing system; and

a second computing system configured to:

receive a Geneve packet at a network interface:

determine that the Geneve packet includes an Operations and Management (OAM) flag;

in response to determining that the Geneve packet includes the OAM flag, select a processing queue from a plurality of processing queues for a main processing system of the second computing system based on the OAM flag;

assign the Geneve packet to the processing queue;

in the main processing system:

obtain the Geneve packet from the processing queue;

decapsulate the Geneve packet to obtain the packet; and

forward the packet to a destination appliance.

8. The system of claim 7 , wherein the first computing system is further configured to:

identify a packet to be encapsulated and forwarded to a second computing system;

determine that the packet comprises a control packet based on values in the packet;

in response to determining that the packet comprises a control packet, encapsulate the packet as the Geneve packet, wherein the OAM flag is set in a header of the Geneve packet based on the packet comprising a control packet; and

communicate the Geneve packet toward the second computing system.

9. The system of claim 7 , wherein the second computing system is further configured to:

receive a second packet at the network interface;

determine that the second packet does not include a set OAM flag;

in response to determining that the second packet does not include the set OAM flag, select a second processing queue from the plurality of processing queues based on the second packet not including the set OAM flag; and

assign the second packet to the second processing queue.

10. The system of claim 9 , wherein the processing queue comprises a quality of service better than the second processing queue.

11. The system of claim 9 , wherein the processing queue is allocated a first set of processing resources for the main processing system of the second computing system, and wherein the second processing queue is allocated a second set of processing resources for the main processing system.

12. The system of claim 7 , wherein determining that the Geneve packet includes the OAM flag, selecting the processing queue from the plurality of processing queues for the main processing system, and assigning the Geneve packet to the processing queue comprises:

in network interface processing system of the second computing system:

determining that the Geneve packet includes the OAM flag;

selecting the processing queue from the plurality of processing queues for the main processing system; and

assigning the Geneve packet to the processing queue.

13. A computing apparatus comprising:

a storage system;

a processing system operatively coupled to the storage system;

program instructions stored on the storage system to manage processing queue assignment in a computing system that, when executed by the processing system, direct the computing apparatus to:

receive a Geneve packet at a network interface:

determine that the Geneve packet includes an Operations and Management (OAM) flag;

in response to determining that the Geneve packet includes the OAM flag, select a processing queue from a plurality of processing queues for a main processing system of the computing system based on the OAM flag;

assign the Geneve packet to the processing queue;

obtain the Geneve packet from the processing queue;

decapsulate the Geneve packet to obtain the packet; and

forward the Geneve packet to a destination appliance.

14. The computing apparatus of claim 13 , wherein the program instructions further direct the computing apparatus to:

receive a second packet at the network interface;

determine that the second packet does not include a set OAM flag;

in response to determining that the second packet does not include the set OAM flag, select a second processing queue from the plurality of processing queues based on the second packet not including the set OAM flag; and

assign the second packet to the second processing queue.

15. The computing apparatus of claim 14 , wherein the processing queue comprises a quality of service better than the second processing queue.

16. The computing apparatus of claim 14 , wherein the processing queue is allocated a first set of processing resources for the main processing system of the computing system, and wherein the second processing queue is allocated a second set of processing resources for the main processing system.

17. The computing apparatus of claim 16 , wherein the first set of processing resources comprise a first processing core allocation, a first clock cycle allocation, or a first memory allocation, and wherein the second set of processing resources comprise a second processing core allocation, a second clock cycle allocation, or a second memory allocation.

18. The computing apparatus of claim 13 , wherein the processing system comprises a network interface processing system separate from the main processing system.

Assignments (2)
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2022
From: WANG, YONG; YANG, GUOLIN; MIRALLES, EDUARD SERRA; WANG, DEXIANG; CHANG, QING
To: VMWARE, INC.
Reel/Frame 059103/0207 →
Continuity (1)
Related Publication 20230239378A1 · Jul 27, 2023