# US 2021/0243253 A1 · Mirroring to multiple destinations using a monitoring function

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0243253 A1
- Document ID: US20210243253A1
- Status: Published application
- Kind: A1
- Application number: 16/781,873
- Filed: 2020-02-04
- Published: 2021-08-05
- Earliest claimed: 2020-02-04
- Assignees: Arista Networks, Inc.
- Applicants: Arista Networks, Inc.
- Inventors: James Chun Pang; Bidong Chen
- Web page: https://patentgrep.com/patent/US20210243253A1

## CPC

- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- H04L 12/18: for broadcast or conference {, e.g. multicast}
- H04L 12/1854: {with non-centralised forwarding system, e.g. chaincast}
- H04L 45/74: Address processing for routing
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 1

A method for processing packets, the method comprising:
receiving, by a computing device, a first packet;
processing, by the computing device, the first packet via an ingress pipeline;
generating, by the computing device, a first copy of the first packet as a second packet;
sending, by the computing device, second copies of the first packet to a first group of multiple destinations defined by a first multicast address, wherein computing device does not support sending the second packet to a second multicast address;
sending, by the computing device, the second packet to an interface with a loopback function, wherein the loopback function sends the second packet back to the ingress pipeline;
processing, by the computing device, the second packet via the ingress pipeline, wherein processing the second packet through the ingress pipeline assigns a destination of the second multicast address; and
sending, by the computing device, copies of the second packet to a second group of multiple destinations defined by the second multicast address.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
adding metadata to the second packet to allow the ingress pipeline to assign the destination of the second multicast address.

### Claim 3 (depends on 2)

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

### Claim 4 (depends on 2)

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

### Claim 5 (depends on 2)

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

### Claim 6 (depends on 2)

The method of claim 2, wherein:
the metadata identifies the second packet as a mirrored packet that is generated from the first packet, and
the metadata is changed to identify the second packet as a forwarded packet based on the loopback function sending the second packet back to the ingress pipeline.

### Claim 7 (depends on 1)

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 multicast address.

### Claim 8 (depends on 1)

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

### Claim 9 (depends on 1)

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

### Claim 10 (depends on 1)

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

### Claim 11 (depends on 1)

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

### Claim 12 (depends on 1)

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

### Claim 13

A method for processing packets, the method comprising:
processing, by a computing device, a first packet;
generating, by the computing device, a first copy of the first packet as a second packet;
sending, by the computing device, second copies of the first packet to a first group of multiple destinations defined by a first address;
sending, by the computing device, the second packet to an interface with a loopback function, wherein the interface recirculates the second packet for further processing;
processing, by the computing device, the second packet, wherein the second packet is assigned a destination of a second address; and
sending, by the computing device, copies of the second packet to a second group of multiple destinations defined by the second address.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
adding metadata to the second packet to allow the second packet to be assigned the destination of the second address.

### Claim 15 (depends on 14)

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

### Claim 16 (depends on 14)

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

### Claim 17 (depends on 14)

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

### Claim 18 (depends on 14)

The method of claim 14, wherein:
the metadata identifies the second packet as a mirrored packet that is generated from the first packet, and
the metadata is changed to identify the second packet as a forwarded packet based on the interface recirculating the second packet for further processing.

### Claim 19 (depends on 13)

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

### Claim 20 (depends on 13)

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

### Claim 21 (depends on 13)

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

### Claim 22 (depends on 13)

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

### Claim 23 (depends on 13)

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

### Claim 24 (depends on 13)

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

### Claim 25 (depends on 13)

The method of claim 13, further comprising:
generating the copies of the first packet for a first multicast to the first group of the multiple destinations; and
generating copies of the second packet for a second multicast to the second group of the multiple destinations.

### Claim 26 (depends on 13)

The method of claim 13, wherein:
a first ingress pipeline processes the first packet, and
the second packet is received at the ingress pipeline after the interface recirculates the second packet for further processing.

### Claim 27 (depends on 13)

The method of claim 13, wherein:
a first ingress pipeline is associated with a first chip, and
the second packet is sent to a second ingress pipeline of another chip after the interface recirculates the second packet for further processing.

### Claim 28 (depends on 13)

The method of claim 13, wherein:
a first chip generates the second packet, and
the second packet is sent to the interface with the loopback function of another chip.

### Claim 29

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;
generating a first copy of the first packet as a second packet;
sending second copies of the first packet to a first group of multiple destinations defined by a first address;
sending the second packet to an interface with a loopback function, wherein the interface recirculates the second packet for further processing;
processing the second packet, wherein the second packet is assigned a destination of a second address; and
sending copies of the second packet to a second group of multiple destinations defined by the second address.

### Claim 30 (depends on 29)

The non-transitory computer-readable storage medium of claim 29, further operable for:
adding metadata to the second packet to allow the second packet to be assigned the destination of the second address.

### Claim 31 (depends on 29)

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

### Claim 32

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;
generating a first copy of the first packet as a second packet;
sending second copies of the first packet to a first group of multiple destinations defined by a first address;
sending the second packet to an interface with a loopback function, wherein the interface recirculates the second packet for further processing;
processing the second packet, wherein the second packet is assigned a destination of a second address; and
sending copies of the second packet to a second group of multiple destinations defined by the second address.

### Claim 33 (depends on 32)

The apparatus of claim 32, further operable for:
adding metadata to the second packet to allow the second packet to be assigned the destination of the second address.

### Claim 34 (depends on 32)

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