IP Library Granted Patent US 10,075,567
Granted Patent B1
US 10,075,567 · App. 15/167,552 · Granted Sep 11, 2018

Packet generation in the data plane of a forwarding element

Inventors: Steven Licking (San Jose, CA); Chaitanya Kodeboyina (Los Altos, CA); Julianne Zhu (Los Gatos, CA); Changhoon Kim (Palo Alto, CA)
Assignee: BAREFOOT NETWORKS, INC.
H04L69/22H04L45/74
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 10,075,567
App. No.
15/167,552
Granted
Sep 11, 2018
Kind
B1
Abstract

A method of generating packets in the data plane of a forwarding element is provided. The method selects a configuration set from a plurality of configuration sets of based on a triggering event. The method generates a set of packets using a packet template that corresponds to the selected configuration set. The method sets values of a plurality of the packet fields to identify different information such as the destination of packets. The method places the generated set of packets into an ingress pipeline of the forwarding element.

Claims (42)

1. A method of generating packets by a forwarding element, the method comprising:

in a data plane of the forwarding element:

selecting a configuration set from a plurality of configuration sets based on a triggering event;

generating a set of packets using a packet template corresponding to the selected configuration set and a set of values identified by the selected configuration set; and

placing the generated set of packets into an ingress pipeline of the forwarding element.

2. The method of claim 1 , wherein the triggering event comprises one of an expiration of a one shot timer, an expiration of a timer that recurs for a period of time, and a receipt of a signal indicating an egress port of the forwarding element is down.

3. The method of claim 1 further comprising:

receiving a recirculation packet recirculated from an egress pipeline of the forwarding element; and

forwarding the packet into the ingress pipeline of the forwarding element, wherein the triggering event further comprises the receiving of the recirculation packet.

4. The method of claim 1 , wherein each template identifies a size of a packet, a set of fields for the packet, and values for at least a subset of the fields of the packet.

5. The method of claim 1 , wherein the selected configuration set identifies a number of packets in the set of generated packets.

6. The method of claim 1 , wherein the selected configuration set identifies a number of batches of packets to generate, wherein generating a set of packets comprises generating the set of packets for each of the batches of packets.

7. The method of claim 1 , wherein the set of values identified by the selected configuration set comprises a destination address of the packet.

8. The method of claim 7 , wherein the destination address comprises at least one of an open systems interconnection (OSI) model Layer 2 (L2) and Layer 3 (L3) destination address, wherein:

the L2 destination address is a media access control (MAC) address of the destination of the packet; and

the L3 destination address is an Internet protocol (IP) address of the destination of the packet.

9. The method of claim 1 , wherein the forwarding element is one of a switch and a router.

10. The method of claim 1 , wherein the generated set of packets comprises one or more batches of packets, each batch of packets comprising one or more packets, the method further comprising:

determining an inter-packet gap for consecutive packets in a batch;

determining an inter-batch gap for consecutive batches generated after a triggering event;

computing a randomized jitter for each inter-packet gap; and

computing a randomized jitter for each inter-batch gap.

11. A hardware forwarding element, comprising:

a set of ingress pipelines for processing packets received at the forwarding element;

a set of egress pipelines for processing packets prior to transmitting packets from the forwarding element; and

a packet generator, the packet generator configured to:

in a data plane of the forwarding element:

select a configuration set from a plurality of configuration sets based on a triggering event;

generate a set of packets using a packet template corresponding to the selected configuration set and a set of values identified by the selected configuration set; and

place the generated set of packets into an ingress pipeline of the forwarding element.

12. The hardware forwarding element of claim 11 , wherein the triggering event comprises one of an expiration of a one shot timer, an expiration of a timer that recurs for a period of time, and a receipt of a signal indicating an egress port of the forwarding element is down.

13. The hardware forwarding element of claim 11 further comprising:

receiving a recirculation packet recirculated from an egress pipeline of the forwarding element; and

forwarding the packet into the ingress pipeline of the forwarding element, wherein the triggering event further comprises the receiving of the recirculation packet.

14. The hardware forwarding element of claim 11 , wherein each template identifies a size of a packet, a set of fields for the packet, and values for at least a subset of the fields of the packet.

15. The hardware forwarding element of claim 11 , wherein the selected configuration set identifies a number of packets in the set of generated packets.

16. The hardware forwarding element of claim 11 , wherein the selected configuration set identifies a number of batches of packets to generate, wherein generating a set of packets comprises generating the set of packets for each of the batches of packets.

17. The hardware forwarding element of claim 11 , wherein the set of values identified by the selected configuration set comprises a destination address of the packet.

18. The hardware forwarding element of claim 17 , wherein the destination address comprises at least one of an open systems interconnection (OSI) model Layer 2 (L2) and Layer 3 (L3) destination address, wherein:

the L2 destination address is a media access control (MAC) address of the destination of the packet; and

the L3 destination address is an Internet protocol (IP) address of the destination of the packet.

19. The hardware forwarding element of claim 11 , wherein the forwarding element is one of a switch and a router.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2024
From: BAREFOOT NETWORKS, INC.
To: INTEL CORPORATION
Reel/Frame 066208/0869 →
RELEASE OF SECURITY INTEREST Recorded Sep 20, 2019
From: SILICON VALLEY BANK
To: BAREFOOT NETWORKS, INC.
Reel/Frame 050455/0455 →
RELEASE OF SECURITY INTEREST Recorded Sep 20, 2019
From: SILICON VALLEY BANK
To: BAREFOOT NETWORKS, INC.
Reel/Frame 050455/0497 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 25, 2019
From: BAREFOOT NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 049588/0001 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 25, 2019
From: BAREFOOT NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 049588/0112 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2016
From: LICKING, STEVEN; ZHU, JULIANNE; KODEBOYINA, CHAITANYA; KIM, CHANGHOON
To: BAREFOOT NETWORKS, INC.
Reel/Frame 038740/0463 →
Continuity (1)
Provisional Application 62292517 · Feb 8, 2016
Cited By (1)
US 12,301,690