IP Library Granted Patent US 10,873,532
Granted Patent B2
US 10,873,532 · App. 16/108,661 · Granted Dec 22, 2020

Flow control visibility

Inventors: Remy Chang (Milpitas, CA); Anurag Agrawal (Santa Clara, CA); Yi Li (Fremont, CA); Michael Feng (Mountain View, CA); Yan Wang (Saratoga, CA)
Assignee: Barefoot Networks, Inc.
H04L47/2433H04L45/74H04L47/2441H04L47/2483H04L47/28H04L49/3018H04L49/3027H04L49/3063H04L49/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 10,873,532
App. No.
16/108,661
Granted
Dec 22, 2020
Kind
B2
Abstract

Some embodiments provide a method for a traffic management circuit of a data plane forwarding circuit. The traffic management circuit receives data messages from a set of ingress pipelines and provides the data messages to a set of egress pipelines. The method identifies a flow control event. The method provides metadata regarding the flow control event to a message generation circuit of the data plane forwarding circuit via a bus between the traffic management circuit and the message generation circuit.

Claims (29)

1. A method comprising:

at a traffic management circuit of a network forwarding integrated circuit (IC), identifying a flow control event, wherein the traffic management circuit receives data messages from a set of ingress pipelines and provides the data messages to a set of egress pipelines;

providing metadata regarding the flow control event to a message generation circuit of the network forwarding IC via a connection between the traffic management circuit and the message generation circuit, wherein the metadata comprises (i) indication whether the flow control event corresponds to receipt of a flow control message at the network forwarding IC or generation of a flow control message at the network forwarding IC and (ii) a port identifier that specifies the port at which a flow control message was received or through which a flow control message was sent;

the message generation circuit generating a data message, the data message including (i) a data message header and (ii) metadata for at least one flow control event; and

transmitting the generated data message to a remote server for analysis.

2. The method of claim 1 , wherein the message generation circuit stores the metadata in a buffer with metadata for a plurality of flow control events.

3. The method of claim 2 , wherein the message generation circuit provides the generated data message to one of the ingress pipelines.

4. The method of claim 3 , comprising: including an address of the remote server in the generated data message.

5. The method of claim 1 , wherein the flow control event comprises receipt of a flow control message from a separate forwarding element instructing the network forwarding IC to either stop or resume sending data messages having a particular set of characteristics to the separate forwarding element.

6. The method of claim 5 , wherein the flow control message is received at a particular port of the network forwarding IC and the particular set of characteristics comprises a priority value.

7. The method of claim 1 , wherein the flow control event comprises generation of a flow control message by the traffic management circuit to instruct a separate forwarding element to either stop or resume sending data messages having a particular set of characteristics to the network forwarding IC.

8. The method of claim 7 , wherein the particular set of characteristics comprises a priority value.

9. The method of claim 1 , wherein the traffic management circuit transmits metadata for one flow control event per clock cycle of the network forwarding IC.

10. The method of claim 1 , wherein the traffic management circuit comprises a queue for storing metadata regarding flow control events prior to transmitting the metadata to a packet generation circuit.

11. A data plane circuit of a network forwarding element for forwarding data messages within a network, the data plane circuit comprising:

a set of ingress pipelines;

a set of egress pipelines;

a message generation circuit; and

a traffic management circuit to receive data messages from the set of ingress pipelines and to provide the data messages to the set of egress pipelines, wherein the traffic management circuit (i) is to identify a flow control event and (ii) is to provide metadata regarding the flow control event to the message generation circuit via a connection, wherein the metadata comprises: (a) indication whether the flow control event corresponds to receipt of a flow control message at the network forwarding element or generation of a flow control message at the network forwarding element and (b) a port identifier that specifies the port at which a flow control message was received or through which a flow control message was sent;

the message generation circuit to generate a data message for transmission to a remote monitoring system, the data message including (i) a data message header and (n) metadata for at east one flow control event; and

an egress pipeline of the set of egress pipelines to cause transmission of the data message to the remote monitoring system.

12. The data plane circuit of claim 11 , wherein the message generation circuit is to store the metadata in a buffer with metadata for a plurality of flow control events.

13. The data plane circuit of claim 12 , wherein the message generation circuit is to provide the generated data message to one of the set of ingress pipelines.

14. The data plane circuit of claim 13 , wherein the message generation circuit is to include an address of the remote monitoring system in the generated data message.

15. The data plane circuit of claim 11 , wherein the flow control event comprises receipt of a flow control message from a separate forwarding element instructing the data plane circuit to either stop or resume sending data messages having a particular set of characteristics to the separate forwarding element.

16. The data plane circuit of claim 15 , wherein the flow control message is received at a particular port and the particular set of characteristics comprises a priority value.

17. The data plane circuit of claim 11 , wherein the flow control event comprises generation of a flow control message by the traffic management circuit to instruct a separate forwarding element to either stop or resume sending data messages having a particular set of characteristics to the data plane circuit.

18. The data plane circuit of claim 11 , wherein the traffic management circuit is to transmit metadata for one flow control event per clock cycle.

19. The data plane circuit of claim 11 , wherein the traffic management circuit comprises a queue to store metadata regarding flow control events prior to transmission of the metadata to a packet generation circuit.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2019
From: CHANG, REMY; AGRAWAL, ANURAG; LI, YI; FENG, MICHAEL; WANG, YAN
To: BAREFOOT NETWORKS, INC.
Reel/Frame 050909/0278 →
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 →
Continuity (2)
Provisional Application 62712927 · Jul 31, 2018
Related Publication 20200044976A1 · Feb 6, 2020
Cited By (1)
US 12,355,670