This document discusses OpenDaylight's implementation of OpenFlow clustering. Key points:
- OpenDaylight uses components like the OpenFlow plugin, Entity Ownership Service, and clustered datastore to implement clustering.
- Clustering provides high availability (via controller failover) and scalability. OpenFlow 1.3+ supports master/slave roles to facilitate failover.
- The Entity Ownership Service elects a master controller for each switch using strategies like first candidate or least loaded. It notifies of ownership changes.
- Challenges include race conditions, switch connection flapping, partitioning, and scale. Areas of future work are listed.