11. www.opendaylight.org
Roles in Openflow 1.3 and beyond
▪ Equal Role
o Default Role.
o Both reads and writes are possible by a Equal Role Controller
o Multiple Controllers can have the equal role
▪ Master Role
o Only one controller can be the Master
o Both reads and writes are possible , similar to Equal
o Recieves aysnc messages from switch
▪ Slave Role
o More than one controller can be the slave role
o Only Reads are possible from the slave controller
o No async messages are received (by default)
11
12. www.opendaylight.org
Scale
▪ Switches can connect to a subset of the controller cluster . E.g. 2 out of 5
▪ Mastership is distributed across the cluster (or connected nodes) via
Entity Ownership Strategy : FIFO, Last-one, Load-Balanced etc
▪ Horizontal scaling (with Be) – Add more controller nodes and connect to
switches
12
18. www.opendaylight.org
Entity-Ownership-Service
▪ Plays the role of an arbiter and elects a candidate
▪ Ownership Changed notifications
o Is-owner : denotes if the controller receiving this notification is the owner of this entity
o Was-owner : denotes if the controller receiving this notification was the owner of this entity
o Has-owner : denotes if a controller in this cluster is an owner of this entity
▪ Election Strategies
o First Candidate Selection Strategy (default)
o Least Loaded Candidate Selection Strategy
How to Change Election Strategy
1. Create a file in etc folder with the
name org.opendaylight.controller.cluster.entity.owner.selection.strategies .cfg
2. entity.type.openflow=org.opendaylight.controller.cluster.datastore.entityownership.selectionst
rategy.LeastLoadedCandidateSelectionStrategy,5000
Entities lookup: localhost:8181/restconf/operational/entity-owners:entity-owners
Openflow Clustering is implemented using 2 types of entities : openflow AND
ofTransaction
18
21. www.opendaylight.org
TBD
▪ Set Aysnc Config Message : To enable slaves to receive certain async
messages. Helps in spreading the load
▪ Scale and Device Initialization
▪ How to choose a subset of the controllers to connect to?
▪ Symmetric Datastore , Memory and East-West traffic
21