blob: 2cfab3ffd7d8d99d9602e69a8099e1c5ec387e38 [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 /*
Jonathan Hartadc63892013-11-08 14:03:55 -080037 * Deactivate the switch and associated ports
38 */
39 public boolean deactivateSwitch(String dpid);
40 /*
Naoki Shiota987a5722013-10-23 11:59:36 -070041 * Update the port details
42 */
43 public boolean updatePort(String dpid, short port, int state, String desc);
44 /*
45 * Associate a port on switch
46 */
47 public boolean addPort(String dpid, OFPhysicalPort port);
48 /*
49 * Delete a port on a switch by num
50 */
51 public boolean deletePort(String dpid, short port);
Pavlin Radoslavov64647d22013-11-04 19:07:03 -080052
53 /**
54 * Get list of all ports on the switch specified by given DPID.
55 *
56 * @param dpid DPID of desired switch.
57 * @return List of port IDs. Empty list if no port was found.
58 */
59 public List<Short> getPorts(String dpid);
Pankaj Berdee73452c2013-01-03 14:57:07 -080060}