X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=inline;f=opendaylight%2Fswitchmanager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fswitchmanager%2FISwitchManager.java;fp=opendaylight%2Fswitchmanager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fswitchmanager%2FISwitchManager.java;h=0000000000000000000000000000000000000000;hb=9e43cfabdc83df4c5db51ce6e22e0cecca12aa9a;hp=ddc5f8ffee2777cd098148e05abe0c2ee741e7ea;hpb=1bad1b7ca9a87f9e1d32cfcf5a181354fc378ad4;p=controller.git diff --git a/opendaylight/switchmanager/src/main/java/org/opendaylight/controller/switchmanager/ISwitchManager.java b/opendaylight/switchmanager/src/main/java/org/opendaylight/controller/switchmanager/ISwitchManager.java deleted file mode 100755 index ddc5f8ffee..0000000000 --- a/opendaylight/switchmanager/src/main/java/org/opendaylight/controller/switchmanager/ISwitchManager.java +++ /dev/null @@ -1,361 +0,0 @@ - -/* - * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.controller.switchmanager; - -import java.net.InetAddress; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.opendaylight.controller.sal.core.Node; -import org.opendaylight.controller.sal.core.NodeConnector; -import org.opendaylight.controller.sal.core.Property; -import org.opendaylight.controller.sal.utils.Status; - -import org.opendaylight.controller.switchmanager.SpanConfig; -import org.opendaylight.controller.switchmanager.Subnet; -import org.opendaylight.controller.switchmanager.SubnetConfig; -import org.opendaylight.controller.switchmanager.Switch; -import org.opendaylight.controller.switchmanager.SwitchConfig; - -/** - * Primary purpose of this interface is to provide methods for application to - * access various system resources and inventory data including nodes, node - * connectors and their properties, Layer3 configurations, Span configurations, - * node configurations, network device representations viewed by Controller Web - * applications. - */ -public interface ISwitchManager { - /** - * Add a subnet configuration - * - * @param configObject refer to {@link Open Declaration org.opendaylight.controller.switchmanager.SubnetConfig} - * @return "Success" or failure reason - */ - public Status addSubnet(SubnetConfig configObject); - - /** - * Remove a subnet configuration - * - * @param configObject refer to {@link Open Declaration org.opendaylight.controller.switchmanager.SubnetConfig} - * @return "Success" or failure reason - */ - public Status removeSubnet(SubnetConfig configObject); - - /** - * Remove a subnet configuration given the name - * - * @param name subnet name - * @return "Success" or failure reason - */ - public Status removeSubnet(String name); - - /** - * Return a list of all known devices in the system - * - * @return returns a list of {@link org.opendaylight.controller.switchmanager.Switch} - */ - public List getNetworkDevices(); - - /** - * Return a list of subnet that were previously configured - * - * @return list of L3 interface {@link org.opendaylight.controller.switchmanager.SubnetConfig} configurations - */ - public List getSubnetsConfigList(); - - /** - * Return the subnet configuration - * - * @param subnet subnet - * @return a L3 interface {@link org.opendaylight.controller.switchmanager.SubnetConfig} configuration - */ - public SubnetConfig getSubnetConfig(String subnet); - - /** - * Return a subnet configuration given the network address - * - * @param networkAddress the ip address in long format - * @return the {@link org.opendaylight.controller.switchmanager.Subnet} - */ - public Subnet getSubnetByNetworkAddress(InetAddress networkAddress); - - /** - * Save the current switch configurations - * - * @return the status code - */ - public Status saveSwitchConfig(); - - /** - * Add a span port configuration - * - * @param SpanConfig refer to {@link Open Declaration org.opendaylight.controller.switchmanager.SpanConfig} - * @return status code - */ - public Status addSpanConfig(SpanConfig configObject); - - /** - * Remove a span port configuration - * - * @param SpanConfig refer to {@link Open Declaration org.opendaylight.controller.switchmanager.SpanConfig} - * @return status code - */ - public Status removeSpanConfig(SpanConfig cfgObject); - - /** - * Return a list of span configurations that were configured previously - * - * @return list of {@link org.opendaylight.controller.switchmanager.SpanConfig} resources - */ - public List getSpanConfigList(); - - /** - * Return the list of span ports of a given node - * - * @param node {@link org.opendaylight.controller.sal.core.Node} - * @return the list of span {@link org.opendaylight.controller.sal.core.NodeConnector} of the node - */ - public List getSpanPorts(Node node); - - /** - * Update Switch specific configuration such as Switch Name and Tier - * - * @param cfgConfig refer to {@link Open Declaration org.opendaylight.controller.switchmanager.SwitchConfig} - */ - public void updateSwitchConfig(SwitchConfig cfgObject); - - /** - * Return the previously configured Switch Configuration given the node id - * - * @param nodeId Node Identifier as specified by {@link org.opendaylight.controller.sal.core.Node} - * @return {@link org.opendaylight.controller.switchmanager.SwitchConfig} resources - */ - public SwitchConfig getSwitchConfig(String nodeId); - - /** - * Add node connectors to a subnet - * - * @param name The subnet config name - * @param nodeConnectors nodePorts string specified by {@link Open Declaration org.opendaylight.controller.switchmanager.SubnetConfig} - * @return "Success" or failure reason - */ - public Status addPortsToSubnet(String name, String nodeConnectors); - - /** - * Remove node connectors from a subnet - * - * @param name the subnet config name - * @param nodeConnectors nodePorts string specified by {@link Open Declaration org.opendaylight.controller.switchmanager.SubnetConfig} - * @return "Success" or failure reason - */ - public Status removePortsFromSubnet(String name, String nodeConnectors); - - /** - * Return the set of all the nodes - * - * @return set of {@link org.opendaylight.controller.sal.core.Node} - */ - public Set getNodes(); - - /** - * Return all the properties of a node - * - * @param node {@link org.opendaylight.controller.sal.core.Node} - * @return map of {@link org.opendaylight.controller.sal.core.Property} such as - * {@link org.opendaylight.controller.sal.core.Description} and/or - * {@link org.opendaylight.controller.sal.core.Tier} etc. - */ - public Map getNodeProps(Node node); - - /** - * Return a specific property of a node given the property name - * - * @param node {@link org.opendaylight.controller.sal.core.Node} - * @param propName the property name specified by {@link org.opendaylight.controller.sal.core.Property} and its extended classes - * @return {@link org.opendaylight.controller.sal.core.Property} - */ - public Property getNodeProp(Node node, String propName); - - /** - * Set a specific property of a node - * - * @param node {@link org.opendaylight.controller.sal.core.Node} - * @param prop {@link org.opendaylight.controller.sal.core.Property} - */ - public void setNodeProp(Node node, Property prop); - - /** - * Remove a property of a node - * - * @param nc {@link org.opendaylight.controller.sal.core.Node} - * @param propName the property name specified by {@link org.opendaylight.controller.sal.core.Property} and its extended classes - * @return success or failed reason - */ - public Status removeNodeProp(Node node, String propName); - - /** - * Remove all the properties of a node - * - * @param node {@link org.opendaylight.controller.sal.core.Node} - * @return success or failed reason - */ - public Status removeNodeAllProps(Node node); - - /** - * Return all the node connectors in up state for a given node - * - * @param node {@link org.opendaylight.controller.sal.core.Node} - * @return set of {@link org.opendaylight.controller.sal.core.NodeConnector} - */ - public Set getUpNodeConnectors(Node node); - - /** - * Return all the node connectors including those special ones. Status of each node connector varies. - * - * @param node {@link org.opendaylight.controller.sal.core.Node} - * @return all listed {@link org.opendaylight.controller.sal.core.NodeConnector} - */ - public Set getNodeConnectors(Node node); - - /** - * Return all the physical node connectors of a node. Status of each node connector varies. - * - * @param node {@link org.opendaylight.controller.sal.core.Node} - * @return all physical {@link org.opendaylight.controller.sal.core.NodeConnector} - */ - public Set getPhysicalNodeConnectors(Node node); - - /** - * Return all the properties of a node connector - * - * @param nodeConnector {@link org.opendaylight.controller.sal.core.NodeConnector} - * @return map of {@link org.opendaylight.controller.sal.core.Property} such as - * {@link org.opendaylight.controller.sal.core.Description} and/or - * {@link org.opendaylight.controller.sal.core.State} etc. - */ - public Map getNodeConnectorProps( - NodeConnector nodeConnector); - - /** - * Return a specific property of a node connector given the property name - * - * @param nodeConnector {@link org.opendaylight.controller.sal.core.NodeConnector} - * @param propName property name specified by {@link org.opendaylight.controller.sal.core.Property} and its extended classes - * @return {@link org.opendaylight.controller.sal.core.Property} - */ - public Property getNodeConnectorProp(NodeConnector nodeConnector, - String propName); - - /** - * Add a node connector and its property - * - * @param nodeConnector {@link org.opendaylight.controller.sal.core.NodeConnector} - * @param prop {@link org.opendaylight.controller.sal.core.Property} - * @return success or failed reason - */ - public Status addNodeConnectorProp(NodeConnector nodeConnector, - Property prop); - - /** - * Remove a property of a node connector - * - * @param nc {@link org.opendaylight.controller.sal.core.NodeConnector} - * @param propName property name specified by {@link org.opendaylight.controller.sal.core.Property} and its extended classes - * @return success or failed reason - */ - public Status removeNodeConnectorProp(NodeConnector nc, String propName); - - /** - * Remove all the properties of a node connector - * - * @param nodeConnector {@link org.opendaylight.controller.sal.core.NodeConnector} - * @return success or failed reason - */ - public Status removeNodeConnectorAllProps(NodeConnector nodeConnector); - - /** - * Return the node connector given its name - * - * @param node {@link org.opendaylight.controller.sal.core.Node} - * @param nodeConnectorName node connector identifier specified by {@link org.opendaylight.controller.sal.core.NodeConnector} - * @return {@link org.opendaylight.controller.sal.core.NodeConnector} - */ - public NodeConnector getNodeConnector(Node node, String nodeConnectorName); - - /** - * Return whether the specified node connector is a special node port - * Example of node's special node connector are software stack, hardware path, controller... - * - * @param p {@link org.opendaylight.controller.sal.core.NodeConnector} - * @return true or false - */ - public boolean isSpecial(NodeConnector p); - - /** - * Check if the node connector is up running - * - * @param nodeConnector {@link org.opendaylight.controller.sal.core.NodeConnector} - * @return true or false - */ - public Boolean isNodeConnectorEnabled(NodeConnector nodeConnector); - - /** - * Return controller MAC address - * - * @return MAC address in byte array - */ - public byte[] getControllerMAC(); - - /** - * Return MAC address for a given node - * - * @param node {@link org.opendaylight.controller.sal.core.Node} - * @return MAC address in byte array - */ - public byte[] getNodeMAC(Node node); - - /** - * Return true if the host Refresh procedure (by sending ARP request probes - * to known hosts) is enabled. By default, the procedure is enabled. This can - * be overwritten by OSFI CLI "hostRefresh off". - * - * @return true if it is enabled; false if it's disabled. - */ - public boolean isHostRefreshEnabled(); - - /** - * Return host refresh retry count - * - * @return host refresh retry count - */ - public int getHostRetryCount(); - - /** - * Create a Name/Tier/Bandwidth Property object based on given property - * name and value. Other property types are not supported yet. - * - * @param propName Name of the Property specified by {@link org.opendaylight.controller.sal.core.Property} and its extended classes - * @param propValue Value of the Property specified by {@link org.opendaylight.controller.sal.core.Property} and its extended classes - * @return {@link org.opendaylight.controller.sal.core.Property} - */ - public Property createProperty(String propName, String propValue); - - /** - * Returns the description for the specified node. It is either the one - * configured by user or the description advertised by the node. - * - * @param node the network node identifier - * @return the description of the specified node. If no description is - * configured and the network node does not provide its description, - * an empty string is returned. - */ - public String getNodeDescription(Node node); -}