IP Library › Granted Patent US 11,252,230
Granted Patent B2
US 11,252,230 · App. 16/781,873 · Granted Feb 15, 2022

Mirroring to multiple destinations using a monitoring function

Inventors: James Chun Pang (Vancouver, CA); Bidong Chen (Surrey, CA)
Assignee: Arista Networks, Inc.
H04L67/1095H04L12/18H04L45/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 11,252,230
App. No.
16/781,873
Granted
Feb 15, 2022
Kind
B2
Abstract

In some embodiments, a method processes a first packet and generates a first copy of the first packet as a second packet. The method sends second copies of the first packet to a first group of multiple destinations defined by a first address. Also, the method sends the second packet to an interface with a loopback function. The interface recirculates the second packet for further processing. The second packet is processed where the second packet is assigned a destination of a second address. Then, the method sends copies of the second packet to a second group of multiple destinations defined by the second address.

Claims (82)

1. A method for processing packets, the method comprising:

receiving, by a computing device, a first packet having a first group address;

processing, by the computing device, the first packet via an ingress pipeline;

generating responsive to the processing, by the computing device, a first copy of the first packet as a monitoring packet, the monitoring packet including a second group address;

copying responsive to the processing, by the computing device, the first packet to produce multicast packets;

sending, by the computing device, the multicast packets to a first group of multiple destinations associated with the first group address;

sending, by the computing device, the monitoring packet to an interface with a loopback function based on the second group address, wherein the loopback function sends the monitoring packet back to the ingress pipeline;

another processing, by the computing device, the monitoring packet via the ingress pipeline;

copying responsive to the another processing, by the computing device, the monitoring packet to produce monitoring packets; and

sending responsive to the another processing, by the computing device, the monitoring packets to a second group of multiple destinations associated with the second group address.

2. The method of claim 1 , further comprising:

adding metadata to the monitoring packet to allow the ingress pipeline to assign the destination of the second group address.

3. The method of claim 2 , wherein the metadata is added to internal metadata that is used internally in a chip processing the monitoring packet.

4. The method of claim 2 , wherein the metadata is added to a header that is added to the monitoring packet.

5. The method of claim 2 , wherein the metadata identifies the second group address.

6. The method of claim 2 , wherein:

the metadata identifies the monitoring packet as a mirrored packet that is generated from the first packet, and

the metadata is changed to identify the monitoring packet as a forwarded packet based on the loopback function sending the monitoring packet back to the ingress pipeline.

7. The method of claim 1 , wherein a profile is associated with the interface with the loopback function with information to allow the ingress pipeline to assign the destination of the second group address.

8. The method of claim 1 , wherein the interface with the loopback function comprises a loopback interface within a chip that processes the monitoring packet via the ingress pipeline.

9. The method of claim 1 , wherein the interface with the loopback function comprises an interface external to a chip that processes the monitoring packet via the ingress pipeline.

10. The method of claim 1 , wherein the interface with the loopback function comprises a media access controller interface that processes the monitoring packet via the ingress pipeline.

11. The method of claim 1 , wherein the interface with the loopback function comprises a physical layer interface external to a chip that processes the monitoring packet via the ingress pipeline, the physical layer interface performing the loopback function.

12. The method of claim 1 , wherein the interface with the loopback function comprises a line interface external to a chip that processes the monitoring packet via the ingress pipeline, wherein a physical connection device coupled to the line interface performs the loopback function.

13. A method for processing packets, the method comprising:

processing, by a computing device, a first packet having a first address;

generating responsive to the processing, by the computing device, a first copy of the first packet as a monitoring packet, the monitoring packet including a second address;

copying responsive to the processing, by the computing device, the first packet to produce multicast packets;

sending, by the computing device, the multicast packets to a first group of multiple destinations associated with the first address;

sending, by the computing device, the monitoring packet to an interface with a loopback function based on the second address, wherein the interface recirculates the monitoring packet for further processing;

another processing, by the computing device, the monitoring packet;

copying responsive to the another processing, by the computing device, the monitoring packet to produce monitoring packets; and

sending responsive to the another processing, by the computing device, the monitoring packets to a second group of multiple destinations associated with the second address.

14. The method of claim 13 , further comprising:

adding metadata to the monitoring packet to allow the monitoring packet to be assigned the destination of the second address.

