[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