US 9,813,312 B2
Systems and methods for performing debugging operations on networks using a controller
Xin Wu, Sunnyvale, CA (US); Rajneesh Bajpai, San Jose, CA (US); Robert W. Sherwood, Oakland, CA (US); Srinivasan Ramasubramanian, Sunnyvale, CA (US); Gregor Mathias Maier, Alameda, CA (US); Richard Leegan Lane, II, Mountain View, CA (US); Kenneth Hsinchao Chiang, Fremont, CA (US); and Mei Yang, Fremont, CA (US)
Assigned to Big Switch Networks, Inc., Santa Clara, CA (US)
Filed by Big Switch Networks, Inc., Santa Clara, CA (US)
Filed on Feb. 19, 2015, as Appl. No. 14/626,450.
Claims priority of provisional application 62/027,238, filed on Jul. 21, 2014.
Prior Publication US 2016/0020993 A1, Jan. 21, 2016
Int. Cl. H04L 12/26 (2006.01); H04L 12/721 (2013.01); H04L 12/741 (2013.01); H04L 12/803 (2013.01); H04L 12/24 (2006.01)
CPC H04L 43/06 (2013.01) [H04L 43/028 (2013.01); H04L 43/04 (2013.01); H04L 43/0829 (2013.01); H04L 43/0847 (2013.01); H04L 45/14 (2013.01); H04L 45/745 (2013.01); H04L 47/125 (2013.01); H04L 41/0645 (2013.01); H04L 43/026 (2013.01)] 14 Claims
OG exemplary drawing
 
1. A method of using a controller that controls switches in a network, the method comprising:
with the controller, providing debug table entries having matching information to the switches, wherein the debug table entries instruct the switches to increment corresponding counters in response to receiving network packets that match the matching information;
with the controller, retrieving count information from the switches that were generated by the corresponding counters on the switches;
with the controller, identifying first, second, and third counter rate values from the retrieved count information, wherein the first counter rate value comprises a change in a first counter value over time, the second counter rate value comprises a change in a second counter value over time, and the third counter rate value comprises a change in a third counter value over time; and
with the controller, determining whether an elephant packet flow exists between first and second switches in the network based on at least the identified first, second, and third counter rate values, wherein determining whether the elephant packet flow exists comprises:
with the controller, providing a broad debug table entry having a first priority to a first switch, wherein the broad debug table entry matches a set of network packets, and wherein the broad debug table entry instructs the first switch to increment the first counter value;
with the controller, partitioning the broad debug table entry into first and second narrow debug table entries that have a second priority that is higher than the first priority and that match respective first and second subsets of the set of network packets;
with the controller, providing the first and second narrow debug table entries to the first switch, wherein the first narrow debug table entry instructs the first switch to increment the second counter value and the second narrow debug table entry instructs the first switch to increment the third counter value; and
with the controller, determining whether the third counter rate value is greater than the second counter rate value.