hi, 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?) relatedly, I noticed that while POX's openflow.discovery proactively deletes links in response to a switch's ConnectionDown, the PortStatus events are only used to remove ports from the list of ports out of which to send LLDP messages on each cycle. what was the reasoning behind this design? 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. thanks! Andrew
