Added reserved port descriptions to comments matching them to the OF Spec in NodeConn...
[controller.git] / opendaylight / sal / api / src / main / java / org / opendaylight / controller / sal / core / NodeConnector.java
index bbe952ddea61dcc2817cb5b568ea7f8117b9a25f..6245c9be8a79d8c17d256f1dd274b6b386a309bf 100644 (file)
  */
 package org.opendaylight.controller.sal.core;
 
-import org.apache.commons.lang3.tuple.ImmutablePair;
-import java.util.concurrent.ConcurrentHashMap;
 import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.commons.lang3.builder.EqualsBuilder;
-import org.apache.commons.lang3.builder.HashCodeBuilder;
+import java.util.concurrent.ConcurrentHashMap;
 
-import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.apache.commons.lang3.builder.EqualsBuilder;
+import org.apache.commons.lang3.builder.HashCodeBuilder;
+import org.apache.commons.lang3.tuple.ImmutablePair;
 
 /**
  * Describe a generic network element attachment points,
@@ -52,29 +50,33 @@ public class NodeConnector implements Serializable {
      */
     public static class NodeConnectorIDType {
         private static final
-        ConcurrentHashMap<String, ImmutablePair<Class, String>> compatibleType =
-            new ConcurrentHashMap<String, ImmutablePair<Class, String>>();
+        ConcurrentHashMap<String, ImmutablePair<Class<? extends Object>, String>> compatibleType =
+            new ConcurrentHashMap<String, ImmutablePair<Class<? extends Object>, String>>();
         /**
-         * Represent a special port pointing toward the controller,
-         * this is to send data packets toward the controller from
-         * data plane.
+         * Represents the OFPP_CONTROLLER reserved port to forward a 
+         * packet to the controller, this is to send data packets 
+         * to the controller from the data plane triggering 
+         * a packet_in event.
          */
         public static String CONTROLLER = "CTRL";
         /**
-         * Special port describing ALL the ports in the system,
-         * should be used for flooding like mechanism but better
-         * to be carefull with it
+         * Represents the OFPP_ALL reserved OF port 
+         * to forward to ALL the ports in the system ,
+         * should be used for flooding like mechanism to
+         * be used cautiously to avoid excessive flooding.
          */
         public static String ALL = "ALL";
         /**
-         * Describe the local networking stack of the node
-         * on which the packet is destined. Yet another special port
+         * Represents the OFPP_LOCAL reserved OF port
+         * to access the local networking stack of the node
+         * of which the packet is destined. Typically used for
+         * inband OF communications channel.
          */
         public static String SWSTACK = "SW";
         /**
-         * Describe a special destination that invoke the
-         * traditional HW forwarding on platforms that has this
-         * provision.
+         * Describes OFPP_Normal reserved port destination that invokes 
+         * the traditional native L2/L3 HW normal forwarding functionality 
+         * if supported on the forwarding element.
          */
         public static String HWPATH = "HW";
         public static String OPENFLOW = "OF";
@@ -177,7 +179,7 @@ public class NodeConnector implements Serializable {
          * @return true if registered, false otherwise
          */
         public static boolean registerIDType(String type,
-                                             Class compatibleID,
+                                             Class<? extends Object> compatibleID,
                                              String compatibleNode) {
             if (compatibleType.get(type) != null) {
                 return false;
@@ -443,7 +445,7 @@ public class NodeConnector implements Serializable {
      *
      * @param str String to be parsed in a NodeConnector
      *
-     * @return the NodeConnector if parse is succesfull, null otherwise
+     * @return the NodeConnector if parse is successful, null otherwise
      */
     public static NodeConnector fromString(String str) {
         if (str == null) {
@@ -462,13 +464,13 @@ public class NodeConnector implements Serializable {
     }
 
     /**
-     * return a NodeConnector from a string not containing explicitely
+     * return a NodeConnector from a string not containing explicitly
      * the Node portion which has to be supplied as parameter
      *
      * @param str String to be parsed in a NodeConnector
      * @param n Node to which the NodeConnector is attached
      *
-     * @return the NodeConnector if parse is succesfull, null otherwise
+     * @return the NodeConnector if parse is successful, null otherwise
      */
     public static NodeConnector fromStringNoNode(String str, Node n) {
         if (str == null) {
@@ -536,14 +538,14 @@ public class NodeConnector implements Serializable {
 
     /**
      * return a NodeConnector from a pair (type, ID) in string format
-     * not containing explicitely the Node portion which has to be
+     * not containing explicitly the Node portion which has to be
      * supplied as parameter
      *
      * @param typeStr type String to be parsed in a NodeConnector
      * @param IDStr ID String portion to be parsed in a NodeConnector
      * @param n Node to which the NodeConnector is attached
      *
-     * @return the NodeConnector if parse is succesfull, null otherwise
+     * @return the NodeConnector if parse is successful, null otherwise
      */
     public static NodeConnector fromStringNoNode(String typeStr, String IDStr,
                                                  Node n) {