IP Library Granted Patent US 11,637,787
Granted Patent B2
US 11,637,787 · App. 16/922,399 · Granted Apr 25, 2023

Preventing duplication of packets in a network

Inventors: Mario Baldi (Brooklyn, NY); Murty Kotha (San Jose, CA)
Assignee: CISCO TECHNOLOGY, INC.
H04L47/70H04L45/70H04L47/32
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,637,787
App. No.
16/922,399
Granted
Apr 25, 2023
Kind
B2
Abstract

In one example, a collection network node comprising a plurality of ingress ports obtains, at a first one of the plurality of ingress ports, a first copy of a packet of a packet flow comprising a plurality of packets. The collection network node determines whether the collection network node had previously obtained a copy of any of the plurality of packets of the packet flow. When it is determined that the collection network node had previously obtained a copy, the collection network node determines whether the collection network node had previously obtained a copy at the first one of the plurality of ingress ports or at a different one of the plurality of ingress ports. When it is determined that the collection network node had previously obtained a copy at a different one of the plurality of ingress ports, the collection network node refrains from forwarding the first copy.

Claims (51)

1. A method comprising:

determining whether any ingress port of a network node is designated as a forwarding port for a packet flow;

when it is determined that any ingress port of the network node is designated as the forwarding port for the packet flow, determining whether a first ingress port of the network node at which a packet of the packet flow is obtained is designated as the forwarding port for the packet flow; and

when it is determined that the first ingress port is not designated as the forwarding port for the packet flow, refraining from forwarding the packet of the packet flow.

2. The method of claim 1 , further comprising:

when it is determined that the first ingress port is designated as the forwarding port for the packet flow, forwarding the packet of the packet flow.

3. The method of claim 1 , further comprising:

when it is determined that any ingress port of the network node is not designated as the forwarding port for the packet flow:

designating the first ingress port as the forwarding port for the packet flow; and

forwarding the packet of the packet flow.

4. The method of claim 1 , wherein determining whether any ingress port of the network node is designated as the forwarding port for the packet flow includes determining whether any ingress port of the network node is designated as the forwarding port for the packet flow within a period of time before the packet of the packet flow is obtained at the first ingress port.

5. The method of claim 4 , wherein the period of time is set based on a time at which the first ingress port had previously obtained another packet of the packet flow.

6. The method of claim 1 , wherein determining whether the first ingress port is designated as the forwarding port for the packet flow includes maintaining a count of any packets of the packet flow that the first ingress port had previously obtained.

7. The method of claim 1 , wherein determining whether the first ingress port is designated as the forwarding port for the packet flow includes determining whether the first ingress port is designated as the forwarding port based on a unique identifier of the packet of the packet flow.

8. The method of claim 1 , wherein:

determining whether any ingress port of the network node is designated as the forwarding port for the packet flow includes determining whether an indication of the packet flow is stored in a table; and

determining whether the first ingress port is designated as the forwarding port for the packet flow includes determining whether the table associates the packet flow with the first ingress port.

9. The method of claim 1 , wherein:

determining whether any ingress port of the network node is designated as the forwarding port for the packet flow includes determining whether an indication of the packet flow is stored in a register; and

determining whether the first ingress port is designated as the forwarding port includes determining whether the register associates the packet flow with the first ingress port.

10. An apparatus comprising:

a network interface; and

one or more processors coupled to the network interface, wherein the one or more processors are configured to:

determine whether any ingress port of the apparatus is designated as a forwarding port for a packet flow;

when it is determined that any ingress port of the apparatus is designated as the forwarding port for the packet flow, determine whether a first ingress port of the apparatus at which a packet of the packet flow is obtained is designated as the forwarding port for the packet flow; and

when it is determined that the first ingress port is not designated as the forwarding port for the packet flow, refrain from forwarding the packet of the packet flow.

11. The apparatus of claim 10 , wherein the one or more processors are further configured to:

when it is determined that the first ingress port is designated as the forwarding port for the packet flow, forward the packet of the packet flow.

12. The apparatus of claim 10 , wherein the one or more processors are further configured to:

when it is determined that any ingress port of the apparatus is not designated as the forwarding port for the packet flow:

designate the first ingress port as the forwarding port for the packet flow; and

forward the packet of the packet flow.

13. The apparatus of claim 10 , wherein the one or more processors are further configured to:

determine whether any ingress port of the apparatus is designated as the forwarding port for the packet flow within a period of time before the packet of the packet flow is obtained at the first ingress port.

14. The apparatus of claim 13 , wherein the period of time is set based on a time at which the first ingress port had previously obtained another packet of the packet flow.

15. The apparatus of claim 10 , wherein the one or more processors are configured to:

determine whether the first ingress port is designated as the forwarding port for the packet flow by maintaining a count of any packets of the packet flow that the first ingress port had previously obtained.

16. The apparatus of claim 10 , wherein the one or more processors are configured to:

determine whether the first ingress port is designated as the forwarding port for the packet flow based on a unique identifier of the packet of the packet flow.

17. One or more non-transitory computer readable storage media encoded with instructions that, when executed by a processor, cause the processor to:

determine whether any ingress port of a network node is designated as a forwarding port for a packet flow;

when it is determined that any ingress port of the network node is designated as the forwarding port for the packet flow, determine whether a first ingress port of the network node at which a packet of the packet flow is obtained is designated as the forwarding port for the packet flow; and

when it is determined that the first ingress port is not designated as the forwarding port for the packet flow, refrain from forwarding the packet of the packet flow.

18. The one or more non-transitory computer readable storage media of claim 17 , wherein the instructions further cause the processor to:

when it is determined that the first ingress port is designated as the forwarding port for the packet flow, forward the packet of the packet flow.

19. The one or more non-transitory computer readable storage media of claim 17 , wherein the instructions further cause the processor to:

when it is determined that any ingress port of the network node is not designated as the forwarding port for the packet flow:

designate the first ingress port as the forwarding port for the packet flow; and

forward the packet of the packet flow.

20. The one or more non-transitory computer readable storage media of claim 17 , wherein the instructions further cause the processor to:

determine whether any ingress port of the network node is designated as the forwarding port for the packet flow within a period of time before the packet of the packet flow is obtained at the first ingress port.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2020
From: BALDI, MARIO; KOTHA, MURTY
To: CISCO TECHNOLOGY, INC.
Reel/Frame 053139/0100 →
Continuity (3)
Continuation 16058256 · Aug 8, 2018
Provisional Application 62678581 · May 31, 2018
Related Publication 20200336436A1 · Oct 22, 2020