OpenFLow plugin & SAL API documentation 06/1006/3
authorJason Ye <yisye@cisco.com>
Mon, 26 Aug 2013 17:56:22 +0000 (10:56 -0700)
committerGerrit Code Review <gerrit@opendaylight.org>
Mon, 26 Aug 2013 22:41:37 +0000 (22:41 +0000)
Change-Id: I0947e48f4ab52cf61e84973dcc808b10045e3382
Signed-off-by: Jason Ye <yisye@cisco.com>
27 files changed:
opendaylight/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/IInventoryShimInternalListener.java
opendaylight/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/IOFStatisticsListener.java
opendaylight/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/IReadFilterInternalListener.java
opendaylight/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/IReadServiceFilter.java
opendaylight/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/IRefreshInternalProvider.java
opendaylight/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/core/ISwitch.java
opendaylight/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/internal/TopologyServiceShim.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/authorization/IResourceAuthorization.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/IContainerAware.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/core/IContainerListener.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/flowprogrammer/IPluginInFlowProgrammerService.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/reader/IPluginInReadService.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/reader/IPluginOutReadService.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/reader/IReadService.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/reader/IReadServiceListener.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/routing/IRouting.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/topology/IListenTopoUpdates.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/topology/IPluginOutTopologyService.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/utils/ConfigurationObject.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/utils/IListener.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/utils/INodeConnectorFactory.java
opendaylight/sal/api/src/main/java/org/opendaylight/controller/sal/utils/INodeFactory.java
opendaylight/sal/connection/api/src/main/java/org/opendaylight/controller/sal/connection/IConnectionService.java
opendaylight/sal/connection/api/src/main/java/org/opendaylight/controller/sal/connection/IPluginInConnectionService.java
opendaylight/sal/connection/api/src/main/java/org/opendaylight/controller/sal/connection/IPluginOutConnectionService.java
opendaylight/sal/networkconfiguration/api/src/main/java/org/opendaylight/controller/sal/networkconfig/bridgedomain/IBridgeDomainConfigService.java
opendaylight/sal/networkconfiguration/api/src/main/java/org/opendaylight/controller/sal/networkconfig/bridgedomain/IPluginInBridgeDomainConfigService.java

index 9bcd7c0dc45229a4efa1cc845f20a51dc1bbb726..3c698b6ce3f928cec80554ff57229131ca8f1b19 100644 (file)
@@ -1,4 +1,3 @@
-
 /*
  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
  *
@@ -24,22 +23,32 @@ public interface IInventoryShimInternalListener {
     /**
      * Updates node and its properties
      *
-     * @param node                      {@link org.opendaylight.controller.sal.core.Node} being updated
-     * @param type              {@link org.opendaylight.controller.sal.core.UpdateType}
-     * @param props             set 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.
+     * @param node
+     *            {@link org.opendaylight.controller.sal.core.Node} being
+     *            updated
+     * @param type
+     *            update type {@link org.opendaylight.controller.sal.core.UpdateType}
+     * @param props
+     *            set 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 void updateNode(Node node, UpdateType type, Set<Property> props);
 
     /**
      * Updates node connector and its properties
      *
-     * @param nodeConnector {@link org.opendaylight.controller.sal.core.NodeConnector} being updated
-     * @param type              {@link org.opendaylight.controller.sal.core.UpdateType}
-     * @param props             set 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.
+     * @param nodeConnector
+     *            {@link org.opendaylight.controller.sal.core.NodeConnector}
+     *            being updated
+     * @param type
+     *            update type {@link org.opendaylight.controller.sal.core.UpdateType}
+     * @param props
+     *            set 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 void updateNodeConnector(NodeConnector nodeConnector,
             UpdateType type, Set<Property> props);
index 1c22966299356d1998d2a0cad2aa225ba06504f0..6980479fa82a834340ec82763f7fe10b6b8a26d9 100644 (file)
@@ -5,16 +5,52 @@ import java.util.List;
 import org.openflow.protocol.statistics.OFStatistics;
 
 /**
- * Interface defines the api which gets called when the information
- * contained in the OF statistics reply message from a network is updated with
- * new one.
+ * Interface which defines the notification functions which will get called when
+ * the information contained in the OF statistics reply message received from a
+ * network node is different from the cached one.
  */
 public interface IOFStatisticsListener {
+    /**
+     * Notifies that a new list of description statistics objects for the given
+     * switch is available
+     *
+     * @param switchId
+     *            The datapath id of the openflow switch
+     * @param description
+     *            The new list of description statistics objects
+     */
     public void descriptionStatisticsRefreshed(Long switchId, List<OFStatistics> description);
 
+    /**
+     * Notifies that a new list of flows statistics objects for the given switch
+     * is available
+     *
+     * @param switchId
+     *            The datapath id of the openflow switch
+     * @param flows
+     *            The new list of flow statistics objects
+     */
     public void flowStatisticsRefreshed(Long switchId, List<OFStatistics> flows);
 
+    /**
+     * Notifies that a new list of port statistics objects for the given switch
+     * is available
+     *
+     * @param switchId
+     *            The datapath id of the openflow switch
+     * @param flows
+     *            The new list of port statistics objects
+     */
     public void portStatisticsRefreshed(Long switchId, List<OFStatistics> ports);
 
+    /**
+     * Notifies that a new list of table statistics objects for the given switch
+     * is available
+     *
+     * @param switchId
+     *            The datapath id of the openflow switch
+     * @param flows
+     *            The new list of table statistics objects
+     */
     public void tableStatisticsRefreshed(Long switchId, List<OFStatistics> tables);
 }
index d5f4d31f2bfd0e8ec88867efbae8b0e01c9e9e82..9622af97ef3fa66e5b376b4640894978b926aae4 100644 (file)
@@ -9,38 +9,45 @@ import org.opendaylight.controller.sal.reader.NodeDescription;
 import org.opendaylight.controller.sal.reader.NodeTableStatistics;
 
 /**
- * The Interface provides statistics updates to ReaderFilter listeners within
- * the protocol plugin
+ * The Interface provides notification of statistics (hardware view) updates to
+ * ReaderFilter listeners within the protocol plugin
  */
 public interface IReadFilterInternalListener {
 
     /**
-     * Notifies the hardware view of all the flow installed on the specified network node
+     * Notifies the hardware view of all the flow installed on the specified
+     * network node was updated
+     *
      * @param node
-     * @return
+     *            the network node
+     * @param flowStatsList
      */
     public void nodeFlowStatisticsUpdated(Node node, List<FlowOnNode> flowStatsList);
 
     /**
-     * Notifies the hardware view of the specified network node connector
+     * Notifies the hardware view of the specified network node connectors was
+     * updated
+     *
      * @param node
-     * @return
+     *            the network node
      */
     public void nodeConnectorStatisticsUpdated(Node node, List<NodeConnectorStatistics> ncStatsList);
 
     /**
-     * Notifies all the table statistics for a node
+     * Notifies the hardware view of the specified network node tables was
+     * updated
+     *
      * @param node
-     * @return
+     *            the network node
      */
     public void nodeTableStatisticsUpdated(Node node, List<NodeTableStatistics> tableStatsList);
 
     /**
-     * Notifies the hardware view of all the flow installed on the specified network node
+     * Notifies the hardware view of all the flow installed on the specified
+     * network node was updated
+     *
      * @param node
-     * @return
+     *            the network node
      */
     public void nodeDescriptionStatisticsUpdated(Node node, NodeDescription nodeDescription);
-
-
 }
