Implement INT Telemetry Reporting functionality

[ONOS-7335] Add telemetry reporting functionality to basic int.p4

Change-Id: I3ddd776857598d0b9c1bb70aab22a302c0d6bcc0
diff --git a/pipelines/basic/src/main/resources/p4c-out/bmv2/int.p4info b/pipelines/basic/src/main/resources/p4c-out/bmv2/int.p4info
index 7ac55cf..101e2bb 100644
--- a/pipelines/basic/src/main/resources/p4c-out/bmv2/int.p4info
+++ b/pipelines/basic/src/main/resources/p4c-out/bmv2/int.p4info
@@ -77,9 +77,55 @@
 }
 tables {
   preamble {
+    id: 33594678
+    name: "ingress.process_set_source_sink.tb_set_source"
+    alias: "ingress.process_set_source_sink.tb_set_source"
+  }
+  match_fields {
+    id: 1
+    name: "standard_metadata.ingress_port"
+    bitwidth: 9
+    match_type: EXACT
+  }
+  action_refs {
+    id: 16817471
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@defaultonly()"
+  }
+  direct_resource_ids: 318825104
+  size: 256
+  idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+  preamble {
+    id: 33584156
+    name: "ingress.process_set_source_sink.tb_set_sink"
+    alias: "ingress.process_set_source_sink.tb_set_sink"
+  }
+  match_fields {
+    id: 1
+    name: "standard_metadata.egress_spec"
+    bitwidth: 9
+    match_type: EXACT
+  }
+  action_refs {
+    id: 16800284
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@defaultonly()"
+  }
+  direct_resource_ids: 318775657
+  size: 256
+  idle_timeout_behavior: NO_TIMEOUT
+}
+tables {
+  preamble {
     id: 33578477
     name: "egress.process_set_source_sink.tb_set_source"
-    alias: "tb_set_source"
+    alias: "egress.process_set_source_sink.tb_set_source"
   }
   match_fields {
     id: 1
@@ -102,11 +148,11 @@
   preamble {
     id: 33575550
     name: "egress.process_set_source_sink.tb_set_sink"
-    alias: "tb_set_sink"
+    alias: "egress.process_set_source_sink.tb_set_sink"
   }
   match_fields {
     id: 1
-    name: "standard_metadata.egress_port"
+    name: "standard_metadata.egress_spec"
     bitwidth: 9
     match_type: EXACT
   }
@@ -315,6 +361,28 @@
   size: 16
   idle_timeout_behavior: NO_TIMEOUT
 }
+tables {
+  preamble {
+    id: 33565180
+    name: "egress.process_int_report.tb_generate_report"
+    alias: "tb_generate_report"
+  }
+  match_fields {
+    id: 1
+    name: "standard_metadata.instance_type"
+    bitwidth: 32
+    match_type: EXACT
+  }
+  action_refs {
+    id: 16790504
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@defaultonly()"
+  }
+  size: 1024
+  idle_timeout_behavior: NO_TIMEOUT
+}
 actions {
   preamble {
     id: 16784184
@@ -324,6 +392,13 @@
 }
 actions {
   preamble {
+    id: 16800567
+    name: "NoAction"
+    alias: "NoAction"
+  }
+}
+actions {
+  preamble {
     id: 16777316
     name: "ingress.table0_control.set_next_hop_id"
     alias: "set_next_hop_id"
@@ -355,23 +430,30 @@
 }
 actions {
   preamble {
-    id: 16800567
-    name: "NoAction"
-    alias: "NoAction"
+    id: 16817471
+    name: "ingress.process_set_source_sink.int_set_source"
+    alias: "ingress.process_set_source_sink.int_set_source"
+  }
+}
+actions {
+  preamble {
+    id: 16800284
+    name: "ingress.process_set_source_sink.int_set_sink"
+    alias: "ingress.process_set_source_sink.int_set_sink"
   }
 }
 actions {
   preamble {
     id: 16782803
     name: "egress.process_set_source_sink.int_set_source"
-    alias: "int_set_source"
+    alias: "egress.process_set_source_sink.int_set_source"
   }
 }
 actions {
   preamble {
     id: 16798719
     name: "egress.process_set_source_sink.int_set_sink"
-    alias: "int_set_sink"
+    alias: "egress.process_set_source_sink.int_set_sink"
   }
 }
 actions {
@@ -667,6 +749,38 @@
 }
 actions {
   preamble {
+    id: 16790504
+    name: "egress.process_int_report.do_report_encapsulation"
+    alias: "do_report_encapsulation"
+  }
+  params {
+    id: 1
+    name: "src_mac"
+    bitwidth: 48
+  }
+  params {
+    id: 2
+    name: "mon_mac"
+    bitwidth: 48
+  }
+  params {
+    id: 3
+    name: "src_ip"
+    bitwidth: 32
+  }
+  params {
+    id: 4
+    name: "mon_ip"
+    bitwidth: 32
+  }
+  params {
+    id: 5
+    name: "mon_port"
+    bitwidth: 16
+  }
+}
+actions {
+  preamble {
     id: 16839217
     name: "egress.process_int_sink.restore_header"
     alias: "restore_header"
@@ -714,9 +828,31 @@
 }
 direct_counters {
   preamble {
+    id: 318825104
+    name: "ingress.process_set_source_sink.counter_set_source"
+    alias: "ingress.process_set_source_sink.counter_set_source"
+  }
+  spec {
+    unit: BOTH
+  }
+  direct_table_id: 33594678
+}
+direct_counters {
+  preamble {
+    id: 318775657
+    name: "ingress.process_set_source_sink.counter_set_sink"
+    alias: "ingress.process_set_source_sink.counter_set_sink"
+  }
+  spec {
+    unit: BOTH
+  }
+  direct_table_id: 33584156
+}
+direct_counters {
+  preamble {
     id: 318829828
     name: "egress.process_set_source_sink.counter_set_source"
-    alias: "counter_set_source"
+    alias: "egress.process_set_source_sink.counter_set_source"
   }
   spec {
     unit: BOTH
@@ -727,7 +863,7 @@
   preamble {
     id: 318811186
     name: "egress.process_set_source_sink.counter_set_sink"
-    alias: "counter_set_sink"
+    alias: "egress.process_set_source_sink.counter_set_sink"
   }
   spec {
     unit: BOTH