Update INT version to 1.0

Change-Id: I898501780cad9c1ad725ee624aa0cd4617ad2559
diff --git a/pipelines/basic/src/main/resources/int.p4 b/pipelines/basic/src/main/resources/int.p4
index 725be96..508928c 100644
--- a/pipelines/basic/src/main/resources/int.p4
+++ b/pipelines/basic/src/main/resources/int.p4
@@ -43,13 +43,18 @@
         port_counters_ingress.apply(hdr, standard_metadata);
         packetio_ingress.apply(hdr, standard_metadata);
         table0_control.apply(hdr, local_metadata, standard_metadata);
-        process_set_source_sink.apply(hdr, local_metadata, standard_metadata);
-        if(local_metadata.int_meta.sink == 1) {
+        process_int_source_sink.apply(hdr, local_metadata, standard_metadata);
+
+        if (local_metadata.int_meta.source == _TRUE) {
+            process_int_source.apply(hdr, local_metadata, standard_metadata);
+        }
+
+        if (local_metadata.int_meta.sink == _TRUE && hdr.int_header.isValid()) {
             // clone packet for Telemetry Report
             // FIXME: this works only on BMv2
-            #ifdef __TARGET_BMV2__
-            clone(CloneType.I2E, REPORT_MIRROR_SESSION_ID);
-            #endif
+            #ifdef TARGET_BMV2
+            clone3(CloneType.I2E, REPORT_MIRROR_SESSION_ID, standard_metadata);
+            #endif // TARGET_BMV2
         }
     }
 }
@@ -60,24 +65,21 @@
     inout standard_metadata_t standard_metadata) {
 
     apply {
-        if (standard_metadata.ingress_port != CPU_PORT &&
-            standard_metadata.egress_port != CPU_PORT &&
-            (hdr.udp.isValid() || hdr.tcp.isValid())) {
-            process_set_source_sink.apply(hdr, local_metadata, standard_metadata);
-            if (local_metadata.int_meta.source == 1) {
-                process_int_source.apply(hdr, local_metadata, standard_metadata);
+        if(hdr.int_header.isValid()) {
+            process_int_transit.apply(hdr, local_metadata, standard_metadata);
+
+            #ifdef TARGET_BMV2
+            if (IS_I2E_CLONE(standard_metadata)) {
+                /* send int report */
+                process_int_report.apply(hdr, local_metadata, standard_metadata);
             }
-            if(hdr.int_header.isValid()) {
-                process_int_transit.apply(hdr, local_metadata, standard_metadata);
-                /* update underlay header based on INT information inserted */
-                process_int_outer_encap.apply(hdr, local_metadata, standard_metadata);
-                if (local_metadata.int_meta.sink == 1) {
-                    /* send int report */
-                    process_int_report.apply(hdr, local_metadata, standard_metadata);
-                    /* int sink */
-                    process_int_sink.apply(hdr, local_metadata, standard_metadata);
-                }
-            }
+
+            if (local_metadata.int_meta.sink == _TRUE && !IS_I2E_CLONE(standard_metadata)) {
+            #else
+            if (local_metadata.int_meta.sink == _TRUE) {
+            #endif // TARGET_BMV2
+                process_int_sink.apply(hdr, local_metadata, standard_metadata);
+             }
         }
         port_counters_egress.apply(hdr, standard_metadata);
         packetio_egress.apply(hdr, standard_metadata);