index a10e22b394c6c3e3d741367c588959a26ca332ba..9ba67e382f9b41f7a7428fab37116e678c286d39 100644 (file)
@@ -1,4 +1,3 @@
-
 /*
  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
  *
@@ -21,90 +20,139 @@ import org.opendaylight.controller.sal.reader.NodeDescription;
 import org.opendaylight.controller.sal.reader.NodeTableStatistics;
 
 /**
- * Interface to serve the hardware information requests coming from SAL
- * It is implemented by the respective OF1.0 plugin component
+ * Interface to serve the hardware information requests coming from SAL It is
+ * implemented by the respective OF1.0 plugin component
  *
  */
 public interface IReadServiceFilter {
     /**
-     * Returns the hardware image for the specified flow
-     * on the specified network node for the passed container
+     * Returns the hardware image for the specified flow on the specified
+     * network node for the passed container
      *
      * @param container
+     *            the container for which the request is originated
      * @param node
+     *            the network node
      * @param flow
+     *            the target flow
      * @param cached
-     * @return
+     *            specify if entry has to be queried from the cached hardware
+     *            information maintained in the protocol plugin or directly from
+     *            the network node.
+     * @return The FlowOnNode object containing the information present in
+     *         hardware for the passed flow on the specified network node
      */
-    public FlowOnNode readFlow(String container, Node node, Flow flow,
-            boolean cached);
+    public FlowOnNode readFlow(String container, Node node, Flow flow, boolean cached);
 
     /**
-     * Returns the hardware view of all the flow installed
-     * on the specified network node for the passed container
+     * Returns the hardware view of all the flow installed on the specified
+     * network node for the passed container
      *
      * @param container
+     *            the container for which the request is originated
      * @param node
+     *            the network node
      * @param cached
-     * @return
+     *            specify if entries have to be queried from the cached hardware
+     *            information maintained in the protocol plugin or directly from
+     *            the network node.
+     * @return The list of FlowOnNode objects containing the information present
+     *         in hardware on the specified network node for all its flows
      */
-    public List<FlowOnNode> readAllFlow(String container, Node node,
-            boolean cached);
+    public List<FlowOnNode> readAllFlow(String container, Node node, boolean cached);
 
     /**
-     * Returns the description of the network node as provided by the node itself
+     * Returns the description of the network node as provided by the node
+     * itself
      *
      * @param node
+     *            the network node
      * @param cached
-     * @return
+     *            specify if entry has to be queried from the cached hardware
+     *            information maintained in the protocol plugin or directly from
+     *            the network node.
+     * @return The NodeDescription object containing the description information
+     *         for the specified network node
      */
     public NodeDescription readDescription(Node node, boolean cached);
 
     /**
-     * Returns the hardware view of the specified network node connector
-     * for the given container
-     * @param node
-     * @return
+     * Returns the hardware view of the specified network node connector for the
+     * given container
+     *
+     * @param container
+     *            the container for which the request is originated
+     * @param nodeConnector
+     *            the target nodeConnector
+     * @param cached
+     *            specify if entry has to be queried from the cached hardware
+     *            information maintained in the protocol plugin or directly from
+     *            the corresponding network node.
+     * @return The NodeConnectorStatistics object containing the statistics
+     *         present in hardware for the corresponding network node port
      */
-    public NodeConnectorStatistics readNodeConnector(String container,
-            NodeConnector nodeConnector, boolean cached);
+    public NodeConnectorStatistics readNodeConnector(String container, NodeConnector nodeConnector, boolean cached);
 
     /**
-     * Returns the hardware info for all the node connectors on the
-     * specified network node for the given container
+     * Returns the hardware info for all the node connectors on the specified
+     * network node for the given container
      *
+     * @param container
+     *            the container for which the request is originated
      * @param node
-     * @return
+     *            the target node
+     * @param cached
+     *            specify if entries have to be queried from the cached hardware
+     *            information maintained in the protocol plugin or directly from
+     *            the corresponding network node.
+     * @return The list of NodeConnectorStatistics objects containing the
+     *         statistics present in hardware for all the network node ports
      */
-    public List<NodeConnectorStatistics> readAllNodeConnector(String container,
-            Node node, boolean cached);
+    public List<NodeConnectorStatistics> readAllNodeConnector(String container, Node node, boolean cached);
 
     /**
-     * Returns the table statistics of the node as specified by the given container
-     * @param node
+     * Returns the table statistics of the node as specified by the given
+     * container
+     *
+     * @param container
+     *            the container for which the request is originated
+     * @param nodeTable
+     *            the target network node table
      * @param cached
-     * @return
+     *            specify if entry has to be queried from the cached hardware
+     *            information maintained in the protocol plugin or directly from
+     *            the corresponding network node.
+     * @return The NodeTableStatistics object containing the statistics present
+     *         in hardware for the corresponding network node table
      */
-    public NodeTableStatistics readNodeTable(String container,
-            NodeTable nodeTable, boolean cached);
+    public NodeTableStatistics readNodeTable(String container, NodeTable nodeTable, boolean cached);
 
     /**
      * Returns the table statistics of all the tables for the specified node
      *
+     * @param container
+     *            the container for which the request is originated
      * @param node
-     * @return
+     *            the target node
+     * @param cached
+     *            specify if entries have to be queried from the cached hardware
+     *            information maintained in the protocol plugin or directly from
+     *            the corresponding network node.
+     * @return The list of NodeTableStatistics objects containing the statistics
+     *         present in hardware for all the network node tables
      */
-    public List<NodeTableStatistics> readAllNodeTable(String containerName,
-            Node node, boolean cached);
+    public List<NodeTableStatistics> readAllNodeTable(String containerName, Node node, boolean cached);
 
     /**
-     * Returns the average transmit rate for the specified node conenctor on
-     * the given container. If the node connector does not belong to the passed
+     * Returns the average transmit rate for the specified node connector on the
+     * given container. If the node connector does not belong to the passed
      * container a zero value is returned
      *
      * @param container
+     *            the container for which the request is originated
      * @param nodeConnector
-     * @return tx rate [bps]
+     *            the target node connector
+     * @return The average tx rate in bps
      */
     public long getTransmitRate(String container, NodeConnector nodeConnector);
 }
