Hi Zheng, Comments inline.
> I was wondering what would be the behavior of the NOX controller(using > routing app package) and of an Openflow switch upon link failures. > > To be more specific, assume that there are already some flow entries(FEs) in > switch A which will output packets to port X (X is connected to port Y on > switch B). When this link fails, I guess that both A and B will send > ofp_port_status messages to the controller. My question then is, what will > happen to these flow entries(FEs)? Will they be removed by the switch itself > immediately, or they have to wait for the hard timeout? During that period, > will all the packets matched by those entries be going to the dead link? AFAIK, the entries will not timeout. If the flows are TCP or some end-to-end controlled protocol that timeouts, then it will stop sending packets. Then the entries will timeout due to idle (not hard timeout). I believe in most hardware you have lost those packets. However, it should not be hard to poison these entries when NOX sees a link timeout. I am assuming that is what you are asking. Your experience with discovery might vary though. > To my knowledge, the NOX routing app package does not remember the flow > entries it create(correct me if I am wrong). Then if it is the hard timeout > case, it seems that it will take some time for those entries to get > corrected by the controller. I really appreciate it if someone can point me > to a place where I can figure out this whole process. Yes, routing do not remember the flow entries. If you want to understand the process, read the source code discovery, topology, authenticator and routing. The last being the most important of course. Unfortunately documentation in NOX lags significantly. NOX 0.6 has adopted doxygen, and hopefully documentation will catch up. Hope the comments are helpful. Regards KK _______________________________________________ nox-dev mailing list [email protected] http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
