blob: 1219aac4570801e6187a46370255e81d28e32847 [file] [log] [blame]
Pankaj Berdee73452c2013-01-03 14:57:07 -08001package net.floodlightcontroller.core;
2
3import java.util.Collection;
Pankaj Berde1e2f7312013-02-15 08:25:31 -08004
5import net.floodlightcontroller.core.INetMapTopologyObjects.ISwitchObject;
6
Pankaj Berdee73452c2013-01-03 14:57:07 -08007import org.openflow.protocol.OFPhysicalPort;
8
9public interface ISwitchStorage extends INetMapStorage {
10
Pankaj Berde28cc61c2013-01-08 18:19:33 -080011 public enum SwitchState {
Pankaj Berde8557a462013-01-07 08:59:31 -080012 INACTIVE,
13 ACTIVE
14 }
15
Pankaj Berdee73452c2013-01-03 14:57:07 -080016 /*
17 * Update the switch details
18 */
Pankaj Berde8557a462013-01-07 08:59:31 -080019 public void update(String dpid,SwitchState state, DM_OPERATION op);
Pankaj Berdee73452c2013-01-03 14:57:07 -080020 /*
21 * Associate a port on switch
22 */
Pankaj Berde4dea3462013-01-03 18:02:38 -080023 public void addPort(String dpid, OFPhysicalPort port);
Pankaj Berdee73452c2013-01-03 14:57:07 -080024 /*
25 * Get all ports associated on a switch
26 */
27 public Collection<OFPhysicalPort> getPorts(long dpid);
28 /*
29 * Get Port by Number
30 */
Pankaj Berde4dea3462013-01-03 18:02:38 -080031 public OFPhysicalPort getPort(String dpid, short portnum);
Pankaj Berdee73452c2013-01-03 14:57:07 -080032 /*
33 * Get port by name
34 */
Pankaj Berde4dea3462013-01-03 18:02:38 -080035 public OFPhysicalPort getPort(String dpid, String portName);
36 /*
37 * Add a switch
38 */
39 public void addSwitch(String dpid);
Pankaj Berdee73452c2013-01-03 14:57:07 -080040 /*
41 * Delete switch and associated ports
42 */
Pankaj Berde4dea3462013-01-03 18:02:38 -080043 public void deleteSwitch(String dpid);
Pankaj Berdee73452c2013-01-03 14:57:07 -080044 /*
45 * Delete a port on a switch by num
46 */
Pankaj Berde4dea3462013-01-03 18:02:38 -080047 public void deletePort(String dpid, short port);
Pankaj Berdee73452c2013-01-03 14:57:07 -080048 /*
49 * Delete port on a switch by name
50 */
Pankaj Berde4dea3462013-01-03 18:02:38 -080051 public void deletePort(String dpid, String portName);
52
Pankaj Berde8557a462013-01-07 08:59:31 -080053
Pankaj Berde4dea3462013-01-03 18:02:38 -080054 /*
55 * Initialize
56 */
57 public void init(String conf);
Pankaj Berded1259e82013-01-23 14:10:00 -080058
59
Pankaj Berdee73452c2013-01-03 14:57:07 -080060}