[ONOS-5939] added traffic selector bitwise match on TCP/UDP/SCTP source/destination port

Change-Id: Ibf5947f7a6cac86fab77d15990116040fd8e5ef5
diff --git a/core/api/src/main/java/org/onosproject/net/flow/TrafficSelector.java b/core/api/src/main/java/org/onosproject/net/flow/TrafficSelector.java
index 6a018c3..1b264b5 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/TrafficSelector.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/TrafficSelector.java
@@ -211,6 +211,15 @@
         Builder matchTcpSrc(TpPort tcpPort);
 
         /**
+         * Matches a TCP source port number with mask.
+         *
+         * @param tcpPort a TCP source port number
+         * @param mask a mask for a TCP source port number
+         * @return a selection builder
+         */
+        Builder matchTcpSrcMasked(TpPort tcpPort, TpPort mask);
+
+        /**
          * Matches a TCP destination port number.
          *
          * @param tcpPort a TCP destination port number
@@ -219,6 +228,15 @@
         Builder matchTcpDst(TpPort tcpPort);
 
         /**
+         * Matches a TCP destination port number with mask.
+         *
+         * @param tcpPort a TCP destination port number
+         * @param mask a mask for a TCP destination port number
+         * @return a selection builder
+         */
+        Builder matchTcpDstMasked(TpPort tcpPort, TpPort mask);
+
+        /**
          * Matches an UDP source port number.
          *
          * @param udpPort an UDP source port number
@@ -227,6 +245,15 @@
         Builder matchUdpSrc(TpPort udpPort);
 
         /**
+         * Matches a UDP source port number with mask.
+         *
+         * @param udpPort a UDP source port number
+         * @param mask a mask for a UDP source port number
+         * @return a selection builder
+         */
+        Builder matchUdpSrcMasked(TpPort udpPort, TpPort mask);
+
+        /**
          * Matches an UDP destination port number.
          *
          * @param udpPort an UDP destination port number
@@ -235,6 +262,15 @@
         Builder matchUdpDst(TpPort udpPort);
 
         /**
+         * Matches a UDP destination port number with mask.
+         *
+         * @param udpPort a UDP destination port number
+         * @param mask a mask for a UDP destination port number
+         * @return a selection builder
+         */
+        Builder matchUdpDstMasked(TpPort udpPort, TpPort mask);
+
+        /**
          * Matches a SCTP source port number.
          *
          * @param sctpPort a SCTP source port number
@@ -243,6 +279,15 @@
         Builder matchSctpSrc(TpPort sctpPort);
 
         /**
+         * Matches a SCTP source port number with mask.
+         *
+         * @param sctpPort a SCTP source port number
+         * @param mask a mask for a SCTP source port number
+         * @return a selection builder
+         */
+        Builder matchSctpSrcMasked(TpPort sctpPort, TpPort mask);
+
+        /**
          * Matches a SCTP destination port number.
          *
          * @param sctpPort a SCTP destination port number
@@ -251,6 +296,15 @@
         Builder matchSctpDst(TpPort sctpPort);
 
         /**
+         * Matches a SCTP destination port number with mask.
+         *
+         * @param sctpPort a SCTP destination port number
+         * @param mask a mask for a SCTP destination port number
+         * @return a selection builder
+         */
+        Builder matchSctpDstMasked(TpPort sctpPort, TpPort mask);
+
+        /**
          * Matches an ICMP type.
          *
          * @param icmpType an ICMP type