blob: b3b8ed34b192c26ddb0f9fd03572d7bd7747d4fc [file] [log] [blame]
tom0eb04ca2014-08-25 14:34:51 -07001package net.onrc.onos.of.ctl;
2
3import org.projectfloodlight.openflow.protocol.OFVersion;
4
5import net.onrc.onos.of.ctl.registry.IControllerRegistry;
6
7/**
8 * Interface to passed to controller class in order to allow
9 * it to spawn the appropriate type of switch and furthermore
10 * specify a registry object (ie. ZooKeeper).
11 *
12 */
13public interface IOFSwitchManager {
14
15 /**
16 * Given a description string for a switch spawn the
17 * concrete representation of that switch.
18 *
19 * @param mfr manufacturer description
20 * @param hwDesc hardware description
21 * @param swDesc software description
22 * @param ofv openflow version
23 * @return A switch of type IOFSwitch.
24 */
25 public IOFSwitch getSwitchImpl(String mfr, String hwDesc, String swDesc, OFVersion ofv);
26
27 /**
28 * Returns the mastership registry used during controller-switch role election.
29 * @return the registry
30 */
31 public IControllerRegistry getRegistry();
32
33}