index 9fca60f1a039d1b9514469ad0410024b0b2147ce..506d1702af309132e4ee26ee86cc769b39b41990 100644 (file)
@@ -1,4 +1,3 @@
-
 /*
  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
  *
@@ -16,7 +15,7 @@ package org.opendaylight.controller.protocol_plugin.openflow;
  *                      to be fetched from the plugin
  *
  * For example, an application that has been started late, will want to
- * be up to date with the latest topology.  Hence, it requests for a
+ * be up to date with the latest topology. Hence, it requests for a
  * topology refresh from the plugin.
  */
 
@@ -29,6 +28,7 @@ public interface IRefreshInternalProvider {
 
     /**
      * @param containerName
+     *            Name of the container for the topology
      */
     public void requestRefresh(String containerName);
 }
index 41da311fd916dc8c1913b98f19976d9b319bf7d8..af3641823c874e485c01e19f627b2963ff9bf953 100644 (file)
@@ -119,6 +119,8 @@ public interface ISwitch {
      *
      * @param msg
      *            The OF message to be sent
+     * @param xid
+     *            The XID to be used in the message
      * @return The XID used
      */
     public Integer asyncFastSend(OFMessage msg, int xid);
@@ -175,6 +177,7 @@ public interface ISwitch {
      * Returns True if the port is enabled,
      *
      * @param portNumber
+     *            the port ID
      * @return True if the port is enabled
      */
     public boolean isPortEnabled(short portNumber);
@@ -183,6 +186,7 @@ public interface ISwitch {
      * Returns True if the port is enabled.
      *
      * @param port
+     *            the OpenFlow port
      * @return True if the port is enabled
      */
     public boolean isPortEnabled(OFPhysicalPort port);
@@ -220,12 +224,12 @@ public interface ISwitch {
      * Send Barrier message synchronously. The caller will be blocked until the
      * Barrier reply arrives.
      */
-    Object syncSendBarrierMessage();
+    public Object syncSendBarrierMessage();
 
     /**
      * Send Barrier message asynchronously. The caller is not blocked. The
      * Barrier message will be sent in a transmit thread which will be blocked
      * until the Barrier reply arrives.
      */
-    Object asyncSendBarrierMessage();
+    public Object asyncSendBarrierMessage();
 }
index 028779d10651936d4d77f3400a0f996026dcb3bf..99501c280a97a04af2f181c003fdab6a5bb2e5df 100644 (file)
@@ -729,18 +729,37 @@ public class TopologyServiceShim implements IDiscoveryListener,
         bulkNotifyQ.add(containerName);
     }
 
+    /**
+     * Retrieve/construct edge map for a given container
+     *
+     * @param containerName
+     *            the container name
+     * @return the edges and their properties
+     */
+    private Map<NodeConnector, Pair<Edge, Set<Property>>> getEdgeMap(String containerName) {
+        Map<NodeConnector, Pair<Edge, Set<Property>>> edgePropMap = null;
+
+        /*
+         * When container is freshly created, need to construct map based on global map.
+         */
+        edgePropMap = edgeMap.get(containerName);
+
+        return edgePropMap;
+    }
+
     /**
      * Reading the current topology database, the method will replay all the
      * edge updates for the ITopologyServiceShimListener instance in the given
      * container, which will in turn publish them toward SAL.
      *
      * @param containerName
+     *            the container name
      */
     private void TopologyBulkUpdate(String containerName) {
         Map<NodeConnector, Pair<Edge, Set<Property>>> edgePropMap = null;
 
         logger.debug("Try bulk update for container:{}", containerName);
-        edgePropMap = edgeMap.get(containerName);
+        edgePropMap = getEdgeMap(containerName);
         if (edgePropMap == null) {
             logger.debug("No edges known for container:{}", containerName);
             return;
index 453976bf680d1ee3af50fa7719aececff1cedc74..c88c53decf36d7e6cdcf3e55ecd46ce1ff830032 100644 (file)
@@ -47,13 +47,15 @@ public interface IResourceAuthorization {
     public List<String> getRoles();
 
     /**
-     * Returns the application role level for the specified role
-     * If the role is not known to this application <code>NOUSER<code>
-     * will be returned as specified in {@link AppRoleLevel}
+     * Returns the application role level for the specified role. If the role is
+     * not known to this application NOUSER will be returned as specified in
+     * {@link AppRoleLevel}
      *
-     * @param roleName the role name to query
-     * @return the application level of the given role in the application context as specified by {@link AppRoleLevel}
-     *                  if the role is not part of this application's roles, <code>NOUSER<code> is returned
+     * @param roleName
+     *            the role name to query
+     * @return the application level of the given role in the application
+     *         context as specified by {@link AppRoleLevel}. If the role is not
+     *         part of this application's roles, NOUSER is returned.
      */
     public AppRoleLevel getApplicationRoleLevel(String roleName);
 
@@ -114,18 +116,18 @@ public interface IResourceAuthorization {
     /**
      * Unassign the passed resource group from the specified role
      *
-     * @param group
-     * @param role
+     * @param groupName the name of the resource group
+     * @param role the role name
      * @return the status of the request
      */
-    public Status unassignResourceGroupFromRole(String group, String role);
+    public Status unassignResourceGroupFromRole(String groupName, String role);
 
     /**
      * Returns the list of resource groups the given Role is authorized to use
      * The returning object expresses the resource group name and the access
      * its privilege for the given user role
      *
-     * @param role
+     * @param role  the role name
      * @return list of resources
      */
     public List<ResourceGroup> getAuthorizedGroups(String role);
@@ -141,7 +143,7 @@ public interface IResourceAuthorization {
     /**
      * Returns the list of authorized resources for the given role
      * For each resource only the highest privilege occurrence is returned
-     * @param role
+     * @param role  the role name
      * @return the list of Resource
      */
     public List<Resource> getAuthorizedResources(String role);
@@ -179,8 +181,8 @@ public interface IResourceAuthorization {
      * Returns the highest privilege that the user has on the specified
      * resource in this application context
      *
-     * @param userName
-     * @param resource
+     * @param userName the user name
+     * @param resource the given resource
      * @return the privilege the user has on the passed resource
      */
     public Privilege getResourcePrivilege(String userName, Object resource);
index 008ec59bfa2d08e4c1859afcec840e040b8860f2..ce6c00e7c036bbc8b929bbbcdc77df342ab84c13 100644 (file)
 package org.opendaylight.controller.sal.core;
 
 /**
- * @file   IContainerAware.java
- *
- * @brief  Define the interface to be called when the Container is being
+ * The interface describes methods to be called when the Container is being
  * created/destroyed
- *
- *
  */
 
 public interface IContainerAware {
index 8ba62e234de1f95596b4c20d7b1ba8afbec68040..1629c1dd17808e32ec868028d8fbcda77cad4585 100644 (file)
@@ -21,8 +21,8 @@
 package org.opendaylight.controller.sal.core;
 
 /**
- *
- * Interface used to retrieve the status of a given Container
+ * The interface describes methods used to retrieve the status of a given
+ * Container
  */
 public interface IContainerListener {
     /**
@@ -42,38 +42,54 @@ public interface IContainerListener {
     /**
      * Notification raised when the container flow layout changes
      *
-     * @param containerName container for which the update has been raised
-     * @param previousFlow previous value of the container flow under
-     * update, differs from the currentFlow only and only if it's an
-     * update operation
-     * @param currentFlow current version of the container flow differs from
-     * the previousFlow only in case of update
-     * @param t type of update
+     * @param containerName
+     *            container for which the update has been raised
+     * @param previousFlow
+     *            previous value of the container flow
+     *            {@link org.opendaylight.controller.sal.core.ContainerFlow}
+     *            under update, differs from the currentFlow only and only if
+     *            it's an update operation
+     * @param currentFlow
+     *            current version of the container flow
+     *            {@link org.opendaylight.controller.sal.core.ContainerFlow}
+     *            differs from the previousFlow only in case of update
+     * @param t
+     *            type of update
+     *            {@link org.opendaylight.controller.sal.core.UpdateType}
      */
     public void containerFlowUpdated(String containerName,
             ContainerFlow previousFlow, ContainerFlow currentFlow, UpdateType t);
 
     /**
-     * Notification raised when a NodeConnector is added or removed in
-     * the container.
+     * Notification raised when a NodeConnector is added or removed in the
+     * container.
      *
-     * @param containerName container for which the update has been raised
-     * @param p NodeConnector being updated
-     * @param t type of modification, but among the types the modify
-     * operation is not expected to be raised because the
-     * nodeConnectors are anyway immutable so this is only used to
-     * add/delete
+     * @param containerName
+     *            container for which the update has been raised
+     * @param p
+     *            NodeConnector
+     *            {@link org.opendaylight.controller.sal.core.NodeConnector}
+     *            being updated
+     * @param t
+     *            type of modification
+     *            {@link org.opendaylight.controller.sal.core.UpdateType}, but
+     *            among the types the modify operation is not expected to be
+     *            raised because the nodeConnectors are anyway immutable so this
+     *            is only used to add/delete
      */
     public void nodeConnectorUpdated(String containerName, NodeConnector p,
             UpdateType t);
 
     /**
-     * Notification raised when the container mode has changed
-     * This notification is needed for some bundle in the default container
-     * to cleanup some HW state when switching from non-slicing to
-     * slicing case and vice-versa
+     * Notification raised when the container mode has changed This notification
+     * is needed for some bundle in the default container to cleanup some HW
+     * state when switching from non-slicing to slicing case and vice-versa
      *
-     * @param t  ADDED when first container is created, REMOVED when last container is removed
+     * @param t
+     *            type of modification
+     *            {@link org.opendaylight.controller.sal.core.UpdateType}. ADDED
+     *            when first container is created, REMOVED when last container
+     *            is removed
      */
     public void containerModeUpdated(UpdateType t);
 }
index 5157788ce7b58982414fdc91436d8cf24f5eb167..dacec15d79534e418533197076b7c8594a2b4f4b 100644 (file)
@@ -12,16 +12,23 @@ import org.opendaylight.controller.sal.core.Node;
 import org.opendaylight.controller.sal.utils.Status;
 
 /**
- * @file IPluginOutFlowProgrammer.java
- *
- * @brief Flow programmer interface to be implemented by protocol plugins
+ * This interface defines the flow programmer methods to be implemented by
+ * protocol plugins
  */
 public interface IPluginInFlowProgrammerService {
     /**
      * Synchronously add a flow to the network node
      *
      * @param node
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node} on which the
+     *            flow got added
      * @param flow
+     *            the flow
+     *            {@link org.opendaylight.controller.sal.flowprogrammer.Flow}
+     *            that got added
+     * @return Status the operation status
+     *         {@link org.opendaylight.controller.sal.utils.Status}
      */
     Status addFlow(Node node, Flow flow);
 
@@ -29,7 +36,15 @@ public interface IPluginInFlowProgrammerService {
      * Synchronously modify existing flow on the switch
      *
      * @param node
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node} on which the
+     *            flow got modified
      * @param flow
+     *            the flow
+     *            {@link org.opendaylight.controller.sal.flowprogrammer.Flow}
+     *            that got modified
+     * @return Status the operation status
+     *         {@link org.opendaylight.controller.sal.utils.Status}
      */
     Status modifyFlow(Node node, Flow oldFlow, Flow newFlow);
 
@@ -37,7 +52,15 @@ public interface IPluginInFlowProgrammerService {
      * Synchronously remove the flow from the network node
      *
      * @param node
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node} on which the
+     *            flow got removed
      * @param flow
+     *            the flow
+     *            {@link org.opendaylight.controller.sal.flowprogrammer.Flow}
+     *            that got removed
+     * @return Status the operation status
+     *         {@link org.opendaylight.controller.sal.utils.Status}
      */
     Status removeFlow(Node node, Flow flow);
 
@@ -45,8 +68,17 @@ public interface IPluginInFlowProgrammerService {
      * Asynchronously add a flow to the network node
      *
      * @param node
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node} on which the
+     *            flow got added
      * @param flow
+     *            the flow
+     *            {@link org.opendaylight.controller.sal.flowprogrammer.Flow}
+     *            that got added
      * @param rid
+     *            the request id
+     * @return Status the operation status
+     *         {@link org.opendaylight.controller.sal.utils.Status}
      */
     Status addFlowAsync(Node node, Flow flow, long rid);
 
@@ -54,8 +86,19 @@ public interface IPluginInFlowProgrammerService {
      * Asynchronously modify existing flow on the switch
      *
      * @param node
-     * @param flow
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node} on which the
+     *            flow got modified
+     * @param oldFlow
+     *            the original flow
+     *            {@link org.opendaylight.controller.sal.flowprogrammer.Flow}
+     * @param newFlow
+     *            the new flow
+     *            {@link org.opendaylight.controller.sal.flowprogrammer.Flow}
      * @param rid
+     *            the request id
+     * @return Status the operation status
+     *         {@link org.opendaylight.controller.sal.utils.Status}
      */
     Status modifyFlowAsync(Node node, Flow oldFlow, Flow newFlow, long rid);
 
@@ -63,8 +106,17 @@ public interface IPluginInFlowProgrammerService {
      * Asynchronously remove the flow from the network node
      *
      * @param node
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node} on which the
+     *            flow got removed
      * @param flow
+     *            the flow
+     *            {@link org.opendaylight.controller.sal.flowprogrammer.Flow}
+     *            that got removed
      * @param rid
+     *            the request id
+     * @return Status the operation status
+     *         {@link org.opendaylight.controller.sal.utils.Status}
      */
     Status removeFlowAsync(Node node, Flow flow, long rid);
 
@@ -72,6 +124,11 @@ public interface IPluginInFlowProgrammerService {
      * Remove all flows present on the network node
      *
      * @param node
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node} on which the
+     *            flow got removed
+     * @return Status the operation status
+     *         {@link org.opendaylight.controller.sal.utils.Status}
      */
     Status removeAllFlows(Node node);
 
@@ -80,6 +137,10 @@ public interface IPluginInFlowProgrammerService {
      * Barrier reply arrives.
      *
      * @param node
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node}
+     * @return Status the operation status
+     *         {@link org.opendaylight.controller.sal.utils.Status}
      */
     Status syncSendBarrierMessage(Node node);
 
@@ -87,6 +148,10 @@ public interface IPluginInFlowProgrammerService {
      * Send Barrier message asynchronously. The caller is not blocked.
      *
      * @param node
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node}
+     * @return Status the operation status
+     *         {@link org.opendaylight.controller.sal.utils.Status}
      */
     Status asyncSendBarrierMessage(Node node);
 }
index 1b950d7cf592df1a78fc775d3a4c390a274d4efa..e9efd382da09c35274c25cc613b6dd1c92fc8c5b 100644 (file)
@@ -17,70 +17,119 @@ import org.opendaylight.controller.sal.core.NodeTable;
 import org.opendaylight.controller.sal.flowprogrammer.Flow;
 
 /**
- * @file   IPluginInReadService.java
- *
- * @brief  Hardware view interface to be implemented by protocol plugins
- *
- *
- *
+ * The interface defines hardware view read methods to be implemented by protocol plugins
  */
 public interface IPluginInReadService {
 
     /**
-     * Returns the hardware image for the specified flow on the specified network node
+     * Returns the hardware image for the specified flow on the specified
+     * network node
+     *
      * @param node
+     *            the network node
      * @param flow
-     * @return
+     *            the target flow
+     * @param cached
+     *            specify if entry has to be queried from the cached hardware
+     *            information maintained locally or directly from the network
+     *            node.
+     * @return The FlowOnNode object containing the information present in
+     *         hardware for the passed flow on the specified network node
      */
     public FlowOnNode readFlow(Node node, Flow flow, boolean cached);
 
     /**
-     * Returns the hardware view of all the flow installed on the specified network node
+     * Returns the hardware view of all the flow installed on the specified
+     * network node
+     *
      * @param node
-     * @return
+     *            the network node
+     * @param cached
+     *            specify if entries have to be queried from the cached hardware
+     *            information maintained locally or directly from the network
+     *            node.
+     * @return The list of FlowOnNode objects containing the information present
+     *         in hardware on the specified network node for all its flows
      */
     public List<FlowOnNode> readAllFlow(Node node, boolean cached);
 
     /**
-     * Returns the description of the network node as provided by the node itself
+     * Returns the description of the network node as provided by the node
+     * itself
+     *
      * @param node
-     * @return
+     *            the network node
+     * @param cached
+     *            specify if entry has to be queried from the cached hardware
+     *            information maintained locally or directly from the network
+     *            node.
+     * @return The NodeDescription object containing the description information
+     *         for the specified network node
      */
     public NodeDescription readDescription(Node node, boolean cached);
 
     /**
      * Returns the hardware view of the specified network node connector
-     * @param node
-     * @return
+     *
+     * @param connector
+     *            the target nodeConnector
+     * @param cached
+     *            specify if entry has to be queried from the cached hardware
+     *            information maintained locally or directly from the
+     *            corresponding network node.
+     * @return The NodeConnectorStatistics object containing the statistics
+     *         present in hardware for the corresponding network node port
      */
     public NodeConnectorStatistics readNodeConnector(NodeConnector connector,
             boolean cached);
 
     /**
-     * Returns the hardware info for all the node connectors on the specified network node
+     * Returns the hardware info for all the node connectors on the specified
+     * network node
+     *
      * @param node
-     * @return
+     *            the target node
+     * @param cached
+     *            specify if entries have to be queried from the cached hardware
+     *            information maintained locally or directly from the
+     *            corresponding network node.
+     * @return The list of NodeConnectorStatistics objects containing the
+     *         statistics present in hardware for all the network node ports
      */
     public List<NodeConnectorStatistics> readAllNodeConnector(Node node,
             boolean cached);
 
     /**
      * Returns the table statistics for the node
-     * @param node
-     * @return
+     * @param table
+     *            the target network node table
+     * @param cached
+     *            specify if entry has to be queried from the cached hardware
+     *            information maintained locally or directly from
+     *            the corresponding network node.
+     * @return The NodeTableStatistics object containing the statistics present
+     *         in hardware for the corresponding network node table
      */
     public NodeTableStatistics readNodeTable(NodeTable table, boolean cached);
 
     /**
      * Returns all the table statistics for the node
+     *
      * @param node
-     * @return
+     *            the target node
+     * @param cached
+     *            specify if entries have to be queried from the cached hardware
+     *            information maintained locally or directly from the
+     *            corresponding network node.
+     * @return The list of NodeTableStatistics objects containing the statistics
+     *         present in hardware for all the network node tables
      */
     public List<NodeTableStatistics> readAllNodeTable(Node node, boolean cached);
 
     /**
      * Returns the averaged transmit rate for the specified node connector
      * @param connector
+     *            the target nodeConnector
      * @return tx rate [bps]
      */
     public long getTransmitRate(NodeConnector connector);
index 3c1b6f241a2df9e1fc090c65e772fdb2fb5ac434..f6e92ad1a902877358166682df5893438f74e9aa 100644 (file)
@@ -14,36 +14,60 @@ import java.util.List;
 import org.opendaylight.controller.sal.core.Node;
 
 /**
- * @file   IPluginOutReadService.java
- *
- * @brief  Hardware statistics updates service to be offered by protocol plugins
+ * The interface defines hardware statistics updates service to be offered by
+ * protocol plugins
  */
 public interface IPluginOutReadService {
 
     /**
-     * Notifies the hardware view of all the flow installed on the specified network node
+     * Notifies the hardware view of all the flow installed on the specified
+     * network node
+     *
      * @param node
-     * @return
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node}
+     * @param flowStatsList
+     *            the hardware view of all the flow
+     *            {@link org.opendaylight.controller.sal.reader.FlowOnNode}
+     *            installed on the specified network node
      */
     public void nodeFlowStatisticsUpdated(Node node, List<FlowOnNode> flowStatsList);
 
     /**
-     * Notifies the hardware view of the specified network node connector
+     * Notifies the hardware view of the specified network node
+     *
      * @param node
-     * @return
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node}
+     * @param ncStatsList
+     *            the statistics
+     *            {@link org.opendaylight.controller.sal.reader.NodeConnectorStatistics}
+     *            for all node connectors in a given node
      */
     public void nodeConnectorStatisticsUpdated(Node node, List<NodeConnectorStatistics> ncStatsList);
 
     /**
      * Notifies all the table statistics for a node
+     *
      * @param node
-     * @return
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node}
+     * @param tableStatsList
+     *            the statistics
+     *            {@link org.opendaylight.controller.sal.reader.NodeTableStatistics}
+     *            for all the tables in a given node
      */
     public void nodeTableStatisticsUpdated(Node node, List<NodeTableStatistics> tableStatsList);
+
     /**
      * Notifies the hardware view of node description changes
+     *
      * @param node
-     * @return
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node}
+     * @param nodeDescription
+     *            the node description
+     *            {@link org.opendaylight.controller.sal.reader.NodeDescription}
      */
     public void descriptionStatisticsUpdated(Node node, NodeDescription nodeDescription );
 
index ae975f1a58d21c7d30b52f7e878b48db4db905f0..c3af91dd345035549e5138dbf4c1fd788ca18f35 100644 (file)
@@ -17,17 +17,23 @@ import org.opendaylight.controller.sal.core.NodeTable;
 import org.opendaylight.controller.sal.flowprogrammer.Flow;
 
 /**
- * Interface for retrieving the network node's flow/port/queue hardware view
- *
- *
- *
+ * This interface defines methods for retrieving the network node's
+ * flow/port/queue hardware view
  */
 public interface IReadService {
     /**
-     * Get the hardware view for the specified flow on the specified network node
+     * Get the hardware view for the specified flow on the specified network
+     * node
      *
      * @param node
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node}
      * @param flow
+     *            the given flow
+     *            {@link org.opendaylight.controller.sal.flowprogrammer.Flow}
+     * @return the flow
+     *         {@link org.opendaylight.controller.sal.reader.FlowOnNode}
+     *         installed on the node
      */
     FlowOnNode readFlow(Node node, Flow flow);
 
@@ -37,7 +43,14 @@ public interface IReadService {
      * Caller will be blocked until node replies or request times out
      *
      * @param node
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node}
      * @param flow
+     *            the given flow
+     *            {@link org.opendaylight.controller.sal.flowprogrammer.Flow}
+     * @return the flow
+     *         {@link org.opendaylight.controller.sal.reader.FlowOnNode}
+     *         installed on the node
      */
     FlowOnNode nonCachedReadFlow(Node node, Flow flow);
 
@@ -45,7 +58,11 @@ public interface IReadService {
      * Get the hardware view for all the flows installed on the network node
      *
      * @param node
-     * @return
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node}
+     * @return all the flows
+     *         {@link org.opendaylight.controller.sal.reader.FlowOnNode}
+     *         installed on the node
      */
     List<FlowOnNode> readAllFlows(Node node);
 
@@ -55,14 +72,22 @@ public interface IReadService {
      * Caller will be blocked until node replies or request times out
      *
      * @param node
-     * @param flow
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node}
+     * @return the hardware view of all the flows
+     *         {@link org.opendaylight.controller.sal.reader.FlowOnNode}
+     *         installed on the node
      */
     List<FlowOnNode> nonCachedReadAllFlows(Node node);
 
     /**
      * Get the description information for the network node
+     *
      * @param node
-     * @return
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node}
+     * @return the node description
+     *         {@link org.opendaylight.controller.sal.reader.NodeDescription}
      */
     NodeDescription readDescription(Node node);
 
@@ -72,33 +97,57 @@ public interface IReadService {
      * Caller will be blocked until node replies or request times out
      *
      * @param node
-     * @return
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node}
+     * @return the node description
+     *         {@link org.opendaylight.controller.sal.reader.NodeDescription}
      */
     NodeDescription nonCachedReadDescription(Node node);
 
     /**
      * Get the hardware view for the specified node connector
+     *
      * @param connector
+     *            the given node connector
+     *            {@link org.opendaylight.controller.sal.core.NodeConnector}
+     * @return the node connector statistics
+     *         {@link org.opendaylight.controller.sal.reader.NodeConnectorStatistics}
      */
     NodeConnectorStatistics readNodeConnector(NodeConnector connector);
 
     /**
      * Get the hardware view for all the node connectors
      * present on the specified network node
-     * @param connector
+     *
+     * @param node
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node}
+     * @return the statistics for all the node connectors
+     *         {@link org.opendaylight.controller.sal.reader.NodeConnectorStatistics}
      */
     List<NodeConnectorStatistics> readNodeConnectors(Node node);
 
     /**
      * Read the Table statistics for the given node table
+     *
      * @param table
+     *            the table
+     *            {@link org.opendaylight.controller.sal.core.NodeTable}
+     * @return the table statistics
+     *         {@link org.opendaylight.controller.sal.reader.NodeTableStatistics}
      */
     NodeTableStatistics readNodeTable(NodeTable table);
 
     /**
-     * Read the Table statistics for the given node
-     * This is not used. Querying all tables on a node is not currently a feature.
-     * @param table
+     * Read the Table statistics for the given node This is not used. Querying
+     * all tables on a node is not currently a feature.
+     *
+     * @param node
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node}
+     * @return the table statistics
+     *         {@link org.opendaylight.controller.sal.reader.NodeTableStatistics}
+     *         for all tables in a given node
      */
     List<NodeTableStatistics> readNodeTable(Node node);
 
@@ -108,6 +157,10 @@ public interface IReadService {
      * Caller will be blocked until the node replies or request times out
      *
      * @param table
+     *            the table
+     *            {@link org.opendaylight.controller.sal.core.NodeTable}
+     * @return the table statistics
+     *         {@link org.opendaylight.controller.sal.reader.NodeTableStatistics}
      */
     NodeTableStatistics nonCachedReadNodeTable(NodeTable table);
 
@@ -117,15 +170,22 @@ public interface IReadService {
      * Caller will be blocked until node replies or request times out
      *
      * @param node
-     * @return
+     *            the network node
+     *            {@link org.opendaylight.controller.sal.core.Node}
+     * @return the statistics
+     *         {@link org.opendaylight.controller.sal.reader.NodeConnectorStatistics}
+     *         for all node connectors in a given node
      */
     List<NodeConnectorStatistics> nonCachedReadNodeConnectors(Node node);
 
     /**
      * Get the node connectors statistics information for the network node
      *
-     * @param node
-     * @return
+     * @param connector
+     *            the given node connector
+     *            {@link org.opendaylight.controller.sal.core.NodeConnector}
+     * @return the node connector statistics
+     *         {@link org.opendaylight.controller.sal.reader.NodeConnectorStatistics}
      */
     NodeConnectorStatistics nonCachedReadNodeConnector(NodeConnector connector);
 
@@ -133,6 +193,8 @@ public interface IReadService {
      * Get the transmit rate for the specified node connector
      *
      * @param connector
+     *            the given node connector
+     *            {@link org.opendaylight.controller.sal.core.NodeConnector}
      * @return tx rate [bps]
      */
     long getTransmitRate(NodeConnector connector);
index 2cf237bc89e5a004eb25d833827c53ee7ccfe2ce..28d0905bae142294f4b064486dc42efd5e11aa5e 100644 (file)
@@ -1,10 +1,8 @@
 package org.opendaylight.controller.sal.reader;
 
-
 /**
- * @file   IReadServiceListener.java
- *
- * @brief  SAL service to be consumed by functional modules that are interested in reader updates
+ * The interface describes SAL service to be consumed by functional modules that
+ * are interested in reader updates
  */
 public interface IReadServiceListener extends IPluginOutReadService {
 
index 80950e66a5289fffca8ebbc12fd0fec31ae01525..d06dce6576014be4e3e1334067d91c3db56283af 100644 (file)
@@ -17,32 +17,48 @@ import org.opendaylight.controller.sal.core.Path;
 
 /**
  * This interface provides APIs to manage and query the routing information
 *
+ *
  */
 public interface IRouting {
 
     /**
      * Returns a Path leading from the source to the destination
-     * @param src: source Node
-     * @param dst: destination Node
-     * @return: Path
+     *
+     * @param src
+     *            source {@link org.opendaylight.controller.sal.core.Node}
+     *
+     * @param dst
+     *            destination
+     *            {@link org.opendaylight.controller.sal.core.Node}
+     * @return: the {@link org.opendaylight.controller.sal.core.Path}
      */
     public Path getRoute(Node src, Node dst);
 
     /**
      * Returns a Max ThroughPut Path leading from the source to the destination
-     * @param src: source Node
-     * @param dst: destination Node
-     * @return: MTPath
+     *
+     * @param src
+     *            source {@link org.opendaylight.controller.sal.core.Node}
+     *
+     * @param dst
+     *            destination
+     *            {@link org.opendaylight.controller.sal.core.Node}
+     * @return: the max throughput {@link org.opendaylight.controller.sal.core.Path}
      */
     public Path getMaxThroughputRoute(Node src, Node dst);
 
     /**
-     * Returns a Path leading from the source to the destination that meets the specified bandwidth
-     * @param src: source Node
-     * @param dst: destination Node
-     * @param Bw: bandwidth
-     * @return: Path
+     * Returns a Path leading from the source to the destination that meets the
+     * specified bandwidth
+     *
+     * @param src
+     *            source {@link org.opendaylight.controller.sal.core.Node}
+     *
+     * @param dst
+     *            destination {@link org.opendaylight.controller.sal.core.Node}
+     * @param Bw
+     *            the bandwidth
+     * @return: the {@link org.opendaylight.controller.sal.core.Path}
      */
     public Path getRoute(Node src, Node dst, Short Bw);
 
@@ -58,9 +74,12 @@ public interface IRouting {
 
     /**
      * Initialization For Max Throughput
-     * @param EdgeWeightMap: Map containing Edge and Corresponding
-     * Weight. Optional Param - if null, implementation specific weight
-     * calculation will be used.
+     *
+     * @param EdgeWeightMap
+     *            Map containing
+     *            {@link org.opendaylight.controller.sal.core.Edge} and
+     *            Corresponding Weight. Optional Param - if null, implementation
+     *            specific weight calculation will be used.
      */
     public void initMaxThroughput(Map<Edge, Number> EdgeWeightMap);
 
index 11cdc990131a1ab6bbadc9cb142fcc7fb4476205..6850cc6373d0263fdb108bf35b652667c56fa1e0 100644 (file)
@@ -13,19 +13,11 @@ import java.util.List;
 import org.opendaylight.controller.sal.core.Edge;
 
 /**
- * @file   IListenTopoUpdates.java
- *
- * @brief  Topology notifications provided by SAL toward the application
- *
- * For example an application that wants to keep up to date with the
- * updates coming from SAL it will register in the OSGi service
- * registry this interface (on a per-container base) and SAL will call it
- * providing the update
- */
-
-/**
- * Topology notifications provided by SAL toward the application
- *
+ * This interface defines the methods for topology notifications provided by SAL
+ * toward the application. For example an application that wants to keep up to
+ * date with the updates coming from SAL it will register in the OSGi service
+ * registry. This interface (on a per-container base) and SAL will call it
+ * providing the update.
  */
 public interface IListenTopoUpdates {
     /**
@@ -51,6 +43,7 @@ public interface IListenTopoUpdates {
      * threshold level configured on the controller
      *
      * @param edge
+     *            The edge which bandwidth usage is back to normal
      */
     public void edgeUtilBackToNormal(Edge edge);
 }
index 6667628b0dcfc201a2d6e80aad1c49ad03cd97ce..32851e86f6236cf6932ce982a504d7626caf5d2b 100644 (file)
@@ -9,25 +9,13 @@
 package org.opendaylight.controller.sal.topology;
 
 import java.util.List;
-import java.util.Set;
-
 import org.opendaylight.controller.sal.core.Edge;
-import org.opendaylight.controller.sal.core.Property;
-import org.opendaylight.controller.sal.core.UpdateType;
-
-/**
- * @file   IPluginOutTopologyService.java
- *
- * @brief  Methods that are invoked from Protocol Plugin toward SAL
- *
- * Every time a protocol plugin update the topology, it will call this
- * service provided by SAL so the update can migrate upward toward the
- * applications
- */
 
 /**
- * Methods that are invoked from Protocol Plugin toward SAL
- *
+ * This interface defines the methods that are invoked from Protocol Plugin
+ * toward SAL. Every time a protocol plugin update the topology, it will call
+ * this service provided by SAL so the update can migrate upward toward the
+ * applications.
  */
 public interface IPluginOutTopologyService {
 
@@ -45,7 +33,8 @@ public interface IPluginOutTopologyService {
      * on the controller
      *
      * @param edge
-     */
+      *            The edge which bandwidth usage is above the safety level
+    */
     public void edgeOverUtilized(Edge edge);
 
     /**
@@ -53,6 +42,7 @@ public interface IPluginOutTopologyService {
      * threshold level configured on the controller
      *
      * @param edge
+     *            The edge which bandwidth usage is back to normal
      */
     public void edgeUtilBackToNormal(Edge edge);
 }
index 2e0009cd4794540156f27dda98837a364b920d05..2488c754b89e3d427c695f9caf9f147a9f0fb9b5 100644 (file)
@@ -9,6 +9,10 @@
 
 package org.opendaylight.controller.sal.utils;
 
+/**
+ * This interface defines the methods for configuration object
+ *
+ */
 public interface ConfigurationObject {
 
 }
index 4196025088cfccfccc500ef4e96a7a5fada9056c..406614d164b60a96a1a4dc8a0264858ffc4fde13 100644 (file)
 
 package org.opendaylight.controller.sal.utils;
 
+/**
+ * This interface defines the methods for callback ordering
+ *
+ */
+
 public interface IListener<T> {
     public enum Command {
         CONTINUE, STOP
@@ -41,7 +46,7 @@ public interface IListener<T> {
     /**
      * The name assigned to this listener
      *
-     * @return
+     * @return the name string
      */
     public String getName();
 
index 317976dc3e68fca821a44540c0ead4f01709a060..fd51a787aa2828e2fb766b902eb68b8a12cdb8de 100644 (file)
@@ -13,9 +13,7 @@ import org.opendaylight.controller.sal.core.Node;
 import org.opendaylight.controller.sal.core.NodeConnector;
 
 /**
- * @file   INodeFactory.java
- *
- * @brief  Define the interface to be called when looking up custom node types
+ * This interface defines the methods to be called when looking up custom node types
  *
  */
 
@@ -23,6 +21,15 @@ public interface INodeConnectorFactory {
     /**
      * Method to get custom NodeConnector types from protocol plugins
      *
+     * @param typeStr
+     *            {@Link
+     *            org.opendaylight.controller.sal.core.NodeConnector} type
+     *            string
+     * @param IDStr
+     *            {@Link
+     *            org.opendaylight.controller.sal.core.NodeConnector} ID string
+     * @return the custom {@Link
+     *         org.opendaylight.controller.sal.core.NodeConnector}
      */
     public NodeConnector fromStringNoNode(String typeStr, String IDStr,
             Node n);
index dce6eb03f6885329cfd910ade984366ff7a8e5c8..1ccd04bedac69bd72201c4d6443170a9863a5df0 100644 (file)
@@ -12,9 +12,7 @@ package org.opendaylight.controller.sal.utils;
 import org.opendaylight.controller.sal.core.Node;
 
 /**
- * @file   INodeFactory.java
- *
- * @brief  Define the interface to be called when looking up custom node types
+ * This interface defines the methods to be called when looking up custom node types
  *
  */
 
@@ -22,6 +20,14 @@ public interface INodeFactory {
     /**
      * Method to get custom node types from protocol plugins
      *
+     * @param nodeType
+     *            {@Link org.opendaylight.controller.sal.core.Node} type
+     *            string
+     * @param nodeId
+     *            {@Link org.opendaylight.controller.sal.core.Node} ID
+     *            string
+     * @return the custom {@Link
+     *         org.opendaylight.controller.sal.core.Node}
      */
     public Node fromString(String nodeType, String nodeId);
 }
index 685738c7e7420bc0f25aad9771268512a2aa1a36..ff63cf7578293a0828ac5e2e062566352d1c85ca 100644 (file)
@@ -27,11 +27,10 @@ public interface IConnectionService {
      * plugins and is an opaque value for SAL. Typical values keyed inside this params are
      * Management IP-Address, Username, Password, Security Keys, etc...
      *
-     *  @return Node
+     * @return Node {@link org.opendaylight.controller.sal.core.Node}
      */
     public Node connect (String type, String connectionIdentifier, Map<ConnectionConstants, String> params);
 
-
     /**
      * Discover the node type and Connect to the first plugin that is able to connect with the specified parameters.
      *
@@ -41,7 +40,7 @@ public interface IConnectionService {
      * plugins and is an opaque value for SAL. Typical values keyed inside this params are
      * Management IP-Address, Username, Password, Security Keys, etc...
      *
-     *  @return Node
+     * @return Node {@link org.opendaylight.controller.sal.core.Node}
      */
     public Node connect (String connectionIdentifier, Map<ConnectionConstants, String> params);
 
@@ -49,12 +48,16 @@ public interface IConnectionService {
      * Disconnect a Node that is connected to this Controller.
      *
      * @param node
-     * @param flow
+     *            the node {@link org.opendaylight.controller.sal.core.Node}
+     * @return Status {@link org.opendaylight.controller.sal.utils.Status}
      */
     public Status disconnect(Node node);
 
     /**
      * View Change notification
+     *
+     * @param node
+     *            the node {@link org.opendaylight.controller.sal.core.Node}
      */
     public void notifyNodeDisconnectFromMaster(Node node);
 
index 9bae1238b528094a58fbb2e29d6b8af90dc3cf07..f4e16fac54af4e72bd8f8ebc0392f3944f15e674 100644 (file)
@@ -14,16 +14,14 @@ import org.opendaylight.controller.sal.core.Node;
 import org.opendaylight.controller.sal.utils.Status;
 
 /**
- * @file IPluginInConnectionService.java
- *
- * @brief Connection interface to be implemented by protocol plugins
+ * The interface describes methods to be implemented by protocol plugins
  */
 public interface IPluginInConnectionService {
     /**
      * Disconnect a Node that is connected to this Controller.
      *
      * @param node
-     * @param flow
+     *            the given node {@link org.opendaylight.controller.sal.core.Node}
      */
     public Status disconnect(Node node);
 
@@ -46,6 +44,9 @@ public interface IPluginInConnectionService {
 
     /**
      * Node Disconnected from the node's master controller.
+     *
+     * @param node
+     *            the given node {@link org.opendaylight.controller.sal.core.Node}
      */
     public void notifyNodeDisconnectFromMaster(Node node);
 
index b602d61952e7778a7f6fb5d66a14e9338102a030..456acf016684cdfa4ece97918c03c89240c26bf2 100644 (file)
@@ -10,10 +10,15 @@ package org.opendaylight.controller.sal.connection;
 
 import org.opendaylight.controller.sal.core.Node;
 
+/**
+ * The interface describes methods to be implemented by SAL connection service
+ */
 public interface IPluginOutConnectionService {
     /**
      * Method to test if a node is local to a controller.
      *
+     * @param node
+     *            the given node {@link org.opendaylight.controller.sal.core.Node}
      * @return true if node is local to this controller. false otherwise.
      */
     public boolean isLocal(Node node);
index 04dd59ef3a706b71e2d9b3b35735819eb5ecb1f0..432d82354f589ca5d401fba7344444f0ac3f951b 100644 (file)
@@ -1,4 +1,7 @@
 package org.opendaylight.controller.sal.networkconfig.bridgedomain;
 
+/**
+ * This interface is just a wrapper of IPluginInBridgeDomainConfigService
+ */
 public interface IBridgeDomainConfigService extends IPluginInBridgeDomainConfigService {
 }
\ No newline at end of file
index 20562b80e7f4fdaba44bd6c9fcec6981001ff3b0..cdb14b734774759d6d79261d372a2acb3f940a63 100644 (file)
@@ -8,8 +8,8 @@ import org.opendaylight.controller.sal.core.NodeConnector;
 import org.opendaylight.controller.sal.utils.Status;
 
 /**
- * @file IPluginInConfigurationService.java
- *
+ * This interface defines bridge domain configuration service methods to be
+ * implemented by protocol plugins
  */
 public interface IPluginInBridgeDomainConfigService {
     /**