blob: 8dd2f16bd06dccf8d82dda16684da509d315ffa6 [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 /*
Pankaj Berde4dea3462013-01-03 18:02:38 -080017 * Initialize
18 */
yoshi2fd4c7e2013-11-22 15:47:55 -080019 public void init(final String dbStore, final String conf);
Pankaj Berded1259e82013-01-23 14:10:00 -080020
Naoki Shiotab2d17e82013-10-18 18:08:16 -070021 /*
Pankaj Berdee73452c2013-01-03 14:57:07 -080022 * Update the switch details
23 */
Naoki Shiota987a5722013-10-23 11:59:36 -070024 public boolean updateSwitch(String dpid, SwitchState state, DM_OPERATION op);
Naoki Shiotab2d17e82013-10-18 18:08:16 -070025 /*
Pankaj Berdee73452c2013-01-03 14:57:07 -080026 * Add a switch and all its associated ports
27 */
Naoki Shiota987a5722013-10-23 11:59:36 -070028 public boolean addSwitch(IOFSwitch sw);
Pankaj Berdee73452c2013-01-03 14:57:07 -080029 /*
30 * Add a switch
31 */
Naoki Shiota987a5722013-10-23 11:59:36 -070032 public boolean addSwitch(String dpid);
Pankaj Berdee73452c2013-01-03 14:57:07 -080033 /*
34 * Delete switch and associated ports
35 */
Naoki Shiota987a5722013-10-23 11:59:36 -070036 public boolean deleteSwitch(String dpid);
37 /*
Jonathan Hartadc63892013-11-08 14:03:55 -080038 * Deactivate the switch and associated ports
39 */
40 public boolean deactivateSwitch(String dpid);
41 /*
Naoki Shiota987a5722013-10-23 11:59:36 -070042 * Update the port details
yoshi0fee3de2013-11-23 09:13:37 -080043 */
Naoki Shiota987a5722013-10-23 11:59:36 -070044 public boolean updatePort(String dpid, short port, int state, String desc);
45 /*
46 * Associate a port on switch
47 */
48 public boolean addPort(String dpid, OFPhysicalPort port);
49 /*
50 * Delete a port on a switch by num
51 */
52 public boolean deletePort(String dpid, short port);
Pavlin Radoslavov64647d22013-11-04 19:07:03 -080053 /**
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}