15. The method of claim 14 , wherein the metadata is added to internal metadata that is used internally in a chip processing the monitoring packet.

16. The method of claim 14 , wherein the metadata is added to a header that is added to the monitoring packet.

17. The method of claim 14 , wherein the metadata identifies the second address.

18. The method of claim 14 , wherein:

the metadata identifies the monitoring packet as a mirrored packet that is generated from the first packet, and

the metadata is changed to identify the monitoring packet as a forwarded packet based on the interface recirculating the monitoring packet for further processing.

19. The method of claim 13 , wherein a profile is associated with the interface with the loopback function with information to allow the monitoring packet to be assigned the destination of the second address.

20. The method of claim 13 , wherein the interface with the loopback function comprises a loopback interface within a chip that generates the monitoring packet.

21. The method of claim 13 , wherein the interface with the loopback function comprises an interface external to a chip that generates the monitoring packet.

22. The method of claim 13 , wherein the interface with the loopback function comprises a media access controller interface that generates the monitoring packet.

23. The method of claim 13 , wherein the interface with the loopback function comprises a physical layer interface external to a chip that processes the monitoring packet via the ingress pipeline, the physical layer interface performing the loopback function.

24. The method of claim 13 , wherein the interface with the loopback function comprises a line interface external to a chip that processes the monitoring packet via the ingress pipeline, wherein a physical connection device coupled to the line interface performs the loopback function.

25. The method of claim 13 , wherein:

a first ingress pipeline processes the first packet, and

the monitoring packet is received at the ingress pipeline after the interface recirculates the monitoring packet for further processing.

26. The method of claim 13 , wherein:

a first ingress pipeline is associated with a first chip, and

the monitoring packet is sent to a second ingress pipeline of another chip after the interface recirculates the monitoring packet for further processing.

27. The method of claim 13 , wherein:

a first chip generates the monitoring packet, and

the monitoring packet is sent to the interface with the loopback function of another chip.

28. A non-transitory computer-readable storage medium having stored thereon computer executable instructions, which when executed by a computing device, cause the computing device to be operable for:

processing a first packet having a first address;

generating responsive to the processing a first copy of the first packet as a monitoring packet, the monitoring packet including a second address;

copying responsive to the processing the first packet to produce multicast packets;

sending, the multicast packets to a first group of multiple destinations associated with the first address;

sending the monitoring packet to an interface with a loopback function based on the second address, wherein the interface recirculates the monitoring packet for further processing;

another processing the monitoring packet;

copying responsive to the another processing the monitoring packet to produce monitoring packets; and

sending responsive to the another processing the monitoring packets to a second group of multiple destinations associated with the second address.

29. The non-transitory computer-readable storage medium of claim 28 , further operable for:

adding metadata to the monitoring packet to allow the monitoring packet to be assigned the destination of the second address.

30. The non-transitory computer-readable storage medium of claim 28 , wherein a profile is associated with the interface with the loopback function with information to allow the monitoring packet to be assigned the destination of the second address.

31. An apparatus for processing packets comprising:

one or more computer processors; and

a computer-readable storage medium comprising instructions for controlling the one or more computer processors to be operable for:

processing a first packet having a first address;

generating responsive to the processing a first copy of the first packet as a monitoring packet, the monitoring packet including a second address;

copying responsive to the processing the first packet to produce multicast packets;

sending, the multicast packets to a first group of multiple destinations associated with the first address;

sending the monitoring packet to an interface with a loopback function based on the second address, wherein the interface recirculates the monitoring packet for further processing;

another processing the monitoring packet;

copying responsive to the another processing the monitoring packet to produce monitoring packets; and

sending responsive to the another processing the monitoring packets to a second group of multiple destinations associated with the second address.

32. The apparatus of claim 31 , further operable for:

adding metadata to the monitoring packet to allow the monitoring packet to be assigned the destination of the second address.

33. The apparatus of claim 31 , wherein a profile is associated with the interface with the loopback function with information to allow the monitoring packet to be assigned the destination of the second address.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2020
From: PANG, JAMES C; CHEN, BIDONG
To: ARISTA NETWORKS, INC.
Reel/Frame 051717/0788 →
Continuity (1)
Related Publication 20210243253A1 · Aug 5, 2021