IP Library Granted Patent US 8,085,766
Granted Patent B2
US 8,085,766 · App. 11/480,844 · Granted Dec 27, 2011

S-flow in a network device

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 8,085,766
App. No.
11/480,844
Granted
Dec 27, 2011
Kind
B2
Abstract

A network device for providing statistical sampling of packet at a port. The network device includes an ingress module for randomly selecting a packet at one of a plurality of ports for statistical sampling and an egress module for randomly selecting a packet at one of a plurality of ports for statistical sampling. The network device also includes a processing module for receiving a copy of a selected packet from at least one of the ingress module or egress module and for performing statistical flow processing on the packet.

Claims (30)

1. A network device for providing statistical sampling of packets at ports, the network device comprising:

an ingress module configured to randomly select a packet at one of a plurality of ingress ports for statistical sampling;

a memory management unit configured to store packets received from the ingress module;

an egress module configured to receive the stored packets from the memory management unit and to randomly select a packet at one of a plurality of egress ports for statistical sampling; and

a processing module configured to receive a copy of a selected packet from at least one of the ingress module or egress module, make a determination whether the copy of the selected packet was received from the ingress module or the egress module, and perform statistical flow processing on the packet, based on the determination, wherein if the copy of the packet is received by the processing module from the ingress module, a CPU operation code is set to a source value to indicate that the received copy of the packet is due to ingress sampling by the ingress module, and wherein if the copy of the packet is received from the egress module, a CPU operation code is set to a destination value to indicate that the received copy of the packet is due to egress sampling by the egress module.

2. The network device according to claim 1 , wherein the ingress module is configured to generate a random ingress value and a random egress value at each of the plurality of ingress and egress ports.

3. The network device according to claim 2 , wherein the ingress module is further configured to generate an ingress threshold value.

4. The network device according to claim 3 , wherein for each of the plurality of ingress ports the ingress module is configured to copy a packet to the processing module and set the CPU operation code to the source value if an enable bit is set and if the ingress threshold value is less than or equal to a random ingress value.

5. The network device according to claim 4 , wherein the processing module is configured to interpret the source value as indicating that a received packet is a result of ingress sampling.

6. The network device according to claim 2 , wherein the egress module is configured to generate an egress threshold value.

7. The network device according to claim 6 , wherein for each of the plurality of egress ports the egress module is configured to copy a packet to the processing module and set the CPU operation code to the destination value if an enable bit is set and if the egress threshold value is less than or equal to a random egress value.

8. The network device according to claim 7 , wherein the processing module is configured to interpret the destination value as indicating that a received packet is a result of egress sampling.

9. The network device according to claim 1 , wherein the network device is configured to set a priority of a copy of a packet to the processing module relative to other packets received at the processing module.

10. The network device according to claim 1 , wherein the processing module is configured to drop a copy of a packet if a predefined condition is met.

11. The network device according to claim 1 , wherein the network device is configured to set variable sampling rates at each of the ingress module and egress module.

12. A method for providing statistical sampling of a plurality of packets at a plurality of ports, the method comprising:

randomly selecting a packet at one of a plurality of ingress ports of an ingress module for statistical sampling;

randomly selecting a packet at one of a plurality of egress ports of an egress module for statistical sampling; and

receiving a copy of a selected packet, at a processing module, from at least one of the ingress module or egress module and performing statistical flow processing on the packet, based on whether the copy of the selected packet was received from the ingress module or the egress module;

wherein the randomly selecting a packet at one of a plurality of ingress ports of an ingress module for statistical sampling includes, if the copy of the packet is received by the processing module from the ingress module, setting a CPU operation code a source value to indicate that the received copy of the packet is due to ingress sampling; and

wherein the randomly selecting a packet at one of a plurality of egress ports of an egress module for statistical sampling includes, if the copy of the packet is received from the egress module, setting a CPU operation code to a destination value to indicate that the received copy of the packet is due to egress sampling.

13. The method according to claim 12 , wherein randomly selecting a packet at one of a plurality of ports of an ingress module comprises generating a random ingress value and a random egress value at each of the plurality of ingress ports.

14. The method according to claim 13 , wherein randomly selecting a packet at one of a plurality of ingress ports of an ingress module comprises copying a packet to the processing module and setting the CPU operation code to a source value if an enable bit is set and if the ingress threshold value is less than or equal to random ingress value.

15. The method according to claim 12 , wherein randomly selecting a packet at one of a plurality of egress ports of an egress module comprises generating an egress threshold value.

16. The method according to claim 12 , wherein randomly selecting a packet at one of a plurality of egress ports of an egress module comprises copying a packet to the processing module and setting the CPU operation code to a destination value if an enable bit is set and if the egress threshold value is less than or equal to a random egress value.

17. A network device for providing statistical sampling of packets at ports, the network device comprising:

an ingress module configured to randomly select a packet at one of a plurality of ingress ports for statistical sampling;

a memory management unit configured to store packets received from the ingress module;

an egress module configured to receive the stored packets from the memory management unit and to randomly select a packet at one of a plurality of egress ports for statistical sampling; and

a processing module configured to receive a copy of a selected packet from at least one of the ingress module or egress module, make a determination whether the copy of the selected packet was received from the ingress module or the egress module based on a CPU operation code, and perform statistical flow processing on the packet, wherein the CPU operation code is set to a source value to indicate ingress sampling by the ingress module and set to a destination value to indicate egress sampling by the egress module.

Assignments (5)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2007
From: KALKUNTE, MOHAN; DULL, JOHN JEFFREY; BUDUMA, VENKATESHWAR
To: BROADCOM CORPORATION
Reel/Frame 019012/0978 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2006
From: KALKUNTE, MOHAN
To: BROADCOM CORPORATION
Reel/Frame 018042/0021 →