[SDFAB-102] Backport changes required for policies to fabric.p4
Change-Id: I1c9a66c548b5d5e1d3a92ff29208263fb6844c0c
diff --git a/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/FabricTreatmentInterpreter.java b/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/FabricTreatmentInterpreter.java
index 9b33d2d..fe2d490 100644
--- a/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/FabricTreatmentInterpreter.java
+++ b/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/FabricTreatmentInterpreter.java
@@ -82,7 +82,7 @@
}
// VLAN_POP action is equivalent to the permit action (VLANs pop is done anyway)
- if (isNoAction(treatment) || isFilteringPopAction(treatment)) {
+ if (isFilteringNoAction(treatment) || isFilteringPopAction(treatment)) {
// Permit action if table is ingress_port_vlan;
return nop(tableId);
}
@@ -99,7 +99,7 @@
static PiAction mapForwardingTreatment(TrafficTreatment treatment, PiTableId tableId)
throws PiInterpreterException {
- if (isNoAction(treatment)) {
+ if (isForwardingNoAction(treatment)) {
return nop(tableId);
}
treatmentException(
@@ -211,8 +211,11 @@
static PiAction mapAclTreatment(TrafficTreatment treatment, PiTableId tableId)
throws PiInterpreterException {
- if (isNoAction(treatment)) {
- return nop(tableId);
+ if (isDrop(treatment)) {
+ return drop(tableId);
+ }
+ if (isForwardingNoAction(treatment)) {
+ return nop(tableId);
}
treatmentException(
tableId, treatment,
@@ -246,15 +249,31 @@
return PiAction.builder().withId(NOP_ACTIONS.get(tableId)).build();
}
- private static boolean isNoAction(TrafficTreatment treatment) {
- // Empty treatment OR
- // No instructions OR
- // Empty treatment AND writeMetadata
+ private static PiAction drop(PiTableId tableId) throws PiInterpreterException {
+ if (!tableId.equals(FabricConstants.FABRIC_INGRESS_ACL_ACL)) {
+ throw new PiInterpreterException(format("table '%s' doe not specify a nop action", tableId));
+ }
+ return PiAction.builder().withId(FabricConstants.FABRIC_INGRESS_ACL_DROP).build();
+ }
+
+ // NOTE: we use clearDeferred to signal when there are no more ports associated to a given vlan
+ private static boolean isFilteringNoAction(TrafficTreatment treatment) {
return treatment.equals(DefaultTrafficTreatment.emptyTreatment()) ||
- treatment.allInstructions().isEmpty() ||
+ (treatment.allInstructions().isEmpty()) ||
(treatment.allInstructions().size() == 1 && treatment.writeMetadata() != null);
}
+ // NOTE: clearDeferred is used by the routing application to implement ACL drop and route black-holing
+ private static boolean isForwardingNoAction(TrafficTreatment treatment) {
+ return treatment.equals(DefaultTrafficTreatment.emptyTreatment()) ||
+ (treatment.allInstructions().isEmpty() && !treatment.clearedDeferred()) ||
+ (treatment.allInstructions().size() == 1 && treatment.writeMetadata() != null);
+ }
+
+ private static boolean isDrop(TrafficTreatment treatment) {
+ return treatment.allInstructions().isEmpty() && treatment.clearedDeferred();
+ }
+
private static boolean isFilteringPopAction(TrafficTreatment treatment) {
return l2Instruction(treatment, VLAN_POP) != null;
}
diff --git a/pipelines/fabric/impl/src/main/resources/include/control/acl.p4 b/pipelines/fabric/impl/src/main/resources/include/control/acl.p4
index 80efa8f..34ef4d1 100644
--- a/pipelines/fabric/impl/src/main/resources/include/control/acl.p4
+++ b/pipelines/fabric/impl/src/main/resources/include/control/acl.p4
@@ -24,6 +24,12 @@
inout fabric_metadata_t fabric_metadata,
inout standard_metadata_t standard_metadata) {
+ ipv4_addr_t ipv4_src = 0;
+ ipv4_addr_t ipv4_dst = 0;
+ bit<8> ip_proto = 0;
+ l4_port_t l4_sport = 0;
+ l4_port_t l4_dport = 0;
+
/*
* ACL Table.
*/
@@ -59,18 +65,18 @@
table acl {
key = {
- standard_metadata.ingress_port: ternary @name("ig_port"); // 9
- fabric_metadata.ip_proto: ternary @name("ip_proto"); // 8
- fabric_metadata.l4_sport: ternary @name("l4_sport"); // 16
- fabric_metadata.l4_dport: ternary @name("l4_dport"); // 16
- hdr.ethernet.dst_addr: ternary @name("eth_dst"); // 48
- hdr.ethernet.src_addr: ternary @name("eth_src"); // 48
- hdr.vlan_tag.vlan_id: ternary @name("vlan_id"); // 12
- hdr.eth_type.value: ternary @name("eth_type"); //16
- hdr.ipv4.src_addr: ternary @name("ipv4_src"); // 32
- hdr.ipv4.dst_addr: ternary @name("ipv4_dst"); // 32
- hdr.icmp.icmp_type: ternary @name("icmp_type"); // 8
- hdr.icmp.icmp_code: ternary @name("icmp_code"); // 8
+ standard_metadata.ingress_port : ternary @name("ig_port"); // 9
+ hdr.ethernet.dst_addr : ternary @name("eth_dst"); // 48
+ hdr.ethernet.src_addr : ternary @name("eth_src"); // 48
+ hdr.vlan_tag.vlan_id : ternary @name("vlan_id"); // 12
+ hdr.eth_type.value : ternary @name("eth_type"); // 16
+ ipv4_src : ternary @name("ipv4_src"); // 32
+ ipv4_dst : ternary @name("ipv4_dst"); // 32
+ ip_proto : ternary @name("ip_proto"); // 8
+ hdr.icmp.icmp_type : ternary @name("icmp_type"); // 8
+ hdr.icmp.icmp_code : ternary @name("icmp_code"); // 8
+ l4_sport : ternary @name("l4_sport"); // 16
+ l4_dport : ternary @name("l4_dport"); // 16
}
actions = {
@@ -87,6 +93,29 @@
}
apply {
+ if (hdr.gtpu.isValid() && hdr.inner_ipv4.isValid()) {
+ ipv4_src = hdr.inner_ipv4.src_addr;
+ ipv4_dst = hdr.inner_ipv4.dst_addr;
+ ip_proto = hdr.inner_ipv4.protocol;
+ if (hdr.inner_tcp.isValid()) {
+ l4_sport = hdr.inner_tcp.sport;
+ l4_dport = hdr.inner_tcp.dport;
+ } else if (hdr.inner_udp.isValid()) {
+ l4_sport = hdr.inner_udp.sport;
+ l4_dport = hdr.inner_udp.dport;
+ }
+ } else if (hdr.ipv4.isValid()) {
+ ipv4_src = hdr.ipv4.src_addr;
+ ipv4_dst = hdr.ipv4.dst_addr;
+ ip_proto = hdr.ipv4.protocol;
+ if (hdr.tcp.isValid()) {
+ l4_sport = hdr.tcp.sport;
+ l4_dport = hdr.tcp.dport;
+ } else if (hdr.udp.isValid()) {
+ l4_sport = hdr.udp.sport;
+ l4_dport = hdr.udp.dport;
+ }
+ }
acl.apply();
}
}
diff --git a/pipelines/fabric/impl/src/main/resources/include/header.p4 b/pipelines/fabric/impl/src/main/resources/include/header.p4
index 4b4e315..6b47a60 100644
--- a/pipelines/fabric/impl/src/main/resources/include/header.p4
+++ b/pipelines/fabric/impl/src/main/resources/include/header.p4
@@ -227,12 +227,12 @@
ipv4_t gtpu_ipv4;
udp_t gtpu_udp;
gtpu_t outer_gtpu;
+#endif // WITH_SPGW
gtpu_t gtpu;
ipv4_t inner_ipv4;
udp_t inner_udp;
tcp_t inner_tcp;
icmp_t inner_icmp;
-#endif // WITH_SPGW
ipv4_t ipv4;
#ifdef WITH_IPV6
ipv6_t ipv6;
diff --git a/pipelines/fabric/impl/src/main/resources/include/parser.p4 b/pipelines/fabric/impl/src/main/resources/include/parser.p4
index 5e5ee5b..699f32b 100644
--- a/pipelines/fabric/impl/src/main/resources/include/parser.p4
+++ b/pipelines/fabric/impl/src/main/resources/include/parser.p4
@@ -183,10 +183,8 @@
fabric_metadata.l4_dport = hdr.udp.dport;
gtpu_t gtpu = packet.lookahead<gtpu_t>();
transition select(hdr.udp.dport, gtpu.version, gtpu.msgtype) {
-#ifdef WITH_SPGW
- // Treat GTP control traffic as payload.
- (UDP_PORT_GTPU, GTP_V1, GTP_GPDU): parse_gtpu;
-#endif // WITH_SPGW
+ // Treat GTP control traffic as payload.
+ (UDP_PORT_GTPU, GTP_V1, GTP_GPDU): parse_gtpu;
#ifdef WITH_INT
default: parse_int;
#else
@@ -200,7 +198,6 @@
transition accept;
}
-#ifdef WITH_SPGW
state parse_gtpu {
packet.extract(hdr.gtpu);
transition parse_inner_ipv4;
@@ -219,8 +216,10 @@
state parse_inner_udp {
packet.extract(hdr.inner_udp);
+#ifdef WITH_SPGW
fabric_metadata.inner_l4_sport = hdr.inner_udp.sport;
fabric_metadata.inner_l4_dport = hdr.inner_udp.dport;
+#endif // WITH_SPGW
#ifdef WITH_INT
transition parse_int;
#else
@@ -228,18 +227,19 @@
#endif // WITH_INT
}
- state parse_inner_tcp {
+ state parse_inner_tcp {
packet.extract(hdr.inner_tcp);
+#ifdef WITH_SPGW
fabric_metadata.inner_l4_sport = hdr.inner_tcp.sport;
fabric_metadata.inner_l4_dport = hdr.inner_tcp.dport;
+#endif // WITH_SPGW
transition accept;
}
- state parse_inner_icmp {
+ state parse_inner_icmp {
packet.extract(hdr.inner_icmp);
transition accept;
}
-#endif // WITH_SPGW
#ifdef WITH_INT
state parse_int {
@@ -315,14 +315,12 @@
packet.emit(hdr.tcp);
packet.emit(hdr.udp);
packet.emit(hdr.icmp);
-#ifdef WITH_SPGW
// if we parsed a GTPU packet but did not decap it
packet.emit(hdr.gtpu);
packet.emit(hdr.inner_ipv4);
packet.emit(hdr.inner_tcp);
packet.emit(hdr.inner_udp);
packet.emit(hdr.inner_icmp);
-#endif // WITH_SPGW
#ifdef WITH_INT
packet.emit(hdr.intl4_shim);
packet.emit(hdr.int_header);
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/bmv2.json
index 7e5f3f2..7ca7062 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/bmv2.json
@@ -14,6 +14,11 @@
["tmp_7", 64, false],
["tmp_8", 32, false],
["tmp_9", 32, false],
+ ["acl_ipv4_src", 32, false],
+ ["acl_ipv4_dst", 32, false],
+ ["acl_ip_proto", 8, false],
+ ["acl_l4_sport", 16, false],
+ ["acl_l4_dport", 16, false],
["bng_ingress_upstream_hasReturned", 1, false],
["userMetadata._ip_eth_type0", 16, false],
["userMetadata._vlan_id1", 12, false],
@@ -159,11 +164,21 @@
]
},
{
- "name" : "tcp_t",
+ "name" : "udp_t",
"id" : 10,
"fields" : [
["sport", 16, false],
["dport", 16, false],
+ ["len", 16, false],
+ ["checksum", 16, false]
+ ]
+ },
+ {
+ "name" : "tcp_t",
+ "id" : 11,
+ "fields" : [
+ ["sport", 16, false],
+ ["dport", 16, false],
["seq_no", 32, false],
["ack_no", 32, false],
["data_offset", 4, false],
@@ -176,16 +191,6 @@
]
},
{
- "name" : "udp_t",
- "id" : 11,
- "fields" : [
- ["sport", 16, false],
- ["dport", 16, false],
- ["len", 16, false],
- ["checksum", 16, false]
- ]
- },
- {
"name" : "icmp_t",
"id" : 12,
"fields" : [
@@ -278,43 +283,78 @@
"pi_omit" : true
},
{
- "name" : "ipv4",
+ "name" : "gtpu",
"id" : 10,
+ "header_type" : "gtpu_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "inner_ipv4",
+ "id" : 11,
"header_type" : "ipv4_t",
"metadata" : false,
"pi_omit" : true
},
{
- "name" : "tcp",
- "id" : 11,
- "header_type" : "tcp_t",
- "metadata" : false,
- "pi_omit" : true
- },
- {
- "name" : "udp",
+ "name" : "inner_udp",
"id" : 12,
"header_type" : "udp_t",
"metadata" : false,
"pi_omit" : true
},
{
- "name" : "icmp",
+ "name" : "inner_tcp",
"id" : 13,
+ "header_type" : "tcp_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "inner_icmp",
+ "id" : 14,
+ "header_type" : "icmp_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "ipv4",
+ "id" : 15,
+ "header_type" : "ipv4_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "tcp",
+ "id" : 16,
+ "header_type" : "tcp_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "udp",
+ "id" : 17,
+ "header_type" : "udp_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "icmp",
+ "id" : 18,
"header_type" : "icmp_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "packet_out",
- "id" : 14,
+ "id" : 19,
"header_type" : "packet_out_header_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "packet_in",
- "id" : 15,
+ "id" : 20,
"header_type" : "packet_in_header_t",
"metadata" : false,
"pi_omit" : true
@@ -330,7 +370,7 @@
"name" : "fl",
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 46,
+ "line" : 52,
"column" : 40,
"source_fragment" : "{standard_metadata.ingress_port}"
},
@@ -1691,6 +1731,12 @@
],
"transitions" : [
{
+ "type" : "hexstr",
+ "value" : "0x086801ff",
+ "mask" : null,
+ "next_state" : "parse_gtpu"
+ },
+ {
"type" : "default",
"value" : null,
"mask" : null,
@@ -1735,6 +1781,86 @@
}
],
"transition_key" : []
+ },
+ {
+ "name" : "parse_gtpu",
+ "id" : 14,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "gtpu"
+ }
+ ],
+ "op" : "extract"
+ },
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "inner_ipv4"
+ }
+ ],
+ "op" : "extract"
+ }
+ ],
+ "transitions" : [
+ {
+ "type" : "hexstr",
+ "value" : "0x06",
+ "mask" : null,
+ "next_state" : "parse_tcp"
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x11",
+ "mask" : null,
+ "next_state" : "parse_inner_udp"
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x01",
+ "mask" : null,
+ "next_state" : "parse_icmp"
+ },
+ {
+ "type" : "default",
+ "value" : null,
+ "mask" : null,
+ "next_state" : null
+ }
+ ],
+ "transition_key" : [
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "protocol"]
+ }
+ ]
+ },
+ {
+ "name" : "parse_inner_udp",
+ "id" : 15,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "inner_udp"
+ }
+ ],
+ "op" : "extract"
+ }
+ ],
+ "transitions" : [
+ {
+ "type" : "default",
+ "value" : null,
+ "mask" : null,
+ "next_state" : null
+ }
+ ],
+ "transition_key" : []
}
]
}
@@ -1750,7 +1876,7 @@
"column" : 8,
"source_fragment" : "FabricDeparser"
},
- "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "pppoe", "mpls", "ipv4", "tcp", "udp", "icmp"],
+ "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "pppoe", "mpls", "ipv4", "tcp", "udp", "icmp", "gtpu", "inner_ipv4", "inner_tcp", "inner_udp", "inner_icmp"],
"primitives" : []
}
],
@@ -1888,7 +2014,7 @@
"binding" : "FabricIngress.acl.acl",
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 30,
+ "line" : 36,
"column" : 50,
"source_fragment" : "acl_counter"
}
@@ -2765,7 +2891,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 33,
+ "line" : 39,
"column" : 32,
"source_fragment" : "= next_id; ..."
}
@@ -2791,7 +2917,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 39,
+ "line" : 45,
"column" : 8,
"source_fragment" : "standard_metadata.egress_spec = 255"
}
@@ -2820,7 +2946,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 40,
+ "line" : 46,
"column" : 34,
"source_fragment" : "= true; ..."
}
@@ -2851,7 +2977,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 46,
+ "line" : 52,
"column" : 8,
"source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
}
@@ -2873,7 +2999,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 51,
+ "line" : 57,
"column" : 8,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -2902,7 +3028,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 52,
+ "line" : 58,
"column" : 34,
"source_fragment" : "= true; ..."
}
@@ -3570,7 +3696,7 @@
]
},
{
- "name" : "port_counter31",
+ "name" : "acl101",
"id" : 39,
"runtime_data" : [],
"primitives" : [
@@ -3579,6 +3705,416 @@
"parameters" : [
{
"type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_tcp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 101,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.inner_tcp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_tcp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 102,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.inner_tcp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl104",
+ "id" : 40,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_udp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 104,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.inner_udp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_udp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 105,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.inner_udp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl97",
+ "id" : 41,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_src"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "src_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 97,
+ "column" : 12,
+ "source_fragment" : "ipv4_src = hdr.inner_ipv4.src_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_dst"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "dst_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 98,
+ "column" : 12,
+ "source_fragment" : "ipv4_dst = hdr.inner_ipv4.dst_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ip_proto"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "protocol"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 99,
+ "column" : 12,
+ "source_fragment" : "ip_proto = hdr.inner_ipv4.protocol"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl112",
+ "id" : 42,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["tcp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 112,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.tcp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["tcp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 113,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.tcp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl115",
+ "id" : 43,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["udp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 115,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.udp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["udp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 116,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.udp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl108",
+ "id" : 44,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_src"]
+ },
+ {
+ "type" : "field",
+ "value" : ["ipv4", "src_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 108,
+ "column" : 12,
+ "source_fragment" : "ipv4_src = hdr.ipv4.src_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_dst"]
+ },
+ {
+ "type" : "field",
+ "value" : ["ipv4", "dst_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 109,
+ "column" : 12,
+ "source_fragment" : "ipv4_dst = hdr.ipv4.dst_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ip_proto"]
+ },
+ {
+ "type" : "field",
+ "value" : ["ipv4", "protocol"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 110,
+ "column" : 12,
+ "source_fragment" : "ip_proto = hdr.ipv4.protocol"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl27",
+ "id" : 45,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_src"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 27,
+ "column" : 4,
+ "source_fragment" : "ipv4_addr_t ipv4_src = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_dst"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 28,
+ "column" : 4,
+ "source_fragment" : "ipv4_addr_t ipv4_dst = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ip_proto"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 29,
+ "column" : 4,
+ "source_fragment" : "bit<8> ip_proto = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x0000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 30,
+ "column" : 4,
+ "source_fragment" : "l4_port_t l4_sport = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x0000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 31,
+ "column" : 4,
+ "source_fragment" : "l4_port_t l4_dport = 0;"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "port_counter31",
+ "id" : 46,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
"value" : ["scalars", "tmp_8"]
},
{
@@ -3629,7 +4165,7 @@
},
{
"name" : "port_counter34",
- "id" : 40,
+ "id" : 47,
"runtime_data" : [],
"primitives" : [
{
@@ -3687,7 +4223,7 @@
},
{
"name" : "bng126",
- "id" : 41,
+ "id" : 48,
"runtime_data" : [],
"primitives" : [
{
@@ -3723,7 +4259,7 @@
},
{
"name" : "bng342",
- "id" : 42,
+ "id" : 49,
"runtime_data" : [],
"primitives" : [
{
@@ -3772,7 +4308,7 @@
},
{
"name" : "bng131",
- "id" : 43,
+ "id" : 50,
"runtime_data" : [],
"primitives" : [
{
@@ -3798,7 +4334,7 @@
},
{
"name" : "bng238",
- "id" : 44,
+ "id" : 51,
"runtime_data" : [],
"primitives" : [
{
@@ -3828,7 +4364,7 @@
},
{
"name" : "bng241",
- "id" : 45,
+ "id" : 52,
"runtime_data" : [],
"primitives" : [
{
@@ -3858,7 +4394,7 @@
},
{
"name" : "FabricEgress.bng_egress.downstream.encap_v4",
- "id" : 46,
+ "id" : 53,
"runtime_data" : [],
"primitives" : [
{
@@ -4055,7 +4591,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_mpls_if_present",
- "id" : 47,
+ "id" : 54,
"runtime_data" : [],
"primitives" : [
{
@@ -4096,7 +4632,7 @@
},
{
"name" : "FabricEgress.egress_next.set_mpls",
- "id" : 48,
+ "id" : 55,
"runtime_data" : [],
"primitives" : [
{
@@ -4213,7 +4749,7 @@
},
{
"name" : "FabricEgress.egress_next.push_outer_vlan",
- "id" : 49,
+ "id" : 56,
"runtime_data" : [],
"primitives" : [
{
@@ -4311,7 +4847,7 @@
},
{
"name" : "FabricEgress.egress_next.push_inner_vlan",
- "id" : 50,
+ "id" : 57,
"runtime_data" : [],
"primitives" : [
{
@@ -4428,7 +4964,7 @@
},
{
"name" : "FabricEgress.egress_next.push_vlan",
- "id" : 51,
+ "id" : 58,
"runtime_data" : [],
"primitives" : [
{
@@ -4526,7 +5062,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_vlan",
- "id" : 52,
+ "id" : 59,
"runtime_data" : [],
"primitives" : [
{
@@ -4548,7 +5084,7 @@
},
{
"name" : "FabricEgress.egress_next.drop",
- "id" : 53,
+ "id" : 60,
"runtime_data" : [],
"primitives" : [
{
@@ -4570,7 +5106,7 @@
},
{
"name" : "packetio41",
- "id" : 54,
+ "id" : 61,
"runtime_data" : [],
"primitives" : [
{
@@ -4587,7 +5123,7 @@
},
{
"name" : "packetio44",
- "id" : 55,
+ "id" : 62,
"runtime_data" : [],
"primitives" : [
{
@@ -4638,7 +5174,7 @@
},
{
"name" : "next349",
- "id" : 56,
+ "id" : 63,
"runtime_data" : [],
"primitives" : [
{
@@ -4660,7 +5196,7 @@
},
{
"name" : "next365",
- "id" : 57,
+ "id" : 64,
"runtime_data" : [],
"primitives" : [
{
@@ -4682,7 +5218,7 @@
},
{
"name" : "next376",
- "id" : 58,
+ "id" : 65,
"runtime_data" : [],
"primitives" : [
{
@@ -4704,7 +5240,7 @@
},
{
"name" : "next375",
- "id" : 59,
+ "id" : 66,
"runtime_data" : [],
"primitives" : [
{
@@ -4753,7 +5289,7 @@
},
{
"name" : "next380",
- "id" : 60,
+ "id" : 67,
"runtime_data" : [],
"primitives" : [
{
@@ -4775,7 +5311,7 @@
},
{
"name" : "next379",
- "id" : 61,
+ "id" : 68,
"runtime_data" : [],
"primitives" : [
{
@@ -5092,10 +5628,10 @@
"direct_meters" : null,
"action_ids" : [20, 2],
"actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
- "base_default_next" : "FabricIngress.acl.acl",
+ "base_default_next" : "tbl_acl27",
"next_tables" : {
- "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.acl.acl",
- "nop" : "FabricIngress.acl.acl"
+ "FabricIngress.forwarding.set_next_id_bridging" : "tbl_acl27",
+ "nop" : "tbl_acl27"
},
"default_entry" : {
"action_id" : 2,
@@ -5129,10 +5665,10 @@
"direct_meters" : null,
"action_ids" : [21, 3],
"actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
- "base_default_next" : "FabricIngress.acl.acl",
+ "base_default_next" : "tbl_acl27",
"next_tables" : {
- "FabricIngress.forwarding.pop_mpls_and_next" : "FabricIngress.acl.acl",
- "nop" : "FabricIngress.acl.acl"
+ "FabricIngress.forwarding.pop_mpls_and_next" : "tbl_acl27",
+ "nop" : "tbl_acl27"
},
"default_entry" : {
"action_id" : 3,
@@ -5166,11 +5702,11 @@
"direct_meters" : null,
"action_ids" : [22, 23, 4],
"actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
- "base_default_next" : "FabricIngress.acl.acl",
+ "base_default_next" : "tbl_acl27",
"next_tables" : {
- "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.acl.acl",
- "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.acl.acl",
- "nop" : "FabricIngress.acl.acl"
+ "FabricIngress.forwarding.set_next_id_routing_v4" : "tbl_acl27",
+ "FabricIngress.forwarding.nop_routing_v4" : "tbl_acl27",
+ "nop" : "tbl_acl27"
},
"default_entry" : {
"action_id" : 4,
@@ -5180,11 +5716,214 @@
}
},
{
- "name" : "FabricIngress.acl.acl",
+ "name" : "tbl_acl27",
"id" : 9,
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 60,
+ "line" : 27,
+ "column" : 4,
+ "source_fragment" : "ipv4_addr_t ipv4_src = 0; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [45],
+ "actions" : ["acl27"],
+ "base_default_next" : "node_20",
+ "next_tables" : {
+ "acl27" : "node_20"
+ },
+ "default_entry" : {
+ "action_id" : 45,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl97",
+ "id" : 10,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 97,
+ "column" : 21,
+ "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [41],
+ "actions" : ["acl97"],
+ "base_default_next" : "node_22",
+ "next_tables" : {
+ "acl97" : "node_22"
+ },
+ "default_entry" : {
+ "action_id" : 41,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl101",
+ "id" : 11,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 101,
+ "column" : 25,
+ "source_fragment" : "= hdr.inner_tcp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [39],
+ "actions" : ["acl101"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl101" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 39,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl104",
+ "id" : 12,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 104,
+ "column" : 25,
+ "source_fragment" : "= hdr.inner_udp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [40],
+ "actions" : ["acl104"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl104" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 40,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl108",
+ "id" : 13,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 108,
+ "column" : 21,
+ "source_fragment" : "= hdr.ipv4.src_addr; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [44],
+ "actions" : ["acl108"],
+ "base_default_next" : "node_28",
+ "next_tables" : {
+ "acl108" : "node_28"
+ },
+ "default_entry" : {
+ "action_id" : 44,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl112",
+ "id" : 14,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 112,
+ "column" : 25,
+ "source_fragment" : "= hdr.tcp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [42],
+ "actions" : ["acl112"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl112" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 42,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl115",
+ "id" : 15,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 115,
+ "column" : 25,
+ "source_fragment" : "= hdr.udp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [43],
+ "actions" : ["acl115"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl115" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 43,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "FabricIngress.acl.acl",
+ "id" : 16,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 66,
"column" : 10,
"source_fragment" : "acl"
},
@@ -5197,24 +5936,6 @@
},
{
"match_type" : "ternary",
- "name" : "ip_proto",
- "target" : ["scalars", "userMetadata._ip_proto16"],
- "mask" : null
- },
- {
- "match_type" : "ternary",
- "name" : "l4_sport",
- "target" : ["scalars", "userMetadata._l4_sport17"],
- "mask" : null
- },
- {
- "match_type" : "ternary",
- "name" : "l4_dport",
- "target" : ["scalars", "userMetadata._l4_dport18"],
- "mask" : null
- },
- {
- "match_type" : "ternary",
"name" : "eth_dst",
"target" : ["ethernet", "dst_addr"],
"mask" : null
@@ -5240,13 +5961,19 @@
{
"match_type" : "ternary",
"name" : "ipv4_src",
- "target" : ["ipv4", "src_addr"],
+ "target" : ["scalars", "acl_ipv4_src"],
"mask" : null
},
{
"match_type" : "ternary",
"name" : "ipv4_dst",
- "target" : ["ipv4", "dst_addr"],
+ "target" : ["scalars", "acl_ipv4_dst"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "name" : "ip_proto",
+ "target" : ["scalars", "acl_ip_proto"],
"mask" : null
},
{
@@ -5260,6 +5987,18 @@
"name" : "icmp_code",
"target" : ["icmp", "icmp_code"],
"mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "name" : "l4_sport",
+ "target" : ["scalars", "acl_l4_sport"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "name" : "l4_dport",
+ "target" : ["scalars", "acl_l4_dport"],
+ "mask" : null
}
],
"match_type" : "ternary",
@@ -5270,13 +6009,13 @@
"direct_meters" : null,
"action_ids" : [24, 25, 26, 27, 28],
"actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.set_clone_session_id", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"],
- "base_default_next" : "node_20",
+ "base_default_next" : "node_33",
"next_tables" : {
- "FabricIngress.acl.set_next_id_acl" : "node_20",
- "FabricIngress.acl.punt_to_cpu" : "node_20",
- "FabricIngress.acl.set_clone_session_id" : "node_20",
- "FabricIngress.acl.drop" : "node_20",
- "FabricIngress.acl.nop_acl" : "node_20"
+ "FabricIngress.acl.set_next_id_acl" : "node_33",
+ "FabricIngress.acl.punt_to_cpu" : "node_33",
+ "FabricIngress.acl.set_clone_session_id" : "node_33",
+ "FabricIngress.acl.drop" : "node_33",
+ "FabricIngress.acl.nop_acl" : "node_33"
},
"default_entry" : {
"action_id" : 28,
@@ -5287,7 +6026,7 @@
},
{
"name" : "FabricIngress.next.hashed",
- "id" : 10,
+ "id" : 17,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 202,
@@ -5321,7 +6060,7 @@
},
{
"name" : "FabricIngress.next.multicast",
- "id" : 11,
+ "id" : 18,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 236,
@@ -5358,7 +6097,7 @@
},
{
"name" : "FabricIngress.next.next_vlan",
- "id" : 12,
+ "id" : 19,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 86,
@@ -5381,11 +6120,11 @@
"direct_meters" : null,
"action_ids" : [29, 30, 5],
"actions" : ["FabricIngress.next.set_vlan", "FabricIngress.next.set_double_vlan", "nop"],
- "base_default_next" : "node_24",
+ "base_default_next" : "node_37",
"next_tables" : {
- "FabricIngress.next.set_vlan" : "node_24",
- "FabricIngress.next.set_double_vlan" : "node_24",
- "nop" : "node_24"
+ "FabricIngress.next.set_vlan" : "node_37",
+ "FabricIngress.next.set_double_vlan" : "node_37",
+ "nop" : "node_37"
},
"default_entry" : {
"action_id" : 5,
@@ -5396,7 +6135,7 @@
},
{
"name" : "tbl_port_counter31",
- "id" : 13,
+ "id" : 20,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 31,
@@ -5410,14 +6149,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [39],
+ "action_ids" : [46],
"actions" : ["port_counter31"],
- "base_default_next" : "node_26",
+ "base_default_next" : "node_39",
"next_tables" : {
- "port_counter31" : "node_26"
+ "port_counter31" : "node_39"
},
"default_entry" : {
- "action_id" : 39,
+ "action_id" : 46,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -5425,7 +6164,7 @@
},
{
"name" : "tbl_port_counter34",
- "id" : 14,
+ "id" : 21,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 34,
@@ -5439,14 +6178,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [40],
+ "action_ids" : [47],
"actions" : ["port_counter34"],
"base_default_next" : "FabricIngress.bng_ingress.t_line_map",
"next_tables" : {
"port_counter34" : "FabricIngress.bng_ingress.t_line_map"
},
"default_entry" : {
- "action_id" : 40,
+ "action_id" : 47,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -5454,7 +6193,7 @@
},
{
"name" : "FabricIngress.bng_ingress.t_line_map",
- "id" : 15,
+ "id" : 22,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 323,
@@ -5483,9 +6222,9 @@
"direct_meters" : null,
"action_ids" : [15],
"actions" : ["FabricIngress.bng_ingress.set_line"],
- "base_default_next" : "node_29",
+ "base_default_next" : "node_42",
"next_tables" : {
- "FabricIngress.bng_ingress.set_line" : "node_29"
+ "FabricIngress.bng_ingress.set_line" : "node_42"
},
"default_entry" : {
"action_id" : 15,
@@ -5496,7 +6235,7 @@
},
{
"name" : "tbl_bng342",
- "id" : 16,
+ "id" : 23,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 342,
@@ -5510,14 +6249,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [42],
+ "action_ids" : [49],
"actions" : ["bng342"],
"base_default_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
"next_tables" : {
"bng342" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp"
},
"default_entry" : {
- "action_id" : 42,
+ "action_id" : 49,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -5525,7 +6264,7 @@
},
{
"name" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
- "id" : 17,
+ "id" : 24,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 51,
@@ -5557,7 +6296,7 @@
"base_default_next" : null,
"next_tables" : {
"__HIT__" : "tbl_bng126",
- "__MISS__" : "node_33"
+ "__MISS__" : "node_46"
},
"default_entry" : {
"action_id" : 0,
@@ -5568,7 +6307,7 @@
},
{
"name" : "tbl_bng126",
- "id" : 18,
+ "id" : 25,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 126,
@@ -5582,14 +6321,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [41],
+ "action_ids" : [48],
"actions" : ["bng126"],
- "base_default_next" : "node_33",
+ "base_default_next" : "node_46",
"next_tables" : {
- "bng126" : "node_33"
+ "bng126" : "node_46"
},
"default_entry" : {
- "action_id" : 41,
+ "action_id" : 48,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -5597,7 +6336,7 @@
},
{
"name" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
- "id" : 19,
+ "id" : 26,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 87,
@@ -5646,7 +6385,7 @@
},
{
"name" : "tbl_bng131",
- "id" : 20,
+ "id" : 27,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 131,
@@ -5660,14 +6399,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [43],
+ "action_ids" : [50],
"actions" : ["bng131"],
"base_default_next" : null,
"next_tables" : {
"bng131" : null
},
"default_entry" : {
- "action_id" : 43,
+ "action_id" : 50,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -5675,7 +6414,7 @@
},
{
"name" : "FabricIngress.bng_ingress.downstream.t_line_session_map",
- "id" : 21,
+ "id" : 28,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 169,
@@ -5701,7 +6440,7 @@
"base_default_next" : null,
"next_tables" : {
"__MISS__" : null,
- "__HIT__" : "node_38"
+ "__HIT__" : "node_51"
},
"default_entry" : {
"action_id" : 1,
@@ -5712,7 +6451,7 @@
},
{
"name" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
- "id" : 22,
+ "id" : 29,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 194,
@@ -5767,7 +6506,7 @@
},
{
"name" : "tbl_bng238",
- "id" : 23,
+ "id" : 30,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 238,
@@ -5781,14 +6520,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [44],
+ "action_ids" : [51],
"actions" : ["bng238"],
"base_default_next" : null,
"next_tables" : {
"bng238" : null
},
"default_entry" : {
- "action_id" : 44,
+ "action_id" : 51,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -5796,7 +6535,7 @@
},
{
"name" : "tbl_bng241",
- "id" : 24,
+ "id" : 31,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 241,
@@ -5810,14 +6549,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [45],
+ "action_ids" : [52],
"actions" : ["bng241"],
"base_default_next" : null,
"next_tables" : {
"bng241" : null
},
"default_entry" : {
- "action_id" : 45,
+ "action_id" : 52,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -5990,7 +6729,7 @@
}
},
"true_next" : "node_13",
- "false_next" : "FabricIngress.acl.acl"
+ "false_next" : "tbl_acl27"
},
{
"name" : "node_13",
@@ -6068,12 +6807,167 @@
}
},
"true_next" : "FabricIngress.forwarding.routing_v4",
- "false_next" : "FabricIngress.acl.acl"
+ "false_next" : "tbl_acl27"
},
{
"name" : "node_20",
"id" : 8,
"source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 96,
+ "column" : 12,
+ "source_fragment" : "hdr.gtpu.isValid() && hdr.inner_ipv4.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "and",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["gtpu", "$valid$"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["inner_ipv4", "$valid$"]
+ }
+ }
+ }
+ }
+ },
+ "true_next" : "tbl_acl97",
+ "false_next" : "node_26"
+ },
+ {
+ "name" : "node_22",
+ "id" : 9,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 100,
+ "column" : 16,
+ "source_fragment" : "hdr.inner_tcp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["inner_tcp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl101",
+ "false_next" : "node_24"
+ },
+ {
+ "name" : "node_24",
+ "id" : 10,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 103,
+ "column" : 23,
+ "source_fragment" : "hdr.inner_udp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["inner_udp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl104",
+ "false_next" : "FabricIngress.acl.acl"
+ },
+ {
+ "name" : "node_26",
+ "id" : 11,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 107,
+ "column" : 19,
+ "source_fragment" : "hdr.ipv4.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["ipv4", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl108",
+ "false_next" : "FabricIngress.acl.acl"
+ },
+ {
+ "name" : "node_28",
+ "id" : 12,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 111,
+ "column" : 16,
+ "source_fragment" : "hdr.tcp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["tcp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl112",
+ "false_next" : "node_30"
+ },
+ {
+ "name" : "node_30",
+ "id" : 13,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 114,
+ "column" : 23,
+ "source_fragment" : "hdr.udp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["udp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl115",
+ "false_next" : "FabricIngress.acl.acl"
+ },
+ {
+ "name" : "node_33",
+ "id" : 14,
+ "source_info" : {
"filename" : "fabric.p4",
"line" : 73,
"column" : 12,
@@ -6101,8 +6995,8 @@
"false_next" : "FabricIngress.bng_ingress.t_line_map"
},
{
- "name" : "node_24",
- "id" : 9,
+ "name" : "node_37",
+ "id" : 15,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 30,
@@ -6124,11 +7018,11 @@
}
},
"true_next" : "tbl_port_counter31",
- "false_next" : "node_26"
+ "false_next" : "node_39"
},
{
- "name" : "node_26",
- "id" : 10,
+ "name" : "node_39",
+ "id" : 16,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 33,
@@ -6153,8 +7047,8 @@
"false_next" : "FabricIngress.bng_ingress.t_line_map"
},
{
- "name" : "node_29",
- "id" : 11,
+ "name" : "node_42",
+ "id" : 17,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 341,
@@ -6176,8 +7070,8 @@
"false_next" : "FabricIngress.bng_ingress.downstream.t_line_session_map"
},
{
- "name" : "node_33",
- "id" : 12,
+ "name" : "node_46",
+ "id" : 18,
"expression" : {
"type" : "expression",
"value" : {
@@ -6197,11 +7091,11 @@
}
},
"false_next" : null,
- "true_next" : "node_34"
+ "true_next" : "node_47"
},
{
- "name" : "node_34",
- "id" : 13,
+ "name" : "node_47",
+ "id" : 19,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 128,
@@ -6223,8 +7117,8 @@
"true_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4"
},
{
- "name" : "node_38",
- "id" : 14,
+ "name" : "node_51",
+ "id" : 20,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 235,
@@ -6256,11 +7150,11 @@
"column" : 8,
"source_fragment" : "FabricEgress"
},
- "init_table" : "node_44",
+ "init_table" : "node_57",
"tables" : [
{
"name" : "tbl_packetio41",
- "id" : 25,
+ "id" : 32,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 41,
@@ -6274,14 +7168,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [54],
+ "action_ids" : [61],
"actions" : ["packetio41"],
- "base_default_next" : "node_46",
+ "base_default_next" : "node_59",
"next_tables" : {
- "packetio41" : "node_46"
+ "packetio41" : "node_59"
},
"default_entry" : {
- "action_id" : 54,
+ "action_id" : 61,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6289,7 +7183,7 @@
},
{
"name" : "tbl_packetio44",
- "id" : 26,
+ "id" : 33,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 44,
@@ -6303,14 +7197,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [55],
+ "action_ids" : [62],
"actions" : ["packetio44"],
- "base_default_next" : "node_48",
+ "base_default_next" : "node_61",
"next_tables" : {
- "packetio44" : "node_48"
+ "packetio44" : "node_61"
},
"default_entry" : {
- "action_id" : 55,
+ "action_id" : 62,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6318,7 +7212,7 @@
},
{
"name" : "tbl_next349",
- "id" : 27,
+ "id" : 34,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 349,
@@ -6332,14 +7226,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [56],
+ "action_ids" : [63],
"actions" : ["next349"],
- "base_default_next" : "node_50",
+ "base_default_next" : "node_63",
"next_tables" : {
- "next349" : "node_50"
+ "next349" : "node_63"
},
"default_entry" : {
- "action_id" : 56,
+ "action_id" : 63,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6347,7 +7241,7 @@
},
{
"name" : "tbl_egress_next_pop_mpls_if_present",
- "id" : 28,
+ "id" : 35,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 353,
@@ -6361,14 +7255,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [47],
+ "action_ids" : [54],
"actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
- "base_default_next" : "node_54",
+ "base_default_next" : "node_67",
"next_tables" : {
- "FabricEgress.egress_next.pop_mpls_if_present" : "node_54"
+ "FabricEgress.egress_next.pop_mpls_if_present" : "node_67"
},
"default_entry" : {
- "action_id" : 47,
+ "action_id" : 54,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6376,7 +7270,7 @@
},
{
"name" : "tbl_egress_next_set_mpls",
- "id" : 29,
+ "id" : 36,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 355,
@@ -6390,14 +7284,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [48],
+ "action_ids" : [55],
"actions" : ["FabricEgress.egress_next.set_mpls"],
- "base_default_next" : "node_54",
+ "base_default_next" : "node_67",
"next_tables" : {
- "FabricEgress.egress_next.set_mpls" : "node_54"
+ "FabricEgress.egress_next.set_mpls" : "node_67"
},
"default_entry" : {
- "action_id" : 48,
+ "action_id" : 55,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6405,7 +7299,7 @@
},
{
"name" : "tbl_egress_next_push_outer_vlan",
- "id" : 30,
+ "id" : 37,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 361,
@@ -6419,14 +7313,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [49],
+ "action_ids" : [56],
"actions" : ["FabricEgress.egress_next.push_outer_vlan"],
"base_default_next" : "tbl_egress_next_push_inner_vlan",
"next_tables" : {
"FabricEgress.egress_next.push_outer_vlan" : "tbl_egress_next_push_inner_vlan"
},
"default_entry" : {
- "action_id" : 49,
+ "action_id" : 56,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6434,7 +7328,7 @@
},
{
"name" : "tbl_egress_next_push_inner_vlan",
- "id" : 31,
+ "id" : 38,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 362,
@@ -6448,14 +7342,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [50],
+ "action_ids" : [57],
"actions" : ["FabricEgress.egress_next.push_inner_vlan"],
- "base_default_next" : "node_59",
+ "base_default_next" : "node_72",
"next_tables" : {
- "FabricEgress.egress_next.push_inner_vlan" : "node_59"
+ "FabricEgress.egress_next.push_inner_vlan" : "node_72"
},
"default_entry" : {
- "action_id" : 50,
+ "action_id" : 57,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6463,7 +7357,7 @@
},
{
"name" : "tbl_next365",
- "id" : 32,
+ "id" : 39,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 365,
@@ -6477,14 +7371,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [57],
+ "action_ids" : [64],
"actions" : ["next365"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
"next365" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 57,
+ "action_id" : 64,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6492,7 +7386,7 @@
},
{
"name" : "FabricEgress.egress_next.egress_vlan",
- "id" : 33,
+ "id" : 40,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 331,
@@ -6519,16 +7413,16 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [51, 52, 53],
+ "action_ids" : [58, 59, 60],
"actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
- "base_default_next" : "node_59",
+ "base_default_next" : "node_72",
"next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "node_59",
- "FabricEgress.egress_next.pop_vlan" : "node_59",
- "FabricEgress.egress_next.drop" : "node_59"
+ "FabricEgress.egress_next.push_vlan" : "node_72",
+ "FabricEgress.egress_next.pop_vlan" : "node_72",
+ "FabricEgress.egress_next.drop" : "node_72"
},
"default_entry" : {
- "action_id" : 53,
+ "action_id" : 60,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6536,7 +7430,7 @@
},
{
"name" : "tbl_next375",
- "id" : 34,
+ "id" : 41,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 375,
@@ -6550,14 +7444,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [59],
+ "action_ids" : [66],
"actions" : ["next375"],
- "base_default_next" : "node_61",
+ "base_default_next" : "node_74",
"next_tables" : {
- "next375" : "node_61"
+ "next375" : "node_74"
},
"default_entry" : {
- "action_id" : 59,
+ "action_id" : 66,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6565,7 +7459,7 @@
},
{
"name" : "tbl_next376",
- "id" : 35,
+ "id" : 42,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 376,
@@ -6579,14 +7473,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [58],
+ "action_ids" : [65],
"actions" : ["next376"],
- "base_default_next" : "node_67",
+ "base_default_next" : "node_80",
"next_tables" : {
- "next376" : "node_67"
+ "next376" : "node_80"
},
"default_entry" : {
- "action_id" : 58,
+ "action_id" : 65,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6594,7 +7488,7 @@
},
{
"name" : "tbl_next379",
- "id" : 36,
+ "id" : 43,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 379,
@@ -6608,14 +7502,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [61],
+ "action_ids" : [68],
"actions" : ["next379"],
- "base_default_next" : "node_65",
+ "base_default_next" : "node_78",
"next_tables" : {
- "next379" : "node_65"
+ "next379" : "node_78"
},
"default_entry" : {
- "action_id" : 61,
+ "action_id" : 68,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6623,7 +7517,7 @@
},
{
"name" : "tbl_next380",
- "id" : 37,
+ "id" : 44,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 380,
@@ -6637,14 +7531,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [60],
+ "action_ids" : [67],
"actions" : ["next380"],
- "base_default_next" : "node_67",
+ "base_default_next" : "node_80",
"next_tables" : {
- "next380" : "node_67"
+ "next380" : "node_80"
},
"default_entry" : {
- "action_id" : 60,
+ "action_id" : 67,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6652,7 +7546,7 @@
},
{
"name" : "tbl_bng_egress_downstream_encap_v4",
- "id" : 38,
+ "id" : 45,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 297,
@@ -6666,14 +7560,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [46],
+ "action_ids" : [53],
"actions" : ["FabricEgress.bng_egress.downstream.encap_v4"],
"base_default_next" : null,
"next_tables" : {
"FabricEgress.bng_egress.downstream.encap_v4" : null
},
"default_entry" : {
- "action_id" : 46,
+ "action_id" : 53,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6683,8 +7577,8 @@
"action_profiles" : [],
"conditionals" : [
{
- "name" : "node_44",
- "id" : 15,
+ "name" : "node_57",
+ "id" : 21,
"source_info" : {
"filename" : "fabric.p4",
"line" : 103,
@@ -6703,11 +7597,11 @@
}
},
"true_next" : "tbl_packetio41",
- "false_next" : "node_46"
+ "false_next" : "node_59"
},
{
- "name" : "node_46",
- "id" : 16,
+ "name" : "node_59",
+ "id" : 22,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 43,
@@ -6729,11 +7623,11 @@
}
},
"true_next" : "tbl_packetio44",
- "false_next" : "node_48"
+ "false_next" : "node_61"
},
{
- "name" : "node_48",
- "id" : 17,
+ "name" : "node_61",
+ "id" : 23,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 347,
@@ -6772,11 +7666,11 @@
}
},
"true_next" : "tbl_next349",
- "false_next" : "node_50"
+ "false_next" : "node_63"
},
{
- "name" : "node_50",
- "id" : 18,
+ "name" : "node_63",
+ "id" : 24,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 352,
@@ -6797,12 +7691,12 @@
}
}
},
- "true_next" : "node_51",
+ "true_next" : "node_64",
"false_next" : "tbl_egress_next_set_mpls"
},
{
- "name" : "node_51",
- "id" : 19,
+ "name" : "node_64",
+ "id" : 25,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 353,
@@ -6821,11 +7715,11 @@
}
},
"true_next" : "tbl_egress_next_pop_mpls_if_present",
- "false_next" : "node_54"
+ "false_next" : "node_67"
},
{
- "name" : "node_54",
- "id" : 20,
+ "name" : "node_67",
+ "id" : 26,
"source_info" : {
"filename" : "fabric.p4",
"line" : 104,
@@ -6847,8 +7741,8 @@
"false_next" : "tbl_next365"
},
{
- "name" : "node_59",
- "id" : 21,
+ "name" : "node_72",
+ "id" : 27,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 374,
@@ -6867,11 +7761,11 @@
}
},
"true_next" : "tbl_next375",
- "false_next" : "node_63"
+ "false_next" : "node_76"
},
{
- "name" : "node_61",
- "id" : 22,
+ "name" : "node_74",
+ "id" : 28,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 376,
@@ -6893,11 +7787,11 @@
}
},
"true_next" : "tbl_next376",
- "false_next" : "node_67"
+ "false_next" : "node_80"
},
{
- "name" : "node_63",
- "id" : 23,
+ "name" : "node_76",
+ "id" : 29,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 378,
@@ -6936,11 +7830,11 @@
}
},
"true_next" : "tbl_next379",
- "false_next" : "node_67"
+ "false_next" : "node_80"
},
{
- "name" : "node_65",
- "id" : 24,
+ "name" : "node_78",
+ "id" : 30,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 380,
@@ -6962,11 +7856,11 @@
}
},
"true_next" : "tbl_next380",
- "false_next" : "node_67"
+ "false_next" : "node_80"
},
{
- "name" : "node_67",
- "id" : 25,
+ "name" : "node_80",
+ "id" : 31,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 358,
@@ -6988,11 +7882,11 @@
}
},
"false_next" : null,
- "true_next" : "node_68"
+ "true_next" : "node_81"
},
{
- "name" : "node_68",
- "id" : 26,
+ "name" : "node_81",
+ "id" : 32,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 296,
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/p4info.txt b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/p4info.txt
index aea728f..6124129 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/p4info.txt
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/p4info.txt
@@ -327,70 +327,70 @@
}
match_fields {
id: 2
- name: "ip_proto"
- bitwidth: 8
- match_type: TERNARY
- }
- match_fields {
- id: 3
- name: "l4_sport"
- bitwidth: 16
- match_type: TERNARY
- }
- match_fields {
- id: 4
- name: "l4_dport"
- bitwidth: 16
- match_type: TERNARY
- }
- match_fields {
- id: 5
name: "eth_dst"
bitwidth: 48
match_type: TERNARY
}
match_fields {
- id: 6
+ id: 3
name: "eth_src"
bitwidth: 48
match_type: TERNARY
}
match_fields {
- id: 7
+ id: 4
name: "vlan_id"
bitwidth: 12
match_type: TERNARY
}
match_fields {
- id: 8
+ id: 5
name: "eth_type"
bitwidth: 16
match_type: TERNARY
}
match_fields {
- id: 9
+ id: 6
name: "ipv4_src"
bitwidth: 32
match_type: TERNARY
}
match_fields {
- id: 10
+ id: 7
name: "ipv4_dst"
bitwidth: 32
match_type: TERNARY
}
match_fields {
- id: 11
+ id: 8
+ name: "ip_proto"
+ bitwidth: 8
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 9
name: "icmp_type"
bitwidth: 8
match_type: TERNARY
}
match_fields {
- id: 12
+ id: 10
name: "icmp_code"
bitwidth: 8
match_type: TERNARY
}
+ match_fields {
+ id: 11
+ name: "l4_sport"
+ bitwidth: 16
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 12
+ name: "l4_dport"
+ bitwidth: 16
+ match_type: TERNARY
+ }
action_refs {
id: 23623126
}
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json
index 62424cc..0d7722d 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json
@@ -16,6 +16,11 @@
["tmp_7", 64, false],
["tmp_9", 32, false],
["tmp_10", 32, false],
+ ["acl_ipv4_src", 32, false],
+ ["acl_ipv4_dst", 32, false],
+ ["acl_ip_proto", 8, false],
+ ["acl_l4_sport", 16, false],
+ ["acl_l4_dport", 16, false],
["bng_ingress_upstream_hasReturned", 1, false],
["key_0", 64, false],
["process_int_main_process_int_transit_hasReturned", 1, false],
@@ -674,7 +679,7 @@
"name" : "fl",
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 46,
+ "line" : 52,
"column" : 40,
"source_fragment" : "{standard_metadata.ingress_port}"
},
@@ -2717,7 +2722,7 @@
"binding" : "FabricIngress.acl.acl",
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 30,
+ "line" : 36,
"column" : 50,
"source_fragment" : "acl_counter"
}
@@ -3973,7 +3978,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 33,
+ "line" : 39,
"column" : 32,
"source_fragment" : "= next_id; ..."
}
@@ -3999,7 +4004,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 39,
+ "line" : 45,
"column" : 8,
"source_fragment" : "standard_metadata.egress_spec = 255"
}
@@ -4028,7 +4033,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 40,
+ "line" : 46,
"column" : 34,
"source_fragment" : "= true; ..."
}
@@ -4059,7 +4064,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 46,
+ "line" : 52,
"column" : 8,
"source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
}
@@ -4081,7 +4086,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 51,
+ "line" : 57,
"column" : 8,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -4110,7 +4115,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 52,
+ "line" : 58,
"column" : 34,
"source_fragment" : "= true; ..."
}
@@ -8087,7 +8092,7 @@
]
},
{
- "name" : "port_counter31",
+ "name" : "acl101",
"id" : 77,
"runtime_data" : [],
"primitives" : [
@@ -8096,6 +8101,416 @@
"parameters" : [
{
"type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_tcp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 101,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.inner_tcp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_tcp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 102,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.inner_tcp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl104",
+ "id" : 78,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_udp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 104,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.inner_udp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_udp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 105,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.inner_udp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl97",
+ "id" : 79,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_src"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "src_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 97,
+ "column" : 12,
+ "source_fragment" : "ipv4_src = hdr.inner_ipv4.src_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_dst"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "dst_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 98,
+ "column" : 12,
+ "source_fragment" : "ipv4_dst = hdr.inner_ipv4.dst_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ip_proto"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "protocol"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 99,
+ "column" : 12,
+ "source_fragment" : "ip_proto = hdr.inner_ipv4.protocol"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl112",
+ "id" : 80,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["tcp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 112,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.tcp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["tcp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 113,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.tcp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl115",
+ "id" : 81,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["udp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 115,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.udp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["udp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 116,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.udp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl108",
+ "id" : 82,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_src"]
+ },
+ {
+ "type" : "field",
+ "value" : ["ipv4", "src_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 108,
+ "column" : 12,
+ "source_fragment" : "ipv4_src = hdr.ipv4.src_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_dst"]
+ },
+ {
+ "type" : "field",
+ "value" : ["ipv4", "dst_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 109,
+ "column" : 12,
+ "source_fragment" : "ipv4_dst = hdr.ipv4.dst_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ip_proto"]
+ },
+ {
+ "type" : "field",
+ "value" : ["ipv4", "protocol"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 110,
+ "column" : 12,
+ "source_fragment" : "ip_proto = hdr.ipv4.protocol"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl27",
+ "id" : 83,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_src"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 27,
+ "column" : 4,
+ "source_fragment" : "ipv4_addr_t ipv4_src = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_dst"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 28,
+ "column" : 4,
+ "source_fragment" : "ipv4_addr_t ipv4_dst = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ip_proto"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 29,
+ "column" : 4,
+ "source_fragment" : "bit<8> ip_proto = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x0000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 30,
+ "column" : 4,
+ "source_fragment" : "l4_port_t l4_sport = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x0000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 31,
+ "column" : 4,
+ "source_fragment" : "l4_port_t l4_dport = 0;"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "port_counter31",
+ "id" : 84,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
"value" : ["scalars", "tmp_9"]
},
{
@@ -8146,7 +8561,7 @@
},
{
"name" : "port_counter34",
- "id" : 78,
+ "id" : 85,
"runtime_data" : [],
"primitives" : [
{
@@ -8204,7 +8619,7 @@
},
{
"name" : "int_main89",
- "id" : 79,
+ "id" : 86,
"runtime_data" : [],
"primitives" : [
{
@@ -8230,7 +8645,7 @@
},
{
"name" : "bng126",
- "id" : 80,
+ "id" : 87,
"runtime_data" : [],
"primitives" : [
{
@@ -8266,7 +8681,7 @@
},
{
"name" : "bng342",
- "id" : 81,
+ "id" : 88,
"runtime_data" : [],
"primitives" : [
{
@@ -8315,7 +8730,7 @@
},
{
"name" : "bng131",
- "id" : 82,
+ "id" : 89,
"runtime_data" : [],
"primitives" : [
{
@@ -8341,7 +8756,7 @@
},
{
"name" : "bng139",
- "id" : 83,
+ "id" : 90,
"runtime_data" : [],
"primitives" : [
{
@@ -8367,7 +8782,7 @@
},
{
"name" : "bng112",
- "id" : 84,
+ "id" : 91,
"runtime_data" : [],
"primitives" : [
{
@@ -8426,7 +8841,7 @@
},
{
"name" : "bng238",
- "id" : 85,
+ "id" : 92,
"runtime_data" : [],
"primitives" : [
{
@@ -8456,7 +8871,7 @@
},
{
"name" : "bng241",
- "id" : 86,
+ "id" : 93,
"runtime_data" : [],
"primitives" : [
{
@@ -8486,7 +8901,7 @@
},
{
"name" : "bng250",
- "id" : 87,
+ "id" : 94,
"runtime_data" : [],
"primitives" : [
{
@@ -8516,7 +8931,7 @@
},
{
"name" : "bng253",
- "id" : 88,
+ "id" : 95,
"runtime_data" : [],
"primitives" : [
{
@@ -8546,37 +8961,37 @@
},
{
"name" : "nop",
- "id" : 89,
+ "id" : 96,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "nop",
- "id" : 90,
+ "id" : 97,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "nop",
- "id" : 91,
+ "id" : 98,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "NoAction",
- "id" : 92,
+ "id" : 99,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "NoAction",
- "id" : 93,
+ "id" : 100,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "FabricEgress.bng_egress.downstream.encap_v4",
- "id" : 94,
+ "id" : 101,
"runtime_data" : [],
"primitives" : [
{
@@ -8773,7 +9188,7 @@
},
{
"name" : "FabricEgress.bng_egress.downstream.encap_v6",
- "id" : 95,
+ "id" : 102,
"runtime_data" : [],
"primitives" : [
{
@@ -8970,7 +9385,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_source.int_source_dscp",
- "id" : 96,
+ "id" : 103,
"runtime_data" : [
{
"name" : "max_hop",
@@ -9465,7 +9880,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.init_metadata",
- "id" : 97,
+ "id" : 104,
"runtime_data" : [
{
"name" : "switch_id",
@@ -9525,13 +9940,13 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0",
- "id" : 98,
+ "id" : 105,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1",
- "id" : 99,
+ "id" : 106,
"runtime_data" : [],
"primitives" : [
{
@@ -9688,7 +10103,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2",
- "id" : 100,
+ "id" : 107,
"runtime_data" : [],
"primitives" : [
{
@@ -9813,7 +10228,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3",
- "id" : 101,
+ "id" : 108,
"runtime_data" : [],
"primitives" : [
{
@@ -10004,7 +10419,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4",
- "id" : 102,
+ "id" : 109,
"runtime_data" : [],
"primitives" : [
{
@@ -10174,7 +10589,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5",
- "id" : 103,
+ "id" : 110,
"runtime_data" : [],
"primitives" : [
{
@@ -10410,7 +10825,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6",
- "id" : 104,
+ "id" : 111,
"runtime_data" : [],
"primitives" : [
{
@@ -10614,7 +11029,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7",
- "id" : 105,
+ "id" : 112,
"runtime_data" : [],
"primitives" : [
{
@@ -10884,7 +11299,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8",
- "id" : 106,
+ "id" : 113,
"runtime_data" : [],
"primitives" : [
{
@@ -11009,7 +11424,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9",
- "id" : 107,
+ "id" : 114,
"runtime_data" : [],
"primitives" : [
{
@@ -11200,7 +11615,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10",
- "id" : 108,
+ "id" : 115,
"runtime_data" : [],
"primitives" : [
{
@@ -11359,7 +11774,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11",
- "id" : 109,
+ "id" : 116,
"runtime_data" : [],
"primitives" : [
{
@@ -11584,7 +11999,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12",
- "id" : 110,
+ "id" : 117,
"runtime_data" : [],
"primitives" : [
{
@@ -11788,7 +12203,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13",
- "id" : 111,
+ "id" : 118,
"runtime_data" : [],
"primitives" : [
{
@@ -12058,7 +12473,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14",
- "id" : 112,
+ "id" : 119,
"runtime_data" : [],
"primitives" : [
{
@@ -12296,7 +12711,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15",
- "id" : 113,
+ "id" : 120,
"runtime_data" : [],
"primitives" : [
{
@@ -12600,13 +13015,13 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0",
- "id" : 114,
+ "id" : 121,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1",
- "id" : 115,
+ "id" : 122,
"runtime_data" : [],
"primitives" : [
{
@@ -12731,7 +13146,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2",
- "id" : 116,
+ "id" : 123,
"runtime_data" : [],
"primitives" : [
{
@@ -12875,7 +13290,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3",
- "id" : 117,
+ "id" : 124,
"runtime_data" : [],
"primitives" : [
{
@@ -13053,7 +13468,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4",
- "id" : 118,
+ "id" : 125,
"runtime_data" : [],
"primitives" : [
{
@@ -13201,7 +13616,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5",
- "id" : 119,
+ "id" : 126,
"runtime_data" : [],
"primitives" : [
{
@@ -13383,7 +13798,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6",
- "id" : 120,
+ "id" : 127,
"runtime_data" : [],
"primitives" : [
{
@@ -13584,7 +13999,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7",
- "id" : 121,
+ "id" : 128,
"runtime_data" : [],
"primitives" : [
{
@@ -13819,7 +14234,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8",
- "id" : 122,
+ "id" : 129,
"runtime_data" : [],
"primitives" : [
{
@@ -13944,7 +14359,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9",
- "id" : 123,
+ "id" : 130,
"runtime_data" : [],
"primitives" : [
{
@@ -14103,7 +14518,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10",
- "id" : 124,
+ "id" : 131,
"runtime_data" : [],
"primitives" : [
{
@@ -14281,7 +14696,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11",
- "id" : 125,
+ "id" : 132,
"runtime_data" : [],
"primitives" : [
{
@@ -14493,7 +14908,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12",
- "id" : 126,
+ "id" : 133,
"runtime_data" : [],
"primitives" : [
{
@@ -14675,7 +15090,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13",
- "id" : 127,
+ "id" : 134,
"runtime_data" : [],
"primitives" : [
{
@@ -14891,7 +15306,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14",
- "id" : 128,
+ "id" : 135,
"runtime_data" : [],
"primitives" : [
{
@@ -15126,7 +15541,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15",
- "id" : 129,
+ "id" : 136,
"runtime_data" : [],
"primitives" : [
{
@@ -15395,7 +15810,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_report.do_report_encapsulation",
- "id" : 130,
+ "id" : 137,
"runtime_data" : [
{
"name" : "src_mac",
@@ -16057,7 +16472,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_sink.restore_header",
- "id" : 131,
+ "id" : 138,
"runtime_data" : [],
"primitives" : [
{
@@ -16102,7 +16517,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_sink.int_sink",
- "id" : 132,
+ "id" : 139,
"runtime_data" : [],
"primitives" : [
{
@@ -16433,7 +16848,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_mpls_if_present",
- "id" : 133,
+ "id" : 140,
"runtime_data" : [],
"primitives" : [
{
@@ -16474,7 +16889,7 @@
},
{
"name" : "FabricEgress.egress_next.set_mpls",
- "id" : 134,
+ "id" : 141,
"runtime_data" : [],
"primitives" : [
{
@@ -16591,7 +17006,7 @@
},
{
"name" : "FabricEgress.egress_next.push_outer_vlan",
- "id" : 135,
+ "id" : 142,
"runtime_data" : [],
"primitives" : [
{
@@ -16689,7 +17104,7 @@
},
{
"name" : "FabricEgress.egress_next.push_inner_vlan",
- "id" : 136,
+ "id" : 143,
"runtime_data" : [],
"primitives" : [
{
@@ -16806,7 +17221,7 @@
},
{
"name" : "FabricEgress.egress_next.push_vlan",
- "id" : 137,
+ "id" : 144,
"runtime_data" : [],
"primitives" : [
{
@@ -16904,7 +17319,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_vlan",
- "id" : 138,
+ "id" : 145,
"runtime_data" : [],
"primitives" : [
{
@@ -16926,7 +17341,7 @@
},
{
"name" : "FabricEgress.egress_next.drop",
- "id" : 139,
+ "id" : 146,
"runtime_data" : [],
"primitives" : [
{
@@ -16948,7 +17363,7 @@
},
{
"name" : "FabricEgress.spgw.gtpu_encap",
- "id" : 140,
+ "id" : 147,
"runtime_data" : [],
"primitives" : [
{
@@ -17540,7 +17955,7 @@
},
{
"name" : "packetio41",
- "id" : 141,
+ "id" : 148,
"runtime_data" : [],
"primitives" : [
{
@@ -17557,7 +17972,7 @@
},
{
"name" : "packetio44",
- "id" : 142,
+ "id" : 149,
"runtime_data" : [],
"primitives" : [
{
@@ -17608,7 +18023,7 @@
},
{
"name" : "next349",
- "id" : 143,
+ "id" : 150,
"runtime_data" : [],
"primitives" : [
{
@@ -17630,7 +18045,7 @@
},
{
"name" : "next365",
- "id" : 144,
+ "id" : 151,
"runtime_data" : [],
"primitives" : [
{
@@ -17652,7 +18067,7 @@
},
{
"name" : "next376",
- "id" : 145,
+ "id" : 152,
"runtime_data" : [],
"primitives" : [
{
@@ -17674,7 +18089,7 @@
},
{
"name" : "next375",
- "id" : 146,
+ "id" : 153,
"runtime_data" : [],
"primitives" : [
{
@@ -17723,7 +18138,7 @@
},
{
"name" : "next380",
- "id" : 147,
+ "id" : 154,
"runtime_data" : [],
"primitives" : [
{
@@ -17745,7 +18160,7 @@
},
{
"name" : "next379",
- "id" : 148,
+ "id" : 155,
"runtime_data" : [],
"primitives" : [
{
@@ -17794,7 +18209,7 @@
},
{
"name" : "next385",
- "id" : 149,
+ "id" : 156,
"runtime_data" : [],
"primitives" : [
{
@@ -17816,7 +18231,7 @@
},
{
"name" : "next384",
- "id" : 150,
+ "id" : 157,
"runtime_data" : [],
"primitives" : [
{
@@ -17865,7 +18280,7 @@
},
{
"name" : "spgw342",
- "id" : 151,
+ "id" : 158,
"runtime_data" : [],
"primitives" : [
{
@@ -17891,7 +18306,7 @@
},
{
"name" : "act",
- "id" : 152,
+ "id" : 159,
"runtime_data" : [],
"primitives" : [
{
@@ -17921,7 +18336,7 @@
},
{
"name" : "int_transit420",
- "id" : 153,
+ "id" : 160,
"runtime_data" : [],
"primitives" : [
{
@@ -17957,7 +18372,7 @@
},
{
"name" : "int_transit428",
- "id" : 154,
+ "id" : 161,
"runtime_data" : [],
"primitives" : [
{
@@ -18006,7 +18421,7 @@
},
{
"name" : "int_transit425",
- "id" : 155,
+ "id" : 162,
"runtime_data" : [],
"primitives" : [
{
@@ -18055,7 +18470,7 @@
},
{
"name" : "int_transit431",
- "id" : 156,
+ "id" : 163,
"runtime_data" : [],
"primitives" : [
{
@@ -18104,7 +18519,7 @@
},
{
"name" : "int_transit434",
- "id" : 157,
+ "id" : 164,
"runtime_data" : [],
"primitives" : [
{
@@ -18910,10 +19325,10 @@
"direct_meters" : null,
"action_ids" : [33, 4],
"actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
- "base_default_next" : "FabricIngress.acl.acl",
+ "base_default_next" : "tbl_acl27",
"next_tables" : {
- "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.acl.acl",
- "nop" : "FabricIngress.acl.acl"
+ "FabricIngress.forwarding.set_next_id_bridging" : "tbl_acl27",
+ "nop" : "tbl_acl27"
},
"default_entry" : {
"action_id" : 4,
@@ -18947,10 +19362,10 @@
"direct_meters" : null,
"action_ids" : [34, 5],
"actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
- "base_default_next" : "FabricIngress.acl.acl",
+ "base_default_next" : "tbl_acl27",
"next_tables" : {
- "FabricIngress.forwarding.pop_mpls_and_next" : "FabricIngress.acl.acl",
- "nop" : "FabricIngress.acl.acl"
+ "FabricIngress.forwarding.pop_mpls_and_next" : "tbl_acl27",
+ "nop" : "tbl_acl27"
},
"default_entry" : {
"action_id" : 5,
@@ -18984,11 +19399,11 @@
"direct_meters" : null,
"action_ids" : [35, 36, 6],
"actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
- "base_default_next" : "FabricIngress.acl.acl",
+ "base_default_next" : "tbl_acl27",
"next_tables" : {
- "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.acl.acl",
- "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.acl.acl",
- "nop" : "FabricIngress.acl.acl"
+ "FabricIngress.forwarding.set_next_id_routing_v4" : "tbl_acl27",
+ "FabricIngress.forwarding.nop_routing_v4" : "tbl_acl27",
+ "nop" : "tbl_acl27"
},
"default_entry" : {
"action_id" : 6,
@@ -19022,10 +19437,10 @@
"direct_meters" : null,
"action_ids" : [37, 7],
"actions" : ["FabricIngress.forwarding.set_next_id_routing_v6", "nop"],
- "base_default_next" : "FabricIngress.acl.acl",
+ "base_default_next" : "tbl_acl27",
"next_tables" : {
- "FabricIngress.forwarding.set_next_id_routing_v6" : "FabricIngress.acl.acl",
- "nop" : "FabricIngress.acl.acl"
+ "FabricIngress.forwarding.set_next_id_routing_v6" : "tbl_acl27",
+ "nop" : "tbl_acl27"
},
"default_entry" : {
"action_id" : 7,
@@ -19035,11 +19450,214 @@
}
},
{
- "name" : "FabricIngress.acl.acl",
+ "name" : "tbl_acl27",
"id" : 18,
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 60,
+ "line" : 27,
+ "column" : 4,
+ "source_fragment" : "ipv4_addr_t ipv4_src = 0; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [83],
+ "actions" : ["acl27"],
+ "base_default_next" : "node_34",
+ "next_tables" : {
+ "acl27" : "node_34"
+ },
+ "default_entry" : {
+ "action_id" : 83,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl97",
+ "id" : 19,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 97,
+ "column" : 21,
+ "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [79],
+ "actions" : ["acl97"],
+ "base_default_next" : "node_36",
+ "next_tables" : {
+ "acl97" : "node_36"
+ },
+ "default_entry" : {
+ "action_id" : 79,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl101",
+ "id" : 20,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 101,
+ "column" : 25,
+ "source_fragment" : "= hdr.inner_tcp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [77],
+ "actions" : ["acl101"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl101" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 77,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl104",
+ "id" : 21,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 104,
+ "column" : 25,
+ "source_fragment" : "= hdr.inner_udp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [78],
+ "actions" : ["acl104"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl104" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 78,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl108",
+ "id" : 22,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 108,
+ "column" : 21,
+ "source_fragment" : "= hdr.ipv4.src_addr; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [82],
+ "actions" : ["acl108"],
+ "base_default_next" : "node_42",
+ "next_tables" : {
+ "acl108" : "node_42"
+ },
+ "default_entry" : {
+ "action_id" : 82,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl112",
+ "id" : 23,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 112,
+ "column" : 25,
+ "source_fragment" : "= hdr.tcp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [80],
+ "actions" : ["acl112"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl112" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 80,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl115",
+ "id" : 24,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 115,
+ "column" : 25,
+ "source_fragment" : "= hdr.udp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [81],
+ "actions" : ["acl115"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl115" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 81,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "FabricIngress.acl.acl",
+ "id" : 25,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 66,
"column" : 10,
"source_fragment" : "acl"
},
@@ -19052,24 +19670,6 @@
},
{
"match_type" : "ternary",
- "name" : "ip_proto",
- "target" : ["scalars", "userMetadata._ip_proto16"],
- "mask" : null
- },
- {
- "match_type" : "ternary",
- "name" : "l4_sport",
- "target" : ["scalars", "userMetadata._l4_sport17"],
- "mask" : null
- },
- {
- "match_type" : "ternary",
- "name" : "l4_dport",
- "target" : ["scalars", "userMetadata._l4_dport18"],
- "mask" : null
- },
- {
- "match_type" : "ternary",
"name" : "eth_dst",
"target" : ["ethernet", "dst_addr"],
"mask" : null
@@ -19095,13 +19695,19 @@
{
"match_type" : "ternary",
"name" : "ipv4_src",
- "target" : ["ipv4", "src_addr"],
+ "target" : ["scalars", "acl_ipv4_src"],
"mask" : null
},
{
"match_type" : "ternary",
"name" : "ipv4_dst",
- "target" : ["ipv4", "dst_addr"],
+ "target" : ["scalars", "acl_ipv4_dst"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "name" : "ip_proto",
+ "target" : ["scalars", "acl_ip_proto"],
"mask" : null
},
{
@@ -19115,6 +19721,18 @@
"name" : "icmp_code",
"target" : ["icmp", "icmp_code"],
"mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "name" : "l4_sport",
+ "target" : ["scalars", "acl_l4_sport"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "name" : "l4_dport",
+ "target" : ["scalars", "acl_l4_dport"],
+ "mask" : null
}
],
"match_type" : "ternary",
@@ -19125,13 +19743,13 @@
"direct_meters" : null,
"action_ids" : [38, 39, 40, 41, 42],
"actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.set_clone_session_id", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"],
- "base_default_next" : "node_34",
+ "base_default_next" : "node_47",
"next_tables" : {
- "FabricIngress.acl.set_next_id_acl" : "node_34",
- "FabricIngress.acl.punt_to_cpu" : "node_34",
- "FabricIngress.acl.set_clone_session_id" : "node_34",
- "FabricIngress.acl.drop" : "node_34",
- "FabricIngress.acl.nop_acl" : "node_34"
+ "FabricIngress.acl.set_next_id_acl" : "node_47",
+ "FabricIngress.acl.punt_to_cpu" : "node_47",
+ "FabricIngress.acl.set_clone_session_id" : "node_47",
+ "FabricIngress.acl.drop" : "node_47",
+ "FabricIngress.acl.nop_acl" : "node_47"
},
"default_entry" : {
"action_id" : 42,
@@ -19142,7 +19760,7 @@
},
{
"name" : "FabricIngress.next.xconnect",
- "id" : 19,
+ "id" : 26,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 119,
@@ -19186,7 +19804,7 @@
},
{
"name" : "FabricIngress.next.simple",
- "id" : 20,
+ "id" : 27,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 158,
@@ -19225,7 +19843,7 @@
},
{
"name" : "FabricIngress.next.hashed",
- "id" : 21,
+ "id" : 28,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 202,
@@ -19259,7 +19877,7 @@
},
{
"name" : "FabricIngress.next.multicast",
- "id" : 22,
+ "id" : 29,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 236,
@@ -19296,7 +19914,7 @@
},
{
"name" : "FabricIngress.next.next_vlan",
- "id" : 23,
+ "id" : 30,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 86,
@@ -19319,11 +19937,11 @@
"direct_meters" : null,
"action_ids" : [43, 44, 8],
"actions" : ["FabricIngress.next.set_vlan", "FabricIngress.next.set_double_vlan", "nop"],
- "base_default_next" : "node_40",
+ "base_default_next" : "node_53",
"next_tables" : {
- "FabricIngress.next.set_vlan" : "node_40",
- "FabricIngress.next.set_double_vlan" : "node_40",
- "nop" : "node_40"
+ "FabricIngress.next.set_vlan" : "node_53",
+ "FabricIngress.next.set_double_vlan" : "node_53",
+ "nop" : "node_53"
},
"default_entry" : {
"action_id" : 8,
@@ -19334,7 +19952,7 @@
},
{
"name" : "tbl_port_counter31",
- "id" : 24,
+ "id" : 31,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 31,
@@ -19348,14 +19966,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [77],
+ "action_ids" : [84],
"actions" : ["port_counter31"],
- "base_default_next" : "node_42",
+ "base_default_next" : "node_55",
"next_tables" : {
- "port_counter31" : "node_42"
+ "port_counter31" : "node_55"
},
"default_entry" : {
- "action_id" : 77,
+ "action_id" : 84,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -19363,7 +19981,7 @@
},
{
"name" : "tbl_port_counter34",
- "id" : 25,
+ "id" : 32,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 34,
@@ -19377,14 +19995,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [78],
+ "action_ids" : [85],
"actions" : ["port_counter34"],
"base_default_next" : "FabricIngress.process_set_source_sink.tb_set_source",
"next_tables" : {
"port_counter34" : "FabricIngress.process_set_source_sink.tb_set_source"
},
"default_entry" : {
- "action_id" : 78,
+ "action_id" : 85,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -19392,7 +20010,7 @@
},
{
"name" : "FabricIngress.process_set_source_sink.tb_set_source",
- "id" : 26,
+ "id" : 33,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 46,
@@ -19429,7 +20047,7 @@
},
{
"name" : "FabricIngress.process_set_source_sink.tb_set_sink",
- "id" : 27,
+ "id" : 34,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 67,
@@ -19452,10 +20070,10 @@
"direct_meters" : null,
"action_ids" : [16, 1],
"actions" : ["FabricIngress.process_set_source_sink.int_set_sink", "nop"],
- "base_default_next" : "node_46",
+ "base_default_next" : "node_59",
"next_tables" : {
- "FabricIngress.process_set_source_sink.int_set_sink" : "node_46",
- "nop" : "node_46"
+ "FabricIngress.process_set_source_sink.int_set_sink" : "node_59",
+ "nop" : "node_59"
},
"default_entry" : {
"action_id" : 1,
@@ -19466,7 +20084,7 @@
},
{
"name" : "tbl_int_main89",
- "id" : 28,
+ "id" : 35,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 89,
@@ -19480,14 +20098,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [79],
+ "action_ids" : [86],
"actions" : ["int_main89"],
"base_default_next" : "FabricIngress.bng_ingress.t_line_map",
"next_tables" : {
"int_main89" : "FabricIngress.bng_ingress.t_line_map"
},
"default_entry" : {
- "action_id" : 79,
+ "action_id" : 86,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -19495,7 +20113,7 @@
},
{
"name" : "FabricIngress.bng_ingress.t_line_map",
- "id" : 29,
+ "id" : 36,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 323,
@@ -19524,9 +20142,9 @@
"direct_meters" : null,
"action_ids" : [28],
"actions" : ["FabricIngress.bng_ingress.set_line"],
- "base_default_next" : "node_49",
+ "base_default_next" : "node_62",
"next_tables" : {
- "FabricIngress.bng_ingress.set_line" : "node_49"
+ "FabricIngress.bng_ingress.set_line" : "node_62"
},
"default_entry" : {
"action_id" : 28,
@@ -19537,7 +20155,7 @@
},
{
"name" : "tbl_bng342",
- "id" : 30,
+ "id" : 37,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 342,
@@ -19551,14 +20169,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [81],
+ "action_ids" : [88],
"actions" : ["bng342"],
"base_default_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
"next_tables" : {
"bng342" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp"
},
"default_entry" : {
- "action_id" : 81,
+ "action_id" : 88,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -19566,7 +20184,7 @@
},
{
"name" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
- "id" : 31,
+ "id" : 38,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 51,
@@ -19598,7 +20216,7 @@
"base_default_next" : null,
"next_tables" : {
"__HIT__" : "tbl_bng126",
- "__MISS__" : "node_53"
+ "__MISS__" : "node_66"
},
"default_entry" : {
"action_id" : 2,
@@ -19609,7 +20227,7 @@
},
{
"name" : "tbl_bng126",
- "id" : 32,
+ "id" : 39,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 126,
@@ -19623,14 +20241,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [80],
+ "action_ids" : [87],
"actions" : ["bng126"],
- "base_default_next" : "node_53",
+ "base_default_next" : "node_66",
"next_tables" : {
- "bng126" : "node_53"
+ "bng126" : "node_66"
},
"default_entry" : {
- "action_id" : 80,
+ "action_id" : 87,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -19638,7 +20256,7 @@
},
{
"name" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
- "id" : 33,
+ "id" : 40,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 87,
@@ -19687,7 +20305,7 @@
},
{
"name" : "tbl_bng131",
- "id" : 34,
+ "id" : 41,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 131,
@@ -19701,14 +20319,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [82],
+ "action_ids" : [89],
"actions" : ["bng131"],
"base_default_next" : null,
"next_tables" : {
"bng131" : null
},
"default_entry" : {
- "action_id" : 82,
+ "action_id" : 89,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -19716,7 +20334,7 @@
},
{
"name" : "tbl_bng112",
- "id" : 35,
+ "id" : 42,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 112,
@@ -19730,14 +20348,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [84],
+ "action_ids" : [91],
"actions" : ["bng112"],
"base_default_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v6",
"next_tables" : {
"bng112" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v6"
},
"default_entry" : {
- "action_id" : 84,
+ "action_id" : 91,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -19745,7 +20363,7 @@
},
{
"name" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v6",
- "id" : 36,
+ "id" : 43,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 109,
@@ -19794,7 +20412,7 @@
},
{
"name" : "tbl_bng139",
- "id" : 37,
+ "id" : 44,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 139,
@@ -19808,14 +20426,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [83],
+ "action_ids" : [90],
"actions" : ["bng139"],
"base_default_next" : null,
"next_tables" : {
"bng139" : null
},
"default_entry" : {
- "action_id" : 83,
+ "action_id" : 90,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -19823,7 +20441,7 @@
},
{
"name" : "FabricIngress.bng_ingress.downstream.t_line_session_map",
- "id" : 38,
+ "id" : 45,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 169,
@@ -19849,7 +20467,7 @@
"base_default_next" : null,
"next_tables" : {
"__MISS__" : null,
- "__HIT__" : "node_62"
+ "__HIT__" : "node_75"
},
"default_entry" : {
"action_id" : 3,
@@ -19860,7 +20478,7 @@
},
{
"name" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
- "id" : 39,
+ "id" : 46,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 194,
@@ -19915,7 +20533,7 @@
},
{
"name" : "tbl_bng238",
- "id" : 40,
+ "id" : 47,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 238,
@@ -19929,14 +20547,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [85],
+ "action_ids" : [92],
"actions" : ["bng238"],
"base_default_next" : null,
"next_tables" : {
"bng238" : null
},
"default_entry" : {
- "action_id" : 85,
+ "action_id" : 92,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -19944,7 +20562,7 @@
},
{
"name" : "tbl_bng241",
- "id" : 41,
+ "id" : 48,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 241,
@@ -19958,14 +20576,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [86],
+ "action_ids" : [93],
"actions" : ["bng241"],
"base_default_next" : null,
"next_tables" : {
"bng241" : null
},
"default_entry" : {
- "action_id" : 86,
+ "action_id" : 93,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -19973,7 +20591,7 @@
},
{
"name" : "FabricIngress.bng_ingress.downstream.t_qos_v6",
- "id" : 42,
+ "id" : 49,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 210,
@@ -20022,7 +20640,7 @@
},
{
"name" : "tbl_bng250",
- "id" : 43,
+ "id" : 50,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 250,
@@ -20036,14 +20654,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [87],
+ "action_ids" : [94],
"actions" : ["bng250"],
"base_default_next" : null,
"next_tables" : {
"bng250" : null
},
"default_entry" : {
- "action_id" : 87,
+ "action_id" : 94,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -20051,7 +20669,7 @@
},
{
"name" : "tbl_bng253",
- "id" : 44,
+ "id" : 51,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 253,
@@ -20065,14 +20683,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [88],
+ "action_ids" : [95],
"actions" : ["bng253"],
"base_default_next" : null,
"next_tables" : {
"bng253" : null
},
"default_entry" : {
- "action_id" : 88,
+ "action_id" : 95,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -20343,7 +20961,7 @@
}
},
"true_next" : "node_25",
- "false_next" : "FabricIngress.acl.acl"
+ "false_next" : "tbl_acl27"
},
{
"name" : "node_25",
@@ -20447,12 +21065,167 @@
}
},
"true_next" : "FabricIngress.forwarding.routing_v6",
- "false_next" : "FabricIngress.acl.acl"
+ "false_next" : "tbl_acl27"
},
{
"name" : "node_34",
"id" : 13,
"source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 96,
+ "column" : 12,
+ "source_fragment" : "hdr.gtpu.isValid() && hdr.inner_ipv4.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "and",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["gtpu", "$valid$"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["inner_ipv4", "$valid$"]
+ }
+ }
+ }
+ }
+ },
+ "true_next" : "tbl_acl97",
+ "false_next" : "node_40"
+ },
+ {
+ "name" : "node_36",
+ "id" : 14,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 100,
+ "column" : 16,
+ "source_fragment" : "hdr.inner_tcp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["inner_tcp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl101",
+ "false_next" : "node_38"
+ },
+ {
+ "name" : "node_38",
+ "id" : 15,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 103,
+ "column" : 23,
+ "source_fragment" : "hdr.inner_udp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["inner_udp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl104",
+ "false_next" : "FabricIngress.acl.acl"
+ },
+ {
+ "name" : "node_40",
+ "id" : 16,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 107,
+ "column" : 19,
+ "source_fragment" : "hdr.ipv4.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["ipv4", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl108",
+ "false_next" : "FabricIngress.acl.acl"
+ },
+ {
+ "name" : "node_42",
+ "id" : 17,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 111,
+ "column" : 16,
+ "source_fragment" : "hdr.tcp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["tcp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl112",
+ "false_next" : "node_44"
+ },
+ {
+ "name" : "node_44",
+ "id" : 18,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 114,
+ "column" : 23,
+ "source_fragment" : "hdr.udp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["udp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl115",
+ "false_next" : "FabricIngress.acl.acl"
+ },
+ {
+ "name" : "node_47",
+ "id" : 19,
+ "source_info" : {
"filename" : "fabric.p4",
"line" : 73,
"column" : 12,
@@ -20480,8 +21253,8 @@
"false_next" : "FabricIngress.bng_ingress.t_line_map"
},
{
- "name" : "node_40",
- "id" : 14,
+ "name" : "node_53",
+ "id" : 20,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 30,
@@ -20503,11 +21276,11 @@
}
},
"true_next" : "tbl_port_counter31",
- "false_next" : "node_42"
+ "false_next" : "node_55"
},
{
- "name" : "node_42",
- "id" : 15,
+ "name" : "node_55",
+ "id" : 21,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 33,
@@ -20532,8 +21305,8 @@
"false_next" : "FabricIngress.process_set_source_sink.tb_set_source"
},
{
- "name" : "node_46",
- "id" : 16,
+ "name" : "node_59",
+ "id" : 22,
"source_info" : {
"filename" : "fabric.p4",
"line" : 81,
@@ -20555,8 +21328,8 @@
"false_next" : "FabricIngress.bng_ingress.t_line_map"
},
{
- "name" : "node_49",
- "id" : 17,
+ "name" : "node_62",
+ "id" : 23,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 341,
@@ -20578,8 +21351,8 @@
"false_next" : "FabricIngress.bng_ingress.downstream.t_line_session_map"
},
{
- "name" : "node_53",
- "id" : 18,
+ "name" : "node_66",
+ "id" : 24,
"expression" : {
"type" : "expression",
"value" : {
@@ -20599,11 +21372,11 @@
}
},
"false_next" : null,
- "true_next" : "node_54"
+ "true_next" : "node_67"
},
{
- "name" : "node_54",
- "id" : 19,
+ "name" : "node_67",
+ "id" : 25,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 128,
@@ -20622,11 +21395,11 @@
}
},
"true_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
- "false_next" : "node_57"
+ "false_next" : "node_70"
},
{
- "name" : "node_57",
- "id" : 20,
+ "name" : "node_70",
+ "id" : 26,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 136,
@@ -20648,8 +21421,8 @@
"true_next" : "tbl_bng112"
},
{
- "name" : "node_62",
- "id" : 21,
+ "name" : "node_75",
+ "id" : 27,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 235,
@@ -20668,11 +21441,11 @@
}
},
"true_next" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
- "false_next" : "node_66"
+ "false_next" : "node_79"
},
{
- "name" : "node_66",
- "id" : 22,
+ "name" : "node_79",
+ "id" : 28,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 247,
@@ -20704,11 +21477,11 @@
"column" : 8,
"source_fragment" : "FabricEgress"
},
- "init_table" : "node_72",
+ "init_table" : "node_85",
"tables" : [
{
"name" : "tbl_packetio41",
- "id" : 45,
+ "id" : 52,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 41,
@@ -20722,14 +21495,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [141],
+ "action_ids" : [148],
"actions" : ["packetio41"],
- "base_default_next" : "node_74",
+ "base_default_next" : "node_87",
"next_tables" : {
- "packetio41" : "node_74"
+ "packetio41" : "node_87"
},
"default_entry" : {
- "action_id" : 141,
+ "action_id" : 148,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -20737,7 +21510,7 @@
},
{
"name" : "tbl_packetio44",
- "id" : 46,
+ "id" : 53,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 44,
@@ -20751,14 +21524,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [142],
+ "action_ids" : [149],
"actions" : ["packetio44"],
- "base_default_next" : "node_76",
+ "base_default_next" : "node_89",
"next_tables" : {
- "packetio44" : "node_76"
+ "packetio44" : "node_89"
},
"default_entry" : {
- "action_id" : 142,
+ "action_id" : 149,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -20766,7 +21539,7 @@
},
{
"name" : "tbl_next349",
- "id" : 47,
+ "id" : 54,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 349,
@@ -20780,14 +21553,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [143],
+ "action_ids" : [150],
"actions" : ["next349"],
- "base_default_next" : "node_78",
+ "base_default_next" : "node_91",
"next_tables" : {
- "next349" : "node_78"
+ "next349" : "node_91"
},
"default_entry" : {
- "action_id" : 143,
+ "action_id" : 150,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -20795,7 +21568,7 @@
},
{
"name" : "tbl_egress_next_pop_mpls_if_present",
- "id" : 48,
+ "id" : 55,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 353,
@@ -20809,14 +21582,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [133],
+ "action_ids" : [140],
"actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
- "base_default_next" : "node_82",
+ "base_default_next" : "node_95",
"next_tables" : {
- "FabricEgress.egress_next.pop_mpls_if_present" : "node_82"
+ "FabricEgress.egress_next.pop_mpls_if_present" : "node_95"
},
"default_entry" : {
- "action_id" : 133,
+ "action_id" : 140,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -20824,7 +21597,7 @@
},
{
"name" : "tbl_egress_next_set_mpls",
- "id" : 49,
+ "id" : 56,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 355,
@@ -20838,14 +21611,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [134],
+ "action_ids" : [141],
"actions" : ["FabricEgress.egress_next.set_mpls"],
- "base_default_next" : "node_82",
+ "base_default_next" : "node_95",
"next_tables" : {
- "FabricEgress.egress_next.set_mpls" : "node_82"
+ "FabricEgress.egress_next.set_mpls" : "node_95"
},
"default_entry" : {
- "action_id" : 134,
+ "action_id" : 141,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -20853,7 +21626,7 @@
},
{
"name" : "tbl_egress_next_push_outer_vlan",
- "id" : 50,
+ "id" : 57,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 361,
@@ -20867,14 +21640,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [135],
+ "action_ids" : [142],
"actions" : ["FabricEgress.egress_next.push_outer_vlan"],
"base_default_next" : "tbl_egress_next_push_inner_vlan",
"next_tables" : {
"FabricEgress.egress_next.push_outer_vlan" : "tbl_egress_next_push_inner_vlan"
},
"default_entry" : {
- "action_id" : 135,
+ "action_id" : 142,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -20882,7 +21655,7 @@
},
{
"name" : "tbl_egress_next_push_inner_vlan",
- "id" : 51,
+ "id" : 58,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 362,
@@ -20896,14 +21669,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [136],
+ "action_ids" : [143],
"actions" : ["FabricEgress.egress_next.push_inner_vlan"],
- "base_default_next" : "node_87",
+ "base_default_next" : "node_100",
"next_tables" : {
- "FabricEgress.egress_next.push_inner_vlan" : "node_87"
+ "FabricEgress.egress_next.push_inner_vlan" : "node_100"
},
"default_entry" : {
- "action_id" : 136,
+ "action_id" : 143,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -20911,7 +21684,7 @@
},
{
"name" : "tbl_next365",
- "id" : 52,
+ "id" : 59,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 365,
@@ -20925,14 +21698,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [144],
+ "action_ids" : [151],
"actions" : ["next365"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
"next365" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 144,
+ "action_id" : 151,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -20940,7 +21713,7 @@
},
{
"name" : "FabricEgress.egress_next.egress_vlan",
- "id" : 53,
+ "id" : 60,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 331,
@@ -20967,16 +21740,16 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [137, 138, 139],
+ "action_ids" : [144, 145, 146],
"actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
- "base_default_next" : "node_87",
+ "base_default_next" : "node_100",
"next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "node_87",
- "FabricEgress.egress_next.pop_vlan" : "node_87",
- "FabricEgress.egress_next.drop" : "node_87"
+ "FabricEgress.egress_next.push_vlan" : "node_100",
+ "FabricEgress.egress_next.pop_vlan" : "node_100",
+ "FabricEgress.egress_next.drop" : "node_100"
},
"default_entry" : {
- "action_id" : 139,
+ "action_id" : 146,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -20984,7 +21757,7 @@
},
{
"name" : "tbl_next375",
- "id" : 54,
+ "id" : 61,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 375,
@@ -20998,14 +21771,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [146],
+ "action_ids" : [153],
"actions" : ["next375"],
- "base_default_next" : "node_89",
+ "base_default_next" : "node_102",
"next_tables" : {
- "next375" : "node_89"
+ "next375" : "node_102"
},
"default_entry" : {
- "action_id" : 146,
+ "action_id" : 153,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -21013,7 +21786,7 @@
},
{
"name" : "tbl_next376",
- "id" : 55,
+ "id" : 62,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 376,
@@ -21027,14 +21800,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [145],
+ "action_ids" : [152],
"actions" : ["next376"],
- "base_default_next" : "node_99",
+ "base_default_next" : "node_112",
"next_tables" : {
- "next376" : "node_99"
+ "next376" : "node_112"
},
"default_entry" : {
- "action_id" : 145,
+ "action_id" : 152,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -21042,7 +21815,7 @@
},
{
"name" : "tbl_next379",
- "id" : 56,
+ "id" : 63,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 379,
@@ -21056,14 +21829,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [148],
+ "action_ids" : [155],
"actions" : ["next379"],
- "base_default_next" : "node_93",
+ "base_default_next" : "node_106",
"next_tables" : {
- "next379" : "node_93"
+ "next379" : "node_106"
},
"default_entry" : {
- "action_id" : 148,
+ "action_id" : 155,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -21071,7 +21844,7 @@
},
{
"name" : "tbl_next380",
- "id" : 57,
+ "id" : 64,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 380,
@@ -21085,14 +21858,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [147],
+ "action_ids" : [154],
"actions" : ["next380"],
- "base_default_next" : "node_99",
+ "base_default_next" : "node_112",
"next_tables" : {
- "next380" : "node_99"
+ "next380" : "node_112"
},
"default_entry" : {
- "action_id" : 147,
+ "action_id" : 154,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -21100,7 +21873,7 @@
},
{
"name" : "tbl_next384",
- "id" : 58,
+ "id" : 65,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 384,
@@ -21114,14 +21887,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [150],
+ "action_ids" : [157],
"actions" : ["next384"],
- "base_default_next" : "node_97",
+ "base_default_next" : "node_110",
"next_tables" : {
- "next384" : "node_97"
+ "next384" : "node_110"
},
"default_entry" : {
- "action_id" : 150,
+ "action_id" : 157,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -21129,7 +21902,7 @@
},
{
"name" : "tbl_next385",
- "id" : 59,
+ "id" : 66,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 385,
@@ -21143,14 +21916,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [149],
+ "action_ids" : [156],
"actions" : ["next385"],
- "base_default_next" : "node_99",
+ "base_default_next" : "node_112",
"next_tables" : {
- "next385" : "node_99"
+ "next385" : "node_112"
},
"default_entry" : {
- "action_id" : 149,
+ "action_id" : 156,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -21158,7 +21931,7 @@
},
{
"name" : "tbl_spgw_gtpu_encap",
- "id" : 60,
+ "id" : 67,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 339,
@@ -21172,14 +21945,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [140],
+ "action_ids" : [147],
"actions" : ["FabricEgress.spgw.gtpu_encap"],
- "base_default_next" : "node_102",
+ "base_default_next" : "node_115",
"next_tables" : {
- "FabricEgress.spgw.gtpu_encap" : "node_102"
+ "FabricEgress.spgw.gtpu_encap" : "node_115"
},
"default_entry" : {
- "action_id" : 140,
+ "action_id" : 147,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -21187,7 +21960,7 @@
},
{
"name" : "tbl_spgw342",
- "id" : 61,
+ "id" : 68,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 342,
@@ -21201,14 +21974,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [151],
+ "action_ids" : [158],
"actions" : ["spgw342"],
- "base_default_next" : "node_104",
+ "base_default_next" : "node_117",
"next_tables" : {
- "spgw342" : "node_104"
+ "spgw342" : "node_117"
},
"default_entry" : {
- "action_id" : 151,
+ "action_id" : 158,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -21216,7 +21989,7 @@
},
{
"name" : "tbl_bng_egress_downstream_encap_v4",
- "id" : 62,
+ "id" : 69,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 297,
@@ -21230,14 +22003,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [94],
+ "action_ids" : [101],
"actions" : ["FabricEgress.bng_egress.downstream.encap_v4"],
- "base_default_next" : "node_109",
+ "base_default_next" : "node_122",
"next_tables" : {
- "FabricEgress.bng_egress.downstream.encap_v4" : "node_109"
+ "FabricEgress.bng_egress.downstream.encap_v4" : "node_122"
},
"default_entry" : {
- "action_id" : 94,
+ "action_id" : 101,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -21245,7 +22018,7 @@
},
{
"name" : "tbl_bng_egress_downstream_encap_v6",
- "id" : 63,
+ "id" : 70,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 302,
@@ -21259,14 +22032,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [95],
+ "action_ids" : [102],
"actions" : ["FabricEgress.bng_egress.downstream.encap_v6"],
- "base_default_next" : "node_109",
+ "base_default_next" : "node_122",
"next_tables" : {
- "FabricEgress.bng_egress.downstream.encap_v6" : "node_109"
+ "FabricEgress.bng_egress.downstream.encap_v6" : "node_122"
},
"default_entry" : {
- "action_id" : 95,
+ "action_id" : 102,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -21274,7 +22047,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
- "id" : 64,
+ "id" : 71,
"source_info" : {
"filename" : "include/int/int_source.p4",
"line" : 66,
@@ -21313,15 +22086,15 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [96, 89],
+ "action_ids" : [103, 96],
"actions" : ["FabricEgress.process_int_main.process_int_source.int_source_dscp", "nop"],
- "base_default_next" : "node_112",
+ "base_default_next" : "node_125",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_112",
- "nop" : "node_112"
+ "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_125",
+ "nop" : "node_125"
},
"default_entry" : {
- "action_id" : 89,
+ "action_id" : 96,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -21329,7 +22102,7 @@
},
{
"name" : "tbl_act",
- "id" : 65,
+ "id" : 72,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -21337,14 +22110,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [152],
+ "action_ids" : [159],
"actions" : ["act"],
"base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
"next_tables" : {
"act" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
},
"default_entry" : {
- "action_id" : 152,
+ "action_id" : 159,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -21352,7 +22125,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
- "id" : 66,
+ "id" : 73,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 315,
@@ -21373,15 +22146,15 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [97, 90],
+ "action_ids" : [104, 97],
"actions" : ["FabricEgress.process_int_main.process_int_transit.init_metadata", "nop"],
- "base_default_next" : "node_115",
+ "base_default_next" : "node_128",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_115",
- "nop" : "node_115"
+ "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_128",
+ "nop" : "node_128"
},
"default_entry" : {
- "action_id" : 90,
+ "action_id" : 97,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -21389,7 +22162,7 @@
},
{
"name" : "tbl_int_transit420",
- "id" : 67,
+ "id" : 74,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 420,
@@ -21403,14 +22176,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [153],
+ "action_ids" : [160],
"actions" : ["int_transit420"],
- "base_default_next" : "node_117",
+ "base_default_next" : "node_130",
"next_tables" : {
- "int_transit420" : "node_117"
+ "int_transit420" : "node_130"
},
"default_entry" : {
- "action_id" : 153,
+ "action_id" : 160,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -21418,7 +22191,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
- "id" : 68,
+ "id" : 75,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 331,
@@ -21439,7 +22212,7 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 92],
+ "action_ids" : [105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 99],
"actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15", "NoAction"],
"base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
"next_tables" : {
@@ -21462,7 +22235,7 @@
"NoAction" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407"
},
"default_entry" : {
- "action_id" : 92,
+ "action_id" : 99,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
@@ -21482,7 +22255,7 @@
}
],
"action_entry" : {
- "action_id" : 98,
+ "action_id" : 105,
"action_data" : []
},
"priority" : 1
@@ -21501,7 +22274,7 @@
}
],
"action_entry" : {
- "action_id" : 99,
+ "action_id" : 106,
"action_data" : []
},
"priority" : 2
@@ -21520,7 +22293,7 @@
}
],
"action_entry" : {
- "action_id" : 100,
+ "action_id" : 107,
"action_data" : []
},
"priority" : 3
@@ -21539,7 +22312,7 @@
}
],
"action_entry" : {
- "action_id" : 101,
+ "action_id" : 108,
"action_data" : []
},
"priority" : 4
@@ -21558,7 +22331,7 @@
}
],
"action_entry" : {
- "action_id" : 102,
+ "action_id" : 109,
"action_data" : []
},
"priority" : 5
@@ -21577,7 +22350,7 @@
}
],
"action_entry" : {
- "action_id" : 103,
+ "action_id" : 110,
"action_data" : []
},
"priority" : 6
@@ -21596,7 +22369,7 @@
}
],
"action_entry" : {
- "action_id" : 104,
+ "action_id" : 111,
"action_data" : []
},
"priority" : 7
@@ -21615,7 +22388,7 @@
}
],
"action_entry" : {
- "action_id" : 105,
+ "action_id" : 112,
"action_data" : []
},
"priority" : 8
@@ -21634,7 +22407,7 @@
}
],
"action_entry" : {
- "action_id" : 106,
+ "action_id" : 113,
"action_data" : []
},
"priority" : 9
@@ -21653,7 +22426,7 @@
}
],
"action_entry" : {
- "action_id" : 107,
+ "action_id" : 114,
"action_data" : []
},
"priority" : 10
@@ -21672,7 +22445,7 @@
}
],
"action_entry" : {
- "action_id" : 108,
+ "action_id" : 115,
"action_data" : []
},
"priority" : 11
@@ -21691,7 +22464,7 @@
}
],
"action_entry" : {
- "action_id" : 109,
+ "action_id" : 116,
"action_data" : []
},
"priority" : 12
@@ -21710,7 +22483,7 @@
}
],
"action_entry" : {
- "action_id" : 110,
+ "action_id" : 117,
"action_data" : []
},
"priority" : 13
@@ -21729,7 +22502,7 @@
}
],
"action_entry" : {
- "action_id" : 111,
+ "action_id" : 118,
"action_data" : []
},
"priority" : 14
@@ -21748,7 +22521,7 @@
}
],
"action_entry" : {
- "action_id" : 112,
+ "action_id" : 119,
"action_data" : []
},
"priority" : 15
@@ -21767,7 +22540,7 @@
}
],
"action_entry" : {
- "action_id" : 113,
+ "action_id" : 120,
"action_data" : []
},
"priority" : 16
@@ -21776,7 +22549,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
- "id" : 69,
+ "id" : 76,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 375,
@@ -21797,7 +22570,7 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 93],
+ "action_ids" : [121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 100],
"actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15", "NoAction"],
"base_default_next" : "tbl_int_transit425",
"next_tables" : {
@@ -21820,7 +22593,7 @@
"NoAction" : "tbl_int_transit425"
},
"default_entry" : {
- "action_id" : 93,
+ "action_id" : 100,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
@@ -21840,7 +22613,7 @@
}
],
"action_entry" : {
- "action_id" : 114,
+ "action_id" : 121,
"action_data" : []
},
"priority" : 1
@@ -21859,7 +22632,7 @@
}
],
"action_entry" : {
- "action_id" : 115,
+ "action_id" : 122,
"action_data" : []
},
"priority" : 2
@@ -21878,7 +22651,7 @@
}
],
"action_entry" : {
- "action_id" : 116,
+ "action_id" : 123,
"action_data" : []
},
"priority" : 3
@@ -21897,7 +22670,7 @@
}
],
"action_entry" : {
- "action_id" : 117,
+ "action_id" : 124,
"action_data" : []
},
"priority" : 4
@@ -21916,7 +22689,7 @@
}
],
"action_entry" : {
- "action_id" : 118,
+ "action_id" : 125,
"action_data" : []
},
"priority" : 5
@@ -21935,7 +22708,7 @@
}
],
"action_entry" : {
- "action_id" : 119,
+ "action_id" : 126,
"action_data" : []
},
"priority" : 6
@@ -21954,7 +22727,7 @@
}
],
"action_entry" : {
- "action_id" : 120,
+ "action_id" : 127,
"action_data" : []
},
"priority" : 7
@@ -21973,7 +22746,7 @@
}
],
"action_entry" : {
- "action_id" : 121,
+ "action_id" : 128,
"action_data" : []
},
"priority" : 8
@@ -21992,7 +22765,7 @@
}
],
"action_entry" : {
- "action_id" : 122,
+ "action_id" : 129,
"action_data" : []
},
"priority" : 9
@@ -22011,7 +22784,7 @@
}
],
"action_entry" : {
- "action_id" : 123,
+ "action_id" : 130,
"action_data" : []
},
"priority" : 10
@@ -22030,7 +22803,7 @@
}
],
"action_entry" : {
- "action_id" : 124,
+ "action_id" : 131,
"action_data" : []
},
"priority" : 11
@@ -22049,7 +22822,7 @@
}
],
"action_entry" : {
- "action_id" : 125,
+ "action_id" : 132,
"action_data" : []
},
"priority" : 12
@@ -22068,7 +22841,7 @@
}
],
"action_entry" : {
- "action_id" : 126,
+ "action_id" : 133,
"action_data" : []
},
"priority" : 13
@@ -22087,7 +22860,7 @@
}
],
"action_entry" : {
- "action_id" : 127,
+ "action_id" : 134,
"action_data" : []
},
"priority" : 14
@@ -22106,7 +22879,7 @@
}
],
"action_entry" : {
- "action_id" : 128,
+ "action_id" : 135,
"action_data" : []
},
"priority" : 15
@@ -22125,7 +22898,7 @@
}
],
"action_entry" : {
- "action_id" : 129,
+ "action_id" : 136,
"action_data" : []
},
"priority" : 16
@@ -22134,7 +22907,7 @@
},
{
"name" : "tbl_int_transit425",
- "id" : 70,
+ "id" : 77,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 425,
@@ -22148,14 +22921,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [155],
+ "action_ids" : [162],
"actions" : ["int_transit425"],
- "base_default_next" : "node_121",
+ "base_default_next" : "node_134",
"next_tables" : {
- "int_transit425" : "node_121"
+ "int_transit425" : "node_134"
},
"default_entry" : {
- "action_id" : 155,
+ "action_id" : 162,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -22163,7 +22936,7 @@
},
{
"name" : "tbl_int_transit428",
- "id" : 71,
+ "id" : 78,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 428,
@@ -22177,14 +22950,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [154],
+ "action_ids" : [161],
"actions" : ["int_transit428"],
- "base_default_next" : "node_123",
+ "base_default_next" : "node_136",
"next_tables" : {
- "int_transit428" : "node_123"
+ "int_transit428" : "node_136"
},
"default_entry" : {
- "action_id" : 154,
+ "action_id" : 161,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -22192,7 +22965,7 @@
},
{
"name" : "tbl_int_transit431",
- "id" : 72,
+ "id" : 79,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 431,
@@ -22206,14 +22979,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [156],
+ "action_ids" : [163],
"actions" : ["int_transit431"],
- "base_default_next" : "node_125",
+ "base_default_next" : "node_138",
"next_tables" : {
- "int_transit431" : "node_125"
+ "int_transit431" : "node_138"
},
"default_entry" : {
- "action_id" : 156,
+ "action_id" : 163,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -22221,7 +22994,7 @@
},
{
"name" : "tbl_int_transit434",
- "id" : 73,
+ "id" : 80,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 434,
@@ -22235,14 +23008,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [157],
+ "action_ids" : [164],
"actions" : ["int_transit434"],
- "base_default_next" : "node_127",
+ "base_default_next" : "node_140",
"next_tables" : {
- "int_transit434" : "node_127"
+ "int_transit434" : "node_140"
},
"default_entry" : {
- "action_id" : 157,
+ "action_id" : 164,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -22250,7 +23023,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_report.tb_generate_report",
- "id" : 74,
+ "id" : 81,
"source_info" : {
"filename" : "include/int/int_report.p4",
"line" : 87,
@@ -22264,15 +23037,15 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [130, 91],
+ "action_ids" : [137, 98],
"actions" : ["FabricEgress.process_int_main.process_int_report.do_report_encapsulation", "nop"],
- "base_default_next" : "node_129",
+ "base_default_next" : "node_142",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_report.do_report_encapsulation" : "node_129",
- "nop" : "node_129"
+ "FabricEgress.process_int_main.process_int_report.do_report_encapsulation" : "node_142",
+ "nop" : "node_142"
},
"default_entry" : {
- "action_id" : 91,
+ "action_id" : 98,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
@@ -22280,7 +23053,7 @@
},
{
"name" : "tbl_process_int_main_process_int_sink_restore_header",
- "id" : 75,
+ "id" : 82,
"source_info" : {
"filename" : "include/int/int_sink.p4",
"line" : 53,
@@ -22294,14 +23067,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [131],
+ "action_ids" : [138],
"actions" : ["FabricEgress.process_int_main.process_int_sink.restore_header"],
"base_default_next" : "tbl_process_int_main_process_int_sink_int_sink",
"next_tables" : {
"FabricEgress.process_int_main.process_int_sink.restore_header" : "tbl_process_int_main_process_int_sink_int_sink"
},
"default_entry" : {
- "action_id" : 131,
+ "action_id" : 138,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -22309,7 +23082,7 @@
},
{
"name" : "tbl_process_int_main_process_int_sink_int_sink",
- "id" : 76,
+ "id" : 83,
"source_info" : {
"filename" : "include/int/int_sink.p4",
"line" : 54,
@@ -22323,14 +23096,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [132],
+ "action_ids" : [139],
"actions" : ["FabricEgress.process_int_main.process_int_sink.int_sink"],
"base_default_next" : null,
"next_tables" : {
"FabricEgress.process_int_main.process_int_sink.int_sink" : null
},
"default_entry" : {
- "action_id" : 132,
+ "action_id" : 139,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -22340,8 +23113,8 @@
"action_profiles" : [],
"conditionals" : [
{
- "name" : "node_72",
- "id" : 23,
+ "name" : "node_85",
+ "id" : 29,
"source_info" : {
"filename" : "fabric.p4",
"line" : 103,
@@ -22360,11 +23133,11 @@
}
},
"true_next" : "tbl_packetio41",
- "false_next" : "node_74"
+ "false_next" : "node_87"
},
{
- "name" : "node_74",
- "id" : 24,
+ "name" : "node_87",
+ "id" : 30,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 43,
@@ -22386,11 +23159,11 @@
}
},
"true_next" : "tbl_packetio44",
- "false_next" : "node_76"
+ "false_next" : "node_89"
},
{
- "name" : "node_76",
- "id" : 25,
+ "name" : "node_89",
+ "id" : 31,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 347,
@@ -22429,11 +23202,11 @@
}
},
"true_next" : "tbl_next349",
- "false_next" : "node_78"
+ "false_next" : "node_91"
},
{
- "name" : "node_78",
- "id" : 26,
+ "name" : "node_91",
+ "id" : 32,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 352,
@@ -22454,12 +23227,12 @@
}
}
},
- "true_next" : "node_79",
+ "true_next" : "node_92",
"false_next" : "tbl_egress_next_set_mpls"
},
{
- "name" : "node_79",
- "id" : 27,
+ "name" : "node_92",
+ "id" : 33,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 353,
@@ -22478,11 +23251,11 @@
}
},
"true_next" : "tbl_egress_next_pop_mpls_if_present",
- "false_next" : "node_82"
+ "false_next" : "node_95"
},
{
- "name" : "node_82",
- "id" : 28,
+ "name" : "node_95",
+ "id" : 34,
"source_info" : {
"filename" : "fabric.p4",
"line" : 104,
@@ -22504,8 +23277,8 @@
"false_next" : "tbl_next365"
},
{
- "name" : "node_87",
- "id" : 29,
+ "name" : "node_100",
+ "id" : 35,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 374,
@@ -22524,11 +23297,11 @@
}
},
"true_next" : "tbl_next375",
- "false_next" : "node_91"
+ "false_next" : "node_104"
},
{
- "name" : "node_89",
- "id" : 30,
+ "name" : "node_102",
+ "id" : 36,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 376,
@@ -22550,11 +23323,11 @@
}
},
"true_next" : "tbl_next376",
- "false_next" : "node_99"
+ "false_next" : "node_112"
},
{
- "name" : "node_91",
- "id" : 31,
+ "name" : "node_104",
+ "id" : 37,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 378,
@@ -22593,11 +23366,11 @@
}
},
"true_next" : "tbl_next379",
- "false_next" : "node_95"
+ "false_next" : "node_108"
},
{
- "name" : "node_93",
- "id" : 32,
+ "name" : "node_106",
+ "id" : 38,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 380,
@@ -22619,11 +23392,11 @@
}
},
"true_next" : "tbl_next380",
- "false_next" : "node_99"
+ "false_next" : "node_112"
},
{
- "name" : "node_95",
- "id" : 33,
+ "name" : "node_108",
+ "id" : 39,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 383,
@@ -22662,11 +23435,11 @@
}
},
"true_next" : "tbl_next384",
- "false_next" : "node_99"
+ "false_next" : "node_112"
},
{
- "name" : "node_97",
- "id" : 34,
+ "name" : "node_110",
+ "id" : 40,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 385,
@@ -22688,11 +23461,11 @@
}
},
"true_next" : "tbl_next385",
- "false_next" : "node_99"
+ "false_next" : "node_112"
},
{
- "name" : "node_99",
- "id" : 35,
+ "name" : "node_112",
+ "id" : 41,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 337,
@@ -22717,12 +23490,12 @@
}
}
},
- "true_next" : "node_100",
- "false_next" : "node_104"
+ "true_next" : "node_113",
+ "false_next" : "node_117"
},
{
- "name" : "node_100",
- "id" : 36,
+ "name" : "node_113",
+ "id" : 42,
"source_info" : {
"filename" : "fabric.p4",
"line" : 106,
@@ -22741,11 +23514,11 @@
}
},
"true_next" : "tbl_spgw_gtpu_encap",
- "false_next" : "node_102"
+ "false_next" : "node_115"
},
{
- "name" : "node_102",
- "id" : 37,
+ "name" : "node_115",
+ "id" : 43,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 341,
@@ -22771,11 +23544,11 @@
}
},
"true_next" : "tbl_spgw342",
- "false_next" : "node_104"
+ "false_next" : "node_117"
},
{
- "name" : "node_104",
- "id" : 38,
+ "name" : "node_117",
+ "id" : 44,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 358,
@@ -22796,12 +23569,12 @@
}
}
},
- "true_next" : "node_105",
- "false_next" : "node_109"
+ "true_next" : "node_118",
+ "false_next" : "node_122"
},
{
- "name" : "node_105",
- "id" : 39,
+ "name" : "node_118",
+ "id" : 45,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 296,
@@ -22820,11 +23593,11 @@
}
},
"true_next" : "tbl_bng_egress_downstream_encap_v4",
- "false_next" : "node_107"
+ "false_next" : "node_120"
},
{
- "name" : "node_107",
- "id" : 40,
+ "name" : "node_120",
+ "id" : 46,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 301,
@@ -22843,11 +23616,11 @@
}
},
"true_next" : "tbl_bng_egress_downstream_encap_v6",
- "false_next" : "node_109"
+ "false_next" : "node_122"
},
{
- "name" : "node_109",
- "id" : 41,
+ "name" : "node_122",
+ "id" : 47,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 102,
@@ -22923,11 +23696,11 @@
}
},
"false_next" : null,
- "true_next" : "node_110"
+ "true_next" : "node_123"
},
{
- "name" : "node_110",
- "id" : 42,
+ "name" : "node_123",
+ "id" : 48,
"source_info" : {
"filename" : "fabric.p4",
"line" : 112,
@@ -22946,11 +23719,11 @@
}
},
"true_next" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
- "false_next" : "node_112"
+ "false_next" : "node_125"
},
{
- "name" : "node_112",
- "id" : 43,
+ "name" : "node_125",
+ "id" : 49,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 110,
@@ -22972,8 +23745,8 @@
"true_next" : "tbl_act"
},
{
- "name" : "node_115",
- "id" : 44,
+ "name" : "node_128",
+ "id" : 50,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 419,
@@ -22999,11 +23772,11 @@
}
},
"true_next" : "tbl_int_transit420",
- "false_next" : "node_117"
+ "false_next" : "node_130"
},
{
- "name" : "node_117",
- "id" : 45,
+ "name" : "node_130",
+ "id" : 51,
"expression" : {
"type" : "expression",
"value" : {
@@ -23023,11 +23796,11 @@
}
},
"true_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
- "false_next" : "node_127"
+ "false_next" : "node_140"
},
{
- "name" : "node_121",
- "id" : 46,
+ "name" : "node_134",
+ "id" : 52,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 427,
@@ -23046,11 +23819,11 @@
}
},
"true_next" : "tbl_int_transit428",
- "false_next" : "node_123"
+ "false_next" : "node_136"
},
{
- "name" : "node_123",
- "id" : 47,
+ "name" : "node_136",
+ "id" : 53,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 430,
@@ -23069,11 +23842,11 @@
}
},
"true_next" : "tbl_int_transit431",
- "false_next" : "node_125"
+ "false_next" : "node_138"
},
{
- "name" : "node_125",
- "id" : 48,
+ "name" : "node_138",
+ "id" : 54,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 433,
@@ -23092,11 +23865,11 @@
}
},
"true_next" : "tbl_int_transit434",
- "false_next" : "node_127"
+ "false_next" : "node_140"
},
{
- "name" : "node_127",
- "id" : 49,
+ "name" : "node_140",
+ "id" : 55,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 115,
@@ -23118,11 +23891,11 @@
}
},
"true_next" : "FabricEgress.process_int_main.process_int_report.tb_generate_report",
- "false_next" : "node_129"
+ "false_next" : "node_142"
},
{
- "name" : "node_129",
- "id" : 50,
+ "name" : "node_142",
+ "id" : 56,
"source_info" : {
"filename" : "fabric.p4",
"line" : 112,
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt
index 7e04957..8003c09 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt
@@ -467,70 +467,70 @@
}
match_fields {
id: 2
- name: "ip_proto"
- bitwidth: 8
- match_type: TERNARY
- }
- match_fields {
- id: 3
- name: "l4_sport"
- bitwidth: 16
- match_type: TERNARY
- }
- match_fields {
- id: 4
- name: "l4_dport"
- bitwidth: 16
- match_type: TERNARY
- }
- match_fields {
- id: 5
name: "eth_dst"
bitwidth: 48
match_type: TERNARY
}
match_fields {
- id: 6
+ id: 3
name: "eth_src"
bitwidth: 48
match_type: TERNARY
}
match_fields {
- id: 7
+ id: 4
name: "vlan_id"
bitwidth: 12
match_type: TERNARY
}
match_fields {
- id: 8
+ id: 5
name: "eth_type"
bitwidth: 16
match_type: TERNARY
}
match_fields {
- id: 9
+ id: 6
name: "ipv4_src"
bitwidth: 32
match_type: TERNARY
}
match_fields {
- id: 10
+ id: 7
name: "ipv4_dst"
bitwidth: 32
match_type: TERNARY
}
match_fields {
- id: 11
+ id: 8
+ name: "ip_proto"
+ bitwidth: 8
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 9
name: "icmp_type"
bitwidth: 8
match_type: TERNARY
}
match_fields {
- id: 12
+ id: 10
name: "icmp_code"
bitwidth: 8
match_type: TERNARY
}
+ match_fields {
+ id: 11
+ name: "l4_sport"
+ bitwidth: 16
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 12
+ name: "l4_dport"
+ bitwidth: 16
+ match_type: TERNARY
+ }
action_refs {
id: 23623126
}
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json
index 3017ba0..e7bf0cf 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json
@@ -15,6 +15,11 @@
["tmp_7", 64, false],
["tmp_8", 32, false],
["tmp_9", 32, false],
+ ["acl_ipv4_src", 32, false],
+ ["acl_ipv4_dst", 32, false],
+ ["acl_ip_proto", 8, false],
+ ["acl_l4_sport", 16, false],
+ ["acl_l4_dport", 16, false],
["process_int_main_process_int_transit_hasReturned", 1, false],
["userMetadata._ip_eth_type0", 16, false],
["userMetadata._vlan_id1", 12, false],
@@ -146,11 +151,21 @@
]
},
{
- "name" : "tcp_t",
+ "name" : "udp_t",
"id" : 9,
"fields" : [
["sport", 16, false],
["dport", 16, false],
+ ["len", 16, false],
+ ["checksum", 16, false]
+ ]
+ },
+ {
+ "name" : "tcp_t",
+ "id" : 10,
+ "fields" : [
+ ["sport", 16, false],
+ ["dport", 16, false],
["seq_no", 32, false],
["ack_no", 32, false],
["data_offset", 4, false],
@@ -163,16 +178,6 @@
]
},
{
- "name" : "udp_t",
- "id" : 10,
- "fields" : [
- ["sport", 16, false],
- ["dport", 16, false],
- ["len", 16, false],
- ["checksum", 16, false]
- ]
- },
- {
"name" : "icmp_t",
"id" : 11,
"fields" : [
@@ -356,120 +361,155 @@
"pi_omit" : true
},
{
- "name" : "ipv4",
+ "name" : "gtpu",
"id" : 9,
+ "header_type" : "gtpu_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "inner_ipv4",
+ "id" : 10,
"header_type" : "ipv4_t",
"metadata" : false,
"pi_omit" : true
},
{
- "name" : "tcp",
- "id" : 10,
- "header_type" : "tcp_t",
- "metadata" : false,
- "pi_omit" : true
- },
- {
- "name" : "udp",
+ "name" : "inner_udp",
"id" : 11,
"header_type" : "udp_t",
"metadata" : false,
"pi_omit" : true
},
{
- "name" : "icmp",
+ "name" : "inner_tcp",
"id" : 12,
+ "header_type" : "tcp_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "inner_icmp",
+ "id" : 13,
+ "header_type" : "icmp_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "ipv4",
+ "id" : 14,
+ "header_type" : "ipv4_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "tcp",
+ "id" : 15,
+ "header_type" : "tcp_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "udp",
+ "id" : 16,
+ "header_type" : "udp_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "icmp",
+ "id" : 17,
"header_type" : "icmp_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "packet_out",
- "id" : 13,
+ "id" : 18,
"header_type" : "packet_out_header_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "packet_in",
- "id" : 14,
+ "id" : 19,
"header_type" : "packet_in_header_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "intl4_shim",
- "id" : 15,
+ "id" : 20,
"header_type" : "intl4_shim_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_header",
- "id" : 16,
+ "id" : 21,
"header_type" : "int_header_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_switch_id",
- "id" : 17,
+ "id" : 22,
"header_type" : "int_switch_id_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_port_ids",
- "id" : 18,
+ "id" : 23,
"header_type" : "int_port_ids_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_hop_latency",
- "id" : 19,
+ "id" : 24,
"header_type" : "int_hop_latency_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_q_occupancy",
- "id" : 20,
+ "id" : 25,
"header_type" : "int_q_occupancy_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_ingress_tstamp",
- "id" : 21,
+ "id" : 26,
"header_type" : "int_ingress_tstamp_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_egress_tstamp",
- "id" : 22,
+ "id" : 27,
"header_type" : "int_egress_tstamp_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_q_congestion",
- "id" : 23,
+ "id" : 28,
"header_type" : "int_q_congestion_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "int_egress_tx_util",
- "id" : 24,
+ "id" : 29,
"header_type" : "int_egress_port_tx_util_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "intl4_tail",
- "id" : 25,
+ "id" : 30,
"header_type" : "intl4_tail_t",
"metadata" : false,
"pi_omit" : true
@@ -485,7 +525,7 @@
"name" : "fl",
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 46,
+ "line" : 52,
"column" : 40,
"source_fragment" : "{standard_metadata.ingress_port}"
},
@@ -1780,6 +1820,12 @@
],
"transitions" : [
{
+ "type" : "hexstr",
+ "value" : "0x086801ff",
+ "mask" : null,
+ "next_state" : "parse_gtpu"
+ },
+ {
"type" : "default",
"value" : null,
"mask" : null,
@@ -1826,8 +1872,101 @@
"transition_key" : []
},
{
- "name" : "parse_int",
+ "name" : "parse_gtpu",
"id" : 13,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "gtpu"
+ }
+ ],
+ "op" : "extract"
+ },
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "inner_ipv4"
+ }
+ ],
+ "op" : "extract"
+ },
+ {
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "last_ipv4_dscp_0"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "dscp"]
+ }
+ ],
+ "op" : "set"
+ }
+ ],
+ "transitions" : [
+ {
+ "type" : "hexstr",
+ "value" : "0x06",
+ "mask" : null,
+ "next_state" : "parse_tcp"
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x11",
+ "mask" : null,
+ "next_state" : "parse_inner_udp"
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x01",
+ "mask" : null,
+ "next_state" : "parse_icmp"
+ },
+ {
+ "type" : "default",
+ "value" : null,
+ "mask" : null,
+ "next_state" : null
+ }
+ ],
+ "transition_key" : [
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "protocol"]
+ }
+ ]
+ },
+ {
+ "name" : "parse_inner_udp",
+ "id" : 14,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "inner_udp"
+ }
+ ],
+ "op" : "extract"
+ }
+ ],
+ "transitions" : [
+ {
+ "type" : "default",
+ "value" : null,
+ "mask" : null,
+ "next_state" : "parse_int"
+ }
+ ],
+ "transition_key" : []
+ },
+ {
+ "name" : "parse_int",
+ "id" : 15,
"parser_ops" : [],
"transitions" : [
{
@@ -1852,7 +1991,7 @@
},
{
"name" : "parse_intl4_shim",
- "id" : 14,
+ "id" : 16,
"parser_ops" : [
{
"parameters" : [
@@ -1896,7 +2035,7 @@
},
{
"name" : "parse_int_data",
- "id" : 15,
+ "id" : 17,
"parser_ops" : [],
"transitions" : [
{
@@ -1910,7 +2049,7 @@
},
{
"name" : "parse_intl4_tail",
- "id" : 16,
+ "id" : 18,
"parser_ops" : [
{
"parameters" : [
@@ -1946,7 +2085,7 @@
"column" : 8,
"source_fragment" : "FabricDeparser"
},
- "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "mpls", "ipv4", "tcp", "udp", "icmp", "intl4_shim", "int_header", "int_switch_id", "int_port_ids", "int_hop_latency", "int_q_occupancy", "int_ingress_tstamp", "int_egress_tstamp", "int_q_congestion", "int_egress_tx_util", "intl4_tail"],
+ "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "mpls", "ipv4", "tcp", "udp", "icmp", "gtpu", "inner_ipv4", "inner_tcp", "inner_udp", "inner_icmp", "intl4_shim", "int_header", "int_switch_id", "int_port_ids", "int_hop_latency", "int_q_occupancy", "int_ingress_tstamp", "int_egress_tstamp", "int_q_congestion", "int_egress_tx_util", "intl4_tail"],
"primitives" : []
}
],
@@ -2019,7 +2158,7 @@
"binding" : "FabricIngress.acl.acl",
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 30,
+ "line" : 36,
"column" : 50,
"source_fragment" : "acl_counter"
}
@@ -2607,7 +2746,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 33,
+ "line" : 39,
"column" : 32,
"source_fragment" : "= next_id; ..."
}
@@ -2633,7 +2772,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 39,
+ "line" : 45,
"column" : 8,
"source_fragment" : "standard_metadata.egress_spec = 255"
}
@@ -2662,7 +2801,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 40,
+ "line" : 46,
"column" : 34,
"source_fragment" : "= true; ..."
}
@@ -2693,7 +2832,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 46,
+ "line" : 52,
"column" : 8,
"source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
}
@@ -2715,7 +2854,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 51,
+ "line" : 57,
"column" : 8,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -2744,7 +2883,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 52,
+ "line" : 58,
"column" : 34,
"source_fragment" : "= true; ..."
}
@@ -3289,7 +3428,7 @@
]
},
{
- "name" : "port_counter31",
+ "name" : "acl101",
"id" : 32,
"runtime_data" : [],
"primitives" : [
@@ -3298,6 +3437,416 @@
"parameters" : [
{
"type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_tcp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 101,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.inner_tcp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_tcp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 102,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.inner_tcp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl104",
+ "id" : 33,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_udp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 104,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.inner_udp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_udp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 105,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.inner_udp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl97",
+ "id" : 34,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_src"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "src_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 97,
+ "column" : 12,
+ "source_fragment" : "ipv4_src = hdr.inner_ipv4.src_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_dst"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "dst_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 98,
+ "column" : 12,
+ "source_fragment" : "ipv4_dst = hdr.inner_ipv4.dst_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ip_proto"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "protocol"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 99,
+ "column" : 12,
+ "source_fragment" : "ip_proto = hdr.inner_ipv4.protocol"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl112",
+ "id" : 35,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["tcp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 112,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.tcp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["tcp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 113,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.tcp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl115",
+ "id" : 36,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["udp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 115,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.udp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["udp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 116,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.udp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl108",
+ "id" : 37,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_src"]
+ },
+ {
+ "type" : "field",
+ "value" : ["ipv4", "src_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 108,
+ "column" : 12,
+ "source_fragment" : "ipv4_src = hdr.ipv4.src_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_dst"]
+ },
+ {
+ "type" : "field",
+ "value" : ["ipv4", "dst_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 109,
+ "column" : 12,
+ "source_fragment" : "ipv4_dst = hdr.ipv4.dst_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ip_proto"]
+ },
+ {
+ "type" : "field",
+ "value" : ["ipv4", "protocol"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 110,
+ "column" : 12,
+ "source_fragment" : "ip_proto = hdr.ipv4.protocol"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl27",
+ "id" : 38,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_src"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 27,
+ "column" : 4,
+ "source_fragment" : "ipv4_addr_t ipv4_src = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_dst"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 28,
+ "column" : 4,
+ "source_fragment" : "ipv4_addr_t ipv4_dst = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ip_proto"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 29,
+ "column" : 4,
+ "source_fragment" : "bit<8> ip_proto = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x0000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 30,
+ "column" : 4,
+ "source_fragment" : "l4_port_t l4_sport = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x0000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 31,
+ "column" : 4,
+ "source_fragment" : "l4_port_t l4_dport = 0;"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "port_counter31",
+ "id" : 39,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
"value" : ["scalars", "tmp_8"]
},
{
@@ -3348,7 +3897,7 @@
},
{
"name" : "port_counter34",
- "id" : 33,
+ "id" : 40,
"runtime_data" : [],
"primitives" : [
{
@@ -3406,31 +3955,31 @@
},
{
"name" : "nop",
- "id" : 34,
+ "id" : 41,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "nop",
- "id" : 35,
+ "id" : 42,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "NoAction",
- "id" : 36,
+ "id" : 43,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "NoAction",
- "id" : 37,
+ "id" : 44,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "FabricEgress.process_int_main.process_int_source.int_source_dscp",
- "id" : 38,
+ "id" : 45,
"runtime_data" : [
{
"name" : "max_hop",
@@ -3925,7 +4474,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.init_metadata",
- "id" : 39,
+ "id" : 46,
"runtime_data" : [
{
"name" : "switch_id",
@@ -3985,13 +4534,13 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0",
- "id" : 40,
+ "id" : 47,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1",
- "id" : 41,
+ "id" : 48,
"runtime_data" : [],
"primitives" : [
{
@@ -4148,7 +4697,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2",
- "id" : 42,
+ "id" : 49,
"runtime_data" : [],
"primitives" : [
{
@@ -4273,7 +4822,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3",
- "id" : 43,
+ "id" : 50,
"runtime_data" : [],
"primitives" : [
{
@@ -4464,7 +5013,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4",
- "id" : 44,
+ "id" : 51,
"runtime_data" : [],
"primitives" : [
{
@@ -4634,7 +5183,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5",
- "id" : 45,
+ "id" : 52,
"runtime_data" : [],
"primitives" : [
{
@@ -4870,7 +5419,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6",
- "id" : 46,
+ "id" : 53,
"runtime_data" : [],
"primitives" : [
{
@@ -5074,7 +5623,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7",
- "id" : 47,
+ "id" : 54,
"runtime_data" : [],
"primitives" : [
{
@@ -5344,7 +5893,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8",
- "id" : 48,
+ "id" : 55,
"runtime_data" : [],
"primitives" : [
{
@@ -5469,7 +6018,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9",
- "id" : 49,
+ "id" : 56,
"runtime_data" : [],
"primitives" : [
{
@@ -5660,7 +6209,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10",
- "id" : 50,
+ "id" : 57,
"runtime_data" : [],
"primitives" : [
{
@@ -5819,7 +6368,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11",
- "id" : 51,
+ "id" : 58,
"runtime_data" : [],
"primitives" : [
{
@@ -6044,7 +6593,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12",
- "id" : 52,
+ "id" : 59,
"runtime_data" : [],
"primitives" : [
{
@@ -6248,7 +6797,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13",
- "id" : 53,
+ "id" : 60,
"runtime_data" : [],
"primitives" : [
{
@@ -6518,7 +7067,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14",
- "id" : 54,
+ "id" : 61,
"runtime_data" : [],
"primitives" : [
{
@@ -6756,7 +7305,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15",
- "id" : 55,
+ "id" : 62,
"runtime_data" : [],
"primitives" : [
{
@@ -7060,13 +7609,13 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0",
- "id" : 56,
+ "id" : 63,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1",
- "id" : 57,
+ "id" : 64,
"runtime_data" : [],
"primitives" : [
{
@@ -7191,7 +7740,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2",
- "id" : 58,
+ "id" : 65,
"runtime_data" : [],
"primitives" : [
{
@@ -7335,7 +7884,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3",
- "id" : 59,
+ "id" : 66,
"runtime_data" : [],
"primitives" : [
{
@@ -7513,7 +8062,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4",
- "id" : 60,
+ "id" : 67,
"runtime_data" : [],
"primitives" : [
{
@@ -7661,7 +8210,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5",
- "id" : 61,
+ "id" : 68,
"runtime_data" : [],
"primitives" : [
{
@@ -7843,7 +8392,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6",
- "id" : 62,
+ "id" : 69,
"runtime_data" : [],
"primitives" : [
{
@@ -8044,7 +8593,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7",
- "id" : 63,
+ "id" : 70,
"runtime_data" : [],
"primitives" : [
{
@@ -8279,7 +8828,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8",
- "id" : 64,
+ "id" : 71,
"runtime_data" : [],
"primitives" : [
{
@@ -8404,7 +8953,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9",
- "id" : 65,
+ "id" : 72,
"runtime_data" : [],
"primitives" : [
{
@@ -8563,7 +9112,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10",
- "id" : 66,
+ "id" : 73,
"runtime_data" : [],
"primitives" : [
{
@@ -8741,7 +9290,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11",
- "id" : 67,
+ "id" : 74,
"runtime_data" : [],
"primitives" : [
{
@@ -8953,7 +9502,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12",
- "id" : 68,
+ "id" : 75,
"runtime_data" : [],
"primitives" : [
{
@@ -9135,7 +9684,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13",
- "id" : 69,
+ "id" : 76,
"runtime_data" : [],
"primitives" : [
{
@@ -9351,7 +9900,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14",
- "id" : 70,
+ "id" : 77,
"runtime_data" : [],
"primitives" : [
{
@@ -9586,7 +10135,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15",
- "id" : 71,
+ "id" : 78,
"runtime_data" : [],
"primitives" : [
{
@@ -9855,7 +10404,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_mpls_if_present",
- "id" : 72,
+ "id" : 79,
"runtime_data" : [],
"primitives" : [
{
@@ -9896,7 +10445,7 @@
},
{
"name" : "FabricEgress.egress_next.set_mpls",
- "id" : 73,
+ "id" : 80,
"runtime_data" : [],
"primitives" : [
{
@@ -10013,7 +10562,7 @@
},
{
"name" : "FabricEgress.egress_next.push_vlan",
- "id" : 74,
+ "id" : 81,
"runtime_data" : [],
"primitives" : [
{
@@ -10111,7 +10660,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_vlan",
- "id" : 75,
+ "id" : 82,
"runtime_data" : [],
"primitives" : [
{
@@ -10133,7 +10682,7 @@
},
{
"name" : "FabricEgress.egress_next.drop",
- "id" : 76,
+ "id" : 83,
"runtime_data" : [],
"primitives" : [
{
@@ -10155,7 +10704,7 @@
},
{
"name" : "packetio41",
- "id" : 77,
+ "id" : 84,
"runtime_data" : [],
"primitives" : [
{
@@ -10172,7 +10721,7 @@
},
{
"name" : "packetio44",
- "id" : 78,
+ "id" : 85,
"runtime_data" : [],
"primitives" : [
{
@@ -10223,7 +10772,7 @@
},
{
"name" : "next349",
- "id" : 79,
+ "id" : 86,
"runtime_data" : [],
"primitives" : [
{
@@ -10245,7 +10794,7 @@
},
{
"name" : "next376",
- "id" : 80,
+ "id" : 87,
"runtime_data" : [],
"primitives" : [
{
@@ -10267,7 +10816,7 @@
},
{
"name" : "next375",
- "id" : 81,
+ "id" : 88,
"runtime_data" : [],
"primitives" : [
{
@@ -10316,7 +10865,7 @@
},
{
"name" : "next380",
- "id" : 82,
+ "id" : 89,
"runtime_data" : [],
"primitives" : [
{
@@ -10338,7 +10887,7 @@
},
{
"name" : "next379",
- "id" : 83,
+ "id" : 90,
"runtime_data" : [],
"primitives" : [
{
@@ -10387,7 +10936,7 @@
},
{
"name" : "act",
- "id" : 84,
+ "id" : 91,
"runtime_data" : [],
"primitives" : [
{
@@ -10417,7 +10966,7 @@
},
{
"name" : "int_transit420",
- "id" : 85,
+ "id" : 92,
"runtime_data" : [],
"primitives" : [
{
@@ -10453,7 +11002,7 @@
},
{
"name" : "int_transit428",
- "id" : 86,
+ "id" : 93,
"runtime_data" : [],
"primitives" : [
{
@@ -10502,7 +11051,7 @@
},
{
"name" : "int_transit425",
- "id" : 87,
+ "id" : 94,
"runtime_data" : [],
"primitives" : [
{
@@ -10551,7 +11100,7 @@
},
{
"name" : "int_transit431",
- "id" : 88,
+ "id" : 95,
"runtime_data" : [],
"primitives" : [
{
@@ -10600,7 +11149,7 @@
},
{
"name" : "int_transit434",
- "id" : 89,
+ "id" : 96,
"runtime_data" : [],
"primitives" : [
{
@@ -10882,10 +11431,10 @@
"direct_meters" : null,
"action_ids" : [13, 1],
"actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
- "base_default_next" : "FabricIngress.acl.acl",
+ "base_default_next" : "tbl_acl27",
"next_tables" : {
- "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.acl.acl",
- "nop" : "FabricIngress.acl.acl"
+ "FabricIngress.forwarding.set_next_id_bridging" : "tbl_acl27",
+ "nop" : "tbl_acl27"
},
"default_entry" : {
"action_id" : 1,
@@ -10919,10 +11468,10 @@
"direct_meters" : null,
"action_ids" : [14, 2],
"actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
- "base_default_next" : "FabricIngress.acl.acl",
+ "base_default_next" : "tbl_acl27",
"next_tables" : {
- "FabricIngress.forwarding.pop_mpls_and_next" : "FabricIngress.acl.acl",
- "nop" : "FabricIngress.acl.acl"
+ "FabricIngress.forwarding.pop_mpls_and_next" : "tbl_acl27",
+ "nop" : "tbl_acl27"
},
"default_entry" : {
"action_id" : 2,
@@ -10956,11 +11505,11 @@
"direct_meters" : null,
"action_ids" : [15, 16, 3],
"actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
- "base_default_next" : "FabricIngress.acl.acl",
+ "base_default_next" : "tbl_acl27",
"next_tables" : {
- "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.acl.acl",
- "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.acl.acl",
- "nop" : "FabricIngress.acl.acl"
+ "FabricIngress.forwarding.set_next_id_routing_v4" : "tbl_acl27",
+ "FabricIngress.forwarding.nop_routing_v4" : "tbl_acl27",
+ "nop" : "tbl_acl27"
},
"default_entry" : {
"action_id" : 3,
@@ -10970,11 +11519,214 @@
}
},
{
- "name" : "FabricIngress.acl.acl",
+ "name" : "tbl_acl27",
"id" : 8,
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 60,
+ "line" : 27,
+ "column" : 4,
+ "source_fragment" : "ipv4_addr_t ipv4_src = 0; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [38],
+ "actions" : ["acl27"],
+ "base_default_next" : "node_18",
+ "next_tables" : {
+ "acl27" : "node_18"
+ },
+ "default_entry" : {
+ "action_id" : 38,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl97",
+ "id" : 9,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 97,
+ "column" : 21,
+ "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [34],
+ "actions" : ["acl97"],
+ "base_default_next" : "node_20",
+ "next_tables" : {
+ "acl97" : "node_20"
+ },
+ "default_entry" : {
+ "action_id" : 34,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl101",
+ "id" : 10,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 101,
+ "column" : 25,
+ "source_fragment" : "= hdr.inner_tcp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [32],
+ "actions" : ["acl101"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl101" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 32,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl104",
+ "id" : 11,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 104,
+ "column" : 25,
+ "source_fragment" : "= hdr.inner_udp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [33],
+ "actions" : ["acl104"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl104" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 33,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl108",
+ "id" : 12,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 108,
+ "column" : 21,
+ "source_fragment" : "= hdr.ipv4.src_addr; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [37],
+ "actions" : ["acl108"],
+ "base_default_next" : "node_26",
+ "next_tables" : {
+ "acl108" : "node_26"
+ },
+ "default_entry" : {
+ "action_id" : 37,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl112",
+ "id" : 13,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 112,
+ "column" : 25,
+ "source_fragment" : "= hdr.tcp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [35],
+ "actions" : ["acl112"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl112" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 35,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl115",
+ "id" : 14,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 115,
+ "column" : 25,
+ "source_fragment" : "= hdr.udp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [36],
+ "actions" : ["acl115"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl115" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 36,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "FabricIngress.acl.acl",
+ "id" : 15,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 66,
"column" : 10,
"source_fragment" : "acl"
},
@@ -10987,24 +11739,6 @@
},
{
"match_type" : "ternary",
- "name" : "ip_proto",
- "target" : ["scalars", "userMetadata._ip_proto12"],
- "mask" : null
- },
- {
- "match_type" : "ternary",
- "name" : "l4_sport",
- "target" : ["scalars", "userMetadata._l4_sport13"],
- "mask" : null
- },
- {
- "match_type" : "ternary",
- "name" : "l4_dport",
- "target" : ["scalars", "userMetadata._l4_dport14"],
- "mask" : null
- },
- {
- "match_type" : "ternary",
"name" : "eth_dst",
"target" : ["ethernet", "dst_addr"],
"mask" : null
@@ -11030,13 +11764,19 @@
{
"match_type" : "ternary",
"name" : "ipv4_src",
- "target" : ["ipv4", "src_addr"],
+ "target" : ["scalars", "acl_ipv4_src"],
"mask" : null
},
{
"match_type" : "ternary",
"name" : "ipv4_dst",
- "target" : ["ipv4", "dst_addr"],
+ "target" : ["scalars", "acl_ipv4_dst"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "name" : "ip_proto",
+ "target" : ["scalars", "acl_ip_proto"],
"mask" : null
},
{
@@ -11050,6 +11790,18 @@
"name" : "icmp_code",
"target" : ["icmp", "icmp_code"],
"mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "name" : "l4_sport",
+ "target" : ["scalars", "acl_l4_sport"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "name" : "l4_dport",
+ "target" : ["scalars", "acl_l4_dport"],
+ "mask" : null
}
],
"match_type" : "ternary",
@@ -11060,13 +11812,13 @@
"direct_meters" : null,
"action_ids" : [17, 18, 19, 20, 21],
"actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.set_clone_session_id", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"],
- "base_default_next" : "node_18",
+ "base_default_next" : "node_31",
"next_tables" : {
- "FabricIngress.acl.set_next_id_acl" : "node_18",
- "FabricIngress.acl.punt_to_cpu" : "node_18",
- "FabricIngress.acl.set_clone_session_id" : "node_18",
- "FabricIngress.acl.drop" : "node_18",
- "FabricIngress.acl.nop_acl" : "node_18"
+ "FabricIngress.acl.set_next_id_acl" : "node_31",
+ "FabricIngress.acl.punt_to_cpu" : "node_31",
+ "FabricIngress.acl.set_clone_session_id" : "node_31",
+ "FabricIngress.acl.drop" : "node_31",
+ "FabricIngress.acl.nop_acl" : "node_31"
},
"default_entry" : {
"action_id" : 21,
@@ -11077,7 +11829,7 @@
},
{
"name" : "FabricIngress.next.xconnect",
- "id" : 9,
+ "id" : 16,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 119,
@@ -11121,7 +11873,7 @@
},
{
"name" : "FabricIngress.next.hashed",
- "id" : 10,
+ "id" : 17,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 202,
@@ -11155,7 +11907,7 @@
},
{
"name" : "FabricIngress.next.multicast",
- "id" : 11,
+ "id" : 18,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 236,
@@ -11192,7 +11944,7 @@
},
{
"name" : "FabricIngress.next.next_vlan",
- "id" : 12,
+ "id" : 19,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 86,
@@ -11215,10 +11967,10 @@
"direct_meters" : null,
"action_ids" : [22, 4],
"actions" : ["FabricIngress.next.set_vlan", "nop"],
- "base_default_next" : "node_23",
+ "base_default_next" : "node_36",
"next_tables" : {
- "FabricIngress.next.set_vlan" : "node_23",
- "nop" : "node_23"
+ "FabricIngress.next.set_vlan" : "node_36",
+ "nop" : "node_36"
},
"default_entry" : {
"action_id" : 4,
@@ -11229,7 +11981,7 @@
},
{
"name" : "tbl_port_counter31",
- "id" : 13,
+ "id" : 20,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 31,
@@ -11243,14 +11995,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [32],
+ "action_ids" : [39],
"actions" : ["port_counter31"],
- "base_default_next" : "node_25",
+ "base_default_next" : "node_38",
"next_tables" : {
- "port_counter31" : "node_25"
+ "port_counter31" : "node_38"
},
"default_entry" : {
- "action_id" : 32,
+ "action_id" : 39,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -11258,7 +12010,7 @@
},
{
"name" : "tbl_port_counter34",
- "id" : 14,
+ "id" : 21,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 34,
@@ -11272,14 +12024,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [33],
+ "action_ids" : [40],
"actions" : ["port_counter34"],
"base_default_next" : "FabricIngress.process_set_source_sink.tb_set_source",
"next_tables" : {
"port_counter34" : "FabricIngress.process_set_source_sink.tb_set_source"
},
"default_entry" : {
- "action_id" : 33,
+ "action_id" : 40,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -11287,7 +12039,7 @@
},
{
"name" : "FabricIngress.process_set_source_sink.tb_set_source",
- "id" : 15,
+ "id" : 22,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 46,
@@ -11466,7 +12218,7 @@
}
},
"true_next" : "node_11",
- "false_next" : "FabricIngress.acl.acl"
+ "false_next" : "tbl_acl27"
},
{
"name" : "node_11",
@@ -11544,12 +12296,167 @@
}
},
"true_next" : "FabricIngress.forwarding.routing_v4",
- "false_next" : "FabricIngress.acl.acl"
+ "false_next" : "tbl_acl27"
},
{
"name" : "node_18",
"id" : 7,
"source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 96,
+ "column" : 12,
+ "source_fragment" : "hdr.gtpu.isValid() && hdr.inner_ipv4.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "and",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["gtpu", "$valid$"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["inner_ipv4", "$valid$"]
+ }
+ }
+ }
+ }
+ },
+ "true_next" : "tbl_acl97",
+ "false_next" : "node_24"
+ },
+ {
+ "name" : "node_20",
+ "id" : 8,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 100,
+ "column" : 16,
+ "source_fragment" : "hdr.inner_tcp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["inner_tcp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl101",
+ "false_next" : "node_22"
+ },
+ {
+ "name" : "node_22",
+ "id" : 9,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 103,
+ "column" : 23,
+ "source_fragment" : "hdr.inner_udp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["inner_udp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl104",
+ "false_next" : "FabricIngress.acl.acl"
+ },
+ {
+ "name" : "node_24",
+ "id" : 10,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 107,
+ "column" : 19,
+ "source_fragment" : "hdr.ipv4.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["ipv4", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl108",
+ "false_next" : "FabricIngress.acl.acl"
+ },
+ {
+ "name" : "node_26",
+ "id" : 11,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 111,
+ "column" : 16,
+ "source_fragment" : "hdr.tcp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["tcp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl112",
+ "false_next" : "node_28"
+ },
+ {
+ "name" : "node_28",
+ "id" : 12,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 114,
+ "column" : 23,
+ "source_fragment" : "hdr.udp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["udp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl115",
+ "false_next" : "FabricIngress.acl.acl"
+ },
+ {
+ "name" : "node_31",
+ "id" : 13,
+ "source_info" : {
"filename" : "fabric.p4",
"line" : 73,
"column" : 12,
@@ -11577,8 +12484,8 @@
"true_next" : "FabricIngress.next.xconnect"
},
{
- "name" : "node_23",
- "id" : 8,
+ "name" : "node_36",
+ "id" : 14,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 30,
@@ -11600,11 +12507,11 @@
}
},
"true_next" : "tbl_port_counter31",
- "false_next" : "node_25"
+ "false_next" : "node_38"
},
{
- "name" : "node_25",
- "id" : 9,
+ "name" : "node_38",
+ "id" : 15,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 33,
@@ -11639,11 +12546,11 @@
"column" : 8,
"source_fragment" : "FabricEgress"
},
- "init_table" : "node_30",
+ "init_table" : "node_43",
"tables" : [
{
"name" : "tbl_packetio41",
- "id" : 16,
+ "id" : 23,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 41,
@@ -11657,14 +12564,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [77],
+ "action_ids" : [84],
"actions" : ["packetio41"],
- "base_default_next" : "node_32",
+ "base_default_next" : "node_45",
"next_tables" : {
- "packetio41" : "node_32"
+ "packetio41" : "node_45"
},
"default_entry" : {
- "action_id" : 77,
+ "action_id" : 84,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -11672,7 +12579,7 @@
},
{
"name" : "tbl_packetio44",
- "id" : 17,
+ "id" : 24,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 44,
@@ -11686,14 +12593,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [78],
+ "action_ids" : [85],
"actions" : ["packetio44"],
- "base_default_next" : "node_34",
+ "base_default_next" : "node_47",
"next_tables" : {
- "packetio44" : "node_34"
+ "packetio44" : "node_47"
},
"default_entry" : {
- "action_id" : 78,
+ "action_id" : 85,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -11701,7 +12608,7 @@
},
{
"name" : "tbl_next349",
- "id" : 18,
+ "id" : 25,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 349,
@@ -11715,14 +12622,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [79],
+ "action_ids" : [86],
"actions" : ["next349"],
- "base_default_next" : "node_36",
+ "base_default_next" : "node_49",
"next_tables" : {
- "next349" : "node_36"
+ "next349" : "node_49"
},
"default_entry" : {
- "action_id" : 79,
+ "action_id" : 86,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -11730,7 +12637,7 @@
},
{
"name" : "tbl_egress_next_pop_mpls_if_present",
- "id" : 19,
+ "id" : 26,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 353,
@@ -11744,14 +12651,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [72],
+ "action_ids" : [79],
"actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
"FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 72,
+ "action_id" : 79,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -11759,7 +12666,7 @@
},
{
"name" : "tbl_egress_next_set_mpls",
- "id" : 20,
+ "id" : 27,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 355,
@@ -11773,14 +12680,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [73],
+ "action_ids" : [80],
"actions" : ["FabricEgress.egress_next.set_mpls"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
"FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 73,
+ "action_id" : 80,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -11788,7 +12695,7 @@
},
{
"name" : "FabricEgress.egress_next.egress_vlan",
- "id" : 21,
+ "id" : 28,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 331,
@@ -11815,16 +12722,16 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [74, 75, 76],
+ "action_ids" : [81, 82, 83],
"actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
- "base_default_next" : "node_41",
+ "base_default_next" : "node_54",
"next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "node_41",
- "FabricEgress.egress_next.pop_vlan" : "node_41",
- "FabricEgress.egress_next.drop" : "node_41"
+ "FabricEgress.egress_next.push_vlan" : "node_54",
+ "FabricEgress.egress_next.pop_vlan" : "node_54",
+ "FabricEgress.egress_next.drop" : "node_54"
},
"default_entry" : {
- "action_id" : 76,
+ "action_id" : 83,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -11832,7 +12739,7 @@
},
{
"name" : "tbl_next375",
- "id" : 22,
+ "id" : 29,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 375,
@@ -11846,14 +12753,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [81],
+ "action_ids" : [88],
"actions" : ["next375"],
- "base_default_next" : "node_43",
+ "base_default_next" : "node_56",
"next_tables" : {
- "next375" : "node_43"
+ "next375" : "node_56"
},
"default_entry" : {
- "action_id" : 81,
+ "action_id" : 88,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -11861,7 +12768,7 @@
},
{
"name" : "tbl_next376",
- "id" : 23,
+ "id" : 30,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 376,
@@ -11875,14 +12782,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [80],
+ "action_ids" : [87],
"actions" : ["next376"],
- "base_default_next" : "node_49",
+ "base_default_next" : "node_62",
"next_tables" : {
- "next376" : "node_49"
+ "next376" : "node_62"
},
"default_entry" : {
- "action_id" : 80,
+ "action_id" : 87,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -11890,7 +12797,7 @@
},
{
"name" : "tbl_next379",
- "id" : 24,
+ "id" : 31,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 379,
@@ -11904,14 +12811,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [83],
+ "action_ids" : [90],
"actions" : ["next379"],
- "base_default_next" : "node_47",
+ "base_default_next" : "node_60",
"next_tables" : {
- "next379" : "node_47"
+ "next379" : "node_60"
},
"default_entry" : {
- "action_id" : 83,
+ "action_id" : 90,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -11919,7 +12826,7 @@
},
{
"name" : "tbl_next380",
- "id" : 25,
+ "id" : 32,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 380,
@@ -11933,14 +12840,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [82],
+ "action_ids" : [89],
"actions" : ["next380"],
- "base_default_next" : "node_49",
+ "base_default_next" : "node_62",
"next_tables" : {
- "next380" : "node_49"
+ "next380" : "node_62"
},
"default_entry" : {
- "action_id" : 82,
+ "action_id" : 89,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -11948,7 +12855,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
- "id" : 26,
+ "id" : 33,
"source_info" : {
"filename" : "include/int/int_source.p4",
"line" : 66,
@@ -11987,15 +12894,15 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [38, 34],
+ "action_ids" : [45, 41],
"actions" : ["FabricEgress.process_int_main.process_int_source.int_source_dscp", "nop"],
- "base_default_next" : "node_52",
+ "base_default_next" : "node_65",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_52",
- "nop" : "node_52"
+ "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_65",
+ "nop" : "node_65"
},
"default_entry" : {
- "action_id" : 34,
+ "action_id" : 41,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -12003,7 +12910,7 @@
},
{
"name" : "tbl_act",
- "id" : 27,
+ "id" : 34,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -12011,14 +12918,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [84],
+ "action_ids" : [91],
"actions" : ["act"],
"base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
"next_tables" : {
"act" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
},
"default_entry" : {
- "action_id" : 84,
+ "action_id" : 91,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -12026,7 +12933,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
- "id" : 28,
+ "id" : 35,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 315,
@@ -12047,15 +12954,15 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [39, 35],
+ "action_ids" : [46, 42],
"actions" : ["FabricEgress.process_int_main.process_int_transit.init_metadata", "nop"],
- "base_default_next" : "node_55",
+ "base_default_next" : "node_68",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_55",
- "nop" : "node_55"
+ "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_68",
+ "nop" : "node_68"
},
"default_entry" : {
- "action_id" : 35,
+ "action_id" : 42,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -12063,7 +12970,7 @@
},
{
"name" : "tbl_int_transit420",
- "id" : 29,
+ "id" : 36,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 420,
@@ -12077,14 +12984,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [85],
+ "action_ids" : [92],
"actions" : ["int_transit420"],
- "base_default_next" : "node_57",
+ "base_default_next" : "node_70",
"next_tables" : {
- "int_transit420" : "node_57"
+ "int_transit420" : "node_70"
},
"default_entry" : {
- "action_id" : 85,
+ "action_id" : 92,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -12092,7 +12999,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
- "id" : 30,
+ "id" : 37,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 331,
@@ -12113,7 +13020,7 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 36],
+ "action_ids" : [47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 43],
"actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15", "NoAction"],
"base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
"next_tables" : {
@@ -12136,7 +13043,7 @@
"NoAction" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407"
},
"default_entry" : {
- "action_id" : 36,
+ "action_id" : 43,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
@@ -12156,7 +13063,7 @@
}
],
"action_entry" : {
- "action_id" : 40,
+ "action_id" : 47,
"action_data" : []
},
"priority" : 1
@@ -12175,7 +13082,7 @@
}
],
"action_entry" : {
- "action_id" : 41,
+ "action_id" : 48,
"action_data" : []
},
"priority" : 2
@@ -12194,7 +13101,7 @@
}
],
"action_entry" : {
- "action_id" : 42,
+ "action_id" : 49,
"action_data" : []
},
"priority" : 3
@@ -12213,7 +13120,7 @@
}
],
"action_entry" : {
- "action_id" : 43,
+ "action_id" : 50,
"action_data" : []
},
"priority" : 4
@@ -12232,7 +13139,7 @@
}
],
"action_entry" : {
- "action_id" : 44,
+ "action_id" : 51,
"action_data" : []
},
"priority" : 5
@@ -12251,7 +13158,7 @@
}
],
"action_entry" : {
- "action_id" : 45,
+ "action_id" : 52,
"action_data" : []
},
"priority" : 6
@@ -12270,7 +13177,7 @@
}
],
"action_entry" : {
- "action_id" : 46,
+ "action_id" : 53,
"action_data" : []
},
"priority" : 7
@@ -12289,7 +13196,7 @@
}
],
"action_entry" : {
- "action_id" : 47,
+ "action_id" : 54,
"action_data" : []
},
"priority" : 8
@@ -12308,7 +13215,7 @@
}
],
"action_entry" : {
- "action_id" : 48,
+ "action_id" : 55,
"action_data" : []
},
"priority" : 9
@@ -12327,7 +13234,7 @@
}
],
"action_entry" : {
- "action_id" : 49,
+ "action_id" : 56,
"action_data" : []
},
"priority" : 10
@@ -12346,7 +13253,7 @@
}
],
"action_entry" : {
- "action_id" : 50,
+ "action_id" : 57,
"action_data" : []
},
"priority" : 11
@@ -12365,7 +13272,7 @@
}
],
"action_entry" : {
- "action_id" : 51,
+ "action_id" : 58,
"action_data" : []
},
"priority" : 12
@@ -12384,7 +13291,7 @@
}
],
"action_entry" : {
- "action_id" : 52,
+ "action_id" : 59,
"action_data" : []
},
"priority" : 13
@@ -12403,7 +13310,7 @@
}
],
"action_entry" : {
- "action_id" : 53,
+ "action_id" : 60,
"action_data" : []
},
"priority" : 14
@@ -12422,7 +13329,7 @@
}
],
"action_entry" : {
- "action_id" : 54,
+ "action_id" : 61,
"action_data" : []
},
"priority" : 15
@@ -12441,7 +13348,7 @@
}
],
"action_entry" : {
- "action_id" : 55,
+ "action_id" : 62,
"action_data" : []
},
"priority" : 16
@@ -12450,7 +13357,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
- "id" : 31,
+ "id" : 38,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 375,
@@ -12471,7 +13378,7 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 37],
+ "action_ids" : [63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 44],
"actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15", "NoAction"],
"base_default_next" : "tbl_int_transit425",
"next_tables" : {
@@ -12494,7 +13401,7 @@
"NoAction" : "tbl_int_transit425"
},
"default_entry" : {
- "action_id" : 37,
+ "action_id" : 44,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
@@ -12514,7 +13421,7 @@
}
],
"action_entry" : {
- "action_id" : 56,
+ "action_id" : 63,
"action_data" : []
},
"priority" : 1
@@ -12533,7 +13440,7 @@
}
],
"action_entry" : {
- "action_id" : 57,
+ "action_id" : 64,
"action_data" : []
},
"priority" : 2
@@ -12552,7 +13459,7 @@
}
],
"action_entry" : {
- "action_id" : 58,
+ "action_id" : 65,
"action_data" : []
},
"priority" : 3
@@ -12571,7 +13478,7 @@
}
],
"action_entry" : {
- "action_id" : 59,
+ "action_id" : 66,
"action_data" : []
},
"priority" : 4
@@ -12590,7 +13497,7 @@
}
],
"action_entry" : {
- "action_id" : 60,
+ "action_id" : 67,
"action_data" : []
},
"priority" : 5
@@ -12609,7 +13516,7 @@
}
],
"action_entry" : {
- "action_id" : 61,
+ "action_id" : 68,
"action_data" : []
},
"priority" : 6
@@ -12628,7 +13535,7 @@
}
],
"action_entry" : {
- "action_id" : 62,
+ "action_id" : 69,
"action_data" : []
},
"priority" : 7
@@ -12647,7 +13554,7 @@
}
],
"action_entry" : {
- "action_id" : 63,
+ "action_id" : 70,
"action_data" : []
},
"priority" : 8
@@ -12666,7 +13573,7 @@
}
],
"action_entry" : {
- "action_id" : 64,
+ "action_id" : 71,
"action_data" : []
},
"priority" : 9
@@ -12685,7 +13592,7 @@
}
],
"action_entry" : {
- "action_id" : 65,
+ "action_id" : 72,
"action_data" : []
},
"priority" : 10
@@ -12704,7 +13611,7 @@
}
],
"action_entry" : {
- "action_id" : 66,
+ "action_id" : 73,
"action_data" : []
},
"priority" : 11
@@ -12723,7 +13630,7 @@
}
],
"action_entry" : {
- "action_id" : 67,
+ "action_id" : 74,
"action_data" : []
},
"priority" : 12
@@ -12742,7 +13649,7 @@
}
],
"action_entry" : {
- "action_id" : 68,
+ "action_id" : 75,
"action_data" : []
},
"priority" : 13
@@ -12761,7 +13668,7 @@
}
],
"action_entry" : {
- "action_id" : 69,
+ "action_id" : 76,
"action_data" : []
},
"priority" : 14
@@ -12780,7 +13687,7 @@
}
],
"action_entry" : {
- "action_id" : 70,
+ "action_id" : 77,
"action_data" : []
},
"priority" : 15
@@ -12799,7 +13706,7 @@
}
],
"action_entry" : {
- "action_id" : 71,
+ "action_id" : 78,
"action_data" : []
},
"priority" : 16
@@ -12808,7 +13715,7 @@
},
{
"name" : "tbl_int_transit425",
- "id" : 32,
+ "id" : 39,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 425,
@@ -12822,14 +13729,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [87],
+ "action_ids" : [94],
"actions" : ["int_transit425"],
- "base_default_next" : "node_61",
+ "base_default_next" : "node_74",
"next_tables" : {
- "int_transit425" : "node_61"
+ "int_transit425" : "node_74"
},
"default_entry" : {
- "action_id" : 87,
+ "action_id" : 94,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -12837,7 +13744,7 @@
},
{
"name" : "tbl_int_transit428",
- "id" : 33,
+ "id" : 40,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 428,
@@ -12851,14 +13758,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [86],
+ "action_ids" : [93],
"actions" : ["int_transit428"],
- "base_default_next" : "node_63",
+ "base_default_next" : "node_76",
"next_tables" : {
- "int_transit428" : "node_63"
+ "int_transit428" : "node_76"
},
"default_entry" : {
- "action_id" : 86,
+ "action_id" : 93,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -12866,7 +13773,7 @@
},
{
"name" : "tbl_int_transit431",
- "id" : 34,
+ "id" : 41,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 431,
@@ -12880,14 +13787,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [88],
+ "action_ids" : [95],
"actions" : ["int_transit431"],
- "base_default_next" : "node_65",
+ "base_default_next" : "node_78",
"next_tables" : {
- "int_transit431" : "node_65"
+ "int_transit431" : "node_78"
},
"default_entry" : {
- "action_id" : 88,
+ "action_id" : 95,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -12895,7 +13802,7 @@
},
{
"name" : "tbl_int_transit434",
- "id" : 35,
+ "id" : 42,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 434,
@@ -12909,14 +13816,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [89],
+ "action_ids" : [96],
"actions" : ["int_transit434"],
"base_default_next" : null,
"next_tables" : {
"int_transit434" : null
},
"default_entry" : {
- "action_id" : 89,
+ "action_id" : 96,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -12926,8 +13833,8 @@
"action_profiles" : [],
"conditionals" : [
{
- "name" : "node_30",
- "id" : 10,
+ "name" : "node_43",
+ "id" : 16,
"source_info" : {
"filename" : "fabric.p4",
"line" : 103,
@@ -12946,11 +13853,11 @@
}
},
"true_next" : "tbl_packetio41",
- "false_next" : "node_32"
+ "false_next" : "node_45"
},
{
- "name" : "node_32",
- "id" : 11,
+ "name" : "node_45",
+ "id" : 17,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 43,
@@ -12972,11 +13879,11 @@
}
},
"true_next" : "tbl_packetio44",
- "false_next" : "node_34"
+ "false_next" : "node_47"
},
{
- "name" : "node_34",
- "id" : 12,
+ "name" : "node_47",
+ "id" : 18,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 347,
@@ -13015,11 +13922,11 @@
}
},
"true_next" : "tbl_next349",
- "false_next" : "node_36"
+ "false_next" : "node_49"
},
{
- "name" : "node_36",
- "id" : 13,
+ "name" : "node_49",
+ "id" : 19,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 352,
@@ -13040,12 +13947,12 @@
}
}
},
- "true_next" : "node_37",
+ "true_next" : "node_50",
"false_next" : "tbl_egress_next_set_mpls"
},
{
- "name" : "node_37",
- "id" : 14,
+ "name" : "node_50",
+ "id" : 20,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 353,
@@ -13067,8 +13974,8 @@
"false_next" : "FabricEgress.egress_next.egress_vlan"
},
{
- "name" : "node_41",
- "id" : 15,
+ "name" : "node_54",
+ "id" : 21,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 374,
@@ -13087,11 +13994,11 @@
}
},
"true_next" : "tbl_next375",
- "false_next" : "node_45"
+ "false_next" : "node_58"
},
{
- "name" : "node_43",
- "id" : 16,
+ "name" : "node_56",
+ "id" : 22,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 376,
@@ -13113,11 +14020,11 @@
}
},
"true_next" : "tbl_next376",
- "false_next" : "node_49"
+ "false_next" : "node_62"
},
{
- "name" : "node_45",
- "id" : 17,
+ "name" : "node_58",
+ "id" : 23,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 378,
@@ -13156,11 +14063,11 @@
}
},
"true_next" : "tbl_next379",
- "false_next" : "node_49"
+ "false_next" : "node_62"
},
{
- "name" : "node_47",
- "id" : 18,
+ "name" : "node_60",
+ "id" : 24,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 380,
@@ -13182,11 +14089,11 @@
}
},
"true_next" : "tbl_next380",
- "false_next" : "node_49"
+ "false_next" : "node_62"
},
{
- "name" : "node_49",
- "id" : 19,
+ "name" : "node_62",
+ "id" : 25,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 102,
@@ -13262,11 +14169,11 @@
}
},
"false_next" : null,
- "true_next" : "node_50"
+ "true_next" : "node_63"
},
{
- "name" : "node_50",
- "id" : 20,
+ "name" : "node_63",
+ "id" : 26,
"source_info" : {
"filename" : "fabric.p4",
"line" : 112,
@@ -13285,11 +14192,11 @@
}
},
"true_next" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
- "false_next" : "node_52"
+ "false_next" : "node_65"
},
{
- "name" : "node_52",
- "id" : 21,
+ "name" : "node_65",
+ "id" : 27,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 110,
@@ -13311,8 +14218,8 @@
"true_next" : "tbl_act"
},
{
- "name" : "node_55",
- "id" : 22,
+ "name" : "node_68",
+ "id" : 28,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 419,
@@ -13338,11 +14245,11 @@
}
},
"true_next" : "tbl_int_transit420",
- "false_next" : "node_57"
+ "false_next" : "node_70"
},
{
- "name" : "node_57",
- "id" : 23,
+ "name" : "node_70",
+ "id" : 29,
"expression" : {
"type" : "expression",
"value" : {
@@ -13365,8 +14272,8 @@
"true_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003"
},
{
- "name" : "node_61",
- "id" : 24,
+ "name" : "node_74",
+ "id" : 30,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 427,
@@ -13385,11 +14292,11 @@
}
},
"true_next" : "tbl_int_transit428",
- "false_next" : "node_63"
+ "false_next" : "node_76"
},
{
- "name" : "node_63",
- "id" : 25,
+ "name" : "node_76",
+ "id" : 31,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 430,
@@ -13408,11 +14315,11 @@
}
},
"true_next" : "tbl_int_transit431",
- "false_next" : "node_65"
+ "false_next" : "node_78"
},
{
- "name" : "node_65",
- "id" : 26,
+ "name" : "node_78",
+ "id" : 32,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 433,
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/p4info.txt b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/p4info.txt
index 09d2757..f13b234 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/p4info.txt
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/p4info.txt
@@ -192,70 +192,70 @@
}
match_fields {
id: 2
- name: "ip_proto"
- bitwidth: 8
- match_type: TERNARY
- }
- match_fields {
- id: 3
- name: "l4_sport"
- bitwidth: 16
- match_type: TERNARY
- }
- match_fields {
- id: 4
- name: "l4_dport"
- bitwidth: 16
- match_type: TERNARY
- }
- match_fields {
- id: 5
name: "eth_dst"
bitwidth: 48
match_type: TERNARY
}
match_fields {
- id: 6
+ id: 3
name: "eth_src"
bitwidth: 48
match_type: TERNARY
}
match_fields {
- id: 7
+ id: 4
name: "vlan_id"
bitwidth: 12
match_type: TERNARY
}
match_fields {
- id: 8
+ id: 5
name: "eth_type"
bitwidth: 16
match_type: TERNARY
}
match_fields {
- id: 9
+ id: 6
name: "ipv4_src"
bitwidth: 32
match_type: TERNARY
}
match_fields {
- id: 10
+ id: 7
name: "ipv4_dst"
bitwidth: 32
match_type: TERNARY
}
match_fields {
- id: 11
+ id: 8
+ name: "ip_proto"
+ bitwidth: 8
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 9
name: "icmp_type"
bitwidth: 8
match_type: TERNARY
}
match_fields {
- id: 12
+ id: 10
name: "icmp_code"
bitwidth: 8
match_type: TERNARY
}
+ match_fields {
+ id: 11
+ name: "l4_sport"
+ bitwidth: 16
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 12
+ name: "l4_dport"
+ bitwidth: 16
+ match_type: TERNARY
+ }
action_refs {
id: 23623126
}
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 3595fd9..c420605 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
@@ -15,6 +15,11 @@
["tmp_7", 64, false],
["tmp_8", 32, false],
["tmp_9", 32, false],
+ ["acl_ipv4_src", 32, false],
+ ["acl_ipv4_dst", 32, false],
+ ["acl_ip_proto", 8, false],
+ ["acl_l4_sport", 16, false],
+ ["acl_l4_dport", 16, false],
["process_int_main_process_int_transit_hasReturned", 1, false],
["userMetadata._ip_eth_type0", 16, false],
["userMetadata._vlan_id1", 12, false],
@@ -556,7 +561,7 @@
"name" : "fl",
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 46,
+ "line" : 52,
"column" : 40,
"source_fragment" : "{standard_metadata.ingress_port}"
},
@@ -2215,7 +2220,7 @@
"binding" : "FabricIngress.acl.acl",
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 30,
+ "line" : 36,
"column" : 50,
"source_fragment" : "acl_counter"
}
@@ -2900,7 +2905,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 33,
+ "line" : 39,
"column" : 32,
"source_fragment" : "= next_id; ..."
}
@@ -2926,7 +2931,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 39,
+ "line" : 45,
"column" : 8,
"source_fragment" : "standard_metadata.egress_spec = 255"
}
@@ -2955,7 +2960,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 40,
+ "line" : 46,
"column" : 34,
"source_fragment" : "= true; ..."
}
@@ -2986,7 +2991,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 46,
+ "line" : 52,
"column" : 8,
"source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
}
@@ -3008,7 +3013,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 51,
+ "line" : 57,
"column" : 8,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -3037,7 +3042,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 52,
+ "line" : 58,
"column" : 34,
"source_fragment" : "= true; ..."
}
@@ -6621,7 +6626,7 @@
]
},
{
- "name" : "port_counter31",
+ "name" : "acl101",
"id" : 53,
"runtime_data" : [],
"primitives" : [
@@ -6630,6 +6635,416 @@
"parameters" : [
{
"type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_tcp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 101,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.inner_tcp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_tcp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 102,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.inner_tcp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl104",
+ "id" : 54,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_udp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 104,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.inner_udp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_udp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 105,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.inner_udp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl97",
+ "id" : 55,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_src"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "src_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 97,
+ "column" : 12,
+ "source_fragment" : "ipv4_src = hdr.inner_ipv4.src_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_dst"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "dst_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 98,
+ "column" : 12,
+ "source_fragment" : "ipv4_dst = hdr.inner_ipv4.dst_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ip_proto"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "protocol"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 99,
+ "column" : 12,
+ "source_fragment" : "ip_proto = hdr.inner_ipv4.protocol"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl112",
+ "id" : 56,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["tcp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 112,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.tcp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["tcp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 113,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.tcp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl115",
+ "id" : 57,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["udp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 115,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.udp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["udp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 116,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.udp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl108",
+ "id" : 58,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_src"]
+ },
+ {
+ "type" : "field",
+ "value" : ["ipv4", "src_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 108,
+ "column" : 12,
+ "source_fragment" : "ipv4_src = hdr.ipv4.src_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_dst"]
+ },
+ {
+ "type" : "field",
+ "value" : ["ipv4", "dst_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 109,
+ "column" : 12,
+ "source_fragment" : "ipv4_dst = hdr.ipv4.dst_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ip_proto"]
+ },
+ {
+ "type" : "field",
+ "value" : ["ipv4", "protocol"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 110,
+ "column" : 12,
+ "source_fragment" : "ip_proto = hdr.ipv4.protocol"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl27",
+ "id" : 59,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_src"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 27,
+ "column" : 4,
+ "source_fragment" : "ipv4_addr_t ipv4_src = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_dst"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 28,
+ "column" : 4,
+ "source_fragment" : "ipv4_addr_t ipv4_dst = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ip_proto"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 29,
+ "column" : 4,
+ "source_fragment" : "bit<8> ip_proto = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x0000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 30,
+ "column" : 4,
+ "source_fragment" : "l4_port_t l4_sport = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x0000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 31,
+ "column" : 4,
+ "source_fragment" : "l4_port_t l4_dport = 0;"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "port_counter31",
+ "id" : 60,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
"value" : ["scalars", "tmp_8"]
},
{
@@ -6680,7 +7095,7 @@
},
{
"name" : "port_counter34",
- "id" : 54,
+ "id" : 61,
"runtime_data" : [],
"primitives" : [
{
@@ -6738,31 +7153,31 @@
},
{
"name" : "nop",
- "id" : 55,
+ "id" : 62,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "nop",
- "id" : 56,
+ "id" : 63,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "NoAction",
- "id" : 57,
+ "id" : 64,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "NoAction",
- "id" : 58,
+ "id" : 65,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "FabricEgress.process_int_main.process_int_source.int_source_dscp",
- "id" : 59,
+ "id" : 66,
"runtime_data" : [
{
"name" : "max_hop",
@@ -7257,7 +7672,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.init_metadata",
- "id" : 60,
+ "id" : 67,
"runtime_data" : [
{
"name" : "switch_id",
@@ -7317,13 +7732,13 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0",
- "id" : 61,
+ "id" : 68,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1",
- "id" : 62,
+ "id" : 69,
"runtime_data" : [],
"primitives" : [
{
@@ -7480,7 +7895,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2",
- "id" : 63,
+ "id" : 70,
"runtime_data" : [],
"primitives" : [
{
@@ -7605,7 +8020,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3",
- "id" : 64,
+ "id" : 71,
"runtime_data" : [],
"primitives" : [
{
@@ -7796,7 +8211,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4",
- "id" : 65,
+ "id" : 72,
"runtime_data" : [],
"primitives" : [
{
@@ -7966,7 +8381,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5",
- "id" : 66,
+ "id" : 73,
"runtime_data" : [],
"primitives" : [
{
@@ -8202,7 +8617,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6",
- "id" : 67,
+ "id" : 74,
"runtime_data" : [],
"primitives" : [
{
@@ -8406,7 +8821,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7",
- "id" : 68,
+ "id" : 75,
"runtime_data" : [],
"primitives" : [
{
@@ -8676,7 +9091,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8",
- "id" : 69,
+ "id" : 76,
"runtime_data" : [],
"primitives" : [
{
@@ -8801,7 +9216,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9",
- "id" : 70,
+ "id" : 77,
"runtime_data" : [],
"primitives" : [
{
@@ -8992,7 +9407,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10",
- "id" : 71,
+ "id" : 78,
"runtime_data" : [],
"primitives" : [
{
@@ -9151,7 +9566,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11",
- "id" : 72,
+ "id" : 79,
"runtime_data" : [],
"primitives" : [
{
@@ -9376,7 +9791,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12",
- "id" : 73,
+ "id" : 80,
"runtime_data" : [],
"primitives" : [
{
@@ -9580,7 +9995,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13",
- "id" : 74,
+ "id" : 81,
"runtime_data" : [],
"primitives" : [
{
@@ -9850,7 +10265,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14",
- "id" : 75,
+ "id" : 82,
"runtime_data" : [],
"primitives" : [
{
@@ -10088,7 +10503,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15",
- "id" : 76,
+ "id" : 83,
"runtime_data" : [],
"primitives" : [
{
@@ -10392,13 +10807,13 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0",
- "id" : 77,
+ "id" : 84,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1",
- "id" : 78,
+ "id" : 85,
"runtime_data" : [],
"primitives" : [
{
@@ -10523,7 +10938,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2",
- "id" : 79,
+ "id" : 86,
"runtime_data" : [],
"primitives" : [
{
@@ -10667,7 +11082,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3",
- "id" : 80,
+ "id" : 87,
"runtime_data" : [],
"primitives" : [
{
@@ -10845,7 +11260,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4",
- "id" : 81,
+ "id" : 88,
"runtime_data" : [],
"primitives" : [
{
@@ -10993,7 +11408,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5",
- "id" : 82,
+ "id" : 89,
"runtime_data" : [],
"primitives" : [
{
@@ -11175,7 +11590,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6",
- "id" : 83,
+ "id" : 90,
"runtime_data" : [],
"primitives" : [
{
@@ -11376,7 +11791,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7",
- "id" : 84,
+ "id" : 91,
"runtime_data" : [],
"primitives" : [
{
@@ -11611,7 +12026,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8",
- "id" : 85,
+ "id" : 92,
"runtime_data" : [],
"primitives" : [
{
@@ -11736,7 +12151,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9",
- "id" : 86,
+ "id" : 93,
"runtime_data" : [],
"primitives" : [
{
@@ -11895,7 +12310,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10",
- "id" : 87,
+ "id" : 94,
"runtime_data" : [],
"primitives" : [
{
@@ -12073,7 +12488,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11",
- "id" : 88,
+ "id" : 95,
"runtime_data" : [],
"primitives" : [
{
@@ -12285,7 +12700,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12",
- "id" : 89,
+ "id" : 96,
"runtime_data" : [],
"primitives" : [
{
@@ -12467,7 +12882,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13",
- "id" : 90,
+ "id" : 97,
"runtime_data" : [],
"primitives" : [
{
@@ -12683,7 +13098,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14",
- "id" : 91,
+ "id" : 98,
"runtime_data" : [],
"primitives" : [
{
@@ -12918,7 +13333,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15",
- "id" : 92,
+ "id" : 99,
"runtime_data" : [],
"primitives" : [
{
@@ -13187,7 +13602,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_mpls_if_present",
- "id" : 93,
+ "id" : 100,
"runtime_data" : [],
"primitives" : [
{
@@ -13228,7 +13643,7 @@
},
{
"name" : "FabricEgress.egress_next.set_mpls",
- "id" : 94,
+ "id" : 101,
"runtime_data" : [],
"primitives" : [
{
@@ -13345,7 +13760,7 @@
},
{
"name" : "FabricEgress.egress_next.push_vlan",
- "id" : 95,
+ "id" : 102,
"runtime_data" : [],
"primitives" : [
{
@@ -13443,7 +13858,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_vlan",
- "id" : 96,
+ "id" : 103,
"runtime_data" : [],
"primitives" : [
{
@@ -13465,7 +13880,7 @@
},
{
"name" : "FabricEgress.egress_next.drop",
- "id" : 97,
+ "id" : 104,
"runtime_data" : [],
"primitives" : [
{
@@ -13487,7 +13902,7 @@
},
{
"name" : "FabricEgress.spgw.gtpu_encap",
- "id" : 98,
+ "id" : 105,
"runtime_data" : [],
"primitives" : [
{
@@ -14079,7 +14494,7 @@
},
{
"name" : "packetio41",
- "id" : 99,
+ "id" : 106,
"runtime_data" : [],
"primitives" : [
{
@@ -14096,7 +14511,7 @@
},
{
"name" : "packetio44",
- "id" : 100,
+ "id" : 107,
"runtime_data" : [],
"primitives" : [
{
@@ -14147,7 +14562,7 @@
},
{
"name" : "next349",
- "id" : 101,
+ "id" : 108,
"runtime_data" : [],
"primitives" : [
{
@@ -14169,7 +14584,7 @@
},
{
"name" : "next376",
- "id" : 102,
+ "id" : 109,
"runtime_data" : [],
"primitives" : [
{
@@ -14191,7 +14606,7 @@
},
{
"name" : "next375",
- "id" : 103,
+ "id" : 110,
"runtime_data" : [],
"primitives" : [
{
@@ -14240,7 +14655,7 @@
},
{
"name" : "next380",
- "id" : 104,
+ "id" : 111,
"runtime_data" : [],
"primitives" : [
{
@@ -14262,7 +14677,7 @@
},
{
"name" : "next379",
- "id" : 105,
+ "id" : 112,
"runtime_data" : [],
"primitives" : [
{
@@ -14311,7 +14726,7 @@
},
{
"name" : "spgw342",
- "id" : 106,
+ "id" : 113,
"runtime_data" : [],
"primitives" : [
{
@@ -14337,7 +14752,7 @@
},
{
"name" : "act",
- "id" : 107,
+ "id" : 114,
"runtime_data" : [],
"primitives" : [
{
@@ -14367,7 +14782,7 @@
},
{
"name" : "int_transit420",
- "id" : 108,
+ "id" : 115,
"runtime_data" : [],
"primitives" : [
{
@@ -14403,7 +14818,7 @@
},
{
"name" : "int_transit428",
- "id" : 109,
+ "id" : 116,
"runtime_data" : [],
"primitives" : [
{
@@ -14452,7 +14867,7 @@
},
{
"name" : "int_transit425",
- "id" : 110,
+ "id" : 117,
"runtime_data" : [],
"primitives" : [
{
@@ -14501,7 +14916,7 @@
},
{
"name" : "int_transit431",
- "id" : 111,
+ "id" : 118,
"runtime_data" : [],
"primitives" : [
{
@@ -14550,7 +14965,7 @@
},
{
"name" : "int_transit434",
- "id" : 112,
+ "id" : 119,
"runtime_data" : [],
"primitives" : [
{
@@ -15321,10 +15736,10 @@
"direct_meters" : null,
"action_ids" : [15, 1],
"actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
- "base_default_next" : "FabricIngress.acl.acl",
+ "base_default_next" : "tbl_acl27",
"next_tables" : {
- "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.acl.acl",
- "nop" : "FabricIngress.acl.acl"
+ "FabricIngress.forwarding.set_next_id_bridging" : "tbl_acl27",
+ "nop" : "tbl_acl27"
},
"default_entry" : {
"action_id" : 1,
@@ -15358,10 +15773,10 @@
"direct_meters" : null,
"action_ids" : [16, 2],
"actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
- "base_default_next" : "FabricIngress.acl.acl",
+ "base_default_next" : "tbl_acl27",
"next_tables" : {
- "FabricIngress.forwarding.pop_mpls_and_next" : "FabricIngress.acl.acl",
- "nop" : "FabricIngress.acl.acl"
+ "FabricIngress.forwarding.pop_mpls_and_next" : "tbl_acl27",
+ "nop" : "tbl_acl27"
},
"default_entry" : {
"action_id" : 2,
@@ -15395,11 +15810,11 @@
"direct_meters" : null,
"action_ids" : [17, 18, 3],
"actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
- "base_default_next" : "FabricIngress.acl.acl",
+ "base_default_next" : "tbl_acl27",
"next_tables" : {
- "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.acl.acl",
- "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.acl.acl",
- "nop" : "FabricIngress.acl.acl"
+ "FabricIngress.forwarding.set_next_id_routing_v4" : "tbl_acl27",
+ "FabricIngress.forwarding.nop_routing_v4" : "tbl_acl27",
+ "nop" : "tbl_acl27"
},
"default_entry" : {
"action_id" : 3,
@@ -15409,11 +15824,214 @@
}
},
{
- "name" : "FabricIngress.acl.acl",
+ "name" : "tbl_acl27",
"id" : 16,
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 60,
+ "line" : 27,
+ "column" : 4,
+ "source_fragment" : "ipv4_addr_t ipv4_src = 0; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [59],
+ "actions" : ["acl27"],
+ "base_default_next" : "node_30",
+ "next_tables" : {
+ "acl27" : "node_30"
+ },
+ "default_entry" : {
+ "action_id" : 59,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl97",
+ "id" : 17,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 97,
+ "column" : 21,
+ "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [55],
+ "actions" : ["acl97"],
+ "base_default_next" : "node_32",
+ "next_tables" : {
+ "acl97" : "node_32"
+ },
+ "default_entry" : {
+ "action_id" : 55,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl101",
+ "id" : 18,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 101,
+ "column" : 25,
+ "source_fragment" : "= hdr.inner_tcp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [53],
+ "actions" : ["acl101"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl101" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 53,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl104",
+ "id" : 19,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 104,
+ "column" : 25,
+ "source_fragment" : "= hdr.inner_udp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [54],
+ "actions" : ["acl104"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl104" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 54,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl108",
+ "id" : 20,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 108,
+ "column" : 21,
+ "source_fragment" : "= hdr.ipv4.src_addr; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [58],
+ "actions" : ["acl108"],
+ "base_default_next" : "node_38",
+ "next_tables" : {
+ "acl108" : "node_38"
+ },
+ "default_entry" : {
+ "action_id" : 58,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl112",
+ "id" : 21,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 112,
+ "column" : 25,
+ "source_fragment" : "= hdr.tcp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [56],
+ "actions" : ["acl112"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl112" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 56,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl115",
+ "id" : 22,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 115,
+ "column" : 25,
+ "source_fragment" : "= hdr.udp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [57],
+ "actions" : ["acl115"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl115" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 57,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "FabricIngress.acl.acl",
+ "id" : 23,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 66,
"column" : 10,
"source_fragment" : "acl"
},
@@ -15426,24 +16044,6 @@
},
{
"match_type" : "ternary",
- "name" : "ip_proto",
- "target" : ["scalars", "userMetadata._ip_proto12"],
- "mask" : null
- },
- {
- "match_type" : "ternary",
- "name" : "l4_sport",
- "target" : ["scalars", "userMetadata._l4_sport13"],
- "mask" : null
- },
- {
- "match_type" : "ternary",
- "name" : "l4_dport",
- "target" : ["scalars", "userMetadata._l4_dport14"],
- "mask" : null
- },
- {
- "match_type" : "ternary",
"name" : "eth_dst",
"target" : ["ethernet", "dst_addr"],
"mask" : null
@@ -15469,13 +16069,19 @@
{
"match_type" : "ternary",
"name" : "ipv4_src",
- "target" : ["ipv4", "src_addr"],
+ "target" : ["scalars", "acl_ipv4_src"],
"mask" : null
},
{
"match_type" : "ternary",
"name" : "ipv4_dst",
- "target" : ["ipv4", "dst_addr"],
+ "target" : ["scalars", "acl_ipv4_dst"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "name" : "ip_proto",
+ "target" : ["scalars", "acl_ip_proto"],
"mask" : null
},
{
@@ -15489,6 +16095,18 @@
"name" : "icmp_code",
"target" : ["icmp", "icmp_code"],
"mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "name" : "l4_sport",
+ "target" : ["scalars", "acl_l4_sport"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "name" : "l4_dport",
+ "target" : ["scalars", "acl_l4_dport"],
+ "mask" : null
}
],
"match_type" : "ternary",
@@ -15499,13 +16117,13 @@
"direct_meters" : null,
"action_ids" : [19, 20, 21, 22, 23],
"actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.set_clone_session_id", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"],
- "base_default_next" : "node_30",
+ "base_default_next" : "node_43",
"next_tables" : {
- "FabricIngress.acl.set_next_id_acl" : "node_30",
- "FabricIngress.acl.punt_to_cpu" : "node_30",
- "FabricIngress.acl.set_clone_session_id" : "node_30",
- "FabricIngress.acl.drop" : "node_30",
- "FabricIngress.acl.nop_acl" : "node_30"
+ "FabricIngress.acl.set_next_id_acl" : "node_43",
+ "FabricIngress.acl.punt_to_cpu" : "node_43",
+ "FabricIngress.acl.set_clone_session_id" : "node_43",
+ "FabricIngress.acl.drop" : "node_43",
+ "FabricIngress.acl.nop_acl" : "node_43"
},
"default_entry" : {
"action_id" : 23,
@@ -15516,7 +16134,7 @@
},
{
"name" : "FabricIngress.next.xconnect",
- "id" : 17,
+ "id" : 24,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 119,
@@ -15560,7 +16178,7 @@
},
{
"name" : "FabricIngress.next.hashed",
- "id" : 18,
+ "id" : 25,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 202,
@@ -15594,7 +16212,7 @@
},
{
"name" : "FabricIngress.next.multicast",
- "id" : 19,
+ "id" : 26,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 236,
@@ -15631,7 +16249,7 @@
},
{
"name" : "FabricIngress.next.next_vlan",
- "id" : 20,
+ "id" : 27,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 86,
@@ -15654,10 +16272,10 @@
"direct_meters" : null,
"action_ids" : [24, 4],
"actions" : ["FabricIngress.next.set_vlan", "nop"],
- "base_default_next" : "node_35",
+ "base_default_next" : "node_48",
"next_tables" : {
- "FabricIngress.next.set_vlan" : "node_35",
- "nop" : "node_35"
+ "FabricIngress.next.set_vlan" : "node_48",
+ "nop" : "node_48"
},
"default_entry" : {
"action_id" : 4,
@@ -15668,7 +16286,7 @@
},
{
"name" : "tbl_port_counter31",
- "id" : 21,
+ "id" : 28,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 31,
@@ -15682,14 +16300,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [53],
+ "action_ids" : [60],
"actions" : ["port_counter31"],
- "base_default_next" : "node_37",
+ "base_default_next" : "node_50",
"next_tables" : {
- "port_counter31" : "node_37"
+ "port_counter31" : "node_50"
},
"default_entry" : {
- "action_id" : 53,
+ "action_id" : 60,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -15697,7 +16315,7 @@
},
{
"name" : "tbl_port_counter34",
- "id" : 22,
+ "id" : 29,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 34,
@@ -15711,14 +16329,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [54],
+ "action_ids" : [61],
"actions" : ["port_counter34"],
"base_default_next" : "FabricIngress.process_set_source_sink.tb_set_source",
"next_tables" : {
"port_counter34" : "FabricIngress.process_set_source_sink.tb_set_source"
},
"default_entry" : {
- "action_id" : 54,
+ "action_id" : 61,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -15726,7 +16344,7 @@
},
{
"name" : "FabricIngress.process_set_source_sink.tb_set_source",
- "id" : 23,
+ "id" : 30,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 46,
@@ -16003,7 +16621,7 @@
}
},
"true_next" : "node_23",
- "false_next" : "FabricIngress.acl.acl"
+ "false_next" : "tbl_acl27"
},
{
"name" : "node_23",
@@ -16081,12 +16699,167 @@
}
},
"true_next" : "FabricIngress.forwarding.routing_v4",
- "false_next" : "FabricIngress.acl.acl"
+ "false_next" : "tbl_acl27"
},
{
"name" : "node_30",
"id" : 11,
"source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 96,
+ "column" : 12,
+ "source_fragment" : "hdr.gtpu.isValid() && hdr.inner_ipv4.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "and",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["gtpu", "$valid$"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["inner_ipv4", "$valid$"]
+ }
+ }
+ }
+ }
+ },
+ "true_next" : "tbl_acl97",
+ "false_next" : "node_36"
+ },
+ {
+ "name" : "node_32",
+ "id" : 12,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 100,
+ "column" : 16,
+ "source_fragment" : "hdr.inner_tcp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["inner_tcp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl101",
+ "false_next" : "node_34"
+ },
+ {
+ "name" : "node_34",
+ "id" : 13,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 103,
+ "column" : 23,
+ "source_fragment" : "hdr.inner_udp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["inner_udp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl104",
+ "false_next" : "FabricIngress.acl.acl"
+ },
+ {
+ "name" : "node_36",
+ "id" : 14,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 107,
+ "column" : 19,
+ "source_fragment" : "hdr.ipv4.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["ipv4", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl108",
+ "false_next" : "FabricIngress.acl.acl"
+ },
+ {
+ "name" : "node_38",
+ "id" : 15,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 111,
+ "column" : 16,
+ "source_fragment" : "hdr.tcp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["tcp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl112",
+ "false_next" : "node_40"
+ },
+ {
+ "name" : "node_40",
+ "id" : 16,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 114,
+ "column" : 23,
+ "source_fragment" : "hdr.udp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["udp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl115",
+ "false_next" : "FabricIngress.acl.acl"
+ },
+ {
+ "name" : "node_43",
+ "id" : 17,
+ "source_info" : {
"filename" : "fabric.p4",
"line" : 73,
"column" : 12,
@@ -16114,8 +16887,8 @@
"true_next" : "FabricIngress.next.xconnect"
},
{
- "name" : "node_35",
- "id" : 12,
+ "name" : "node_48",
+ "id" : 18,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 30,
@@ -16137,11 +16910,11 @@
}
},
"true_next" : "tbl_port_counter31",
- "false_next" : "node_37"
+ "false_next" : "node_50"
},
{
- "name" : "node_37",
- "id" : 13,
+ "name" : "node_50",
+ "id" : 19,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 33,
@@ -16176,11 +16949,11 @@
"column" : 8,
"source_fragment" : "FabricEgress"
},
- "init_table" : "node_42",
+ "init_table" : "node_55",
"tables" : [
{
"name" : "tbl_packetio41",
- "id" : 24,
+ "id" : 31,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 41,
@@ -16194,14 +16967,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [99],
+ "action_ids" : [106],
"actions" : ["packetio41"],
- "base_default_next" : "node_44",
+ "base_default_next" : "node_57",
"next_tables" : {
- "packetio41" : "node_44"
+ "packetio41" : "node_57"
},
"default_entry" : {
- "action_id" : 99,
+ "action_id" : 106,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -16209,7 +16982,7 @@
},
{
"name" : "tbl_packetio44",
- "id" : 25,
+ "id" : 32,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 44,
@@ -16223,14 +16996,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [100],
+ "action_ids" : [107],
"actions" : ["packetio44"],
- "base_default_next" : "node_46",
+ "base_default_next" : "node_59",
"next_tables" : {
- "packetio44" : "node_46"
+ "packetio44" : "node_59"
},
"default_entry" : {
- "action_id" : 100,
+ "action_id" : 107,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -16238,7 +17011,7 @@
},
{
"name" : "tbl_next349",
- "id" : 26,
+ "id" : 33,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 349,
@@ -16252,14 +17025,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [101],
+ "action_ids" : [108],
"actions" : ["next349"],
- "base_default_next" : "node_48",
+ "base_default_next" : "node_61",
"next_tables" : {
- "next349" : "node_48"
+ "next349" : "node_61"
},
"default_entry" : {
- "action_id" : 101,
+ "action_id" : 108,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -16267,7 +17040,7 @@
},
{
"name" : "tbl_egress_next_pop_mpls_if_present",
- "id" : 27,
+ "id" : 34,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 353,
@@ -16281,14 +17054,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [93],
+ "action_ids" : [100],
"actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
"FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 93,
+ "action_id" : 100,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -16296,7 +17069,7 @@
},
{
"name" : "tbl_egress_next_set_mpls",
- "id" : 28,
+ "id" : 35,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 355,
@@ -16310,14 +17083,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [94],
+ "action_ids" : [101],
"actions" : ["FabricEgress.egress_next.set_mpls"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
"FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 94,
+ "action_id" : 101,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -16325,7 +17098,7 @@
},
{
"name" : "FabricEgress.egress_next.egress_vlan",
- "id" : 29,
+ "id" : 36,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 331,
@@ -16352,16 +17125,16 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [95, 96, 97],
+ "action_ids" : [102, 103, 104],
"actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
- "base_default_next" : "node_53",
+ "base_default_next" : "node_66",
"next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "node_53",
- "FabricEgress.egress_next.pop_vlan" : "node_53",
- "FabricEgress.egress_next.drop" : "node_53"
+ "FabricEgress.egress_next.push_vlan" : "node_66",
+ "FabricEgress.egress_next.pop_vlan" : "node_66",
+ "FabricEgress.egress_next.drop" : "node_66"
},
"default_entry" : {
- "action_id" : 97,
+ "action_id" : 104,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -16369,7 +17142,7 @@
},
{
"name" : "tbl_next375",
- "id" : 30,
+ "id" : 37,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 375,
@@ -16383,14 +17156,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [103],
+ "action_ids" : [110],
"actions" : ["next375"],
- "base_default_next" : "node_55",
+ "base_default_next" : "node_68",
"next_tables" : {
- "next375" : "node_55"
+ "next375" : "node_68"
},
"default_entry" : {
- "action_id" : 103,
+ "action_id" : 110,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -16398,7 +17171,7 @@
},
{
"name" : "tbl_next376",
- "id" : 31,
+ "id" : 38,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 376,
@@ -16412,14 +17185,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [102],
+ "action_ids" : [109],
"actions" : ["next376"],
- "base_default_next" : "node_61",
+ "base_default_next" : "node_74",
"next_tables" : {
- "next376" : "node_61"
+ "next376" : "node_74"
},
"default_entry" : {
- "action_id" : 102,
+ "action_id" : 109,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -16427,7 +17200,7 @@
},
{
"name" : "tbl_next379",
- "id" : 32,
+ "id" : 39,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 379,
@@ -16441,14 +17214,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [105],
+ "action_ids" : [112],
"actions" : ["next379"],
- "base_default_next" : "node_59",
+ "base_default_next" : "node_72",
"next_tables" : {
- "next379" : "node_59"
+ "next379" : "node_72"
},
"default_entry" : {
- "action_id" : 105,
+ "action_id" : 112,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -16456,7 +17229,7 @@
},
{
"name" : "tbl_next380",
- "id" : 33,
+ "id" : 40,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 380,
@@ -16470,14 +17243,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [104],
+ "action_ids" : [111],
"actions" : ["next380"],
- "base_default_next" : "node_61",
+ "base_default_next" : "node_74",
"next_tables" : {
- "next380" : "node_61"
+ "next380" : "node_74"
},
"default_entry" : {
- "action_id" : 104,
+ "action_id" : 111,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -16485,7 +17258,7 @@
},
{
"name" : "tbl_spgw_gtpu_encap",
- "id" : 34,
+ "id" : 41,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 339,
@@ -16499,14 +17272,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [98],
+ "action_ids" : [105],
"actions" : ["FabricEgress.spgw.gtpu_encap"],
- "base_default_next" : "node_64",
+ "base_default_next" : "node_77",
"next_tables" : {
- "FabricEgress.spgw.gtpu_encap" : "node_64"
+ "FabricEgress.spgw.gtpu_encap" : "node_77"
},
"default_entry" : {
- "action_id" : 98,
+ "action_id" : 105,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -16514,7 +17287,7 @@
},
{
"name" : "tbl_spgw342",
- "id" : 35,
+ "id" : 42,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 342,
@@ -16528,14 +17301,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [106],
+ "action_ids" : [113],
"actions" : ["spgw342"],
- "base_default_next" : "node_66",
+ "base_default_next" : "node_79",
"next_tables" : {
- "spgw342" : "node_66"
+ "spgw342" : "node_79"
},
"default_entry" : {
- "action_id" : 106,
+ "action_id" : 113,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -16543,7 +17316,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
- "id" : 36,
+ "id" : 43,
"source_info" : {
"filename" : "include/int/int_source.p4",
"line" : 66,
@@ -16582,15 +17355,15 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [59, 55],
+ "action_ids" : [66, 62],
"actions" : ["FabricEgress.process_int_main.process_int_source.int_source_dscp", "nop"],
- "base_default_next" : "node_69",
+ "base_default_next" : "node_82",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_69",
- "nop" : "node_69"
+ "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_82",
+ "nop" : "node_82"
},
"default_entry" : {
- "action_id" : 55,
+ "action_id" : 62,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -16598,7 +17371,7 @@
},
{
"name" : "tbl_act",
- "id" : 37,
+ "id" : 44,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -16606,14 +17379,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [107],
+ "action_ids" : [114],
"actions" : ["act"],
"base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
"next_tables" : {
"act" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
},
"default_entry" : {
- "action_id" : 107,
+ "action_id" : 114,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -16621,7 +17394,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
- "id" : 38,
+ "id" : 45,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 315,
@@ -16642,15 +17415,15 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [60, 56],
+ "action_ids" : [67, 63],
"actions" : ["FabricEgress.process_int_main.process_int_transit.init_metadata", "nop"],
- "base_default_next" : "node_72",
+ "base_default_next" : "node_85",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_72",
- "nop" : "node_72"
+ "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_85",
+ "nop" : "node_85"
},
"default_entry" : {
- "action_id" : 56,
+ "action_id" : 63,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -16658,7 +17431,7 @@
},
{
"name" : "tbl_int_transit420",
- "id" : 39,
+ "id" : 46,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 420,
@@ -16672,14 +17445,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [108],
+ "action_ids" : [115],
"actions" : ["int_transit420"],
- "base_default_next" : "node_74",
+ "base_default_next" : "node_87",
"next_tables" : {
- "int_transit420" : "node_74"
+ "int_transit420" : "node_87"
},
"default_entry" : {
- "action_id" : 108,
+ "action_id" : 115,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -16687,7 +17460,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
- "id" : 40,
+ "id" : 47,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 331,
@@ -16708,7 +17481,7 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 57],
+ "action_ids" : [68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 64],
"actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15", "NoAction"],
"base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
"next_tables" : {
@@ -16731,7 +17504,7 @@
"NoAction" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407"
},
"default_entry" : {
- "action_id" : 57,
+ "action_id" : 64,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
@@ -16751,7 +17524,7 @@
}
],
"action_entry" : {
- "action_id" : 61,
+ "action_id" : 68,
"action_data" : []
},
"priority" : 1
@@ -16770,7 +17543,7 @@
}
],
"action_entry" : {
- "action_id" : 62,
+ "action_id" : 69,
"action_data" : []
},
"priority" : 2
@@ -16789,7 +17562,7 @@
}
],
"action_entry" : {
- "action_id" : 63,
+ "action_id" : 70,
"action_data" : []
},
"priority" : 3
@@ -16808,7 +17581,7 @@
}
],
"action_entry" : {
- "action_id" : 64,
+ "action_id" : 71,
"action_data" : []
},
"priority" : 4
@@ -16827,7 +17600,7 @@
}
],
"action_entry" : {
- "action_id" : 65,
+ "action_id" : 72,
"action_data" : []
},
"priority" : 5
@@ -16846,7 +17619,7 @@
}
],
"action_entry" : {
- "action_id" : 66,
+ "action_id" : 73,
"action_data" : []
},
"priority" : 6
@@ -16865,7 +17638,7 @@
}
],
"action_entry" : {
- "action_id" : 67,
+ "action_id" : 74,
"action_data" : []
},
"priority" : 7
@@ -16884,7 +17657,7 @@
}
],
"action_entry" : {
- "action_id" : 68,
+ "action_id" : 75,
"action_data" : []
},
"priority" : 8
@@ -16903,7 +17676,7 @@
}
],
"action_entry" : {
- "action_id" : 69,
+ "action_id" : 76,
"action_data" : []
},
"priority" : 9
@@ -16922,7 +17695,7 @@
}
],
"action_entry" : {
- "action_id" : 70,
+ "action_id" : 77,
"action_data" : []
},
"priority" : 10
@@ -16941,7 +17714,7 @@
}
],
"action_entry" : {
- "action_id" : 71,
+ "action_id" : 78,
"action_data" : []
},
"priority" : 11
@@ -16960,7 +17733,7 @@
}
],
"action_entry" : {
- "action_id" : 72,
+ "action_id" : 79,
"action_data" : []
},
"priority" : 12
@@ -16979,7 +17752,7 @@
}
],
"action_entry" : {
- "action_id" : 73,
+ "action_id" : 80,
"action_data" : []
},
"priority" : 13
@@ -16998,7 +17771,7 @@
}
],
"action_entry" : {
- "action_id" : 74,
+ "action_id" : 81,
"action_data" : []
},
"priority" : 14
@@ -17017,7 +17790,7 @@
}
],
"action_entry" : {
- "action_id" : 75,
+ "action_id" : 82,
"action_data" : []
},
"priority" : 15
@@ -17036,7 +17809,7 @@
}
],
"action_entry" : {
- "action_id" : 76,
+ "action_id" : 83,
"action_data" : []
},
"priority" : 16
@@ -17045,7 +17818,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
- "id" : 41,
+ "id" : 48,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 375,
@@ -17066,7 +17839,7 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 58],
+ "action_ids" : [84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 65],
"actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15", "NoAction"],
"base_default_next" : "tbl_int_transit425",
"next_tables" : {
@@ -17089,7 +17862,7 @@
"NoAction" : "tbl_int_transit425"
},
"default_entry" : {
- "action_id" : 58,
+ "action_id" : 65,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
@@ -17109,7 +17882,7 @@
}
],
"action_entry" : {
- "action_id" : 77,
+ "action_id" : 84,
"action_data" : []
},
"priority" : 1
@@ -17128,7 +17901,7 @@
}
],
"action_entry" : {
- "action_id" : 78,
+ "action_id" : 85,
"action_data" : []
},
"priority" : 2
@@ -17147,7 +17920,7 @@
}
],
"action_entry" : {
- "action_id" : 79,
+ "action_id" : 86,
"action_data" : []
},
"priority" : 3
@@ -17166,7 +17939,7 @@
}
],
"action_entry" : {
- "action_id" : 80,
+ "action_id" : 87,
"action_data" : []
},
"priority" : 4
@@ -17185,7 +17958,7 @@
}
],
"action_entry" : {
- "action_id" : 81,
+ "action_id" : 88,
"action_data" : []
},
"priority" : 5
@@ -17204,7 +17977,7 @@
}
],
"action_entry" : {
- "action_id" : 82,
+ "action_id" : 89,
"action_data" : []
},
"priority" : 6
@@ -17223,7 +17996,7 @@
}
],
"action_entry" : {
- "action_id" : 83,
+ "action_id" : 90,
"action_data" : []
},
"priority" : 7
@@ -17242,7 +18015,7 @@
}
],
"action_entry" : {
- "action_id" : 84,
+ "action_id" : 91,
"action_data" : []
},
"priority" : 8
@@ -17261,7 +18034,7 @@
}
],
"action_entry" : {
- "action_id" : 85,
+ "action_id" : 92,
"action_data" : []
},
"priority" : 9
@@ -17280,7 +18053,7 @@
}
],
"action_entry" : {
- "action_id" : 86,
+ "action_id" : 93,
"action_data" : []
},
"priority" : 10
@@ -17299,7 +18072,7 @@
}
],
"action_entry" : {
- "action_id" : 87,
+ "action_id" : 94,
"action_data" : []
},
"priority" : 11
@@ -17318,7 +18091,7 @@
}
],
"action_entry" : {
- "action_id" : 88,
+ "action_id" : 95,
"action_data" : []
},
"priority" : 12
@@ -17337,7 +18110,7 @@
}
],
"action_entry" : {
- "action_id" : 89,
+ "action_id" : 96,
"action_data" : []
},
"priority" : 13
@@ -17356,7 +18129,7 @@
}
],
"action_entry" : {
- "action_id" : 90,
+ "action_id" : 97,
"action_data" : []
},
"priority" : 14
@@ -17375,7 +18148,7 @@
}
],
"action_entry" : {
- "action_id" : 91,
+ "action_id" : 98,
"action_data" : []
},
"priority" : 15
@@ -17394,7 +18167,7 @@
}
],
"action_entry" : {
- "action_id" : 92,
+ "action_id" : 99,
"action_data" : []
},
"priority" : 16
@@ -17403,7 +18176,7 @@
},
{
"name" : "tbl_int_transit425",
- "id" : 42,
+ "id" : 49,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 425,
@@ -17417,14 +18190,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [110],
+ "action_ids" : [117],
"actions" : ["int_transit425"],
- "base_default_next" : "node_78",
+ "base_default_next" : "node_91",
"next_tables" : {
- "int_transit425" : "node_78"
+ "int_transit425" : "node_91"
},
"default_entry" : {
- "action_id" : 110,
+ "action_id" : 117,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -17432,7 +18205,7 @@
},
{
"name" : "tbl_int_transit428",
- "id" : 43,
+ "id" : 50,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 428,
@@ -17446,14 +18219,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [109],
+ "action_ids" : [116],
"actions" : ["int_transit428"],
- "base_default_next" : "node_80",
+ "base_default_next" : "node_93",
"next_tables" : {
- "int_transit428" : "node_80"
+ "int_transit428" : "node_93"
},
"default_entry" : {
- "action_id" : 109,
+ "action_id" : 116,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -17461,7 +18234,7 @@
},
{
"name" : "tbl_int_transit431",
- "id" : 44,
+ "id" : 51,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 431,
@@ -17475,14 +18248,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [111],
+ "action_ids" : [118],
"actions" : ["int_transit431"],
- "base_default_next" : "node_82",
+ "base_default_next" : "node_95",
"next_tables" : {
- "int_transit431" : "node_82"
+ "int_transit431" : "node_95"
},
"default_entry" : {
- "action_id" : 111,
+ "action_id" : 118,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -17490,7 +18263,7 @@
},
{
"name" : "tbl_int_transit434",
- "id" : 45,
+ "id" : 52,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 434,
@@ -17504,14 +18277,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [112],
+ "action_ids" : [119],
"actions" : ["int_transit434"],
"base_default_next" : null,
"next_tables" : {
"int_transit434" : null
},
"default_entry" : {
- "action_id" : 112,
+ "action_id" : 119,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -17521,8 +18294,8 @@
"action_profiles" : [],
"conditionals" : [
{
- "name" : "node_42",
- "id" : 14,
+ "name" : "node_55",
+ "id" : 20,
"source_info" : {
"filename" : "fabric.p4",
"line" : 103,
@@ -17541,11 +18314,11 @@
}
},
"true_next" : "tbl_packetio41",
- "false_next" : "node_44"
+ "false_next" : "node_57"
},
{
- "name" : "node_44",
- "id" : 15,
+ "name" : "node_57",
+ "id" : 21,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 43,
@@ -17567,11 +18340,11 @@
}
},
"true_next" : "tbl_packetio44",
- "false_next" : "node_46"
+ "false_next" : "node_59"
},
{
- "name" : "node_46",
- "id" : 16,
+ "name" : "node_59",
+ "id" : 22,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 347,
@@ -17610,11 +18383,11 @@
}
},
"true_next" : "tbl_next349",
- "false_next" : "node_48"
+ "false_next" : "node_61"
},
{
- "name" : "node_48",
- "id" : 17,
+ "name" : "node_61",
+ "id" : 23,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 352,
@@ -17635,12 +18408,12 @@
}
}
},
- "true_next" : "node_49",
+ "true_next" : "node_62",
"false_next" : "tbl_egress_next_set_mpls"
},
{
- "name" : "node_49",
- "id" : 18,
+ "name" : "node_62",
+ "id" : 24,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 353,
@@ -17662,8 +18435,8 @@
"false_next" : "FabricEgress.egress_next.egress_vlan"
},
{
- "name" : "node_53",
- "id" : 19,
+ "name" : "node_66",
+ "id" : 25,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 374,
@@ -17682,11 +18455,11 @@
}
},
"true_next" : "tbl_next375",
- "false_next" : "node_57"
+ "false_next" : "node_70"
},
{
- "name" : "node_55",
- "id" : 20,
+ "name" : "node_68",
+ "id" : 26,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 376,
@@ -17708,11 +18481,11 @@
}
},
"true_next" : "tbl_next376",
- "false_next" : "node_61"
+ "false_next" : "node_74"
},
{
- "name" : "node_57",
- "id" : 21,
+ "name" : "node_70",
+ "id" : 27,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 378,
@@ -17751,11 +18524,11 @@
}
},
"true_next" : "tbl_next379",
- "false_next" : "node_61"
+ "false_next" : "node_74"
},
{
- "name" : "node_59",
- "id" : 22,
+ "name" : "node_72",
+ "id" : 28,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 380,
@@ -17777,11 +18550,11 @@
}
},
"true_next" : "tbl_next380",
- "false_next" : "node_61"
+ "false_next" : "node_74"
},
{
- "name" : "node_61",
- "id" : 23,
+ "name" : "node_74",
+ "id" : 29,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 337,
@@ -17806,12 +18579,12 @@
}
}
},
- "true_next" : "node_62",
- "false_next" : "node_66"
+ "true_next" : "node_75",
+ "false_next" : "node_79"
},
{
- "name" : "node_62",
- "id" : 24,
+ "name" : "node_75",
+ "id" : 30,
"source_info" : {
"filename" : "fabric.p4",
"line" : 106,
@@ -17830,11 +18603,11 @@
}
},
"true_next" : "tbl_spgw_gtpu_encap",
- "false_next" : "node_64"
+ "false_next" : "node_77"
},
{
- "name" : "node_64",
- "id" : 25,
+ "name" : "node_77",
+ "id" : 31,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 341,
@@ -17860,11 +18633,11 @@
}
},
"true_next" : "tbl_spgw342",
- "false_next" : "node_66"
+ "false_next" : "node_79"
},
{
- "name" : "node_66",
- "id" : 26,
+ "name" : "node_79",
+ "id" : 32,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 102,
@@ -17940,11 +18713,11 @@
}
},
"false_next" : null,
- "true_next" : "node_67"
+ "true_next" : "node_80"
},
{
- "name" : "node_67",
- "id" : 27,
+ "name" : "node_80",
+ "id" : 33,
"source_info" : {
"filename" : "fabric.p4",
"line" : 112,
@@ -17963,11 +18736,11 @@
}
},
"true_next" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
- "false_next" : "node_69"
+ "false_next" : "node_82"
},
{
- "name" : "node_69",
- "id" : 28,
+ "name" : "node_82",
+ "id" : 34,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 110,
@@ -17989,8 +18762,8 @@
"true_next" : "tbl_act"
},
{
- "name" : "node_72",
- "id" : 29,
+ "name" : "node_85",
+ "id" : 35,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 419,
@@ -18016,11 +18789,11 @@
}
},
"true_next" : "tbl_int_transit420",
- "false_next" : "node_74"
+ "false_next" : "node_87"
},
{
- "name" : "node_74",
- "id" : 30,
+ "name" : "node_87",
+ "id" : 36,
"expression" : {
"type" : "expression",
"value" : {
@@ -18043,8 +18816,8 @@
"true_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003"
},
{
- "name" : "node_78",
- "id" : 31,
+ "name" : "node_91",
+ "id" : 37,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 427,
@@ -18063,11 +18836,11 @@
}
},
"true_next" : "tbl_int_transit428",
- "false_next" : "node_80"
+ "false_next" : "node_93"
},
{
- "name" : "node_80",
- "id" : 32,
+ "name" : "node_93",
+ "id" : 38,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 430,
@@ -18086,11 +18859,11 @@
}
},
"true_next" : "tbl_int_transit431",
- "false_next" : "node_82"
+ "false_next" : "node_95"
},
{
- "name" : "node_82",
- "id" : 33,
+ "name" : "node_95",
+ "id" : 39,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 433,
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/p4info.txt b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/p4info.txt
index bc8a97f..11adb09 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/p4info.txt
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/p4info.txt
@@ -192,70 +192,70 @@
}
match_fields {
id: 2
- name: "ip_proto"
- bitwidth: 8
- match_type: TERNARY
- }
- match_fields {
- id: 3
- name: "l4_sport"
- bitwidth: 16
- match_type: TERNARY
- }
- match_fields {
- id: 4
- name: "l4_dport"
- bitwidth: 16
- match_type: TERNARY
- }
- match_fields {
- id: 5
name: "eth_dst"
bitwidth: 48
match_type: TERNARY
}
match_fields {
- id: 6
+ id: 3
name: "eth_src"
bitwidth: 48
match_type: TERNARY
}
match_fields {
- id: 7
+ id: 4
name: "vlan_id"
bitwidth: 12
match_type: TERNARY
}
match_fields {
- id: 8
+ id: 5
name: "eth_type"
bitwidth: 16
match_type: TERNARY
}
match_fields {
- id: 9
+ id: 6
name: "ipv4_src"
bitwidth: 32
match_type: TERNARY
}
match_fields {
- id: 10
+ id: 7
name: "ipv4_dst"
bitwidth: 32
match_type: TERNARY
}
match_fields {
- id: 11
+ id: 8
+ name: "ip_proto"
+ bitwidth: 8
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 9
name: "icmp_type"
bitwidth: 8
match_type: TERNARY
}
match_fields {
- id: 12
+ id: 10
name: "icmp_code"
bitwidth: 8
match_type: TERNARY
}
+ match_fields {
+ id: 11
+ name: "l4_sport"
+ bitwidth: 16
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 12
+ name: "l4_dport"
+ bitwidth: 16
+ match_type: TERNARY
+ }
action_refs {
id: 23623126
}
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json
index df6af4c..0e33161 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json
@@ -14,6 +14,11 @@
["tmp_7", 64, false],
["tmp_8", 32, false],
["tmp_9", 32, false],
+ ["acl_ipv4_src", 32, false],
+ ["acl_ipv4_dst", 32, false],
+ ["acl_ip_proto", 8, false],
+ ["acl_l4_sport", 16, false],
+ ["acl_l4_dport", 16, false],
["userMetadata._ip_eth_type0", 16, false],
["userMetadata._vlan_id1", 12, false],
["userMetadata._vlan_pri2", 3, false],
@@ -370,7 +375,7 @@
"name" : "fl",
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 46,
+ "line" : 52,
"column" : 40,
"source_fragment" : "{standard_metadata.ingress_port}"
},
@@ -1884,7 +1889,7 @@
"binding" : "FabricIngress.acl.acl",
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 30,
+ "line" : 36,
"column" : 50,
"source_fragment" : "acl_counter"
}
@@ -2515,7 +2520,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 33,
+ "line" : 39,
"column" : 32,
"source_fragment" : "= next_id; ..."
}
@@ -2541,7 +2546,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 39,
+ "line" : 45,
"column" : 8,
"source_fragment" : "standard_metadata.egress_spec = 255"
}
@@ -2570,7 +2575,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 40,
+ "line" : 46,
"column" : 34,
"source_fragment" : "= true; ..."
}
@@ -2601,7 +2606,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 46,
+ "line" : 52,
"column" : 8,
"source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
}
@@ -2623,7 +2628,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 51,
+ "line" : 57,
"column" : 8,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -2652,7 +2657,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 52,
+ "line" : 58,
"column" : 34,
"source_fragment" : "= true; ..."
}
@@ -6236,7 +6241,7 @@
]
},
{
- "name" : "port_counter31",
+ "name" : "acl101",
"id" : 51,
"runtime_data" : [],
"primitives" : [
@@ -6245,6 +6250,416 @@
"parameters" : [
{
"type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_tcp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 101,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.inner_tcp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_tcp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 102,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.inner_tcp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl104",
+ "id" : 52,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_udp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 104,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.inner_udp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_udp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 105,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.inner_udp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl97",
+ "id" : 53,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_src"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "src_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 97,
+ "column" : 12,
+ "source_fragment" : "ipv4_src = hdr.inner_ipv4.src_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_dst"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "dst_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 98,
+ "column" : 12,
+ "source_fragment" : "ipv4_dst = hdr.inner_ipv4.dst_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ip_proto"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "protocol"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 99,
+ "column" : 12,
+ "source_fragment" : "ip_proto = hdr.inner_ipv4.protocol"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl112",
+ "id" : 54,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["tcp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 112,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.tcp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["tcp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 113,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.tcp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl115",
+ "id" : 55,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["udp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 115,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.udp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["udp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 116,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.udp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl108",
+ "id" : 56,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_src"]
+ },
+ {
+ "type" : "field",
+ "value" : ["ipv4", "src_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 108,
+ "column" : 12,
+ "source_fragment" : "ipv4_src = hdr.ipv4.src_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_dst"]
+ },
+ {
+ "type" : "field",
+ "value" : ["ipv4", "dst_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 109,
+ "column" : 12,
+ "source_fragment" : "ipv4_dst = hdr.ipv4.dst_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ip_proto"]
+ },
+ {
+ "type" : "field",
+ "value" : ["ipv4", "protocol"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 110,
+ "column" : 12,
+ "source_fragment" : "ip_proto = hdr.ipv4.protocol"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl27",
+ "id" : 57,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_src"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 27,
+ "column" : 4,
+ "source_fragment" : "ipv4_addr_t ipv4_src = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_dst"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 28,
+ "column" : 4,
+ "source_fragment" : "ipv4_addr_t ipv4_dst = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ip_proto"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 29,
+ "column" : 4,
+ "source_fragment" : "bit<8> ip_proto = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x0000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 30,
+ "column" : 4,
+ "source_fragment" : "l4_port_t l4_sport = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x0000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 31,
+ "column" : 4,
+ "source_fragment" : "l4_port_t l4_dport = 0;"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "port_counter31",
+ "id" : 58,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
"value" : ["scalars", "tmp_8"]
},
{
@@ -6295,7 +6710,7 @@
},
{
"name" : "port_counter34",
- "id" : 52,
+ "id" : 59,
"runtime_data" : [],
"primitives" : [
{
@@ -6353,7 +6768,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_mpls_if_present",
- "id" : 53,
+ "id" : 60,
"runtime_data" : [],
"primitives" : [
{
@@ -6394,7 +6809,7 @@
},
{
"name" : "FabricEgress.egress_next.set_mpls",
- "id" : 54,
+ "id" : 61,
"runtime_data" : [],
"primitives" : [
{
@@ -6511,7 +6926,7 @@
},
{
"name" : "FabricEgress.egress_next.push_vlan",
- "id" : 55,
+ "id" : 62,
"runtime_data" : [],
"primitives" : [
{
@@ -6609,7 +7024,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_vlan",
- "id" : 56,
+ "id" : 63,
"runtime_data" : [],
"primitives" : [
{
@@ -6631,7 +7046,7 @@
},
{
"name" : "FabricEgress.egress_next.drop",
- "id" : 57,
+ "id" : 64,
"runtime_data" : [],
"primitives" : [
{
@@ -6653,7 +7068,7 @@
},
{
"name" : "FabricEgress.spgw.gtpu_encap",
- "id" : 58,
+ "id" : 65,
"runtime_data" : [],
"primitives" : [
{
@@ -7245,7 +7660,7 @@
},
{
"name" : "packetio41",
- "id" : 59,
+ "id" : 66,
"runtime_data" : [],
"primitives" : [
{
@@ -7262,7 +7677,7 @@
},
{
"name" : "packetio44",
- "id" : 60,
+ "id" : 67,
"runtime_data" : [],
"primitives" : [
{
@@ -7313,7 +7728,7 @@
},
{
"name" : "next349",
- "id" : 61,
+ "id" : 68,
"runtime_data" : [],
"primitives" : [
{
@@ -7335,7 +7750,7 @@
},
{
"name" : "next376",
- "id" : 62,
+ "id" : 69,
"runtime_data" : [],
"primitives" : [
{
@@ -7357,7 +7772,7 @@
},
{
"name" : "next375",
- "id" : 63,
+ "id" : 70,
"runtime_data" : [],
"primitives" : [
{
@@ -7406,7 +7821,7 @@
},
{
"name" : "next380",
- "id" : 64,
+ "id" : 71,
"runtime_data" : [],
"primitives" : [
{
@@ -7428,7 +7843,7 @@
},
{
"name" : "next379",
- "id" : 65,
+ "id" : 72,
"runtime_data" : [],
"primitives" : [
{
@@ -7477,7 +7892,7 @@
},
{
"name" : "spgw342",
- "id" : 66,
+ "id" : 73,
"runtime_data" : [],
"primitives" : [
{
@@ -8225,10 +8640,10 @@
"direct_meters" : null,
"action_ids" : [13, 0],
"actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
- "base_default_next" : "FabricIngress.acl.acl",
+ "base_default_next" : "tbl_acl27",
"next_tables" : {
- "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.acl.acl",
- "nop" : "FabricIngress.acl.acl"
+ "FabricIngress.forwarding.set_next_id_bridging" : "tbl_acl27",
+ "nop" : "tbl_acl27"
},
"default_entry" : {
"action_id" : 0,
@@ -8262,10 +8677,10 @@
"direct_meters" : null,
"action_ids" : [14, 1],
"actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
- "base_default_next" : "FabricIngress.acl.acl",
+ "base_default_next" : "tbl_acl27",
"next_tables" : {
- "FabricIngress.forwarding.pop_mpls_and_next" : "FabricIngress.acl.acl",
- "nop" : "FabricIngress.acl.acl"
+ "FabricIngress.forwarding.pop_mpls_and_next" : "tbl_acl27",
+ "nop" : "tbl_acl27"
},
"default_entry" : {
"action_id" : 1,
@@ -8299,11 +8714,11 @@
"direct_meters" : null,
"action_ids" : [15, 16, 2],
"actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
- "base_default_next" : "FabricIngress.acl.acl",
+ "base_default_next" : "tbl_acl27",
"next_tables" : {
- "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.acl.acl",
- "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.acl.acl",
- "nop" : "FabricIngress.acl.acl"
+ "FabricIngress.forwarding.set_next_id_routing_v4" : "tbl_acl27",
+ "FabricIngress.forwarding.nop_routing_v4" : "tbl_acl27",
+ "nop" : "tbl_acl27"
},
"default_entry" : {
"action_id" : 2,
@@ -8313,11 +8728,214 @@
}
},
{
- "name" : "FabricIngress.acl.acl",
+ "name" : "tbl_acl27",
"id" : 16,
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 60,
+ "line" : 27,
+ "column" : 4,
+ "source_fragment" : "ipv4_addr_t ipv4_src = 0; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [57],
+ "actions" : ["acl27"],
+ "base_default_next" : "node_30",
+ "next_tables" : {
+ "acl27" : "node_30"
+ },
+ "default_entry" : {
+ "action_id" : 57,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl97",
+ "id" : 17,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 97,
+ "column" : 21,
+ "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [53],
+ "actions" : ["acl97"],
+ "base_default_next" : "node_32",
+ "next_tables" : {
+ "acl97" : "node_32"
+ },
+ "default_entry" : {
+ "action_id" : 53,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl101",
+ "id" : 18,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 101,
+ "column" : 25,
+ "source_fragment" : "= hdr.inner_tcp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [51],
+ "actions" : ["acl101"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl101" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 51,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl104",
+ "id" : 19,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 104,
+ "column" : 25,
+ "source_fragment" : "= hdr.inner_udp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [52],
+ "actions" : ["acl104"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl104" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 52,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl108",
+ "id" : 20,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 108,
+ "column" : 21,
+ "source_fragment" : "= hdr.ipv4.src_addr; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [56],
+ "actions" : ["acl108"],
+ "base_default_next" : "node_38",
+ "next_tables" : {
+ "acl108" : "node_38"
+ },
+ "default_entry" : {
+ "action_id" : 56,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl112",
+ "id" : 21,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 112,
+ "column" : 25,
+ "source_fragment" : "= hdr.tcp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [54],
+ "actions" : ["acl112"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl112" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 54,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl115",
+ "id" : 22,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 115,
+ "column" : 25,
+ "source_fragment" : "= hdr.udp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [55],
+ "actions" : ["acl115"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl115" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 55,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "FabricIngress.acl.acl",
+ "id" : 23,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 66,
"column" : 10,
"source_fragment" : "acl"
},
@@ -8330,24 +8948,6 @@
},
{
"match_type" : "ternary",
- "name" : "ip_proto",
- "target" : ["scalars", "userMetadata._ip_proto12"],
- "mask" : null
- },
- {
- "match_type" : "ternary",
- "name" : "l4_sport",
- "target" : ["scalars", "userMetadata._l4_sport13"],
- "mask" : null
- },
- {
- "match_type" : "ternary",
- "name" : "l4_dport",
- "target" : ["scalars", "userMetadata._l4_dport14"],
- "mask" : null
- },
- {
- "match_type" : "ternary",
"name" : "eth_dst",
"target" : ["ethernet", "dst_addr"],
"mask" : null
@@ -8373,13 +8973,19 @@
{
"match_type" : "ternary",
"name" : "ipv4_src",
- "target" : ["ipv4", "src_addr"],
+ "target" : ["scalars", "acl_ipv4_src"],
"mask" : null
},
{
"match_type" : "ternary",
"name" : "ipv4_dst",
- "target" : ["ipv4", "dst_addr"],
+ "target" : ["scalars", "acl_ipv4_dst"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "name" : "ip_proto",
+ "target" : ["scalars", "acl_ip_proto"],
"mask" : null
},
{
@@ -8393,6 +8999,18 @@
"name" : "icmp_code",
"target" : ["icmp", "icmp_code"],
"mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "name" : "l4_sport",
+ "target" : ["scalars", "acl_l4_sport"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "name" : "l4_dport",
+ "target" : ["scalars", "acl_l4_dport"],
+ "mask" : null
}
],
"match_type" : "ternary",
@@ -8403,13 +9021,13 @@
"direct_meters" : null,
"action_ids" : [17, 18, 19, 20, 21],
"actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.set_clone_session_id", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"],
- "base_default_next" : "node_30",
+ "base_default_next" : "node_43",
"next_tables" : {
- "FabricIngress.acl.set_next_id_acl" : "node_30",
- "FabricIngress.acl.punt_to_cpu" : "node_30",
- "FabricIngress.acl.set_clone_session_id" : "node_30",
- "FabricIngress.acl.drop" : "node_30",
- "FabricIngress.acl.nop_acl" : "node_30"
+ "FabricIngress.acl.set_next_id_acl" : "node_43",
+ "FabricIngress.acl.punt_to_cpu" : "node_43",
+ "FabricIngress.acl.set_clone_session_id" : "node_43",
+ "FabricIngress.acl.drop" : "node_43",
+ "FabricIngress.acl.nop_acl" : "node_43"
},
"default_entry" : {
"action_id" : 21,
@@ -8420,7 +9038,7 @@
},
{
"name" : "FabricIngress.next.xconnect",
- "id" : 17,
+ "id" : 24,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 119,
@@ -8464,7 +9082,7 @@
},
{
"name" : "FabricIngress.next.hashed",
- "id" : 18,
+ "id" : 25,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 202,
@@ -8498,7 +9116,7 @@
},
{
"name" : "FabricIngress.next.multicast",
- "id" : 19,
+ "id" : 26,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 236,
@@ -8535,7 +9153,7 @@
},
{
"name" : "FabricIngress.next.next_vlan",
- "id" : 20,
+ "id" : 27,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 86,
@@ -8558,10 +9176,10 @@
"direct_meters" : null,
"action_ids" : [22, 3],
"actions" : ["FabricIngress.next.set_vlan", "nop"],
- "base_default_next" : "node_35",
+ "base_default_next" : "node_48",
"next_tables" : {
- "FabricIngress.next.set_vlan" : "node_35",
- "nop" : "node_35"
+ "FabricIngress.next.set_vlan" : "node_48",
+ "nop" : "node_48"
},
"default_entry" : {
"action_id" : 3,
@@ -8572,7 +9190,7 @@
},
{
"name" : "tbl_port_counter31",
- "id" : 21,
+ "id" : 28,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 31,
@@ -8586,14 +9204,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [51],
+ "action_ids" : [58],
"actions" : ["port_counter31"],
- "base_default_next" : "node_37",
+ "base_default_next" : "node_50",
"next_tables" : {
- "port_counter31" : "node_37"
+ "port_counter31" : "node_50"
},
"default_entry" : {
- "action_id" : 51,
+ "action_id" : 58,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -8601,7 +9219,7 @@
},
{
"name" : "tbl_port_counter34",
- "id" : 22,
+ "id" : 29,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 34,
@@ -8615,14 +9233,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [52],
+ "action_ids" : [59],
"actions" : ["port_counter34"],
"base_default_next" : null,
"next_tables" : {
"port_counter34" : null
},
"default_entry" : {
- "action_id" : 52,
+ "action_id" : 59,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -8870,7 +9488,7 @@
}
},
"true_next" : "node_23",
- "false_next" : "FabricIngress.acl.acl"
+ "false_next" : "tbl_acl27"
},
{
"name" : "node_23",
@@ -8948,12 +9566,167 @@
}
},
"true_next" : "FabricIngress.forwarding.routing_v4",
- "false_next" : "FabricIngress.acl.acl"
+ "false_next" : "tbl_acl27"
},
{
"name" : "node_30",
"id" : 11,
"source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 96,
+ "column" : 12,
+ "source_fragment" : "hdr.gtpu.isValid() && hdr.inner_ipv4.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "and",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["gtpu", "$valid$"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["inner_ipv4", "$valid$"]
+ }
+ }
+ }
+ }
+ },
+ "true_next" : "tbl_acl97",
+ "false_next" : "node_36"
+ },
+ {
+ "name" : "node_32",
+ "id" : 12,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 100,
+ "column" : 16,
+ "source_fragment" : "hdr.inner_tcp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["inner_tcp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl101",
+ "false_next" : "node_34"
+ },
+ {
+ "name" : "node_34",
+ "id" : 13,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 103,
+ "column" : 23,
+ "source_fragment" : "hdr.inner_udp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["inner_udp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl104",
+ "false_next" : "FabricIngress.acl.acl"
+ },
+ {
+ "name" : "node_36",
+ "id" : 14,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 107,
+ "column" : 19,
+ "source_fragment" : "hdr.ipv4.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["ipv4", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl108",
+ "false_next" : "FabricIngress.acl.acl"
+ },
+ {
+ "name" : "node_38",
+ "id" : 15,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 111,
+ "column" : 16,
+ "source_fragment" : "hdr.tcp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["tcp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl112",
+ "false_next" : "node_40"
+ },
+ {
+ "name" : "node_40",
+ "id" : 16,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 114,
+ "column" : 23,
+ "source_fragment" : "hdr.udp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["udp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl115",
+ "false_next" : "FabricIngress.acl.acl"
+ },
+ {
+ "name" : "node_43",
+ "id" : 17,
+ "source_info" : {
"filename" : "fabric.p4",
"line" : 73,
"column" : 12,
@@ -8981,8 +9754,8 @@
"true_next" : "FabricIngress.next.xconnect"
},
{
- "name" : "node_35",
- "id" : 12,
+ "name" : "node_48",
+ "id" : 18,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 30,
@@ -9004,11 +9777,11 @@
}
},
"true_next" : "tbl_port_counter31",
- "false_next" : "node_37"
+ "false_next" : "node_50"
},
{
- "name" : "node_37",
- "id" : 13,
+ "name" : "node_50",
+ "id" : 19,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 33,
@@ -9043,11 +9816,11 @@
"column" : 8,
"source_fragment" : "FabricEgress"
},
- "init_table" : "node_41",
+ "init_table" : "node_54",
"tables" : [
{
"name" : "tbl_packetio41",
- "id" : 23,
+ "id" : 30,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 41,
@@ -9061,14 +9834,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [59],
+ "action_ids" : [66],
"actions" : ["packetio41"],
- "base_default_next" : "node_43",
+ "base_default_next" : "node_56",
"next_tables" : {
- "packetio41" : "node_43"
+ "packetio41" : "node_56"
},
"default_entry" : {
- "action_id" : 59,
+ "action_id" : 66,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -9076,7 +9849,7 @@
},
{
"name" : "tbl_packetio44",
- "id" : 24,
+ "id" : 31,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 44,
@@ -9090,14 +9863,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [60],
+ "action_ids" : [67],
"actions" : ["packetio44"],
- "base_default_next" : "node_45",
+ "base_default_next" : "node_58",
"next_tables" : {
- "packetio44" : "node_45"
+ "packetio44" : "node_58"
},
"default_entry" : {
- "action_id" : 60,
+ "action_id" : 67,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -9105,7 +9878,7 @@
},
{
"name" : "tbl_next349",
- "id" : 25,
+ "id" : 32,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 349,
@@ -9119,14 +9892,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [61],
+ "action_ids" : [68],
"actions" : ["next349"],
- "base_default_next" : "node_47",
+ "base_default_next" : "node_60",
"next_tables" : {
- "next349" : "node_47"
+ "next349" : "node_60"
},
"default_entry" : {
- "action_id" : 61,
+ "action_id" : 68,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -9134,7 +9907,7 @@
},
{
"name" : "tbl_egress_next_pop_mpls_if_present",
- "id" : 26,
+ "id" : 33,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 353,
@@ -9148,14 +9921,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [53],
+ "action_ids" : [60],
"actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
"FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 53,
+ "action_id" : 60,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -9163,7 +9936,7 @@
},
{
"name" : "tbl_egress_next_set_mpls",
- "id" : 27,
+ "id" : 34,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 355,
@@ -9177,14 +9950,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [54],
+ "action_ids" : [61],
"actions" : ["FabricEgress.egress_next.set_mpls"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
"FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 54,
+ "action_id" : 61,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -9192,7 +9965,7 @@
},
{
"name" : "FabricEgress.egress_next.egress_vlan",
- "id" : 28,
+ "id" : 35,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 331,
@@ -9219,16 +9992,16 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [55, 56, 57],
+ "action_ids" : [62, 63, 64],
"actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
- "base_default_next" : "node_52",
+ "base_default_next" : "node_65",
"next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "node_52",
- "FabricEgress.egress_next.pop_vlan" : "node_52",
- "FabricEgress.egress_next.drop" : "node_52"
+ "FabricEgress.egress_next.push_vlan" : "node_65",
+ "FabricEgress.egress_next.pop_vlan" : "node_65",
+ "FabricEgress.egress_next.drop" : "node_65"
},
"default_entry" : {
- "action_id" : 57,
+ "action_id" : 64,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -9236,7 +10009,7 @@
},
{
"name" : "tbl_next375",
- "id" : 29,
+ "id" : 36,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 375,
@@ -9250,14 +10023,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [63],
+ "action_ids" : [70],
"actions" : ["next375"],
- "base_default_next" : "node_54",
+ "base_default_next" : "node_67",
"next_tables" : {
- "next375" : "node_54"
+ "next375" : "node_67"
},
"default_entry" : {
- "action_id" : 63,
+ "action_id" : 70,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -9265,7 +10038,7 @@
},
{
"name" : "tbl_next376",
- "id" : 30,
+ "id" : 37,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 376,
@@ -9279,14 +10052,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [62],
+ "action_ids" : [69],
"actions" : ["next376"],
- "base_default_next" : "node_60",
+ "base_default_next" : "node_73",
"next_tables" : {
- "next376" : "node_60"
+ "next376" : "node_73"
},
"default_entry" : {
- "action_id" : 62,
+ "action_id" : 69,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -9294,7 +10067,7 @@
},
{
"name" : "tbl_next379",
- "id" : 31,
+ "id" : 38,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 379,
@@ -9308,14 +10081,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [65],
+ "action_ids" : [72],
"actions" : ["next379"],
- "base_default_next" : "node_58",
+ "base_default_next" : "node_71",
"next_tables" : {
- "next379" : "node_58"
+ "next379" : "node_71"
},
"default_entry" : {
- "action_id" : 65,
+ "action_id" : 72,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -9323,7 +10096,7 @@
},
{
"name" : "tbl_next380",
- "id" : 32,
+ "id" : 39,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 380,
@@ -9337,14 +10110,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [64],
+ "action_ids" : [71],
"actions" : ["next380"],
- "base_default_next" : "node_60",
+ "base_default_next" : "node_73",
"next_tables" : {
- "next380" : "node_60"
+ "next380" : "node_73"
},
"default_entry" : {
- "action_id" : 64,
+ "action_id" : 71,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -9352,7 +10125,7 @@
},
{
"name" : "tbl_spgw_gtpu_encap",
- "id" : 33,
+ "id" : 40,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 339,
@@ -9366,14 +10139,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [58],
+ "action_ids" : [65],
"actions" : ["FabricEgress.spgw.gtpu_encap"],
- "base_default_next" : "node_63",
+ "base_default_next" : "node_76",
"next_tables" : {
- "FabricEgress.spgw.gtpu_encap" : "node_63"
+ "FabricEgress.spgw.gtpu_encap" : "node_76"
},
"default_entry" : {
- "action_id" : 58,
+ "action_id" : 65,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -9381,7 +10154,7 @@
},
{
"name" : "tbl_spgw342",
- "id" : 34,
+ "id" : 41,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 342,
@@ -9395,14 +10168,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [66],
+ "action_ids" : [73],
"actions" : ["spgw342"],
"base_default_next" : null,
"next_tables" : {
"spgw342" : null
},
"default_entry" : {
- "action_id" : 66,
+ "action_id" : 73,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -9412,8 +10185,8 @@
"action_profiles" : [],
"conditionals" : [
{
- "name" : "node_41",
- "id" : 14,
+ "name" : "node_54",
+ "id" : 20,
"source_info" : {
"filename" : "fabric.p4",
"line" : 103,
@@ -9432,11 +10205,11 @@
}
},
"true_next" : "tbl_packetio41",
- "false_next" : "node_43"
+ "false_next" : "node_56"
},
{
- "name" : "node_43",
- "id" : 15,
+ "name" : "node_56",
+ "id" : 21,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 43,
@@ -9458,11 +10231,11 @@
}
},
"true_next" : "tbl_packetio44",
- "false_next" : "node_45"
+ "false_next" : "node_58"
},
{
- "name" : "node_45",
- "id" : 16,
+ "name" : "node_58",
+ "id" : 22,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 347,
@@ -9501,11 +10274,11 @@
}
},
"true_next" : "tbl_next349",
- "false_next" : "node_47"
+ "false_next" : "node_60"
},
{
- "name" : "node_47",
- "id" : 17,
+ "name" : "node_60",
+ "id" : 23,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 352,
@@ -9526,12 +10299,12 @@
}
}
},
- "true_next" : "node_48",
+ "true_next" : "node_61",
"false_next" : "tbl_egress_next_set_mpls"
},
{
- "name" : "node_48",
- "id" : 18,
+ "name" : "node_61",
+ "id" : 24,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 353,
@@ -9553,8 +10326,8 @@
"false_next" : "FabricEgress.egress_next.egress_vlan"
},
{
- "name" : "node_52",
- "id" : 19,
+ "name" : "node_65",
+ "id" : 25,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 374,
@@ -9573,11 +10346,11 @@
}
},
"true_next" : "tbl_next375",
- "false_next" : "node_56"
+ "false_next" : "node_69"
},
{
- "name" : "node_54",
- "id" : 20,
+ "name" : "node_67",
+ "id" : 26,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 376,
@@ -9599,11 +10372,11 @@
}
},
"true_next" : "tbl_next376",
- "false_next" : "node_60"
+ "false_next" : "node_73"
},
{
- "name" : "node_56",
- "id" : 21,
+ "name" : "node_69",
+ "id" : 27,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 378,
@@ -9642,11 +10415,11 @@
}
},
"true_next" : "tbl_next379",
- "false_next" : "node_60"
+ "false_next" : "node_73"
},
{
- "name" : "node_58",
- "id" : 22,
+ "name" : "node_71",
+ "id" : 28,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 380,
@@ -9668,11 +10441,11 @@
}
},
"true_next" : "tbl_next380",
- "false_next" : "node_60"
+ "false_next" : "node_73"
},
{
- "name" : "node_60",
- "id" : 23,
+ "name" : "node_73",
+ "id" : 29,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 337,
@@ -9698,11 +10471,11 @@
}
},
"false_next" : null,
- "true_next" : "node_61"
+ "true_next" : "node_74"
},
{
- "name" : "node_61",
- "id" : 24,
+ "name" : "node_74",
+ "id" : 30,
"source_info" : {
"filename" : "fabric.p4",
"line" : 106,
@@ -9721,11 +10494,11 @@
}
},
"true_next" : "tbl_spgw_gtpu_encap",
- "false_next" : "node_63"
+ "false_next" : "node_76"
},
{
- "name" : "node_63",
- "id" : 25,
+ "name" : "node_76",
+ "id" : 31,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 341,
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/p4info.txt b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/p4info.txt
index 1cf1c34..a5547a0 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/p4info.txt
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/p4info.txt
@@ -168,70 +168,70 @@
}
match_fields {
id: 2
- name: "ip_proto"
- bitwidth: 8
- match_type: TERNARY
- }
- match_fields {
- id: 3
- name: "l4_sport"
- bitwidth: 16
- match_type: TERNARY
- }
- match_fields {
- id: 4
- name: "l4_dport"
- bitwidth: 16
- match_type: TERNARY
- }
- match_fields {
- id: 5
name: "eth_dst"
bitwidth: 48
match_type: TERNARY
}
match_fields {
- id: 6
+ id: 3
name: "eth_src"
bitwidth: 48
match_type: TERNARY
}
match_fields {
- id: 7
+ id: 4
name: "vlan_id"
bitwidth: 12
match_type: TERNARY
}
match_fields {
- id: 8
+ id: 5
name: "eth_type"
bitwidth: 16
match_type: TERNARY
}
match_fields {
- id: 9
+ id: 6
name: "ipv4_src"
bitwidth: 32
match_type: TERNARY
}
match_fields {
- id: 10
+ id: 7
name: "ipv4_dst"
bitwidth: 32
match_type: TERNARY
}
match_fields {
- id: 11
+ id: 8
+ name: "ip_proto"
+ bitwidth: 8
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 9
name: "icmp_type"
bitwidth: 8
match_type: TERNARY
}
match_fields {
- id: 12
+ id: 10
name: "icmp_code"
bitwidth: 8
match_type: TERNARY
}
+ match_fields {
+ id: 11
+ name: "l4_sport"
+ bitwidth: 16
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 12
+ name: "l4_dport"
+ bitwidth: 16
+ match_type: TERNARY
+ }
action_refs {
id: 23623126
}
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json
index 3c76283..f2edc55 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json
@@ -14,6 +14,11 @@
["tmp_7", 64, false],
["tmp_8", 32, false],
["tmp_9", 32, false],
+ ["acl_ipv4_src", 32, false],
+ ["acl_ipv4_dst", 32, false],
+ ["acl_ip_proto", 8, false],
+ ["acl_l4_sport", 16, false],
+ ["acl_l4_dport", 16, false],
["userMetadata.ip_eth_type", 16, false],
["userMetadata.vlan_id", 12, false],
["userMetadata.vlan_pri", 3, false],
@@ -136,11 +141,21 @@
]
},
{
- "name" : "tcp_t",
+ "name" : "udp_t",
"id" : 9,
"fields" : [
["sport", 16, false],
["dport", 16, false],
+ ["len", 16, false],
+ ["checksum", 16, false]
+ ]
+ },
+ {
+ "name" : "tcp_t",
+ "id" : 10,
+ "fields" : [
+ ["sport", 16, false],
+ ["dport", 16, false],
["seq_no", 32, false],
["ack_no", 32, false],
["data_offset", 4, false],
@@ -153,16 +168,6 @@
]
},
{
- "name" : "udp_t",
- "id" : 10,
- "fields" : [
- ["sport", 16, false],
- ["dport", 16, false],
- ["len", 16, false],
- ["checksum", 16, false]
- ]
- },
- {
"name" : "icmp_t",
"id" : 11,
"fields" : [
@@ -248,43 +253,78 @@
"pi_omit" : true
},
{
- "name" : "ipv4",
+ "name" : "gtpu",
"id" : 9,
+ "header_type" : "gtpu_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "inner_ipv4",
+ "id" : 10,
"header_type" : "ipv4_t",
"metadata" : false,
"pi_omit" : true
},
{
- "name" : "tcp",
- "id" : 10,
- "header_type" : "tcp_t",
- "metadata" : false,
- "pi_omit" : true
- },
- {
- "name" : "udp",
+ "name" : "inner_udp",
"id" : 11,
"header_type" : "udp_t",
"metadata" : false,
"pi_omit" : true
},
{
- "name" : "icmp",
+ "name" : "inner_tcp",
"id" : 12,
+ "header_type" : "tcp_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "inner_icmp",
+ "id" : 13,
+ "header_type" : "icmp_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "ipv4",
+ "id" : 14,
+ "header_type" : "ipv4_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "tcp",
+ "id" : 15,
+ "header_type" : "tcp_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "udp",
+ "id" : 16,
+ "header_type" : "udp_t",
+ "metadata" : false,
+ "pi_omit" : true
+ },
+ {
+ "name" : "icmp",
+ "id" : 17,
"header_type" : "icmp_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "packet_out",
- "id" : 13,
+ "id" : 18,
"header_type" : "packet_out_header_t",
"metadata" : false,
"pi_omit" : true
},
{
"name" : "packet_in",
- "id" : 14,
+ "id" : 19,
"header_type" : "packet_in_header_t",
"metadata" : false,
"pi_omit" : true
@@ -300,7 +340,7 @@
"name" : "fl",
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 46,
+ "line" : 52,
"column" : 40,
"source_fragment" : "{standard_metadata.ingress_port}"
},
@@ -1582,6 +1622,12 @@
],
"transitions" : [
{
+ "type" : "hexstr",
+ "value" : "0x086801ff",
+ "mask" : null,
+ "next_state" : "parse_gtpu"
+ },
+ {
"type" : "default",
"value" : null,
"mask" : null,
@@ -1626,6 +1672,86 @@
}
],
"transition_key" : []
+ },
+ {
+ "name" : "parse_gtpu",
+ "id" : 13,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "gtpu"
+ }
+ ],
+ "op" : "extract"
+ },
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "inner_ipv4"
+ }
+ ],
+ "op" : "extract"
+ }
+ ],
+ "transitions" : [
+ {
+ "type" : "hexstr",
+ "value" : "0x06",
+ "mask" : null,
+ "next_state" : "parse_tcp"
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x11",
+ "mask" : null,
+ "next_state" : "parse_inner_udp"
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x01",
+ "mask" : null,
+ "next_state" : "parse_icmp"
+ },
+ {
+ "type" : "default",
+ "value" : null,
+ "mask" : null,
+ "next_state" : null
+ }
+ ],
+ "transition_key" : [
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "protocol"]
+ }
+ ]
+ },
+ {
+ "name" : "parse_inner_udp",
+ "id" : 14,
+ "parser_ops" : [
+ {
+ "parameters" : [
+ {
+ "type" : "regular",
+ "value" : "inner_udp"
+ }
+ ],
+ "op" : "extract"
+ }
+ ],
+ "transitions" : [
+ {
+ "type" : "default",
+ "value" : null,
+ "mask" : null,
+ "next_state" : null
+ }
+ ],
+ "transition_key" : []
}
]
}
@@ -1641,7 +1767,7 @@
"column" : 8,
"source_fragment" : "FabricDeparser"
},
- "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "mpls", "ipv4", "tcp", "udp", "icmp"],
+ "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "mpls", "ipv4", "tcp", "udp", "icmp", "gtpu", "inner_ipv4", "inner_tcp", "inner_udp", "inner_icmp"],
"primitives" : []
}
],
@@ -1702,7 +1828,7 @@
"binding" : "FabricIngress.acl.acl",
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 30,
+ "line" : 36,
"column" : 50,
"source_fragment" : "acl_counter"
}
@@ -2236,7 +2362,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 33,
+ "line" : 39,
"column" : 8,
"source_fragment" : "fabric_metadata.next_id = next_id"
}
@@ -2262,7 +2388,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 39,
+ "line" : 45,
"column" : 8,
"source_fragment" : "standard_metadata.egress_spec = 255"
}
@@ -2291,7 +2417,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 40,
+ "line" : 46,
"column" : 8,
"source_fragment" : "fabric_metadata.skip_next = true"
}
@@ -2322,7 +2448,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 46,
+ "line" : 52,
"column" : 8,
"source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
}
@@ -2344,7 +2470,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 51,
+ "line" : 57,
"column" : 8,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -2373,7 +2499,7 @@
],
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 52,
+ "line" : 58,
"column" : 8,
"source_fragment" : "fabric_metadata.skip_next = true"
}
@@ -2918,7 +3044,7 @@
]
},
{
- "name" : "port_counter31",
+ "name" : "acl101",
"id" : 30,
"runtime_data" : [],
"primitives" : [
@@ -2927,6 +3053,416 @@
"parameters" : [
{
"type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_tcp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 101,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.inner_tcp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_tcp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 102,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.inner_tcp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl104",
+ "id" : 31,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_udp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 104,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.inner_udp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_udp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 105,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.inner_udp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl97",
+ "id" : 32,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_src"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "src_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 97,
+ "column" : 12,
+ "source_fragment" : "ipv4_src = hdr.inner_ipv4.src_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_dst"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "dst_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 98,
+ "column" : 12,
+ "source_fragment" : "ipv4_dst = hdr.inner_ipv4.dst_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ip_proto"]
+ },
+ {
+ "type" : "field",
+ "value" : ["inner_ipv4", "protocol"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 99,
+ "column" : 12,
+ "source_fragment" : "ip_proto = hdr.inner_ipv4.protocol"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl112",
+ "id" : 33,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["tcp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 112,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.tcp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["tcp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 113,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.tcp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl115",
+ "id" : 34,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["udp", "sport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 115,
+ "column" : 16,
+ "source_fragment" : "l4_sport = hdr.udp.sport"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "field",
+ "value" : ["udp", "dport"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 116,
+ "column" : 16,
+ "source_fragment" : "l4_dport = hdr.udp.dport"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl108",
+ "id" : 35,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_src"]
+ },
+ {
+ "type" : "field",
+ "value" : ["ipv4", "src_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 108,
+ "column" : 12,
+ "source_fragment" : "ipv4_src = hdr.ipv4.src_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_dst"]
+ },
+ {
+ "type" : "field",
+ "value" : ["ipv4", "dst_addr"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 109,
+ "column" : 12,
+ "source_fragment" : "ipv4_dst = hdr.ipv4.dst_addr"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ip_proto"]
+ },
+ {
+ "type" : "field",
+ "value" : ["ipv4", "protocol"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 110,
+ "column" : 12,
+ "source_fragment" : "ip_proto = hdr.ipv4.protocol"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "acl27",
+ "id" : 36,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_src"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 27,
+ "column" : 4,
+ "source_fragment" : "ipv4_addr_t ipv4_src = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ipv4_dst"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00000000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 28,
+ "column" : 4,
+ "source_fragment" : "ipv4_addr_t ipv4_dst = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_ip_proto"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x00"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 29,
+ "column" : 4,
+ "source_fragment" : "bit<8> ip_proto = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_sport"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x0000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 30,
+ "column" : 4,
+ "source_fragment" : "l4_port_t l4_sport = 0;"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["scalars", "acl_l4_dport"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x0000"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 31,
+ "column" : 4,
+ "source_fragment" : "l4_port_t l4_dport = 0;"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "port_counter31",
+ "id" : 37,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
"value" : ["scalars", "tmp_8"]
},
{
@@ -2977,7 +3513,7 @@
},
{
"name" : "port_counter34",
- "id" : 31,
+ "id" : 38,
"runtime_data" : [],
"primitives" : [
{
@@ -3035,7 +3571,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_mpls_if_present",
- "id" : 32,
+ "id" : 39,
"runtime_data" : [],
"primitives" : [
{
@@ -3076,7 +3612,7 @@
},
{
"name" : "FabricEgress.egress_next.set_mpls",
- "id" : 33,
+ "id" : 40,
"runtime_data" : [],
"primitives" : [
{
@@ -3193,7 +3729,7 @@
},
{
"name" : "FabricEgress.egress_next.push_vlan",
- "id" : 34,
+ "id" : 41,
"runtime_data" : [],
"primitives" : [
{
@@ -3291,7 +3827,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_vlan",
- "id" : 35,
+ "id" : 42,
"runtime_data" : [],
"primitives" : [
{
@@ -3313,7 +3849,7 @@
},
{
"name" : "FabricEgress.egress_next.drop",
- "id" : 36,
+ "id" : 43,
"runtime_data" : [],
"primitives" : [
{
@@ -3335,7 +3871,7 @@
},
{
"name" : "packetio41",
- "id" : 37,
+ "id" : 44,
"runtime_data" : [],
"primitives" : [
{
@@ -3352,7 +3888,7 @@
},
{
"name" : "packetio44",
- "id" : 38,
+ "id" : 45,
"runtime_data" : [],
"primitives" : [
{
@@ -3403,7 +3939,7 @@
},
{
"name" : "next349",
- "id" : 39,
+ "id" : 46,
"runtime_data" : [],
"primitives" : [
{
@@ -3425,7 +3961,7 @@
},
{
"name" : "next376",
- "id" : 40,
+ "id" : 47,
"runtime_data" : [],
"primitives" : [
{
@@ -3447,7 +3983,7 @@
},
{
"name" : "next375",
- "id" : 41,
+ "id" : 48,
"runtime_data" : [],
"primitives" : [
{
@@ -3496,7 +4032,7 @@
},
{
"name" : "next380",
- "id" : 42,
+ "id" : 49,
"runtime_data" : [],
"primitives" : [
{
@@ -3518,7 +4054,7 @@
},
{
"name" : "next379",
- "id" : 43,
+ "id" : 50,
"runtime_data" : [],
"primitives" : [
{
@@ -3800,10 +4336,10 @@
"direct_meters" : null,
"action_ids" : [11, 0],
"actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
- "base_default_next" : "FabricIngress.acl.acl",
+ "base_default_next" : "tbl_acl27",
"next_tables" : {
- "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.acl.acl",
- "nop" : "FabricIngress.acl.acl"
+ "FabricIngress.forwarding.set_next_id_bridging" : "tbl_acl27",
+ "nop" : "tbl_acl27"
},
"default_entry" : {
"action_id" : 0,
@@ -3837,10 +4373,10 @@
"direct_meters" : null,
"action_ids" : [12, 1],
"actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
- "base_default_next" : "FabricIngress.acl.acl",
+ "base_default_next" : "tbl_acl27",
"next_tables" : {
- "FabricIngress.forwarding.pop_mpls_and_next" : "FabricIngress.acl.acl",
- "nop" : "FabricIngress.acl.acl"
+ "FabricIngress.forwarding.pop_mpls_and_next" : "tbl_acl27",
+ "nop" : "tbl_acl27"
},
"default_entry" : {
"action_id" : 1,
@@ -3874,11 +4410,11 @@
"direct_meters" : null,
"action_ids" : [13, 14, 2],
"actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
- "base_default_next" : "FabricIngress.acl.acl",
+ "base_default_next" : "tbl_acl27",
"next_tables" : {
- "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.acl.acl",
- "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.acl.acl",
- "nop" : "FabricIngress.acl.acl"
+ "FabricIngress.forwarding.set_next_id_routing_v4" : "tbl_acl27",
+ "FabricIngress.forwarding.nop_routing_v4" : "tbl_acl27",
+ "nop" : "tbl_acl27"
},
"default_entry" : {
"action_id" : 2,
@@ -3888,11 +4424,214 @@
}
},
{
- "name" : "FabricIngress.acl.acl",
+ "name" : "tbl_acl27",
"id" : 8,
"source_info" : {
"filename" : "include/control/acl.p4",
- "line" : 60,
+ "line" : 27,
+ "column" : 4,
+ "source_fragment" : "ipv4_addr_t ipv4_src = 0; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [36],
+ "actions" : ["acl27"],
+ "base_default_next" : "node_18",
+ "next_tables" : {
+ "acl27" : "node_18"
+ },
+ "default_entry" : {
+ "action_id" : 36,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl97",
+ "id" : 9,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 97,
+ "column" : 21,
+ "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [32],
+ "actions" : ["acl97"],
+ "base_default_next" : "node_20",
+ "next_tables" : {
+ "acl97" : "node_20"
+ },
+ "default_entry" : {
+ "action_id" : 32,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl101",
+ "id" : 10,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 101,
+ "column" : 25,
+ "source_fragment" : "= hdr.inner_tcp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [30],
+ "actions" : ["acl101"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl101" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 30,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl104",
+ "id" : 11,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 104,
+ "column" : 25,
+ "source_fragment" : "= hdr.inner_udp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [31],
+ "actions" : ["acl104"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl104" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 31,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl108",
+ "id" : 12,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 108,
+ "column" : 21,
+ "source_fragment" : "= hdr.ipv4.src_addr; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [35],
+ "actions" : ["acl108"],
+ "base_default_next" : "node_26",
+ "next_tables" : {
+ "acl108" : "node_26"
+ },
+ "default_entry" : {
+ "action_id" : 35,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl112",
+ "id" : 13,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 112,
+ "column" : 25,
+ "source_fragment" : "= hdr.tcp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [33],
+ "actions" : ["acl112"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl112" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 33,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_acl115",
+ "id" : 14,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 115,
+ "column" : 25,
+ "source_fragment" : "= hdr.udp.sport; ..."
+ },
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [34],
+ "actions" : ["acl115"],
+ "base_default_next" : "FabricIngress.acl.acl",
+ "next_tables" : {
+ "acl115" : "FabricIngress.acl.acl"
+ },
+ "default_entry" : {
+ "action_id" : 34,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "FabricIngress.acl.acl",
+ "id" : 15,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 66,
"column" : 10,
"source_fragment" : "acl"
},
@@ -3905,24 +4644,6 @@
},
{
"match_type" : "ternary",
- "name" : "ip_proto",
- "target" : ["scalars", "userMetadata.ip_proto"],
- "mask" : null
- },
- {
- "match_type" : "ternary",
- "name" : "l4_sport",
- "target" : ["scalars", "userMetadata.l4_sport"],
- "mask" : null
- },
- {
- "match_type" : "ternary",
- "name" : "l4_dport",
- "target" : ["scalars", "userMetadata.l4_dport"],
- "mask" : null
- },
- {
- "match_type" : "ternary",
"name" : "eth_dst",
"target" : ["ethernet", "dst_addr"],
"mask" : null
@@ -3948,13 +4669,19 @@
{
"match_type" : "ternary",
"name" : "ipv4_src",
- "target" : ["ipv4", "src_addr"],
+ "target" : ["scalars", "acl_ipv4_src"],
"mask" : null
},
{
"match_type" : "ternary",
"name" : "ipv4_dst",
- "target" : ["ipv4", "dst_addr"],
+ "target" : ["scalars", "acl_ipv4_dst"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "name" : "ip_proto",
+ "target" : ["scalars", "acl_ip_proto"],
"mask" : null
},
{
@@ -3968,6 +4695,18 @@
"name" : "icmp_code",
"target" : ["icmp", "icmp_code"],
"mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "name" : "l4_sport",
+ "target" : ["scalars", "acl_l4_sport"],
+ "mask" : null
+ },
+ {
+ "match_type" : "ternary",
+ "name" : "l4_dport",
+ "target" : ["scalars", "acl_l4_dport"],
+ "mask" : null
}
],
"match_type" : "ternary",
@@ -3978,13 +4717,13 @@
"direct_meters" : null,
"action_ids" : [15, 16, 17, 18, 19],
"actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.set_clone_session_id", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"],
- "base_default_next" : "node_18",
+ "base_default_next" : "node_31",
"next_tables" : {
- "FabricIngress.acl.set_next_id_acl" : "node_18",
- "FabricIngress.acl.punt_to_cpu" : "node_18",
- "FabricIngress.acl.set_clone_session_id" : "node_18",
- "FabricIngress.acl.drop" : "node_18",
- "FabricIngress.acl.nop_acl" : "node_18"
+ "FabricIngress.acl.set_next_id_acl" : "node_31",
+ "FabricIngress.acl.punt_to_cpu" : "node_31",
+ "FabricIngress.acl.set_clone_session_id" : "node_31",
+ "FabricIngress.acl.drop" : "node_31",
+ "FabricIngress.acl.nop_acl" : "node_31"
},
"default_entry" : {
"action_id" : 19,
@@ -3995,7 +4734,7 @@
},
{
"name" : "FabricIngress.next.xconnect",
- "id" : 9,
+ "id" : 16,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 119,
@@ -4039,7 +4778,7 @@
},
{
"name" : "FabricIngress.next.hashed",
- "id" : 10,
+ "id" : 17,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 202,
@@ -4073,7 +4812,7 @@
},
{
"name" : "FabricIngress.next.multicast",
- "id" : 11,
+ "id" : 18,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 236,
@@ -4110,7 +4849,7 @@
},
{
"name" : "FabricIngress.next.next_vlan",
- "id" : 12,
+ "id" : 19,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 86,
@@ -4133,10 +4872,10 @@
"direct_meters" : null,
"action_ids" : [20, 3],
"actions" : ["FabricIngress.next.set_vlan", "nop"],
- "base_default_next" : "node_23",
+ "base_default_next" : "node_36",
"next_tables" : {
- "FabricIngress.next.set_vlan" : "node_23",
- "nop" : "node_23"
+ "FabricIngress.next.set_vlan" : "node_36",
+ "nop" : "node_36"
},
"default_entry" : {
"action_id" : 3,
@@ -4147,7 +4886,7 @@
},
{
"name" : "tbl_port_counter31",
- "id" : 13,
+ "id" : 20,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 31,
@@ -4161,14 +4900,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [30],
+ "action_ids" : [37],
"actions" : ["port_counter31"],
- "base_default_next" : "node_25",
+ "base_default_next" : "node_38",
"next_tables" : {
- "port_counter31" : "node_25"
+ "port_counter31" : "node_38"
},
"default_entry" : {
- "action_id" : 30,
+ "action_id" : 37,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -4176,7 +4915,7 @@
},
{
"name" : "tbl_port_counter34",
- "id" : 14,
+ "id" : 21,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 34,
@@ -4190,14 +4929,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [31],
+ "action_ids" : [38],
"actions" : ["port_counter34"],
"base_default_next" : null,
"next_tables" : {
"port_counter34" : null
},
"default_entry" : {
- "action_id" : 31,
+ "action_id" : 38,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -4347,7 +5086,7 @@
}
},
"true_next" : "node_11",
- "false_next" : "FabricIngress.acl.acl"
+ "false_next" : "tbl_acl27"
},
{
"name" : "node_11",
@@ -4425,12 +5164,167 @@
}
},
"true_next" : "FabricIngress.forwarding.routing_v4",
- "false_next" : "FabricIngress.acl.acl"
+ "false_next" : "tbl_acl27"
},
{
"name" : "node_18",
"id" : 7,
"source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 96,
+ "column" : 12,
+ "source_fragment" : "hdr.gtpu.isValid() && hdr.inner_ipv4.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "and",
+ "left" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["gtpu", "$valid$"]
+ }
+ }
+ },
+ "right" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["inner_ipv4", "$valid$"]
+ }
+ }
+ }
+ }
+ },
+ "true_next" : "tbl_acl97",
+ "false_next" : "node_24"
+ },
+ {
+ "name" : "node_20",
+ "id" : 8,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 100,
+ "column" : 16,
+ "source_fragment" : "hdr.inner_tcp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["inner_tcp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl101",
+ "false_next" : "node_22"
+ },
+ {
+ "name" : "node_22",
+ "id" : 9,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 103,
+ "column" : 23,
+ "source_fragment" : "hdr.inner_udp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["inner_udp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl104",
+ "false_next" : "FabricIngress.acl.acl"
+ },
+ {
+ "name" : "node_24",
+ "id" : 10,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 107,
+ "column" : 19,
+ "source_fragment" : "hdr.ipv4.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["ipv4", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl108",
+ "false_next" : "FabricIngress.acl.acl"
+ },
+ {
+ "name" : "node_26",
+ "id" : 11,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 111,
+ "column" : 16,
+ "source_fragment" : "hdr.tcp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["tcp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl112",
+ "false_next" : "node_28"
+ },
+ {
+ "name" : "node_28",
+ "id" : 12,
+ "source_info" : {
+ "filename" : "include/control/acl.p4",
+ "line" : 114,
+ "column" : 23,
+ "source_fragment" : "hdr.udp.isValid()"
+ },
+ "expression" : {
+ "type" : "expression",
+ "value" : {
+ "op" : "d2b",
+ "left" : null,
+ "right" : {
+ "type" : "field",
+ "value" : ["udp", "$valid$"]
+ }
+ }
+ },
+ "true_next" : "tbl_acl115",
+ "false_next" : "FabricIngress.acl.acl"
+ },
+ {
+ "name" : "node_31",
+ "id" : 13,
+ "source_info" : {
"filename" : "fabric.p4",
"line" : 73,
"column" : 12,
@@ -4458,8 +5352,8 @@
"true_next" : "FabricIngress.next.xconnect"
},
{
- "name" : "node_23",
- "id" : 8,
+ "name" : "node_36",
+ "id" : 14,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 30,
@@ -4481,11 +5375,11 @@
}
},
"true_next" : "tbl_port_counter31",
- "false_next" : "node_25"
+ "false_next" : "node_38"
},
{
- "name" : "node_25",
- "id" : 9,
+ "name" : "node_38",
+ "id" : 15,
"source_info" : {
"filename" : "include/control/port_counter.p4",
"line" : 33,
@@ -4520,11 +5414,11 @@
"column" : 8,
"source_fragment" : "FabricEgress"
},
- "init_table" : "node_29",
+ "init_table" : "node_42",
"tables" : [
{
"name" : "tbl_packetio41",
- "id" : 15,
+ "id" : 22,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 41,
@@ -4538,14 +5432,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [37],
+ "action_ids" : [44],
"actions" : ["packetio41"],
- "base_default_next" : "node_31",
+ "base_default_next" : "node_44",
"next_tables" : {
- "packetio41" : "node_31"
+ "packetio41" : "node_44"
},
"default_entry" : {
- "action_id" : 37,
+ "action_id" : 44,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -4553,7 +5447,7 @@
},
{
"name" : "tbl_packetio44",
- "id" : 16,
+ "id" : 23,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 44,
@@ -4567,14 +5461,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [38],
+ "action_ids" : [45],
"actions" : ["packetio44"],
- "base_default_next" : "node_33",
+ "base_default_next" : "node_46",
"next_tables" : {
- "packetio44" : "node_33"
+ "packetio44" : "node_46"
},
"default_entry" : {
- "action_id" : 38,
+ "action_id" : 45,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -4582,7 +5476,7 @@
},
{
"name" : "tbl_next349",
- "id" : 17,
+ "id" : 24,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 349,
@@ -4596,14 +5490,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [39],
+ "action_ids" : [46],
"actions" : ["next349"],
- "base_default_next" : "node_35",
+ "base_default_next" : "node_48",
"next_tables" : {
- "next349" : "node_35"
+ "next349" : "node_48"
},
"default_entry" : {
- "action_id" : 39,
+ "action_id" : 46,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -4611,7 +5505,7 @@
},
{
"name" : "tbl_egress_next_pop_mpls_if_present",
- "id" : 18,
+ "id" : 25,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 353,
@@ -4625,14 +5519,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [32],
+ "action_ids" : [39],
"actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
"FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 32,
+ "action_id" : 39,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -4640,7 +5534,7 @@
},
{
"name" : "tbl_egress_next_set_mpls",
- "id" : 19,
+ "id" : 26,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 355,
@@ -4654,14 +5548,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [33],
+ "action_ids" : [40],
"actions" : ["FabricEgress.egress_next.set_mpls"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
"FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 33,
+ "action_id" : 40,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -4669,7 +5563,7 @@
},
{
"name" : "FabricEgress.egress_next.egress_vlan",
- "id" : 20,
+ "id" : 27,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 331,
@@ -4696,16 +5590,16 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [34, 35, 36],
+ "action_ids" : [41, 42, 43],
"actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
- "base_default_next" : "node_40",
+ "base_default_next" : "node_53",
"next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "node_40",
- "FabricEgress.egress_next.pop_vlan" : "node_40",
- "FabricEgress.egress_next.drop" : "node_40"
+ "FabricEgress.egress_next.push_vlan" : "node_53",
+ "FabricEgress.egress_next.pop_vlan" : "node_53",
+ "FabricEgress.egress_next.drop" : "node_53"
},
"default_entry" : {
- "action_id" : 36,
+ "action_id" : 43,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -4713,7 +5607,7 @@
},
{
"name" : "tbl_next375",
- "id" : 21,
+ "id" : 28,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 375,
@@ -4727,14 +5621,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [41],
+ "action_ids" : [48],
"actions" : ["next375"],
- "base_default_next" : "node_42",
+ "base_default_next" : "node_55",
"next_tables" : {
- "next375" : "node_42"
+ "next375" : "node_55"
},
"default_entry" : {
- "action_id" : 41,
+ "action_id" : 48,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -4742,7 +5636,7 @@
},
{
"name" : "tbl_next376",
- "id" : 22,
+ "id" : 29,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 376,
@@ -4756,14 +5650,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [40],
+ "action_ids" : [47],
"actions" : ["next376"],
"base_default_next" : null,
"next_tables" : {
"next376" : null
},
"default_entry" : {
- "action_id" : 40,
+ "action_id" : 47,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -4771,7 +5665,7 @@
},
{
"name" : "tbl_next379",
- "id" : 23,
+ "id" : 30,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 379,
@@ -4785,14 +5679,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [43],
+ "action_ids" : [50],
"actions" : ["next379"],
- "base_default_next" : "node_46",
+ "base_default_next" : "node_59",
"next_tables" : {
- "next379" : "node_46"
+ "next379" : "node_59"
},
"default_entry" : {
- "action_id" : 43,
+ "action_id" : 50,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -4800,7 +5694,7 @@
},
{
"name" : "tbl_next380",
- "id" : 24,
+ "id" : 31,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 380,
@@ -4814,14 +5708,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [42],
+ "action_ids" : [49],
"actions" : ["next380"],
"base_default_next" : null,
"next_tables" : {
"next380" : null
},
"default_entry" : {
- "action_id" : 42,
+ "action_id" : 49,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -4831,8 +5725,8 @@
"action_profiles" : [],
"conditionals" : [
{
- "name" : "node_29",
- "id" : 10,
+ "name" : "node_42",
+ "id" : 16,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 39,
@@ -4851,11 +5745,11 @@
}
},
"true_next" : "tbl_packetio41",
- "false_next" : "node_31"
+ "false_next" : "node_44"
},
{
- "name" : "node_31",
- "id" : 11,
+ "name" : "node_44",
+ "id" : 17,
"source_info" : {
"filename" : "include/control/packetio.p4",
"line" : 43,
@@ -4877,11 +5771,11 @@
}
},
"true_next" : "tbl_packetio44",
- "false_next" : "node_33"
+ "false_next" : "node_46"
},
{
- "name" : "node_33",
- "id" : 12,
+ "name" : "node_46",
+ "id" : 18,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 347,
@@ -4920,11 +5814,11 @@
}
},
"true_next" : "tbl_next349",
- "false_next" : "node_35"
+ "false_next" : "node_48"
},
{
- "name" : "node_35",
- "id" : 13,
+ "name" : "node_48",
+ "id" : 19,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 352,
@@ -4945,12 +5839,12 @@
}
}
},
- "true_next" : "node_36",
+ "true_next" : "node_49",
"false_next" : "tbl_egress_next_set_mpls"
},
{
- "name" : "node_36",
- "id" : 14,
+ "name" : "node_49",
+ "id" : 20,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 353,
@@ -4972,8 +5866,8 @@
"false_next" : "FabricEgress.egress_next.egress_vlan"
},
{
- "name" : "node_40",
- "id" : 15,
+ "name" : "node_53",
+ "id" : 21,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 374,
@@ -4992,11 +5886,11 @@
}
},
"true_next" : "tbl_next375",
- "false_next" : "node_44"
+ "false_next" : "node_57"
},
{
- "name" : "node_42",
- "id" : 16,
+ "name" : "node_55",
+ "id" : 22,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 376,
@@ -5021,8 +5915,8 @@
"true_next" : "tbl_next376"
},
{
- "name" : "node_44",
- "id" : 17,
+ "name" : "node_57",
+ "id" : 23,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 378,
@@ -5064,8 +5958,8 @@
"true_next" : "tbl_next379"
},
{
- "name" : "node_46",
- "id" : 18,
+ "name" : "node_59",
+ "id" : 24,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 380,
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/p4info.txt b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/p4info.txt
index 8bf7d01..dd1645b 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/p4info.txt
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/p4info.txt
@@ -168,70 +168,70 @@
}
match_fields {
id: 2
- name: "ip_proto"
- bitwidth: 8
- match_type: TERNARY
- }
- match_fields {
- id: 3
- name: "l4_sport"
- bitwidth: 16
- match_type: TERNARY
- }
- match_fields {
- id: 4
- name: "l4_dport"
- bitwidth: 16
- match_type: TERNARY
- }
- match_fields {
- id: 5
name: "eth_dst"
bitwidth: 48
match_type: TERNARY
}
match_fields {
- id: 6
+ id: 3
name: "eth_src"
bitwidth: 48
match_type: TERNARY
}
match_fields {
- id: 7
+ id: 4
name: "vlan_id"
bitwidth: 12
match_type: TERNARY
}
match_fields {
- id: 8
+ id: 5
name: "eth_type"
bitwidth: 16
match_type: TERNARY
}
match_fields {
- id: 9
+ id: 6
name: "ipv4_src"
bitwidth: 32
match_type: TERNARY
}
match_fields {
- id: 10
+ id: 7
name: "ipv4_dst"
bitwidth: 32
match_type: TERNARY
}
match_fields {
- id: 11
+ id: 8
+ name: "ip_proto"
+ bitwidth: 8
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 9
name: "icmp_type"
bitwidth: 8
match_type: TERNARY
}
match_fields {
- id: 12
+ id: 10
name: "icmp_code"
bitwidth: 8
match_type: TERNARY
}
+ match_fields {
+ id: 11
+ name: "l4_sport"
+ bitwidth: 16
+ match_type: TERNARY
+ }
+ match_fields {
+ id: 12
+ name: "l4_dport"
+ bitwidth: 16
+ match_type: TERNARY
+ }
action_refs {
id: 23623126
}
diff --git a/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/FabricInterpreterTest.java b/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/FabricInterpreterTest.java
index 0ad8d02..2ea8b29 100644
--- a/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/FabricInterpreterTest.java
+++ b/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/FabricInterpreterTest.java
@@ -93,7 +93,7 @@
}
/**
- * Map treatment to permit action.
+ * Map empty treatment to permit action.
*/
@Test
public void testFilteringTreatmentPermit() throws Exception {
@@ -107,6 +107,40 @@
assertEquals(expectedAction, mappedAction);
}
+ /**
+ * Map empty treatment and wipeDeferred to permit action.
+ */
+ @Test
+ public void testFilteringTreatmentPermit2() throws Exception {
+ TrafficTreatment treatment = DefaultTrafficTreatment.builder()
+ .wipeDeferred()
+ .build();
+ PiAction mappedAction = interpreter.mapTreatment(treatment,
+ FabricConstants.FABRIC_INGRESS_FILTERING_INGRESS_PORT_VLAN);
+ PiAction expectedAction = PiAction.builder()
+ .withId(FabricConstants.FABRIC_INGRESS_FILTERING_PERMIT)
+ .build();
+
+ assertEquals(expectedAction, mappedAction);
+ }
+
+ /**
+ * Map popVlan to permit action.
+ */
+ @Test
+ public void testFilteringTreatmentPermit3() throws Exception {
+ TrafficTreatment treatment = DefaultTrafficTreatment.builder()
+ .popVlan()
+ .build();
+ PiAction mappedAction = interpreter.mapTreatment(treatment,
+ FabricConstants.FABRIC_INGRESS_FILTERING_INGRESS_PORT_VLAN);
+ PiAction expectedAction = PiAction.builder()
+ .withId(FabricConstants.FABRIC_INGRESS_FILTERING_PERMIT)
+ .build();
+
+ assertEquals(expectedAction, mappedAction);
+ }
+
/* Forwarding control block */
/**
@@ -124,7 +158,7 @@
}
/**
- * Map empty treatment for ACL table.
+ * Map empty treatment to NOP for ACL table.
*/
@Test
public void testAclTreatmentEmpty() throws Exception {
@@ -137,6 +171,22 @@
assertEquals(expectedAction, mappedAction);
}
+ /**
+ * Map wipeDeferred treatment to DROP for ACL table.
+ */
+ @Test
+ public void testAclTreatmentWipeDeferred() throws Exception {
+ TrafficTreatment treatment = DefaultTrafficTreatment.builder()
+ .wipeDeferred()
+ .build();
+ PiAction mappedAction = interpreter.mapTreatment(
+ treatment, FabricConstants.FABRIC_INGRESS_ACL_ACL);
+ PiAction expectedAction = PiAction.builder()
+ .withId(FabricConstants.FABRIC_INGRESS_ACL_DROP)
+ .build();
+ assertEquals(expectedAction, mappedAction);
+ }
+
/* Next control block */
/**
diff --git a/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/pipeliner/FilteringObjectiveTranslatorTest.java b/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/pipeliner/FilteringObjectiveTranslatorTest.java
index 24300ea..71e45b1 100644
--- a/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/pipeliner/FilteringObjectiveTranslatorTest.java
+++ b/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/pipeliner/FilteringObjectiveTranslatorTest.java
@@ -395,6 +395,53 @@
assertEquals(expectedTranslation, actualTranslation);
}
+ /**
+ * Test no more ports scenario for filtering objective.
+ */
+ @Test
+ public void testNoMorePorts() throws FabricPipelinerException {
+ // Tagged port scenario
+ FilteringObjective filteringObjective = DefaultFilteringObjective.builder()
+ .withKey(Criteria.matchInPort(PORT_1))
+ .addCondition(Criteria.matchEthDst(ROUTER_MAC))
+ .addCondition(Criteria.matchVlanId(VLAN_100))
+ .withPriority(PRIORITY)
+ .fromApp(APP_ID)
+ .withMeta(DefaultTrafficTreatment.builder().wipeDeferred().build())
+ .permit()
+ .add();
+ ObjectiveTranslation actualTranslation = translator.translate(filteringObjective);
+ Collection<FlowRule> expectedFlowRules = Lists.newArrayList();
+ // Ingress port vlan rule
+ expectedFlowRules.add(buildExpectedVlanInPortRule(
+ PORT_1, VLAN_100, null, VlanId.NONE,
+ FabricConstants.FABRIC_INGRESS_FILTERING_INGRESS_PORT_VLAN));
+ // forwarding classifier ipv4
+ expectedFlowRules.addAll(buildExpectedFwdClassifierRule(
+ PORT_1,
+ ROUTER_MAC,
+ null,
+ Ethernet.TYPE_IPV4,
+ FilteringObjectiveTranslator.FWD_IPV4_ROUTING));
+ // forwarding classifier ipv6
+ expectedFlowRules.addAll(buildExpectedFwdClassifierRule(
+ PORT_1,
+ ROUTER_MAC,
+ null,
+ Ethernet.TYPE_IPV6,
+ FilteringObjectiveTranslator.FWD_IPV6_ROUTING));
+ // forwarding classifier mpls
+ expectedFlowRules.addAll(buildExpectedFwdClassifierRule(
+ PORT_1,
+ ROUTER_MAC,
+ null,
+ Ethernet.MPLS_UNICAST,
+ FilteringObjectiveTranslator.FWD_MPLS));
+
+ ObjectiveTranslation expectedTranslation = buildExpectedTranslation(expectedFlowRules);
+ assertEquals(expectedTranslation, actualTranslation);
+ }
+
/* Utilities */
private void assertError(ObjectiveError error, ObjectiveTranslation actualTranslation) {
diff --git a/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/pipeliner/ForwardingObjectiveTranslatorTest.java b/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/pipeliner/ForwardingObjectiveTranslatorTest.java
index e005cfd..14253e7 100644
--- a/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/pipeliner/ForwardingObjectiveTranslatorTest.java
+++ b/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/pipeliner/ForwardingObjectiveTranslatorTest.java
@@ -185,6 +185,96 @@
assertTrue(expectedFlowRule.exactMatch(actualFlowRule));
}
+/**
+ * Test versatile flag of forwarding objective with acl drop.
+ */
+ @Test
+ public void testAclDrop() {
+ TrafficTreatment treatment = DefaultTrafficTreatment.builder()
+ .wipeDeferred()
+ .build();
+ // ACL 8-tuples like
+ TrafficSelector selector = DefaultTrafficSelector.builder()
+ .matchIPDst(IPV4_UNICAST_ADDR)
+ .build();
+ ForwardingObjective fwd = DefaultForwardingObjective.builder()
+ .withSelector(selector)
+ .withPriority(PRIORITY)
+ .fromApp(APP_ID)
+ .makePermanent()
+ .withFlag(ForwardingObjective.Flag.VERSATILE)
+ .withTreatment(treatment)
+ .add();
+
+ ObjectiveTranslation result = translator.translate(fwd);
+
+ List<FlowRule> flowRulesInstalled = (List<FlowRule>) result.flowRules();
+ List<GroupDescription> groupsInstalled = (List<GroupDescription>) result.groups();
+ assertEquals(1, flowRulesInstalled.size());
+ assertTrue(groupsInstalled.isEmpty());
+
+ FlowRule actualFlowRule = flowRulesInstalled.get(0);
+ PiAction piAction = PiAction.builder()
+ .withId(FabricConstants.FABRIC_INGRESS_ACL_DROP)
+ .build();
+ FlowRule expectedFlowRule = DefaultFlowRule.builder()
+ .forDevice(DEVICE_ID)
+ .forTable(FabricConstants.FABRIC_INGRESS_ACL_ACL)
+ .withPriority(PRIORITY)
+ .makePermanent()
+ .withSelector(selector)
+ .withTreatment(DefaultTrafficTreatment.builder()
+ .piTableAction(piAction).build())
+ .fromApp(APP_ID)
+ .build();
+
+ assertTrue(expectedFlowRule.exactMatch(actualFlowRule));
+ }
+
+ /**
+ * Test versatile flag of forwarding objective with acl nop.
+ */
+ @Test
+ public void testAclNop() {
+ TrafficTreatment treatment = DefaultTrafficTreatment.builder()
+ .build();
+ // ACL 8-tuples like
+ TrafficSelector selector = DefaultTrafficSelector.builder()
+ .matchIPDst(IPV4_UNICAST_ADDR)
+ .build();
+ ForwardingObjective fwd = DefaultForwardingObjective.builder()
+ .withSelector(selector)
+ .withPriority(PRIORITY)
+ .fromApp(APP_ID)
+ .makePermanent()
+ .withFlag(ForwardingObjective.Flag.VERSATILE)
+ .withTreatment(treatment)
+ .add();
+
+ ObjectiveTranslation result = translator.translate(fwd);
+
+ List<FlowRule> flowRulesInstalled = (List<FlowRule>) result.flowRules();
+ List<GroupDescription> groupsInstalled = (List<GroupDescription>) result.groups();
+ assertEquals(1, flowRulesInstalled.size());
+ assertTrue(groupsInstalled.isEmpty());
+
+ FlowRule actualFlowRule = flowRulesInstalled.get(0);
+ PiAction piAction = PiAction.builder()
+ .withId(FabricConstants.FABRIC_INGRESS_ACL_NOP_ACL)
+ .build();
+ FlowRule expectedFlowRule = DefaultFlowRule.builder()
+ .forDevice(DEVICE_ID)
+ .forTable(FabricConstants.FABRIC_INGRESS_ACL_ACL)
+ .withPriority(PRIORITY)
+ .makePermanent()
+ .withSelector(selector)
+ .withTreatment(DefaultTrafficTreatment.builder()
+ .piTableAction(piAction).build())
+ .fromApp(APP_ID)
+ .build();
+
+ assertTrue(expectedFlowRule.exactMatch(actualFlowRule));
+ }
/**
* Test programming L2 unicast rule to bridging table.