ONOS-2403 Support setting TCP/UDP port action in flow rule for OpenFlow13

Change-Id: I4ce84aba9db03a66ebcfb34959c11cc4acadb07b
diff --git a/core/api/src/main/java/org/onosproject/net/flow/DefaultTrafficTreatment.java b/core/api/src/main/java/org/onosproject/net/flow/DefaultTrafficTreatment.java
index fe657e6..06c49ba 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/DefaultTrafficTreatment.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/DefaultTrafficTreatment.java
@@ -224,6 +224,7 @@
                 case L0MODIFICATION:
                 case L2MODIFICATION:
                 case L3MODIFICATION:
+                case L4MODIFICATION:
                     current.add(instruction);
                     break;
                 case TABLE:
@@ -390,6 +391,26 @@
         }
 
         @Override
+        public TrafficTreatment.Builder setTcpSrc(short port) {
+            return add(Instructions.modTcpSrc(port));
+        }
+
+        @Override
+        public TrafficTreatment.Builder setTcpDst(short port) {
+            return add(Instructions.modTcpDst(port));
+        }
+
+        @Override
+        public TrafficTreatment.Builder setUdpSrc(short port) {
+            return add(Instructions.modUdpSrc(port));
+        }
+
+        @Override
+        public TrafficTreatment.Builder setUdpDst(short port) {
+            return add(Instructions.modUdpDst(port));
+        }
+
+        @Override
         public TrafficTreatment build() {
             //Don't add DROP instruction by default when instruction
             //set is empty. This will be handled in DefaultSingleTablePipeline