Detecting and preventing network loops

US10516600B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10516600-B2
Application numberUS-201816135926-A
CountryUS
Kind codeB2
Filing dateSep 19, 2018
Priority dateJul 21, 2016
Publication dateDec 24, 2019
Grant dateDec 24, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems, methods, and non-transitory computer-readable storage media for detecting network loops. In some embodiments, a system can identify a port that is in a blocking state. The blocking state can be for dropping one or more types of packets and preventing the port from forwarding the one or more types of packets. The system can determine a number of packets transmitted through the port by a hardware layer on the system and a number of control packets transmitted through the port by a software layer on the system. The system can determine whether the number of packets is greater than the number of control packets. When the number of packets is greater than the number of control packets, the system can determine that the blocking state has failed to prevent the port from forwarding the one or more types of packets.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method comprising: identifying a port, on a network device, that is in a blocking state, the blocking state for dropping one or more types of packets and preventing the port from forwarding the one or more types of packets; first determining a first number of packets received through the port by a hardware element on the network device; second determining a second number of packets received through the port and dropped by the hardware element on the port; third determining a third number of control packets received through the port by a CPU process on the network device; fourth determining whether the third number>(first number−second number); fifth determining that the blocking state has failed to prevent the port from forwarding the one or more types of packets in response to a positive result of the fourth determining; and correcting, in response to a positive outcome of the fifth determining, the failed blocking state by disabling the port, setting the port to a state that allows some traffic to pass while preventing other traffic from passing, and/or re-configuring one or more links of the port. 2. The computer-implemented method of claim 1 , wherein the control packets comprise at least one bridge protocol data unit (BPDU) packet. 3. The computer-implemented method of claim 1 , wherein the control packets comprise at least one link aggregation control protocol (LACP) packets. 4. The computer-implemented method of claim 1 , wherein the control packets comprise at least one link layer discovery protocol (LLDP) packet and/or at least one cisco discovery protocol (CDP) packet. 5. The computer-implemented method of claim 1 , wherein the port is one of an access port or a trunk port, wherein all virtual local area networks (VLANs) configured on the trunk port are marked as blocked. 6. The computer-implemented method of claim 1 , wherein the first number of packets transmitted comprises a rate of packets transmitted, and wherein the second number of packets transmitted comprise a rate of control packets received. 7. The computer-implemented method of claim 1 , wherein the one or more types of packets comprises all packets excluding the control packets, wherein the hardware element comprises an application specific integrated circuit. 8. A network device comprising: one or more processors; and a computer-readable storage medium having stored therein instructions which, when executed by the one or more processors, cause the one or more processors to perform operations comprising: identifying a port, on a network device, that is in a blocking state, the blocking state for dropping one or more types of packets and preventing the port from forwarding the one or more types of packets; first determining a first number of packets received through the port by a hardware element on the network device; second determining a second number of packets received through the port and dropped by the hardware element on the port; third determining a third number of control packets received through the port by a CPU process on the network device; fourth determining whether the third number>(first number−second number); fifth determining that the blocking state has failed to prevent the port from forwarding the one or more types of packets in response to a positive result of the fourth determining; and correcting, in response to a positive outcome of the fifth determining, the failed blocking state by disabling the port, setting the port to a state that allows some traffic to pass while preventing other traffic from passing, and/or re-configuring one or more links of the port. 9. The device of claim 8 , wherein the control packets comprise at least one bridge protocol data unit (BPDU) packet. 10. The device of claim 8 , wherein the control packets comprise at least one link aggregation control protocol (LACP) packets. 11. The device of claim 8 , wherein the control packets comprise at least one link layer discovery protocol (LLDP) packet and/or at least one cisco discovery protocol (CDP) packet. 12. The device of claim 8 , wherein the port is one of an access port or a trunk port, wherein all virtual local area networks (VLANs) configured on the trunk port are marked as blocked. 13. The device of claim 8 , wherein the first number of packets transmitted comprises a rate of packets transmitted, and wherein the second number of packets transmitted comprise a rate of control packets received. 14. The device of claim 8 , wherein the one or more types of packets comprises all packets excluding the control packets, wherein the hardware element comprises an application specific integrated circuit. 15. A non-transitory computer-readable storage media having stored therein instructions which, when executed by a processor, cause the processor to perform operations comprising: identifying a port, on a network device, that is in a blocking state, the blocking state for dropping one or more types of packets and preventing the port from forwarding the one or more types of packets; first determining a first number of packets received through the port by a hardware element on the network device; second determining a second number of packets received through the port and dropped by the hardware element on the port; third determining a third number of control packets received through the port by a CPU process on the network device; fourth determining whether the third number>(first number−second number); fifth determining that the blocking state has failed to prevent the port from forwarding the one or more types of packets in response to a positive result of the fourth determining; and correcting, in response to a positive outcome of the fifth determining, the failed blocking state by disabling the port, setting the port to a state that allows some traffic to pass while preventing other traffic from passing, and/or re-configuring one or more links of the port. 16. The media of claim 15 , wherein the control packets comprise at least one bridge protocol data unit (BPDU) packet. 17. The media of claim 15 , wherein the control packets comprise at least one link aggregation control protocol (LACP) packets. 18. The media of claim 15 , wherein the control packets comprise at least one link layer discovery protocol (LLDP) packet and/or at least one cisco discovery protocol (CDP) packet. 19. The media of claim 15 , wherein the port is one of an access port or a trunk port, wherein all virtual local area networks (VLANs) configured on the trunk port are marked as blocked. 20. The media of claim 15 , wherein the first number of packets transmitted comprises a rate of packets transmitted, and wherein the second number of packets transmitted comprise a rate of control packets received.

Assignees

Inventors

Classifications

  • using route fault recovery · CPC title

  • Flooding (denial of service attacks H04L63/1458) · CPC title

  • Ring fault isolation or reconfiguration {(for SDH/SONET ring networks H04J3/085)} · CPC title

  • Hopping in multicarrier systems · CPC title

  • Virtual LANs, VLANs, e.g. virtual private networks [VPN] (LAN interconnection over a bridge based backbone H04L12/462; encapsulation techniques H04L12/4633; routing of packets H04L45/00; packet switches H04L49/00; virtual private networks for security H04L63/0272) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10516600B2 cover?
Systems, methods, and non-transitory computer-readable storage media for detecting network loops. In some embodiments, a system can identify a port that is in a blocking state. The blocking state can be for dropping one or more types of packets and preventing the port from forwarding the one or more types of packets. The system can determine a number of packets transmitted through the port by a…
Who is the assignee on this patent?
Cisco Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04L45/18. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 24 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).