Implement some of the missing Selector and Match Conditions

Work toward ONOS-509

The following match conditions are added/implemented:
 - UDP_SRC, UDP_DST
 - SCTP_SRC, SCTP_DST
 - ICMPV4_TYPE, ICMPV4_CODE
 - IPV6_FLABEL
 - IPV6_ND_TARGET
 - IPV6_ND_SLL
 - IPV6_ND_TLL

Also:
 * Renamed method
     TrafficSelector.Builder.matchInport(PortNumber port)
   to
     TrafficSelector.Builder.matchInPort(PortNumber port)
   (for consistency with the corresponding method(s) elsewhere)
 * Reordered the code for some of the existing matching conditions
   to follow the order in the OpenFlow spec, so it is easier to
   cross-reference such code.
 * Added missing Javadoc
 * Added few more Criterion.Type values as per OpenFlow spec 1.5.0

Change-Id: I7fc1656f32d8a7280c67d7827e4aa84528b0eafc
diff --git a/core/api/src/main/java/org/onosproject/net/flow/DefaultTrafficSelector.java b/core/api/src/main/java/org/onosproject/net/flow/DefaultTrafficSelector.java
index e5f552d..21b1832 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/DefaultTrafficSelector.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/DefaultTrafficSelector.java
@@ -24,6 +24,7 @@
 import org.onosproject.net.flow.criteria.Criteria;
 import org.onosproject.net.flow.criteria.Criterion;
 import org.onlab.packet.IpPrefix;
+import org.onlab.packet.Ip6Address;
 import org.onlab.packet.MacAddress;
 import org.onlab.packet.VlanId;
 
@@ -129,22 +130,22 @@
         }
 
         @Override
-        public Builder matchInport(PortNumber port) {
+        public Builder matchInPort(PortNumber port) {
             return add(Criteria.matchInPort(port));
         }
 
         @Override
-        public Builder matchEthSrc(MacAddress addr) {
-            return add(Criteria.matchEthSrc(addr));
-        }
-
-        @Override
         public Builder matchEthDst(MacAddress addr) {
             return add(Criteria.matchEthDst(addr));
         }
 
         @Override
-        public Builder matchEthType(short ethType) {
+        public Builder matchEthSrc(MacAddress addr) {
+            return add(Criteria.matchEthSrc(addr));
+        }
+
+        @Override
+        public Builder matchEthType(Short ethType) {
             return add(Criteria.matchEthType(ethType));
         }
 
@@ -184,6 +185,36 @@
         }
 
         @Override
+        public Builder matchUdpSrc(Short udpPort) {
+            return add(Criteria.matchUdpSrc(udpPort));
+        }
+
+        @Override
+        public Builder matchUdpDst(Short udpPort) {
+            return add(Criteria.matchUdpDst(udpPort));
+        }
+
+        @Override
+        public Builder matchSctpSrc(Short sctpPort) {
+            return add(Criteria.matchSctpSrc(sctpPort));
+        }
+
+        @Override
+        public Builder matchSctpDst(Short sctpPort) {
+            return add(Criteria.matchSctpDst(sctpPort));
+        }
+
+        @Override
+        public Builder matchIcmpType(Byte icmpType) {
+            return add(Criteria.matchIcmpType(icmpType));
+        }
+
+        @Override
+        public Builder matchIcmpCode(Byte icmpCode) {
+            return add(Criteria.matchIcmpCode(icmpCode));
+        }
+
+        @Override
         public Builder matchIPv6Src(IpPrefix ip) {
             return add(Criteria.matchIPv6Src(ip));
         }
@@ -194,6 +225,11 @@
         }
 
         @Override
+        public Builder matchIPv6FlowLabel(Integer flowLabel) {
+            return add(Criteria.matchIPv6FlowLabel(flowLabel));
+        }
+
+        @Override
         public Builder matchIcmpv6Type(Byte icmpv6Type) {
             return add(Criteria.matchIcmpv6Type(icmpv6Type));
         }
@@ -204,6 +240,21 @@
         }
 
         @Override
+        public Builder matchIPv6NDTargetAddress(Ip6Address targetAddress) {
+            return add(Criteria.matchIPv6NDTargetAddress(targetAddress));
+        }
+
+        @Override
+        public Builder matchIPv6NDSourceLinkLayerAddress(MacAddress mac) {
+            return add(Criteria.matchIPv6NDSourceLinkLayerAddress(mac));
+        }
+
+        @Override
+        public Builder matchIPv6NDTargetLinkLayerAddress(MacAddress mac) {
+            return add(Criteria.matchIPv6NDTargetLinkLayerAddress(mac));
+        }
+
+        @Override
         public Builder matchMplsLabel(Integer mplsLabel) {
             return add(Criteria.matchMplsLabel(mplsLabel));
         }