IP Library › Granted Patent US 10,432,536
Granted Patent B1
US 10,432,536 · App. 15/837,336 · Granted Oct 1, 2019

Systems and methods for policing streams in a network

Inventors: Ramesh R. Subramanian (Hyderabad, IN); Ravinder Sharma (Hyderabad, IN); Ashif Khan Mohammed (Hyderabad, IN)
Assignee: XILINX, INC.
H04L47/20H04L47/2441H04L47/2475H04L47/805H04L47/27
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,432,536
App. No.
15/837,336
Granted
Oct 1, 2019
Kind
B1
Abstract

A network device includes a first port, a second port, and a traffic policer circuit. The traffic policer circuit is configured to provide a frame credit and a credit state associated with the frame credit, receive a start of a first frame of a first stream from the first port, and determine a first estimate frame length of the first frame based on the frame credit and credit state. After the first estimate frame length is generated and prior to an end of the first frame is received, the first frame is metered based on the first estimate frame length to mark the first frame with a first marking. After the end of the first frame is received, the frame credit and credit state are updated based on the first frame. The first frame is forwarded to the second port by policing the first frame based on the first marking.

Claims (62)

1. A network device, comprising:

a first port;

a second port; and

a traffic policer circuit configured to:

provide a frame credit and a credit state associated with the frame credit;

receive a start of a first frame of a first stream from the first port;

after receiving the start of the first frame and prior to receiving an end of the first frame, determine an estimate frame length of the first frame based on the frame credit and the credit state;

after generating the estimate frame length and prior to receiving the end of the first frame, meter the first frame based on the estimate frame length to mark the first frame with a first marking;

in response to a determination of receiving the end of the first frame, determine an actual frame length of the first frame;

update the frame credit and the credit state based on the actual frame length of the first frame; and

forward the first frame to the second port by policing the first frame based on the first marking.

2. The network device of claim 1 , wherein the traffic policer circuit is further configured to:

prior to receiving the first stream, initialize the frame credit based on a maximum frame length of the first stream.

3. The network device of claim 2 , wherein the credit state is selected from a group of states comprising an initial credit state indicating that the frame credit has an initial value, a positive credit state indicating that the frame credit has a positive value, and non-positive credit state indicating that the frame credit has a non-positive value.

4. The network device of claim 3 , wherein to determine the estimate frame length, the traffic policer circuit is further configured to:

in response to a determination that the credit state is the initial credit state, set the estimate frame length to a value of the frame credit.

5. The network device of claim 3 , wherein to determine the estimate frame length, the traffic policer circuit is further configured to:

in response to a determination that the credit state is the positive credit state, set the estimate frame length to a value of zero.

6. The network device of claim 3 , wherein to determine the estimate frame length, the traffic policer circuit is further configured to:

in response to a determination that the credit state is the non-positive credit state, set the estimate frame length to an absolute value of the frame credit.

7. The network device of claim 1 , wherein to update the frame credit and the credit state, the traffic policer circuit is further configured to:

update the frame credit by deducting the actual frame length from the frame credit; and

write, to a storage element of the network device, the updated frame credit.

8. The network device of claim 1 , wherein the traffic policer circuit is further configured to:

in response to determining that the first frame is an error frame, skip updating the frame credit and the credit state.

9. The network device of claim 1 , wherein the traffic policer circuit is further configured to:

after receiving the start of the first frame, perform a first read to retrieve, from the storage element, one or more metering parameters;

meter the first frame based on the estimate frame length and the one or more metering parameters.

10. The network device of claim 9 , wherein the traffic policer circuit is configured to:

after receiving a start of a second frame of a second stream from the first port of the network device, perform a second read to retrieve, from the storage element, the one or more metering parameters; and

after performing the second read, meter the second frame of the second stream using the one or more metering parameters.

11. The network device of claim 1 , wherein the traffic policer circuit is configured to:

meter the first stream using a two-rate three-color metering algorithm.

12. The network device of claim 1 , wherein the first marking is selected from a group of color markings consisting of a green marking, a yellow marking, and a red marking,

wherein the green marking is associated with a committed frame for timely delivery,

wherein the yellow marking is associated with an excess frame to be delivered on a best effort, and

wherein the red marking is associated with a non-conformant frame that is to be discarded.

13. A method, comprising:

providing, by a network device, a frame credit and a credit state associated with the frame credit;

receiving, from a first port of the network device, a start of a first frame of a first stream;

after receiving the start of the first frame and prior to receiving an end of the first frame, determining an estimate frame length of the first frame based on the frame credit and the credit state;

after generating the estimate frame length and prior to receiving the end of the first frame, metering the first frame based on the estimate frame length to mark the first frame with a first marking;

in response to a determination of receiving the end of the first frame, determine an actual frame length of the first frame;

updating the frame credit and the credit state based on the actual frame length of the first frame; and

forwarding, to a second port of the network device, the first frame by policing the first frame using the first marking.

14. The method of claim 13 , further comprising:

prior to receiving the first stream, initializing the frame credit based on a maximum frame length of the first stream.

15. The method of claim 13 , wherein the credit state is selected from a group of states comprising an initial credit state indicating that the frame credit has an initial value, a positive credit state indicating that the frame credit has a positive value, and non-positive credit state indicating that the frame credit has a non-positive value.

16. The method of claim 15 , wherein the determining the estimate frame length includes:

in response to a determination that the credit state is the initial credit state, setting the estimate frame length to a value of the frame credit.

17. The method of claim 15 , wherein the determining the estimate frame length includes:

in response to a determination that the credit state is the positive credit state, setting the estimate frame length to a value of zero.

18. The method of claim 15 , wherein the determining the estimate frame length includes:

in response to a determination that the credit state is the non-positive credit state, setting the estimate frame length to an absolute value of the frame credit.

19. The method of claim 13 , wherein the updating the frame credit and the credit state includes:

updating the frame credit by deducting the first actual frame length from the frame credit; and

writing, to a storage element, the updated frame credit.

20. The method of claim 13 , further comprising:

after receiving the start of the first frame, performing a first read to retrieve, from a storage element of the network device, one or more metering parameters;

after performing the first read, metering the first frame based on the estimate frame length and the one or more metering parameters;

after receiving a start of a second frame of a second stream from the first port of the network device, performing a second read to retrieve, from the storage element, the one or more metering parameters; and

after performing the second read, metering the second frame of the second stream using the one or more metering parameters.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2017
From: SUBRAMANIAN, RAMESH R.; SHARMA, RAVINDER; MOHAMMED, ASHIF KHAN
To: XILINX, INC.
Reel/Frame 044353/0363 →
Cited By (2)
US 12,362,832 US 12,549,251