Fix bug when parsing gtp traffic and inner headers
Change-Id: If3905e441719cdbfa2c9e4df173145bce5e7cada
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json
index d7e5f68..8c37944 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json
@@ -1949,7 +1949,7 @@
"type" : "hexstr",
"value" : "0x06",
"mask" : null,
- "next_state" : "parse_tcp"
+ "next_state" : "parse_inner_tcp"
},
{
"type" : "hexstr",
@@ -1961,7 +1961,7 @@
"type" : "hexstr",
"value" : "0x01",
"mask" : null,
- "next_state" : "parse_icmp"
+ "next_state" : "parse_inner_icmp"
},
{
"type" : "default",
@@ -2028,8 +2028,82 @@
"transition_key" : []
},
{
- "name" : "parse_int",
+ "name" : "parse_inner_tcp",
"id" : 15,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "inner_tcp"
+ }
+ ],
+ "op" : "extract"
+ },
+ {
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "userMetadata._inner_l4_sport17"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_tcp", "sport"]
+ }
+ ],
+ "op" : "set"
+ },
+ {
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "userMetadata._inner_l4_dport18"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_tcp", "dport"]
+ }
+ ],
+ "op" : "set"
+ }
+ ],
+ "transitions" : [
+ {
+ "type" : "default",
+ "value" : null,
+ "mask" : null,
+ "next_state" : null
+ }
+ ],
+ "transition_key" : []
+ },
+ {
+ "name" : "parse_inner_icmp",
+ "id" : 16,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "inner_icmp"
+ }
+ ],
+ "op" : "extract"
+ }
+ ],
+ "transitions" : [
+ {
+ "type" : "default",
+ "value" : null,
+ "mask" : null,
+ "next_state" : null
+ }
+ ],
+ "transition_key" : []
+ },
+ {
+ "name" : "parse_int",
+ "id" : 17,
"parser_ops" : [],
"transitions" : [
{
@@ -2054,7 +2128,7 @@
},
{
"name" : "parse_intl4_shim",
- "id" : 16,
+ "id" : 18,
"parser_ops" : [
{
"parameters" : [
@@ -2098,7 +2172,7 @@
},
{
"name" : "parse_int_data",
- "id" : 17,
+ "id" : 19,
"parser_ops" : [],
"transitions" : [
{
@@ -2112,7 +2186,7 @@
},
{
"name" : "parse_intl4_tail",
- "id" : 18,
+ "id" : 20,
"parser_ops" : [
{
"parameters" : [