blob: 1c243c09247c2dc8e18a185dd5c49b575b5fdc7f [file] [log] [blame]
HIGUCHI Yuta20514902013-06-12 11:24:16 -07001package net.onrc.onos.ofcontroller.core;
Pankaj Berdee73452c2013-01-03 14:57:07 -08002
Pavlin Radoslavov64647d22013-11-04 19:07:03 -08003import java.util.List;
4
Pankaj Berdebbd38612013-06-22 05:59:12 -07005import net.floodlightcontroller.core.IOFSwitch;
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 /*
Naoki Shiotab2d17e82013-10-18 18:08:16 -070017 * Initialize
18 */
19 public void init(String conf);
20 /*
Pankaj Berdee73452c2013-01-03 14:57:07 -080021 * Update the switch details
22 */
Naoki Shiota987a5722013-10-23 11:59:36 -070023 public boolean updateSwitch(String dpid, SwitchState state, DM_OPERATION op);
Naoki Shiotab2d17e82013-10-18 18:08:16 -070024 /*
Pankaj Berdebbd38612013-06-22 05:59:12 -070025 * Add a switch and all its associated ports
26 */
Naoki Shiota987a5722013-10-23 11:59:36 -070027 public boolean addSwitch(IOFSwitch sw);
Pankaj Berdebbd38612013-06-22 05:59:12 -070028 /*
29 * Add a switch
Pankaj Berdee73452c2013-01-03 14:57:07 -080030 */
Naoki Shiota987a5722013-10-23 11:59:36 -070031 public boolean addSwitch(String dpid);
Pankaj Berdee73452c2013-01-03 14:57:07 -080032 /*
33 * Delete switch and associated ports
34 */
Naoki Shiota987a5722013-10-23 11:59:36 -070035 public boolean deleteSwitch(String dpid);
36 /*
37 * Update the port details
38 */
39 public boolean updatePort(String dpid, short port, int state, String desc);
40 /*
41 * Associate a port on switch
42 */
43 public boolean addPort(String dpid, OFPhysicalPort port);
44 /*
45 * Delete a port on a switch by num
46 */
47 public boolean deletePort(String dpid, short port);
Pavlin Radoslavov64647d22013-11-04 19:07:03 -080048
49 /**
50 * Get list of all ports on the switch specified by given DPID.
51 *
52 * @param dpid DPID of desired switch.
53 * @return List of port IDs. Empty list if no port was found.
54 */
55 public List<Short> getPorts(String dpid);
Pankaj Berdee73452c2013-01-03 14:57:07 -080056}