On Mar 31, 2013, at 6:32 PM, Murphy McCauley wrote:
> On Mar 31, 2013, at 6:26 AM, Andrew Ferguson wrote:
>> I'm curious about the background of the openflow.discovery component.  my 
>> main question boils down to: is a timeout-based approach actually necessary 
>> in a pure OpenFlow network?  was LLDP implemented so non-OpenFlow switches 
>> could discover POX-controlled OF switches, or was this based on something 
>> you all experienced with a pure OF network?
>> 
>> as I currently understand things, one could simply use the PortStatus 
>> messages as proactive notification that a link has disappeared.  (this 
>> assumes that OF switches properly deliver such messages -- if some don't, 
>> then indeed, a timeout approach is required, so I'm wondering if anyone has 
>> seen such behavior.)  in other words, while I believe PortStatus messages 
>> are sufficient, are they also necessary? (if they are, then we could ditch 
>> the periodic re-sending of LLDP packets, right?)
> 
> This design was inspired by NOX.  I don't think discovery by non-OF switches 
> was a major factor.  I think the major reasons are:
> 
> 1) Port status messages alone don't actually let you discover the topology, 
> which is a major point of this module.  The discovery module really does both 
> topology discovery and link failure detection;

oh absolutely! sorry if I didn't make that clear. you definitely need to send 
messages out the newly discovered ports to find out what's at the other end. my 
question is about whether you need to do this repeatedly, in response to a 
timer firing, or whether, because of the other OF events, you can get away 
without the periodic timer. it certainly seems like the kind of thing one would 
learn from experience with multiple switches and configurations.


> 3) The relevant port state is "link down", which we can assume is probably 
> tied to LIT/link pulse/whatever, but there are ways that a link can fail 
> which aren't caught by these -- though admittedly, many more in mixed 
> networks.  A more recent but related concern is ... for a virtual port that 
> represents a tunnel (as is common in the important use case of an OpenFlow 
> overlay network -- a different sort of mixed network), do you get link downs? 
>  I don't actually know, but I expect the answer is "not always" at best.

great question! I haven't used an OF network with tunnels like that, so I don't 
know either. yeah, that's the sort of corner case whose existence I was 
wondering about.


>> anyway, this is the discovery approach I currently use in my own controller, 
>> and I'm wondering if I'll need the timeout-based approach in some scenario I 
>> haven't encountered yet.
> 
> In general, I think you need to probe and timeout for reliable detection.  
> But as in so many things, I think there are probably multiple designs that 
> make sense for different use cases and environments.


totally agree. makes me curious about what other environments people are 
seeing. :-)


cheers,
Andrew

Reply via email to