Implement some of the missing Selector and Match Conditions
Work toward ONOS-509
The following match conditions are added/implemented:
- IN_PHY_PORT
- IP_DSCP
- IP_ECN
- METADATA
Change-Id: I6f529ee90b2b9e0d5046f83c034e8be3faf86d8b
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 e6fdeb2..1ecab71 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
@@ -68,6 +68,22 @@
public Builder matchInPort(PortNumber port);
/**
+ * Matches a physical inport.
+ *
+ * @param port the physical inport
+ * @return a selection builder
+ */
+ public Builder matchInPhyPort(PortNumber port);
+
+ /**
+ * Matches a metadata.
+ *
+ * @param metadata the metadata
+ * @return a selection builder
+ */
+ public Builder matchMetadata(Long metadata);
+
+ /**
* Matches a l2 dst address.
*
* @param addr a l2 address
@@ -108,6 +124,22 @@
public Builder matchVlanPcp(Byte vlanPcp);
/**
+ * Matches an IP DSCP (6 bits in ToS field).
+ *
+ * @param ipDscp an IP DSCP value
+ * @return a selection builder
+ */
+ public Builder matchIPDscp(Byte ipDscp);
+
+ /**
+ * Matches an IP ECN (2 bits in ToS field).
+ *
+ * @param ipEcn an IP ECN value
+ * @return a selection builder
+ */
+ public Builder matchIPEcn(Byte ipEcn);
+
+ /**
* Matches the l3 protocol.
*
* @param proto a l3 protocol