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 by at least a predetermined number;
when the first number of packets is greater than the second number of control packets by the at least the predetermined number, determining that the blocking state has failed to prevent the port from forwarding the one or more types of packets; and
correcting, in response to a positive outcome of the 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
/orre-configuring one or more links of the port;
wherein the predetermined number is zero or higher.
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.
27 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 by at least a predetermined number; when the first number of packets is greater than the second number of control packets by the at least the predetermined number, determining that the blocking state has failed to prevent the port from forwarding the one or more types of packets; and correcting, in response to a positive outcome of the 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
/orre-configuring one or more links of the port; wherein the predetermined number is zero or higher. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 17, 18, 19, 20)
-
-
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 by at least a predetermined number; and when the first number of packets is greater than the second number of control packets by the at least the predetermined number, 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; and correcting, in response to a positive outcome of the 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
/orre-configuring one or more links of the port; wherein the predetermined number is zero or higher. - 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 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 by at least a predetermined number; when the first number of packets is greater than the second number of control packets by the at least the predetermined number, determining that the blocking state has failed to prevent the port from forwarding the one or more types of packets; and correcting, in response to a positive outcome of the 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
/orre-configuring one or more links of the port; wherein the predetermined number is zero or higher.
-
Specification