DETECTING AND PREVENTING NETWORK LOOPS
First Claim
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;
determining a first number of packets transmitted through the port by a hardware element on the network device;
determining a second number of control packets transmitted through the port by a CPU process on the network device;
determining whether the first number of packets is greater than the second number of control packets; and
when the first number of packets is greater than the second number of control packets, determining that the blocking state has failed to prevent the port from forwarding the one or more types of packets.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
13 Citations
20 Claims
-
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; determining a first number of packets transmitted through the port by a hardware element on the network device; determining a second number of control packets transmitted through the port by a CPU process on the network device; determining whether the first number of packets is greater than the second number of control packets; and when the first number of packets is greater than the second number of control packets, determining that the blocking state has failed to prevent the port from forwarding the one or more types of packets. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. 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 the 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; determining a first number of packets transmitted through the port by a hardware element on the network device; determining a second number of control packets transmitted through the port by a CPU process on the network device; determining whether the first number of packets is greater than the second number of control packets; and when the first number of packets is greater than the second number of control packets, detecting an error associated with the blocking state, the error comprising a failure to prevent the port from forwarding the one or more types of packets. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory computer-readable storage medium 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 causing the port to drop one or more types of packets and preventing the port from forwarding the one or more types of packets; determining a first number of packets received, by a hardware element of the network device, through the port; determining a second number of control packets received, by a CPU process of the network device, through the port; determining a third number of packets received via the port and dropped by the hardware element; determining whether a difference between the first number of packets received by the hardware element and the third number of packets dropped by the hardware element, is greater than the second number of control packets received by the CPU process; and when the difference is greater than the second number of control packets received, determining that the port has failed to drop the one or more types of packets during the blocking state. - View Dependent Claims (17, 18, 19, 20)
-
Specification