Support tofino build for P4_14 test programs

Also, modified programs such that both the P4_14 and P4_16 versions
produce the same forwarding behaviour and control API (i.e. P4Info)

Change-Id: I90b7fdfedff5f2a89e0f2295d32e2bb61cd0e0eb
diff --git a/tools/test/p4src/p4-14/default.p4 b/tools/test/p4src/p4-14/default.p4
index be88a5d..f653b98 100644
--- a/tools/test/p4src/p4-14/default.p4
+++ b/tools/test/p4src/p4-14/default.p4
@@ -3,18 +3,19 @@
 #include "include/parser.p4"
 #include "include/actions.p4"
 #include "include/port_counters.p4"
+#include "include/packet_io.p4"
 
 table table0 {
     reads {
-        standard_metadata.ingress_port : ternary;
-        ethernet.dstAddr : ternary;
-        ethernet.srcAddr : ternary;
+        IGR_PORT_FIELD     : ternary;
+        ethernet.dstAddr   : ternary;
+        ethernet.srcAddr   : ternary;
         ethernet.etherType : ternary;
     }
     actions {
         set_egress_port;
         send_to_cpu;
-        drop;
+        _drop;
     }
     support_timeout: true;
 }
@@ -26,6 +27,13 @@
 }
 
 control ingress {
-    apply(table0);
+    ingress_pkt_io();
+    if (not valid(packet_out_hdr)) {
+        apply(table0);
+    }
     process_port_counters();
+}
+
+control egress {
+    egress_pkt_io();
 }
\ No newline at end of file