IP Library Granted Patent US 11,184,282
Granted Patent B1
US 11,184,282 · App. 16/852,309 · Granted Nov 23, 2021

Packet forwarding in a network device

Inventors: Ali Kheradmand (Urbana, IL); Santhosh Prabhu Muraleedhara Prabhu (Urbana, IL)
Assignee: VMware, Inc.
H04L45/74H04L47/10H04L49/252H04L49/90
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 11,184,282
App. No.
16/852,309
Granted
Nov 23, 2021
Kind
B1
Abstract

An example method of packet forwarding for a packet set in a network device includes: selecting a first bit pattern of multiple adjacent bits from a bit string that represents an input packet set; selecting a second bit pattern of multiple adjacent bits from a first node of a data structure that implements a prefix-compressed decision diagram representing a first class of packets; performing a comparison of the first bit pattern to the second bit pattern; generating an output packet set, which is a subset of the input packet set, in response to the first bit pattern matching the second bit pattern; and applying a network forwarding action to the output packet set, the network forwarding action associated with the prefix-compressed decision diagram and dictating packet forwarding behavior of the network device with respect to the output packet set.

Claims (26)

1. A method of packet forwarding for a packet set in a network device, the method comprising:

selecting a first bit pattern of multiple adjacent bits from a bit string that represents an input packet set;

selecting a second bit pattern of multiple adjacent bits from a first node of a data structure that implements a prefix-compressed decision diagram having packet set information of a first class of packets, the first class of packets comprising an equivalence class associated with a network forwarding action;

performing a comparison of the first bit pattern to the second bit pattern;

generating an output packet set, which is a subset of the input packet set, in response to the first bit pattern matching the second bit pattern; and

applying the network forwarding action to the output packet set, the network forwarding action dictating packet forwarding behavior of the network device with respect to the output packet set.

2. The method of claim 1 , wherein selecting the first bit pattern of multiple adjacent bits from the bit string comprises selecting the first bit pattern from a bit location indicated by the first node of the data structure.

3. The method of claim 1 , wherein selecting the second bit pattern comprises selecting the second bit pattern from a variable associated with the first node.

4. The method of claim 1 , wherein the equivalence class includes a set of packets associated with at least one packet-forwarding rule associated with the network device.

5. The method of claim 1 , wherein the network forwarding action is performed by the network device.

6. The method of claim 1 , further comprising selecting the first node of the data structure based on a comparison of a third bit pattern to a fourth bit pattern, wherein the third bit pattern is a bit pattern of multiple adjacent bits from the bit string that represents the input packet set and the fourth bit pattern is a bit pattern of multiple adjacent bits from a second node of the data structure.

7. The method of claim 6 , wherein the second node is a parent node of the first node.

8. The method of claim 7 , wherein selecting the first node comprises determining a child node of the second node based on a pointer value of the second node.

9. A non-transitory computer readable medium storing instructions that are executable on a processor, wherein the instructions, when executed by the processor, cause the processor to perform the steps of:

selecting a first bit pattern of multiple adjacent bits from a bit string that represents an input packet set;

selecting a second bit pattern of multiple adjacent bits from a first node of a data structure that implements a prefix-compressed decision diagram having packet set information of a first class of packets, the first class of packets comprising an equivalence class associated with a network forwarding action;

performing a comparison of the first bit pattern to the second bit pattern;

generating an output packet set, which is a subset of the input packet set, in response to the first bit pattern matching the second bit pattern; and

applying a network forwarding action to the output packet set, the network forwarding action dictating packet forwarding behavior of the network device with respect to the output packet set.

10. The non-transitory computer readable medium of claim 9 , wherein

selecting the first bit pattern of multiple adjacent bits from the bit string comprises selecting the first bit pattern from a bit location indicated by the first node of the data structure.

11. The non-transitory computer readable medium of claim 9 , wherein

selecting the second bit pattern comprises selecting the second bit pattern from a variable associated with the first node.

12. The non-transitory computer readable medium of claim 9 , wherein the equivalence class includes a set of packets associated with at least one packet-forwarding rule associated with the network device.

13. The non-transitory computer readable medium of claim 9 , wherein the network forwarding action is performed by the network device.

14. The non-transitory computer readable medium of claim 9 , further storing instructions that, when executed by the processor, cause the processor to perform the step of selecting the first node of the data structure based on a comparison of a third bit pattern to a fourth bit pattern, wherein the third bit pattern is a bit pattern of multiple adjacent bits from the bit string that represents the input packet set and the fourth bit pattern is a bit pattern of multiple adjacent bits from a second node of the data structure.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2020
From: KHERADMAND, ALI; PRABHU MURALEEDHARA PRABHU, SANTHOSH
To: VMWARE, INC.
Reel/Frame 052493/0182 →