From cd03f07fb7613f84db710d5a54eaf4f6b8b49b29 Mon Sep 17 00:00:00 2001 From: Charles Chan Date: Fri, 31 Aug 2018 17:46:37 -0700 Subject: [PATCH] Implement NOP in routing v4 table Change-Id: Ia238cf88eb1ed5e23309f3b2cab7f1403f30dafe --- .../pipelines/fabric/FabricConstants.java | 2 + .../fabric/FabricTreatmentInterpreter.java | 7 +- .../resources/include/control/forwarding.p4 | 5 + .../fabric-full/bmv2/default/bmv2.json | 1225 +++++++++-------- .../fabric-full/bmv2/default/p4info.txt | 10 + .../p4c-out/fabric-int/bmv2/default/bmv2.json | 1119 +++++++-------- .../fabric-int/bmv2/default/p4info.txt | 10 + .../fabric-spgw/bmv2/default/bmv2.json | 1073 ++++++++------- .../fabric-spgw/bmv2/default/p4info.txt | 10 + .../p4c-out/fabric/bmv2/default/bmv2.json | 983 ++++++------- .../p4c-out/fabric/bmv2/default/p4info.txt | 10 + .../fabric/FabricInterpreterTest.java | 2 +- 12 files changed, 2268 insertions(+), 2188 deletions(-) diff --git a/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/FabricConstants.java b/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/FabricConstants.java index 0c0b3809d6..78cf0717d6 100644 --- a/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/FabricConstants.java +++ b/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/FabricConstants.java @@ -177,6 +177,8 @@ public final class FabricConstants { PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i10"); public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_V6_SIMPLE = PiActionId.of("FabricIngress.next.mpls_routing_v6_simple"); + public static final PiActionId FABRIC_INGRESS_FORWARDING_NOP_ROUTING_V4 = + PiActionId.of("FabricIngress.forwarding.nop_routing_v4"); public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_UPDATE_TOTAL_HOP_CNT = PiActionId.of("FabricEgress.process_int_transit.int_update_total_hop_cnt"); public static final PiActionId FABRIC_INGRESS_FILTERING_NOP_INGRESS_PORT_VLAN = diff --git a/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/FabricTreatmentInterpreter.java b/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/FabricTreatmentInterpreter.java index 0a7ba9e694..818fb4306f 100644 --- a/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/FabricTreatmentInterpreter.java +++ b/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/FabricTreatmentInterpreter.java @@ -58,6 +58,8 @@ final class FabricTreatmentInterpreter { .withId(FabricConstants.FABRIC_INGRESS_FILTERING_NOP_INGRESS_PORT_VLAN).build(); private static final PiAction NOP_ACL = PiAction.builder() .withId(FabricConstants.FABRIC_INGRESS_FORWARDING_NOP_ACL).build(); + private static final PiAction NOP_ROUTING_V4 = PiAction.builder() + .withId(FabricConstants.FABRIC_INGRESS_FORWARDING_NOP_ROUTING_V4).build(); private static final PiAction POP_VLAN = PiAction.builder() .withId(FabricConstants.FABRIC_EGRESS_EGRESS_NEXT_POP_VLAN) @@ -143,9 +145,12 @@ final class FabricTreatmentInterpreter { public static PiAction mapForwardingTreatment(TrafficTreatment treatment, PiTableId tableId) throws PiInterpreterException { // Empty treatment, generate table entry with no action - if (treatment.equals(DefaultTrafficTreatment.emptyTreatment())) { + if (treatment.equals(DefaultTrafficTreatment.emptyTreatment()) || + treatment.allInstructions().isEmpty()) { if (tableId.equals(FabricConstants.FABRIC_INGRESS_FORWARDING_ACL)) { return NOP_ACL; + } else if (tableId.equals(FabricConstants.FABRIC_INGRESS_FORWARDING_ROUTING_V4)) { + return NOP_ROUTING_V4; } else { return NOP; } diff --git a/pipelines/fabric/src/main/resources/include/control/forwarding.p4 b/pipelines/fabric/src/main/resources/include/control/forwarding.p4 index 89eb35a3ee..7c690928a1 100644 --- a/pipelines/fabric/src/main/resources/include/control/forwarding.p4 +++ b/pipelines/fabric/src/main/resources/include/control/forwarding.p4 @@ -84,6 +84,10 @@ control Forwarding ( routing_v4_counter.count(); } + action nop_routing_v4() { + routing_v4_counter.count(); + } + table routing_v4 { key = { hdr.ipv4.dst_addr: lpm; @@ -91,6 +95,7 @@ control Forwarding ( actions = { set_next_id_routing_v4; + nop_routing_v4; } counters = routing_v4_counter; } diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json b/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json index 24977af55e..67d1b45113 100644 --- a/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json +++ b/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json @@ -2661,8 +2661,14 @@ ] }, { - "name" : "FabricIngress.forwarding.set_next_id_acl", + "name" : "FabricIngress.forwarding.nop_routing_v4", "id" : 25, + "runtime_data" : [], + "primitives" : [] + }, + { + "name" : "FabricIngress.forwarding.set_next_id_acl", + "id" : 26, "runtime_data" : [ { "name" : "next_id", @@ -2684,7 +2690,7 @@ ], "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 105, + "line" : 110, "column" : 8, "source_fragment" : "fabric_metadata.next_id = next_id" } @@ -2693,7 +2699,7 @@ }, { "name" : "FabricIngress.forwarding.punt_to_cpu", - "id" : 26, + "id" : 27, "runtime_data" : [], "primitives" : [ { @@ -2710,7 +2716,7 @@ ], "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 111, + "line" : 116, "column" : 8, "source_fragment" : "standard_metadata.egress_spec = 255" } @@ -2720,7 +2726,7 @@ "parameters" : [], "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 113, + "line" : 118, "column" : 8, "source_fragment" : "exit" } @@ -2729,7 +2735,7 @@ }, { "name" : "FabricIngress.forwarding.clone_to_cpu", - "id" : 27, + "id" : 28, "runtime_data" : [], "primitives" : [ { @@ -2756,7 +2762,7 @@ ], "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 118, + "line" : 123, "column" : 8, "source_fragment" : "fabric_metadata.clone_to_cpu = true" } @@ -2765,7 +2771,7 @@ }, { "name" : "FabricIngress.forwarding.drop", - "id" : 28, + "id" : 29, "runtime_data" : [], "primitives" : [ { @@ -2773,7 +2779,7 @@ "parameters" : [], "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 123, + "line" : 128, "column" : 8, "source_fragment" : "mark_to_drop()" } @@ -2782,13 +2788,13 @@ }, { "name" : "FabricIngress.forwarding.nop_acl", - "id" : 29, + "id" : 30, "runtime_data" : [], "primitives" : [] }, { "name" : "FabricIngress.forwarding.set_next_id_routing_v6", - "id" : 30, + "id" : 31, "runtime_data" : [ { "name" : "next_id", @@ -2810,7 +2816,7 @@ ], "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 169, + "line" : 174, "column" : 8, "source_fragment" : "fabric_metadata.next_id = next_id" } @@ -2819,7 +2825,7 @@ }, { "name" : "FabricIngress.next.set_vlan", - "id" : 31, + "id" : 32, "runtime_data" : [ { "name" : "new_vlan_id", @@ -2850,7 +2856,7 @@ }, { "name" : "FabricIngress.next.output_simple", - "id" : 32, + "id" : 33, "runtime_data" : [ { "name" : "port_num", @@ -2881,7 +2887,7 @@ }, { "name" : "FabricIngress.next.set_vlan_output", - "id" : 33, + "id" : 34, "runtime_data" : [ { "name" : "new_vlan_id", @@ -2935,7 +2941,7 @@ }, { "name" : "FabricIngress.next.l3_routing_simple", - "id" : 34, + "id" : 35, "runtime_data" : [ { "name" : "port_num", @@ -3012,197 +3018,6 @@ }, { "name" : "FabricIngress.next.mpls_routing_v4_simple", - "id" : 35, - "runtime_data" : [ - { - "name" : "port_num", - "bitwidth" : 9 - }, - { - "name" : "smac", - "bitwidth" : 48 - }, - { - "name" : "dmac", - "bitwidth" : 48 - }, - { - "name" : "label", - "bitwidth" : 20 - } - ], - "primitives" : [ - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "src_addr"] - }, - { - "type" : "runtime_data", - "value" : 1 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 37, - "column" : 8, - "source_fragment" : "hdr.ethernet.src_addr = smac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "dst_addr"] - }, - { - "type" : "runtime_data", - "value" : 2 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 41, - "column" : 8, - "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["standard_metadata", "egress_spec"] - }, - { - "type" : "runtime_data", - "value" : 0 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 85, - "column" : 8, - "source_fragment" : "standard_metadata.egress_spec = port_num; ..." - } - }, - { - "op" : "add_header", - "parameters" : [ - { - "type" : "header", - "value" : "mpls" - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 46, - "column" : 8, - "source_fragment" : "hdr.mpls.setValid()" - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["vlan_tag", "ether_type"] - }, - { - "type" : "hexstr", - "value" : "0x8847" - } - ], - "source_info" : { - "filename" : "include/control/../define.p4", - "line" : 90, - "column" : 31, - "source_fragment" : "0x8847; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["mpls", "label"] - }, - { - "type" : "runtime_data", - "value" : 3 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 48, - "column" : 8, - "source_fragment" : "hdr.mpls.label = label; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["mpls", "tc"] - }, - { - "type" : "hexstr", - "value" : "0x00" - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 49, - "column" : 8, - "source_fragment" : "hdr.mpls.tc = tc; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["mpls", "bos"] - }, - { - "type" : "hexstr", - "value" : "0x01" - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 50, - "column" : 8, - "source_fragment" : "hdr.mpls.bos = 1w1" - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["mpls", "ttl"] - }, - { - "type" : "hexstr", - "value" : "0x40" - } - ], - "source_info" : { - "filename" : "include/control/../define.p4", - "line" : 113, - "column" : 32, - "source_fragment" : "64; ..." - } - } - ] - }, - { - "name" : "FabricIngress.next.mpls_routing_v6_simple", "id" : 36, "runtime_data" : [ { @@ -3393,185 +3208,8 @@ ] }, { - "name" : "FabricIngress.next.l3_routing_vlan", + "name" : "FabricIngress.next.mpls_routing_v6_simple", "id" : 37, - "runtime_data" : [ - { - "name" : "port_num", - "bitwidth" : 9 - }, - { - "name" : "smac", - "bitwidth" : 48 - }, - { - "name" : "dmac", - "bitwidth" : 48 - }, - { - "name" : "new_vlan_id", - "bitwidth" : 12 - } - ], - "primitives" : [ - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "src_addr"] - }, - { - "type" : "runtime_data", - "value" : 1 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 37, - "column" : 8, - "source_fragment" : "hdr.ethernet.src_addr = smac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "dst_addr"] - }, - { - "type" : "runtime_data", - "value" : 2 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 41, - "column" : 8, - "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["vlan_tag", "vlan_id"] - }, - { - "type" : "runtime_data", - "value" : 3 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 90, - "column" : 8, - "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["standard_metadata", "egress_spec"] - }, - { - "type" : "runtime_data", - "value" : 0 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 85, - "column" : 8, - "source_fragment" : "standard_metadata.egress_spec = port_num; ..." - } - } - ] - }, - { - "name" : "FabricIngress.next.l3_routing_hashed", - "id" : 38, - "runtime_data" : [ - { - "name" : "port_num", - "bitwidth" : 9 - }, - { - "name" : "smac", - "bitwidth" : 48 - }, - { - "name" : "dmac", - "bitwidth" : 48 - } - ], - "primitives" : [ - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "src_addr"] - }, - { - "type" : "runtime_data", - "value" : 1 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 37, - "column" : 8, - "source_fragment" : "hdr.ethernet.src_addr = smac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "dst_addr"] - }, - { - "type" : "runtime_data", - "value" : 2 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 41, - "column" : 8, - "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["standard_metadata", "egress_spec"] - }, - { - "type" : "runtime_data", - "value" : 0 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 149, - "column" : 8, - "source_fragment" : "standard_metadata.egress_spec = port_num; ..." - } - } - ] - }, - { - "name" : "FabricIngress.next.mpls_routing_v4_hashed", - "id" : 39, "runtime_data" : [ { "name" : "port_num", @@ -3643,7 +3281,7 @@ ], "source_info" : { "filename" : "include/control/next.p4", - "line" : 149, + "line" : 85, "column" : 8, "source_fragment" : "standard_metadata.egress_spec = port_num; ..." } @@ -3761,7 +3399,184 @@ ] }, { - "name" : "FabricIngress.next.mpls_routing_v6_hashed", + "name" : "FabricIngress.next.l3_routing_vlan", + "id" : 38, + "runtime_data" : [ + { + "name" : "port_num", + "bitwidth" : 9 + }, + { + "name" : "smac", + "bitwidth" : 48 + }, + { + "name" : "dmac", + "bitwidth" : 48 + }, + { + "name" : "new_vlan_id", + "bitwidth" : 12 + } + ], + "primitives" : [ + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "src_addr"] + }, + { + "type" : "runtime_data", + "value" : 1 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 37, + "column" : 8, + "source_fragment" : "hdr.ethernet.src_addr = smac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "dst_addr"] + }, + { + "type" : "runtime_data", + "value" : 2 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 41, + "column" : 8, + "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["vlan_tag", "vlan_id"] + }, + { + "type" : "runtime_data", + "value" : 3 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 90, + "column" : 8, + "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["standard_metadata", "egress_spec"] + }, + { + "type" : "runtime_data", + "value" : 0 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 85, + "column" : 8, + "source_fragment" : "standard_metadata.egress_spec = port_num; ..." + } + } + ] + }, + { + "name" : "FabricIngress.next.l3_routing_hashed", + "id" : 39, + "runtime_data" : [ + { + "name" : "port_num", + "bitwidth" : 9 + }, + { + "name" : "smac", + "bitwidth" : 48 + }, + { + "name" : "dmac", + "bitwidth" : 48 + } + ], + "primitives" : [ + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "src_addr"] + }, + { + "type" : "runtime_data", + "value" : 1 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 37, + "column" : 8, + "source_fragment" : "hdr.ethernet.src_addr = smac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "dst_addr"] + }, + { + "type" : "runtime_data", + "value" : 2 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 41, + "column" : 8, + "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["standard_metadata", "egress_spec"] + }, + { + "type" : "runtime_data", + "value" : 0 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 149, + "column" : 8, + "source_fragment" : "standard_metadata.egress_spec = port_num; ..." + } + } + ] + }, + { + "name" : "FabricIngress.next.mpls_routing_v4_hashed", "id" : 40, "runtime_data" : [ { @@ -3952,8 +3767,199 @@ ] }, { - "name" : "FabricIngress.next.set_mcast_group", + "name" : "FabricIngress.next.mpls_routing_v6_hashed", "id" : 41, + "runtime_data" : [ + { + "name" : "port_num", + "bitwidth" : 9 + }, + { + "name" : "smac", + "bitwidth" : 48 + }, + { + "name" : "dmac", + "bitwidth" : 48 + }, + { + "name" : "label", + "bitwidth" : 20 + } + ], + "primitives" : [ + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "src_addr"] + }, + { + "type" : "runtime_data", + "value" : 1 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 37, + "column" : 8, + "source_fragment" : "hdr.ethernet.src_addr = smac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "dst_addr"] + }, + { + "type" : "runtime_data", + "value" : 2 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 41, + "column" : 8, + "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["standard_metadata", "egress_spec"] + }, + { + "type" : "runtime_data", + "value" : 0 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 149, + "column" : 8, + "source_fragment" : "standard_metadata.egress_spec = port_num; ..." + } + }, + { + "op" : "add_header", + "parameters" : [ + { + "type" : "header", + "value" : "mpls" + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 46, + "column" : 8, + "source_fragment" : "hdr.mpls.setValid()" + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["vlan_tag", "ether_type"] + }, + { + "type" : "hexstr", + "value" : "0x8847" + } + ], + "source_info" : { + "filename" : "include/control/../define.p4", + "line" : 90, + "column" : 31, + "source_fragment" : "0x8847; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["mpls", "label"] + }, + { + "type" : "runtime_data", + "value" : 3 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 48, + "column" : 8, + "source_fragment" : "hdr.mpls.label = label; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["mpls", "tc"] + }, + { + "type" : "hexstr", + "value" : "0x00" + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 49, + "column" : 8, + "source_fragment" : "hdr.mpls.tc = tc; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["mpls", "bos"] + }, + { + "type" : "hexstr", + "value" : "0x01" + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 50, + "column" : 8, + "source_fragment" : "hdr.mpls.bos = 1w1" + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["mpls", "ttl"] + }, + { + "type" : "hexstr", + "value" : "0x40" + } + ], + "source_info" : { + "filename" : "include/control/../define.p4", + "line" : 113, + "column" : 32, + "source_fragment" : "64; ..." + } + } + ] + }, + { + "name" : "FabricIngress.next.set_mcast_group", + "id" : 42, "runtime_data" : [ { "name" : "gid", @@ -4013,7 +4019,7 @@ }, { "name" : "act", - "id" : 42, + "id" : 43, "runtime_data" : [], "primitives" : [ { @@ -4049,7 +4055,7 @@ }, { "name" : "act_0", - "id" : 43, + "id" : 44, "runtime_data" : [], "primitives" : [ { @@ -4109,7 +4115,7 @@ }, { "name" : "act_1", - "id" : 44, + "id" : 45, "runtime_data" : [], "primitives" : [ { @@ -4135,7 +4141,7 @@ }, { "name" : "act_2", - "id" : 45, + "id" : 46, "runtime_data" : [], "primitives" : [ { @@ -4157,7 +4163,7 @@ }, { "name" : "act_3", - "id" : 46, + "id" : 47, "runtime_data" : [], "primitives" : [ { @@ -4221,7 +4227,7 @@ }, { "name" : "act_4", - "id" : 47, + "id" : 48, "runtime_data" : [], "primitives" : [ { @@ -4291,7 +4297,7 @@ }, { "name" : "act_5", - "id" : 48, + "id" : 49, "runtime_data" : [], "primitives" : [ { @@ -4321,7 +4327,7 @@ }, { "name" : "act_6", - "id" : 49, + "id" : 50, "runtime_data" : [], "primitives" : [ { @@ -4351,7 +4357,7 @@ }, { "name" : "act_7", - "id" : 50, + "id" : 51, "runtime_data" : [], "primitives" : [ { @@ -4377,7 +4383,7 @@ }, { "name" : "act_8", - "id" : 51, + "id" : 52, "runtime_data" : [], "primitives" : [ { @@ -4407,7 +4413,7 @@ }, { "name" : "act_9", - "id" : 52, + "id" : 53, "runtime_data" : [], "primitives" : [ { @@ -4437,7 +4443,7 @@ }, { "name" : "act_10", - "id" : 53, + "id" : 54, "runtime_data" : [], "primitives" : [ { @@ -4463,7 +4469,7 @@ }, { "name" : "act_11", - "id" : 54, + "id" : 55, "runtime_data" : [], "primitives" : [ { @@ -4518,7 +4524,7 @@ }, { "name" : "act_12", - "id" : 55, + "id" : 56, "runtime_data" : [], "primitives" : [ { @@ -4548,7 +4554,7 @@ }, { "name" : "act_13", - "id" : 56, + "id" : 57, "runtime_data" : [], "primitives" : [ { @@ -4574,7 +4580,7 @@ }, { "name" : "act_14", - "id" : 57, + "id" : 58, "runtime_data" : [], "primitives" : [ { @@ -4604,7 +4610,7 @@ }, { "name" : "act_15", - "id" : 58, + "id" : 59, "runtime_data" : [], "primitives" : [ { @@ -4634,7 +4640,7 @@ }, { "name" : "act_16", - "id" : 59, + "id" : 60, "runtime_data" : [], "primitives" : [ { @@ -4660,7 +4666,7 @@ }, { "name" : "act_17", - "id" : 60, + "id" : 61, "runtime_data" : [], "primitives" : [ { @@ -4686,7 +4692,7 @@ }, { "name" : "act_18", - "id" : 61, + "id" : 62, "runtime_data" : [], "primitives" : [ { @@ -4716,7 +4722,7 @@ }, { "name" : "act_19", - "id" : 62, + "id" : 63, "runtime_data" : [], "primitives" : [ { @@ -4746,7 +4752,7 @@ }, { "name" : "act_20", - "id" : 63, + "id" : 64, "runtime_data" : [], "primitives" : [ { @@ -4776,7 +4782,7 @@ }, { "name" : "act_21", - "id" : 64, + "id" : 65, "runtime_data" : [], "primitives" : [ { @@ -4806,7 +4812,7 @@ }, { "name" : "act_22", - "id" : 65, + "id" : 66, "runtime_data" : [], "primitives" : [ { @@ -4836,7 +4842,7 @@ }, { "name" : "act_23", - "id" : 66, + "id" : 67, "runtime_data" : [], "primitives" : [ { @@ -4866,7 +4872,7 @@ }, { "name" : "act_24", - "id" : 67, + "id" : 68, "runtime_data" : [], "primitives" : [ { @@ -4896,7 +4902,7 @@ }, { "name" : "act_25", - "id" : 68, + "id" : 69, "runtime_data" : [], "primitives" : [ { @@ -4932,7 +4938,7 @@ }, { "name" : "act_26", - "id" : 69, + "id" : 70, "runtime_data" : [], "primitives" : [ { @@ -4981,7 +4987,7 @@ }, { "name" : "act_27", - "id" : 70, + "id" : 71, "runtime_data" : [], "primitives" : [ { @@ -5030,7 +5036,7 @@ }, { "name" : "act_28", - "id" : 71, + "id" : 72, "runtime_data" : [], "primitives" : [ { @@ -5088,7 +5094,7 @@ }, { "name" : "act_29", - "id" : 72, + "id" : 73, "runtime_data" : [], "primitives" : [ { @@ -5146,7 +5152,7 @@ }, { "name" : "act_30", - "id" : 73, + "id" : 74, "runtime_data" : [], "primitives" : [ { @@ -5164,12 +5170,6 @@ } ] }, - { - "name" : "NoAction", - "id" : 74, - "runtime_data" : [], - "primitives" : [] - }, { "name" : "NoAction", "id" : 75, @@ -5195,37 +5195,16 @@ "primitives" : [] }, { - "name" : "nop", + "name" : "NoAction", "id" : 79, "runtime_data" : [], "primitives" : [] }, { - "name" : "drop_now", + "name" : "nop", "id" : 80, "runtime_data" : [], - "primitives" : [ - { - "op" : "drop", - "parameters" : [], - "source_info" : { - "filename" : "include/control/../action.p4", - "line" : 24, - "column" : 4, - "source_fragment" : "mark_to_drop()" - } - }, - { - "op" : "exit", - "parameters" : [], - "source_info" : { - "filename" : "include/control/../action.p4", - "line" : 25, - "column" : 4, - "source_fragment" : "exit" - } - } - ] + "primitives" : [] }, { "name" : "drop_now", @@ -5255,9 +5234,36 @@ ] }, { - "name" : "FabricEgress.spgw_egress.gtpu_encap", + "name" : "drop_now", "id" : 82, "runtime_data" : [], + "primitives" : [ + { + "op" : "drop", + "parameters" : [], + "source_info" : { + "filename" : "include/control/../action.p4", + "line" : 24, + "column" : 4, + "source_fragment" : "mark_to_drop()" + } + }, + { + "op" : "exit", + "parameters" : [], + "source_info" : { + "filename" : "include/control/../action.p4", + "line" : 25, + "column" : 4, + "source_fragment" : "exit" + } + } + ] + }, + { + "name" : "FabricEgress.spgw_egress.gtpu_encap", + "id" : 83, + "runtime_data" : [], "primitives" : [ { "op" : "add_header", @@ -5848,7 +5854,7 @@ }, { "name" : "FabricEgress.process_int_source.int_source_dscp", - "id" : 83, + "id" : 84, "runtime_data" : [ { "name" : "max_hop", @@ -6356,7 +6362,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_update_total_hop_cnt", - "id" : 84, + "id" : 85, "runtime_data" : [], "primitives" : [ { @@ -6405,7 +6411,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_transit", - "id" : 85, + "id" : 86, "runtime_data" : [ { "name" : "switch_id", @@ -6488,13 +6494,13 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i0", - "id" : 86, + "id" : 87, "runtime_data" : [], "primitives" : [] }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i1", - "id" : 87, + "id" : 88, "runtime_data" : [], "primitives" : [ { @@ -6567,7 +6573,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i2", - "id" : 88, + "id" : 89, "runtime_data" : [], "primitives" : [ { @@ -6608,7 +6614,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i3", - "id" : 89, + "id" : 90, "runtime_data" : [], "primitives" : [ { @@ -6715,7 +6721,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i4", - "id" : 90, + "id" : 91, "runtime_data" : [], "primitives" : [ { @@ -6801,7 +6807,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i5", - "id" : 91, + "id" : 92, "runtime_data" : [], "primitives" : [ { @@ -6953,7 +6959,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i6", - "id" : 92, + "id" : 93, "runtime_data" : [], "primitives" : [ { @@ -7073,7 +7079,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i7", - "id" : 93, + "id" : 94, "runtime_data" : [], "primitives" : [ { @@ -7259,7 +7265,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i8", - "id" : 94, + "id" : 95, "runtime_data" : [], "primitives" : [ { @@ -7300,7 +7306,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i9", - "id" : 95, + "id" : 96, "runtime_data" : [], "primitives" : [ { @@ -7407,7 +7413,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i10", - "id" : 96, + "id" : 97, "runtime_data" : [], "primitives" : [ { @@ -7482,7 +7488,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i11", - "id" : 97, + "id" : 98, "runtime_data" : [], "primitives" : [ { @@ -7623,7 +7629,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i12", - "id" : 98, + "id" : 99, "runtime_data" : [], "primitives" : [ { @@ -7743,7 +7749,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i13", - "id" : 99, + "id" : 100, "runtime_data" : [], "primitives" : [ { @@ -7929,7 +7935,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i14", - "id" : 100, + "id" : 101, "runtime_data" : [], "primitives" : [ { @@ -8083,7 +8089,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i15", - "id" : 101, + "id" : 102, "runtime_data" : [], "primitives" : [ { @@ -8303,13 +8309,13 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i0", - "id" : 102, + "id" : 103, "runtime_data" : [], "primitives" : [] }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i1", - "id" : 103, + "id" : 104, "runtime_data" : [], "primitives" : [ { @@ -8350,7 +8356,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i2", - "id" : 104, + "id" : 105, "runtime_data" : [], "primitives" : [ { @@ -8410,7 +8416,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i3", - "id" : 105, + "id" : 106, "runtime_data" : [], "primitives" : [ { @@ -8504,7 +8510,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i4", - "id" : 106, + "id" : 107, "runtime_data" : [], "primitives" : [ { @@ -8568,7 +8574,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i5", - "id" : 107, + "id" : 108, "runtime_data" : [], "primitives" : [ { @@ -8666,7 +8672,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i6", - "id" : 108, + "id" : 109, "runtime_data" : [], "primitives" : [ { @@ -8783,7 +8789,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i7", - "id" : 109, + "id" : 110, "runtime_data" : [], "primitives" : [ { @@ -8934,7 +8940,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i8", - "id" : 110, + "id" : 111, "runtime_data" : [], "primitives" : [ { @@ -8975,7 +8981,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i9", - "id" : 111, + "id" : 112, "runtime_data" : [], "primitives" : [ { @@ -9050,7 +9056,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i10", - "id" : 112, + "id" : 113, "runtime_data" : [], "primitives" : [ { @@ -9144,7 +9150,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i11", - "id" : 113, + "id" : 114, "runtime_data" : [], "primitives" : [ { @@ -9272,7 +9278,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i12", - "id" : 114, + "id" : 115, "runtime_data" : [], "primitives" : [ { @@ -9370,7 +9376,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i13", - "id" : 115, + "id" : 116, "runtime_data" : [], "primitives" : [ { @@ -9502,7 +9508,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i14", - "id" : 116, + "id" : 117, "runtime_data" : [], "primitives" : [ { @@ -9653,7 +9659,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i15", - "id" : 117, + "id" : 118, "runtime_data" : [], "primitives" : [ { @@ -9838,7 +9844,7 @@ }, { "name" : "FabricEgress.process_int_outer_encap.int_update_ipv4", - "id" : 118, + "id" : 119, "runtime_data" : [], "primitives" : [ { @@ -9887,7 +9893,7 @@ }, { "name" : "FabricEgress.process_int_outer_encap.int_update_udp", - "id" : 119, + "id" : 120, "runtime_data" : [], "primitives" : [ { @@ -9936,7 +9942,7 @@ }, { "name" : "FabricEgress.process_int_outer_encap.int_update_shim", - "id" : 120, + "id" : 121, "runtime_data" : [], "primitives" : [ { @@ -9995,7 +10001,7 @@ }, { "name" : "FabricEgress.process_int_report.do_report_encapsulation", - "id" : 121, + "id" : 122, "runtime_data" : [ { "name" : "src_mac", @@ -10671,7 +10677,7 @@ }, { "name" : "FabricEgress.process_int_sink.restore_header", - "id" : 122, + "id" : 123, "runtime_data" : [], "primitives" : [ { @@ -10729,7 +10735,7 @@ }, { "name" : "FabricEgress.process_int_sink.int_sink", - "id" : 123, + "id" : 124, "runtime_data" : [], "primitives" : [ { @@ -11060,7 +11066,7 @@ }, { "name" : "FabricEgress.pkt_io_egress.pop_vlan", - "id" : 124, + "id" : 125, "runtime_data" : [], "primitives" : [ { @@ -11101,7 +11107,7 @@ }, { "name" : "FabricEgress.egress_next.pop_vlan", - "id" : 125, + "id" : 126, "runtime_data" : [], "primitives" : [ { @@ -11142,7 +11148,7 @@ }, { "name" : "act_31", - "id" : 126, + "id" : 127, "runtime_data" : [], "primitives" : [ { @@ -11204,14 +11210,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [43], + "action_ids" : [44], "actions" : ["act_0"], "base_default_next" : "node_3", "next_tables" : { "act_0" : "node_3" }, "default_entry" : { - "action_id" : 43, + "action_id" : 44, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11227,14 +11233,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [42], + "action_ids" : [43], "actions" : ["act"], "base_default_next" : "node_5", "next_tables" : { "act" : "node_5" }, "default_entry" : { - "action_id" : 42, + "action_id" : 43, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11250,14 +11256,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [46], + "action_ids" : [47], "actions" : ["act_3"], "base_default_next" : "node_7", "next_tables" : { "act_3" : "node_7" }, "default_entry" : { - "action_id" : 46, + "action_id" : 47, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11273,14 +11279,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [44], + "action_ids" : [45], "actions" : ["act_1"], "base_default_next" : "node_10", "next_tables" : { "act_1" : "node_10" }, "default_entry" : { - "action_id" : 44, + "action_id" : 45, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11296,14 +11302,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [45], + "action_ids" : [46], "actions" : ["act_2"], "base_default_next" : "node_10", "next_tables" : { "act_2" : "node_10" }, "default_entry" : { - "action_id" : 45, + "action_id" : 46, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11319,14 +11325,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [47], + "action_ids" : [48], "actions" : ["act_4"], "base_default_next" : null, "next_tables" : { "act_4" : null }, "default_entry" : { - "action_id" : 47, + "action_id" : 48, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11342,14 +11348,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [55], + "action_ids" : [56], "actions" : ["act_12"], "base_default_next" : "node_13", "next_tables" : { "act_12" : "node_13" }, "default_entry" : { - "action_id" : 55, + "action_id" : 56, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11402,14 +11408,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [48], + "action_ids" : [49], "actions" : ["act_5"], "base_default_next" : "node_17", "next_tables" : { "act_5" : "node_17" }, "default_entry" : { - "action_id" : 48, + "action_id" : 49, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11425,14 +11431,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [49], + "action_ids" : [50], "actions" : ["act_6"], "base_default_next" : "node_17", "next_tables" : { "act_6" : "node_17" }, "default_entry" : { - "action_id" : 49, + "action_id" : 50, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11471,14 +11477,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [50], + "action_ids" : [51], "actions" : ["act_7"], "base_default_next" : "tbl_spgw_ingress_gtpu_decap", "next_tables" : { "act_7" : "tbl_spgw_ingress_gtpu_decap" }, "default_entry" : { - "action_id" : 50, + "action_id" : 51, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11554,14 +11560,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [51], + "action_ids" : [52], "actions" : ["act_8"], "base_default_next" : "node_24", "next_tables" : { "act_8" : "node_24" }, "default_entry" : { - "action_id" : 51, + "action_id" : 52, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11577,14 +11583,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [52], + "action_ids" : [53], "actions" : ["act_9"], "base_default_next" : "node_24", "next_tables" : { "act_9" : "node_24" }, "default_entry" : { - "action_id" : 52, + "action_id" : 53, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11600,14 +11606,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [53], + "action_ids" : [54], "actions" : ["act_10"], "base_default_next" : "node_27", "next_tables" : { "act_10" : "node_27" }, "default_entry" : { - "action_id" : 53, + "action_id" : 54, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11623,14 +11629,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [54], + "action_ids" : [55], "actions" : ["act_11"], "base_default_next" : "node_27", "next_tables" : { "act_11" : "node_27" }, "default_entry" : { - "action_id" : 54, + "action_id" : 55, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11646,14 +11652,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [56], + "action_ids" : [57], "actions" : ["act_13"], "base_default_next" : "FabricIngress.filtering.ingress_port_vlan", "next_tables" : { "act_13" : "FabricIngress.filtering.ingress_port_vlan" }, "default_entry" : { - "action_id" : 56, + "action_id" : 57, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11718,14 +11724,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [57], + "action_ids" : [58], "actions" : ["act_14"], "base_default_next" : "node_32", "next_tables" : { "act_14" : "node_32" }, "default_entry" : { - "action_id" : 57, + "action_id" : 58, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11741,14 +11747,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [58], + "action_ids" : [59], "actions" : ["act_15"], "base_default_next" : "node_32", "next_tables" : { "act_15" : "node_32" }, "default_entry" : { - "action_id" : 58, + "action_id" : 59, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11812,14 +11818,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [59], + "action_ids" : [60], "actions" : ["act_16"], "base_default_next" : "node_35", "next_tables" : { "act_16" : "node_35" }, "default_entry" : { - "action_id" : 59, + "action_id" : 60, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11915,14 +11921,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [60], + "action_ids" : [61], "actions" : ["act_17"], "base_default_next" : "FabricIngress.forwarding.acl", "next_tables" : { "act_17" : "FabricIngress.forwarding.acl" }, "default_entry" : { - "action_id" : 60, + "action_id" : 61, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11933,7 +11939,7 @@ "id" : 27, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 87, + "line" : 91, "column" : 10, "source_fragment" : "routing_v4" }, @@ -11951,11 +11957,12 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [24, 6], - "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "NoAction"], + "action_ids" : [24, 25, 6], + "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "NoAction"], "base_default_next" : "FabricIngress.forwarding.acl", "next_tables" : { "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.forwarding.acl", + "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.forwarding.acl", "NoAction" : "FabricIngress.forwarding.acl" }, "default_entry" : { @@ -11970,7 +11977,7 @@ "id" : 28, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 173, + "line" : 178, "column" : 10, "source_fragment" : "routing_v6" }, @@ -11988,7 +11995,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [30, 7], + "action_ids" : [31, 7], "actions" : ["FabricIngress.forwarding.set_next_id_routing_v6", "NoAction"], "base_default_next" : "FabricIngress.forwarding.acl", "next_tables" : { @@ -12007,7 +12014,7 @@ "id" : 29, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 131, + "line" : 136, "column" : 10, "source_fragment" : "acl" }, @@ -12091,7 +12098,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [25, 26, 27, 28, 29], + "action_ids" : [26, 27, 28, 29, 30], "actions" : ["FabricIngress.forwarding.set_next_id_acl", "FabricIngress.forwarding.punt_to_cpu", "FabricIngress.forwarding.clone_to_cpu", "FabricIngress.forwarding.drop", "FabricIngress.forwarding.nop_acl"], "base_default_next" : "tbl_act_18", "next_tables" : { @@ -12102,7 +12109,7 @@ "FabricIngress.forwarding.nop_acl" : "tbl_act_18" }, "default_entry" : { - "action_id" : 29, + "action_id" : 30, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -12118,14 +12125,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [61], + "action_ids" : [62], "actions" : ["act_18"], "base_default_next" : "FabricIngress.next.vlan_meta", "next_tables" : { "act_18" : "FabricIngress.next.vlan_meta" }, "default_entry" : { - "action_id" : 61, + "action_id" : 62, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -12154,7 +12161,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [31, 11], + "action_ids" : [32, 11], "actions" : ["FabricIngress.next.set_vlan", "nop"], "base_default_next" : "FabricIngress.next.simple", "next_tables" : { @@ -12191,7 +12198,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [32, 33, 34, 35, 36, 37, 8], + "action_ids" : [33, 34, 35, 36, 37, 38, 8], "actions" : ["FabricIngress.next.output_simple", "FabricIngress.next.set_vlan_output", "FabricIngress.next.l3_routing_simple", "FabricIngress.next.mpls_routing_v4_simple", "FabricIngress.next.mpls_routing_v6_simple", "FabricIngress.next.l3_routing_vlan", "NoAction"], "base_default_next" : null, "next_tables" : { @@ -12215,14 +12222,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [62], + "action_ids" : [63], "actions" : ["act_19"], "base_default_next" : "node_50", "next_tables" : { "act_19" : "node_50" }, "default_entry" : { - "action_id" : 62, + "action_id" : 63, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -12238,14 +12245,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [63], + "action_ids" : [64], "actions" : ["act_20"], "base_default_next" : "node_50", "next_tables" : { "act_20" : "node_50" }, "default_entry" : { - "action_id" : 63, + "action_id" : 64, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -12275,7 +12282,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [38, 39, 40, 9], + "action_ids" : [39, 40, 41, 9], "actions" : ["FabricIngress.next.l3_routing_hashed", "FabricIngress.next.mpls_routing_v4_hashed", "FabricIngress.next.mpls_routing_v6_hashed", "NoAction"], "base_default_next" : null, "next_tables" : { @@ -12293,14 +12300,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [64], + "action_ids" : [65], "actions" : ["act_21"], "base_default_next" : "node_54", "next_tables" : { "act_21" : "node_54" }, "default_entry" : { - "action_id" : 64, + "action_id" : 65, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -12316,14 +12323,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [65], + "action_ids" : [66], "actions" : ["act_22"], "base_default_next" : "node_54", "next_tables" : { "act_22" : "node_54" }, "default_entry" : { - "action_id" : 65, + "action_id" : 66, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -12352,7 +12359,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [41, 10], + "action_ids" : [42, 10], "actions" : ["FabricIngress.next.set_mcast_group", "NoAction"], "base_default_next" : null, "next_tables" : { @@ -12376,14 +12383,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [66], + "action_ids" : [67], "actions" : ["act_23"], "base_default_next" : "node_58", "next_tables" : { "act_23" : "node_58" }, "default_entry" : { - "action_id" : 66, + "action_id" : 67, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -12399,14 +12406,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [67], + "action_ids" : [68], "actions" : ["act_24"], "base_default_next" : "node_58", "next_tables" : { "act_24" : "node_58" }, "default_entry" : { - "action_id" : 67, + "action_id" : 68, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -12422,14 +12429,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [68], + "action_ids" : [69], "actions" : ["act_25"], "base_default_next" : "node_60", "next_tables" : { "act_25" : "node_60" }, "default_entry" : { - "action_id" : 68, + "action_id" : 69, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -12445,14 +12452,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [69], + "action_ids" : [70], "actions" : ["act_26"], "base_default_next" : "node_66", "next_tables" : { "act_26" : "node_66" }, "default_entry" : { - "action_id" : 69, + "action_id" : 70, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -12468,14 +12475,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [70], + "action_ids" : [71], "actions" : ["act_27"], "base_default_next" : "node_66", "next_tables" : { "act_27" : "node_66" }, "default_entry" : { - "action_id" : 70, + "action_id" : 71, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -12491,14 +12498,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [71], + "action_ids" : [72], "actions" : ["act_28"], "base_default_next" : "node_68", "next_tables" : { "act_28" : "node_68" }, "default_entry" : { - "action_id" : 71, + "action_id" : 72, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -12514,14 +12521,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [72], + "action_ids" : [73], "actions" : ["act_29"], "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_source", "next_tables" : { "act_29" : "FabricIngress.process_set_source_sink.tb_set_source" }, "default_entry" : { - "action_id" : 72, + "action_id" : 73, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -12611,14 +12618,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [73], + "action_ids" : [74], "actions" : ["act_30"], "base_default_next" : null, "next_tables" : { "act_30" : null }, "default_entry" : { - "action_id" : 73, + "action_id" : 74, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -12874,7 +12881,7 @@ "id" : 9, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 186, + "line" : 191, "column" : 11, "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING" }, @@ -12900,7 +12907,7 @@ "id" : 10, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 187, + "line" : 192, "column" : 17, "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS" }, @@ -12926,7 +12933,7 @@ "id" : 11, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 193, + "line" : 198, "column" : 17, "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST" }, @@ -12952,7 +12959,7 @@ "id" : 12, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 195, + "line" : 200, "column" : 17, "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV6_UNICAST" }, @@ -13264,14 +13271,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [124], + "action_ids" : [125], "actions" : ["FabricEgress.pkt_io_egress.pop_vlan"], "base_default_next" : "node_80", "next_tables" : { "FabricEgress.pkt_io_egress.pop_vlan" : "node_80" }, "default_entry" : { - "action_id" : 124, + "action_id" : 125, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -13287,14 +13294,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [80], + "action_ids" : [81], "actions" : ["drop_now"], "base_default_next" : "tbl_act_31", "next_tables" : { "drop_now" : "tbl_act_31" }, "default_entry" : { - "action_id" : 80, + "action_id" : 81, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -13310,14 +13317,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [126], + "action_ids" : [127], "actions" : ["act_31"], "base_default_next" : null, "next_tables" : { "act_31" : null }, "default_entry" : { - "action_id" : 126, + "action_id" : 127, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -13333,14 +13340,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [81], + "action_ids" : [82], "actions" : ["drop_now"], "base_default_next" : "FabricEgress.egress_next.egress_vlan", "next_tables" : { "drop_now" : "FabricEgress.egress_next.egress_vlan" }, "default_entry" : { - "action_id" : 81, + "action_id" : 82, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -13375,7 +13382,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [125, 79], + "action_ids" : [126, 80], "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"], "base_default_next" : "node_86", "next_tables" : { @@ -13383,7 +13390,7 @@ "nop" : "node_86" }, "default_entry" : { - "action_id" : 79, + "action_id" : 80, "action_const" : false, "action_data" : [], "action_entry_const" : false @@ -13399,14 +13406,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [82], + "action_ids" : [83], "actions" : ["FabricEgress.spgw_egress.gtpu_encap"], "base_default_next" : "node_88", "next_tables" : { "FabricEgress.spgw_egress.gtpu_encap" : "node_88" }, "default_entry" : { - "action_id" : 82, + "action_id" : 83, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -13453,7 +13460,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [83, 74], + "action_ids" : [84, 75], "actions" : ["FabricEgress.process_int_source.int_source_dscp", "NoAction"], "base_default_next" : "node_91", "next_tables" : { @@ -13461,7 +13468,7 @@ "NoAction" : "node_91" }, "default_entry" : { - "action_id" : 74, + "action_id" : 75, "action_const" : false, "action_data" : [], "action_entry_const" : false @@ -13483,7 +13490,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [85, 75], + "action_ids" : [86, 76], "actions" : ["FabricEgress.process_int_transit.int_transit", "NoAction"], "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0003", "next_tables" : { @@ -13491,7 +13498,7 @@ "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0003" }, "default_entry" : { - "action_id" : 75, + "action_id" : 76, "action_const" : false, "action_data" : [], "action_entry_const" : false @@ -13520,7 +13527,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 76], + "action_ids" : [87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 77], "actions" : ["FabricEgress.process_int_transit.int_set_header_0003_i0", "FabricEgress.process_int_transit.int_set_header_0003_i1", "FabricEgress.process_int_transit.int_set_header_0003_i2", "FabricEgress.process_int_transit.int_set_header_0003_i3", "FabricEgress.process_int_transit.int_set_header_0003_i4", "FabricEgress.process_int_transit.int_set_header_0003_i5", "FabricEgress.process_int_transit.int_set_header_0003_i6", "FabricEgress.process_int_transit.int_set_header_0003_i7", "FabricEgress.process_int_transit.int_set_header_0003_i8", "FabricEgress.process_int_transit.int_set_header_0003_i9", "FabricEgress.process_int_transit.int_set_header_0003_i10", "FabricEgress.process_int_transit.int_set_header_0003_i11", "FabricEgress.process_int_transit.int_set_header_0003_i12", "FabricEgress.process_int_transit.int_set_header_0003_i13", "FabricEgress.process_int_transit.int_set_header_0003_i14", "FabricEgress.process_int_transit.int_set_header_0003_i15", "NoAction"], "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0407", "next_tables" : { @@ -13543,7 +13550,7 @@ "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0407" }, "default_entry" : { - "action_id" : 76, + "action_id" : 77, "action_const" : false, "action_data" : [], "action_entry_const" : false @@ -13572,7 +13579,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 77], + "action_ids" : [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 78], "actions" : ["FabricEgress.process_int_transit.int_set_header_0407_i0", "FabricEgress.process_int_transit.int_set_header_0407_i1", "FabricEgress.process_int_transit.int_set_header_0407_i2", "FabricEgress.process_int_transit.int_set_header_0407_i3", "FabricEgress.process_int_transit.int_set_header_0407_i4", "FabricEgress.process_int_transit.int_set_header_0407_i5", "FabricEgress.process_int_transit.int_set_header_0407_i6", "FabricEgress.process_int_transit.int_set_header_0407_i7", "FabricEgress.process_int_transit.int_set_header_0407_i8", "FabricEgress.process_int_transit.int_set_header_0407_i9", "FabricEgress.process_int_transit.int_set_header_0407_i10", "FabricEgress.process_int_transit.int_set_header_0407_i11", "FabricEgress.process_int_transit.int_set_header_0407_i12", "FabricEgress.process_int_transit.int_set_header_0407_i13", "FabricEgress.process_int_transit.int_set_header_0407_i14", "FabricEgress.process_int_transit.int_set_header_0407_i15", "NoAction"], "base_default_next" : "tbl_process_int_transit_int_update_total_hop_cnt", "next_tables" : { @@ -13595,7 +13602,7 @@ "NoAction" : "tbl_process_int_transit_int_update_total_hop_cnt" }, "default_entry" : { - "action_id" : 77, + "action_id" : 78, "action_const" : false, "action_data" : [], "action_entry_const" : false @@ -13611,14 +13618,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [84], + "action_ids" : [85], "actions" : ["FabricEgress.process_int_transit.int_update_total_hop_cnt"], "base_default_next" : "node_96", "next_tables" : { "FabricEgress.process_int_transit.int_update_total_hop_cnt" : "node_96" }, "default_entry" : { - "action_id" : 84, + "action_id" : 85, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -13634,14 +13641,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [118], + "action_ids" : [119], "actions" : ["FabricEgress.process_int_outer_encap.int_update_ipv4"], "base_default_next" : "node_98", "next_tables" : { "FabricEgress.process_int_outer_encap.int_update_ipv4" : "node_98" }, "default_entry" : { - "action_id" : 118, + "action_id" : 119, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -13657,14 +13664,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [119], + "action_ids" : [120], "actions" : ["FabricEgress.process_int_outer_encap.int_update_udp"], "base_default_next" : "node_100", "next_tables" : { "FabricEgress.process_int_outer_encap.int_update_udp" : "node_100" }, "default_entry" : { - "action_id" : 119, + "action_id" : 120, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -13680,14 +13687,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [120], + "action_ids" : [121], "actions" : ["FabricEgress.process_int_outer_encap.int_update_shim"], "base_default_next" : "node_102", "next_tables" : { "FabricEgress.process_int_outer_encap.int_update_shim" : "node_102" }, "default_entry" : { - "action_id" : 120, + "action_id" : 121, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -13709,7 +13716,7 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [121, 78], + "action_ids" : [122, 79], "actions" : ["FabricEgress.process_int_report.do_report_encapsulation", "NoAction"], "base_default_next" : "node_104", "next_tables" : { @@ -13717,7 +13724,7 @@ "NoAction" : "node_104" }, "default_entry" : { - "action_id" : 78, + "action_id" : 79, "action_const" : false, "action_data" : [], "action_entry_const" : false @@ -13733,14 +13740,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [122], + "action_ids" : [123], "actions" : ["FabricEgress.process_int_sink.restore_header"], "base_default_next" : "tbl_process_int_sink_int_sink", "next_tables" : { "FabricEgress.process_int_sink.restore_header" : "tbl_process_int_sink_int_sink" }, "default_entry" : { - "action_id" : 122, + "action_id" : 123, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -13756,14 +13763,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [123], + "action_ids" : [124], "actions" : ["FabricEgress.process_int_sink.int_sink"], "base_default_next" : null, "next_tables" : { "FabricEgress.process_int_sink.int_sink" : null }, "default_entry" : { - "action_id" : 123, + "action_id" : 124, "action_const" : true, "action_data" : [], "action_entry_const" : true diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt b/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt index a5dd8cfff8..e9551596f4 100644 --- a/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt +++ b/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt @@ -225,6 +225,9 @@ tables { action_refs { id: 16777434 } + action_refs { + id: 16804187 + } action_refs { id: 16800567 annotations: "@defaultonly()" @@ -857,6 +860,13 @@ actions { bitwidth: 32 } } +actions { + preamble { + id: 16804187 + name: "FabricIngress.forwarding.nop_routing_v4" + alias: "nop_routing_v4" + } +} actions { preamble { id: 16785374 diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json b/pipelines/fabric/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json index 62d34ddebb..7e96c8b6a3 100644 --- a/pipelines/fabric/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json +++ b/pipelines/fabric/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json @@ -2056,8 +2056,14 @@ ] }, { - "name" : "FabricIngress.forwarding.set_next_id_acl", + "name" : "FabricIngress.forwarding.nop_routing_v4", "id" : 19, + "runtime_data" : [], + "primitives" : [] + }, + { + "name" : "FabricIngress.forwarding.set_next_id_acl", + "id" : 20, "runtime_data" : [ { "name" : "next_id", @@ -2079,7 +2085,7 @@ ], "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 105, + "line" : 110, "column" : 8, "source_fragment" : "fabric_metadata.next_id = next_id" } @@ -2088,7 +2094,7 @@ }, { "name" : "FabricIngress.forwarding.punt_to_cpu", - "id" : 20, + "id" : 21, "runtime_data" : [], "primitives" : [ { @@ -2105,7 +2111,7 @@ ], "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 111, + "line" : 116, "column" : 8, "source_fragment" : "standard_metadata.egress_spec = 255" } @@ -2115,7 +2121,7 @@ "parameters" : [], "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 113, + "line" : 118, "column" : 8, "source_fragment" : "exit" } @@ -2124,7 +2130,7 @@ }, { "name" : "FabricIngress.forwarding.clone_to_cpu", - "id" : 21, + "id" : 22, "runtime_data" : [], "primitives" : [ { @@ -2151,7 +2157,7 @@ ], "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 118, + "line" : 123, "column" : 8, "source_fragment" : "fabric_metadata.clone_to_cpu = true" } @@ -2160,7 +2166,7 @@ }, { "name" : "FabricIngress.forwarding.drop", - "id" : 22, + "id" : 23, "runtime_data" : [], "primitives" : [ { @@ -2168,7 +2174,7 @@ "parameters" : [], "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 123, + "line" : 128, "column" : 8, "source_fragment" : "mark_to_drop()" } @@ -2177,13 +2183,13 @@ }, { "name" : "FabricIngress.forwarding.nop_acl", - "id" : 23, + "id" : 24, "runtime_data" : [], "primitives" : [] }, { "name" : "FabricIngress.next.set_vlan", - "id" : 24, + "id" : 25, "runtime_data" : [ { "name" : "new_vlan_id", @@ -2214,7 +2220,7 @@ }, { "name" : "FabricIngress.next.output_simple", - "id" : 25, + "id" : 26, "runtime_data" : [ { "name" : "port_num", @@ -2245,7 +2251,7 @@ }, { "name" : "FabricIngress.next.set_vlan_output", - "id" : 26, + "id" : 27, "runtime_data" : [ { "name" : "new_vlan_id", @@ -2299,7 +2305,7 @@ }, { "name" : "FabricIngress.next.l3_routing_simple", - "id" : 27, + "id" : 28, "runtime_data" : [ { "name" : "port_num", @@ -2376,197 +2382,6 @@ }, { "name" : "FabricIngress.next.mpls_routing_v4_simple", - "id" : 28, - "runtime_data" : [ - { - "name" : "port_num", - "bitwidth" : 9 - }, - { - "name" : "smac", - "bitwidth" : 48 - }, - { - "name" : "dmac", - "bitwidth" : 48 - }, - { - "name" : "label", - "bitwidth" : 20 - } - ], - "primitives" : [ - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "src_addr"] - }, - { - "type" : "runtime_data", - "value" : 1 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 37, - "column" : 8, - "source_fragment" : "hdr.ethernet.src_addr = smac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "dst_addr"] - }, - { - "type" : "runtime_data", - "value" : 2 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 41, - "column" : 8, - "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["standard_metadata", "egress_spec"] - }, - { - "type" : "runtime_data", - "value" : 0 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 85, - "column" : 8, - "source_fragment" : "standard_metadata.egress_spec = port_num; ..." - } - }, - { - "op" : "add_header", - "parameters" : [ - { - "type" : "header", - "value" : "mpls" - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 46, - "column" : 8, - "source_fragment" : "hdr.mpls.setValid()" - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["vlan_tag", "ether_type"] - }, - { - "type" : "hexstr", - "value" : "0x8847" - } - ], - "source_info" : { - "filename" : "include/control/../define.p4", - "line" : 90, - "column" : 31, - "source_fragment" : "0x8847; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["mpls", "label"] - }, - { - "type" : "runtime_data", - "value" : 3 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 48, - "column" : 8, - "source_fragment" : "hdr.mpls.label = label; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["mpls", "tc"] - }, - { - "type" : "hexstr", - "value" : "0x00" - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 49, - "column" : 8, - "source_fragment" : "hdr.mpls.tc = tc; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["mpls", "bos"] - }, - { - "type" : "hexstr", - "value" : "0x01" - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 50, - "column" : 8, - "source_fragment" : "hdr.mpls.bos = 1w1" - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["mpls", "ttl"] - }, - { - "type" : "hexstr", - "value" : "0x40" - } - ], - "source_info" : { - "filename" : "include/control/../define.p4", - "line" : 113, - "column" : 32, - "source_fragment" : "64; ..." - } - } - ] - }, - { - "name" : "FabricIngress.next.mpls_routing_v6_simple", "id" : 29, "runtime_data" : [ { @@ -2757,185 +2572,8 @@ ] }, { - "name" : "FabricIngress.next.l3_routing_vlan", + "name" : "FabricIngress.next.mpls_routing_v6_simple", "id" : 30, - "runtime_data" : [ - { - "name" : "port_num", - "bitwidth" : 9 - }, - { - "name" : "smac", - "bitwidth" : 48 - }, - { - "name" : "dmac", - "bitwidth" : 48 - }, - { - "name" : "new_vlan_id", - "bitwidth" : 12 - } - ], - "primitives" : [ - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "src_addr"] - }, - { - "type" : "runtime_data", - "value" : 1 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 37, - "column" : 8, - "source_fragment" : "hdr.ethernet.src_addr = smac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "dst_addr"] - }, - { - "type" : "runtime_data", - "value" : 2 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 41, - "column" : 8, - "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["vlan_tag", "vlan_id"] - }, - { - "type" : "runtime_data", - "value" : 3 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 90, - "column" : 8, - "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["standard_metadata", "egress_spec"] - }, - { - "type" : "runtime_data", - "value" : 0 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 85, - "column" : 8, - "source_fragment" : "standard_metadata.egress_spec = port_num; ..." - } - } - ] - }, - { - "name" : "FabricIngress.next.l3_routing_hashed", - "id" : 31, - "runtime_data" : [ - { - "name" : "port_num", - "bitwidth" : 9 - }, - { - "name" : "smac", - "bitwidth" : 48 - }, - { - "name" : "dmac", - "bitwidth" : 48 - } - ], - "primitives" : [ - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "src_addr"] - }, - { - "type" : "runtime_data", - "value" : 1 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 37, - "column" : 8, - "source_fragment" : "hdr.ethernet.src_addr = smac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "dst_addr"] - }, - { - "type" : "runtime_data", - "value" : 2 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 41, - "column" : 8, - "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["standard_metadata", "egress_spec"] - }, - { - "type" : "runtime_data", - "value" : 0 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 149, - "column" : 8, - "source_fragment" : "standard_metadata.egress_spec = port_num; ..." - } - } - ] - }, - { - "name" : "FabricIngress.next.mpls_routing_v4_hashed", - "id" : 32, "runtime_data" : [ { "name" : "port_num", @@ -3007,7 +2645,7 @@ ], "source_info" : { "filename" : "include/control/next.p4", - "line" : 149, + "line" : 85, "column" : 8, "source_fragment" : "standard_metadata.egress_spec = port_num; ..." } @@ -3125,7 +2763,184 @@ ] }, { - "name" : "FabricIngress.next.mpls_routing_v6_hashed", + "name" : "FabricIngress.next.l3_routing_vlan", + "id" : 31, + "runtime_data" : [ + { + "name" : "port_num", + "bitwidth" : 9 + }, + { + "name" : "smac", + "bitwidth" : 48 + }, + { + "name" : "dmac", + "bitwidth" : 48 + }, + { + "name" : "new_vlan_id", + "bitwidth" : 12 + } + ], + "primitives" : [ + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "src_addr"] + }, + { + "type" : "runtime_data", + "value" : 1 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 37, + "column" : 8, + "source_fragment" : "hdr.ethernet.src_addr = smac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "dst_addr"] + }, + { + "type" : "runtime_data", + "value" : 2 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 41, + "column" : 8, + "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["vlan_tag", "vlan_id"] + }, + { + "type" : "runtime_data", + "value" : 3 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 90, + "column" : 8, + "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["standard_metadata", "egress_spec"] + }, + { + "type" : "runtime_data", + "value" : 0 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 85, + "column" : 8, + "source_fragment" : "standard_metadata.egress_spec = port_num; ..." + } + } + ] + }, + { + "name" : "FabricIngress.next.l3_routing_hashed", + "id" : 32, + "runtime_data" : [ + { + "name" : "port_num", + "bitwidth" : 9 + }, + { + "name" : "smac", + "bitwidth" : 48 + }, + { + "name" : "dmac", + "bitwidth" : 48 + } + ], + "primitives" : [ + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "src_addr"] + }, + { + "type" : "runtime_data", + "value" : 1 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 37, + "column" : 8, + "source_fragment" : "hdr.ethernet.src_addr = smac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "dst_addr"] + }, + { + "type" : "runtime_data", + "value" : 2 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 41, + "column" : 8, + "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["standard_metadata", "egress_spec"] + }, + { + "type" : "runtime_data", + "value" : 0 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 149, + "column" : 8, + "source_fragment" : "standard_metadata.egress_spec = port_num; ..." + } + } + ] + }, + { + "name" : "FabricIngress.next.mpls_routing_v4_hashed", "id" : 33, "runtime_data" : [ { @@ -3316,8 +3131,199 @@ ] }, { - "name" : "FabricIngress.next.set_mcast_group", + "name" : "FabricIngress.next.mpls_routing_v6_hashed", "id" : 34, + "runtime_data" : [ + { + "name" : "port_num", + "bitwidth" : 9 + }, + { + "name" : "smac", + "bitwidth" : 48 + }, + { + "name" : "dmac", + "bitwidth" : 48 + }, + { + "name" : "label", + "bitwidth" : 20 + } + ], + "primitives" : [ + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "src_addr"] + }, + { + "type" : "runtime_data", + "value" : 1 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 37, + "column" : 8, + "source_fragment" : "hdr.ethernet.src_addr = smac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "dst_addr"] + }, + { + "type" : "runtime_data", + "value" : 2 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 41, + "column" : 8, + "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["standard_metadata", "egress_spec"] + }, + { + "type" : "runtime_data", + "value" : 0 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 149, + "column" : 8, + "source_fragment" : "standard_metadata.egress_spec = port_num; ..." + } + }, + { + "op" : "add_header", + "parameters" : [ + { + "type" : "header", + "value" : "mpls" + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 46, + "column" : 8, + "source_fragment" : "hdr.mpls.setValid()" + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["vlan_tag", "ether_type"] + }, + { + "type" : "hexstr", + "value" : "0x8847" + } + ], + "source_info" : { + "filename" : "include/control/../define.p4", + "line" : 90, + "column" : 31, + "source_fragment" : "0x8847; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["mpls", "label"] + }, + { + "type" : "runtime_data", + "value" : 3 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 48, + "column" : 8, + "source_fragment" : "hdr.mpls.label = label; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["mpls", "tc"] + }, + { + "type" : "hexstr", + "value" : "0x00" + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 49, + "column" : 8, + "source_fragment" : "hdr.mpls.tc = tc; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["mpls", "bos"] + }, + { + "type" : "hexstr", + "value" : "0x01" + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 50, + "column" : 8, + "source_fragment" : "hdr.mpls.bos = 1w1" + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["mpls", "ttl"] + }, + { + "type" : "hexstr", + "value" : "0x40" + } + ], + "source_info" : { + "filename" : "include/control/../define.p4", + "line" : 113, + "column" : 32, + "source_fragment" : "64; ..." + } + } + ] + }, + { + "name" : "FabricIngress.next.set_mcast_group", + "id" : 35, "runtime_data" : [ { "name" : "gid", @@ -3377,7 +3383,7 @@ }, { "name" : "act", - "id" : 35, + "id" : 36, "runtime_data" : [], "primitives" : [ { @@ -3447,7 +3453,7 @@ }, { "name" : "act_0", - "id" : 36, + "id" : 37, "runtime_data" : [], "primitives" : [ { @@ -3477,7 +3483,7 @@ }, { "name" : "act_1", - "id" : 37, + "id" : 38, "runtime_data" : [], "primitives" : [ { @@ -3507,7 +3513,7 @@ }, { "name" : "act_2", - "id" : 38, + "id" : 39, "runtime_data" : [], "primitives" : [ { @@ -3533,7 +3539,7 @@ }, { "name" : "act_3", - "id" : 39, + "id" : 40, "runtime_data" : [], "primitives" : [ { @@ -3559,7 +3565,7 @@ }, { "name" : "act_4", - "id" : 40, + "id" : 41, "runtime_data" : [], "primitives" : [ { @@ -3589,7 +3595,7 @@ }, { "name" : "act_5", - "id" : 41, + "id" : 42, "runtime_data" : [], "primitives" : [ { @@ -3619,7 +3625,7 @@ }, { "name" : "act_6", - "id" : 42, + "id" : 43, "runtime_data" : [], "primitives" : [ { @@ -3649,7 +3655,7 @@ }, { "name" : "act_7", - "id" : 43, + "id" : 44, "runtime_data" : [], "primitives" : [ { @@ -3679,7 +3685,7 @@ }, { "name" : "act_8", - "id" : 44, + "id" : 45, "runtime_data" : [], "primitives" : [ { @@ -3709,7 +3715,7 @@ }, { "name" : "act_9", - "id" : 45, + "id" : 46, "runtime_data" : [], "primitives" : [ { @@ -3739,7 +3745,7 @@ }, { "name" : "act_10", - "id" : 46, + "id" : 47, "runtime_data" : [], "primitives" : [ { @@ -3769,7 +3775,7 @@ }, { "name" : "act_11", - "id" : 47, + "id" : 48, "runtime_data" : [], "primitives" : [ { @@ -3805,7 +3811,7 @@ }, { "name" : "act_12", - "id" : 48, + "id" : 49, "runtime_data" : [], "primitives" : [ { @@ -3854,7 +3860,7 @@ }, { "name" : "act_13", - "id" : 49, + "id" : 50, "runtime_data" : [], "primitives" : [ { @@ -3912,7 +3918,7 @@ }, { "name" : "act_14", - "id" : 50, + "id" : 51, "runtime_data" : [], "primitives" : [ { @@ -3970,7 +3976,7 @@ }, { "name" : "act_15", - "id" : 51, + "id" : 52, "runtime_data" : [], "primitives" : [ { @@ -3988,12 +3994,6 @@ } ] }, - { - "name" : "NoAction", - "id" : 52, - "runtime_data" : [], - "primitives" : [] - }, { "name" : "NoAction", "id" : 53, @@ -4019,37 +4019,16 @@ "primitives" : [] }, { - "name" : "nop", + "name" : "NoAction", "id" : 57, "runtime_data" : [], "primitives" : [] }, { - "name" : "drop_now", + "name" : "nop", "id" : 58, "runtime_data" : [], - "primitives" : [ - { - "op" : "drop", - "parameters" : [], - "source_info" : { - "filename" : "include/control/../action.p4", - "line" : 24, - "column" : 4, - "source_fragment" : "mark_to_drop()" - } - }, - { - "op" : "exit", - "parameters" : [], - "source_info" : { - "filename" : "include/control/../action.p4", - "line" : 25, - "column" : 4, - "source_fragment" : "exit" - } - } - ] + "primitives" : [] }, { "name" : "drop_now", @@ -4079,8 +4058,35 @@ ] }, { - "name" : "FabricEgress.process_int_source.int_source_dscp", + "name" : "drop_now", "id" : 60, + "runtime_data" : [], + "primitives" : [ + { + "op" : "drop", + "parameters" : [], + "source_info" : { + "filename" : "include/control/../action.p4", + "line" : 24, + "column" : 4, + "source_fragment" : "mark_to_drop()" + } + }, + { + "op" : "exit", + "parameters" : [], + "source_info" : { + "filename" : "include/control/../action.p4", + "line" : 25, + "column" : 4, + "source_fragment" : "exit" + } + } + ] + }, + { + "name" : "FabricEgress.process_int_source.int_source_dscp", + "id" : 61, "runtime_data" : [ { "name" : "max_hop", @@ -4588,7 +4594,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_update_total_hop_cnt", - "id" : 61, + "id" : 62, "runtime_data" : [], "primitives" : [ { @@ -4637,7 +4643,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_transit", - "id" : 62, + "id" : 63, "runtime_data" : [ { "name" : "switch_id", @@ -4720,13 +4726,13 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i0", - "id" : 63, + "id" : 64, "runtime_data" : [], "primitives" : [] }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i1", - "id" : 64, + "id" : 65, "runtime_data" : [], "primitives" : [ { @@ -4799,7 +4805,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i2", - "id" : 65, + "id" : 66, "runtime_data" : [], "primitives" : [ { @@ -4840,7 +4846,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i3", - "id" : 66, + "id" : 67, "runtime_data" : [], "primitives" : [ { @@ -4947,7 +4953,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i4", - "id" : 67, + "id" : 68, "runtime_data" : [], "primitives" : [ { @@ -5033,7 +5039,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i5", - "id" : 68, + "id" : 69, "runtime_data" : [], "primitives" : [ { @@ -5185,7 +5191,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i6", - "id" : 69, + "id" : 70, "runtime_data" : [], "primitives" : [ { @@ -5305,7 +5311,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i7", - "id" : 70, + "id" : 71, "runtime_data" : [], "primitives" : [ { @@ -5491,7 +5497,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i8", - "id" : 71, + "id" : 72, "runtime_data" : [], "primitives" : [ { @@ -5532,7 +5538,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i9", - "id" : 72, + "id" : 73, "runtime_data" : [], "primitives" : [ { @@ -5639,7 +5645,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i10", - "id" : 73, + "id" : 74, "runtime_data" : [], "primitives" : [ { @@ -5714,7 +5720,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i11", - "id" : 74, + "id" : 75, "runtime_data" : [], "primitives" : [ { @@ -5855,7 +5861,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i12", - "id" : 75, + "id" : 76, "runtime_data" : [], "primitives" : [ { @@ -5975,7 +5981,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i13", - "id" : 76, + "id" : 77, "runtime_data" : [], "primitives" : [ { @@ -6161,7 +6167,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i14", - "id" : 77, + "id" : 78, "runtime_data" : [], "primitives" : [ { @@ -6315,7 +6321,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0003_i15", - "id" : 78, + "id" : 79, "runtime_data" : [], "primitives" : [ { @@ -6535,13 +6541,13 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i0", - "id" : 79, + "id" : 80, "runtime_data" : [], "primitives" : [] }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i1", - "id" : 80, + "id" : 81, "runtime_data" : [], "primitives" : [ { @@ -6582,7 +6588,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i2", - "id" : 81, + "id" : 82, "runtime_data" : [], "primitives" : [ { @@ -6642,7 +6648,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i3", - "id" : 82, + "id" : 83, "runtime_data" : [], "primitives" : [ { @@ -6736,7 +6742,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i4", - "id" : 83, + "id" : 84, "runtime_data" : [], "primitives" : [ { @@ -6800,7 +6806,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i5", - "id" : 84, + "id" : 85, "runtime_data" : [], "primitives" : [ { @@ -6898,7 +6904,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i6", - "id" : 85, + "id" : 86, "runtime_data" : [], "primitives" : [ { @@ -7015,7 +7021,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i7", - "id" : 86, + "id" : 87, "runtime_data" : [], "primitives" : [ { @@ -7166,7 +7172,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i8", - "id" : 87, + "id" : 88, "runtime_data" : [], "primitives" : [ { @@ -7207,7 +7213,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i9", - "id" : 88, + "id" : 89, "runtime_data" : [], "primitives" : [ { @@ -7282,7 +7288,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i10", - "id" : 89, + "id" : 90, "runtime_data" : [], "primitives" : [ { @@ -7376,7 +7382,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i11", - "id" : 90, + "id" : 91, "runtime_data" : [], "primitives" : [ { @@ -7504,7 +7510,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i12", - "id" : 91, + "id" : 92, "runtime_data" : [], "primitives" : [ { @@ -7602,7 +7608,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i13", - "id" : 92, + "id" : 93, "runtime_data" : [], "primitives" : [ { @@ -7734,7 +7740,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i14", - "id" : 93, + "id" : 94, "runtime_data" : [], "primitives" : [ { @@ -7885,7 +7891,7 @@ }, { "name" : "FabricEgress.process_int_transit.int_set_header_0407_i15", - "id" : 94, + "id" : 95, "runtime_data" : [], "primitives" : [ { @@ -8070,7 +8076,7 @@ }, { "name" : "FabricEgress.process_int_outer_encap.int_update_ipv4", - "id" : 95, + "id" : 96, "runtime_data" : [], "primitives" : [ { @@ -8119,7 +8125,7 @@ }, { "name" : "FabricEgress.process_int_outer_encap.int_update_udp", - "id" : 96, + "id" : 97, "runtime_data" : [], "primitives" : [ { @@ -8168,7 +8174,7 @@ }, { "name" : "FabricEgress.process_int_outer_encap.int_update_shim", - "id" : 97, + "id" : 98, "runtime_data" : [], "primitives" : [ { @@ -8227,7 +8233,7 @@ }, { "name" : "FabricEgress.process_int_report.do_report_encapsulation", - "id" : 98, + "id" : 99, "runtime_data" : [ { "name" : "src_mac", @@ -8903,7 +8909,7 @@ }, { "name" : "FabricEgress.process_int_sink.restore_header", - "id" : 99, + "id" : 100, "runtime_data" : [], "primitives" : [ { @@ -8961,7 +8967,7 @@ }, { "name" : "FabricEgress.process_int_sink.int_sink", - "id" : 100, + "id" : 101, "runtime_data" : [], "primitives" : [ { @@ -9292,7 +9298,7 @@ }, { "name" : "FabricEgress.pkt_io_egress.pop_vlan", - "id" : 101, + "id" : 102, "runtime_data" : [], "primitives" : [ { @@ -9333,7 +9339,7 @@ }, { "name" : "FabricEgress.egress_next.pop_vlan", - "id" : 102, + "id" : 103, "runtime_data" : [], "primitives" : [ { @@ -9374,7 +9380,7 @@ }, { "name" : "act_16", - "id" : 103, + "id" : 104, "runtime_data" : [], "primitives" : [ { @@ -9436,14 +9442,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [35], + "action_ids" : [36], "actions" : ["act"], "base_default_next" : null, "next_tables" : { "act" : null }, "default_entry" : { - "action_id" : 35, + "action_id" : 36, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -9508,14 +9514,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [36], + "action_ids" : [37], "actions" : ["act_0"], "base_default_next" : "node_7", "next_tables" : { "act_0" : "node_7" }, "default_entry" : { - "action_id" : 36, + "action_id" : 37, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -9531,14 +9537,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [37], + "action_ids" : [38], "actions" : ["act_1"], "base_default_next" : "node_7", "next_tables" : { "act_1" : "node_7" }, "default_entry" : { - "action_id" : 37, + "action_id" : 38, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -9602,14 +9608,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [38], + "action_ids" : [39], "actions" : ["act_2"], "base_default_next" : "node_10", "next_tables" : { "act_2" : "node_10" }, "default_entry" : { - "action_id" : 38, + "action_id" : 39, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -9705,14 +9711,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [39], + "action_ids" : [40], "actions" : ["act_3"], "base_default_next" : "FabricIngress.forwarding.acl", "next_tables" : { "act_3" : "FabricIngress.forwarding.acl" }, "default_entry" : { - "action_id" : 39, + "action_id" : 40, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -9723,7 +9729,7 @@ "id" : 9, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 87, + "line" : 91, "column" : 10, "source_fragment" : "routing_v4" }, @@ -9741,11 +9747,12 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [18, 4], - "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "NoAction"], + "action_ids" : [18, 19, 4], + "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "NoAction"], "base_default_next" : "FabricIngress.forwarding.acl", "next_tables" : { "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.forwarding.acl", + "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.forwarding.acl", "NoAction" : "FabricIngress.forwarding.acl" }, "default_entry" : { @@ -9760,7 +9767,7 @@ "id" : 10, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 131, + "line" : 136, "column" : 10, "source_fragment" : "acl" }, @@ -9844,7 +9851,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [19, 20, 21, 22, 23], + "action_ids" : [20, 21, 22, 23, 24], "actions" : ["FabricIngress.forwarding.set_next_id_acl", "FabricIngress.forwarding.punt_to_cpu", "FabricIngress.forwarding.clone_to_cpu", "FabricIngress.forwarding.drop", "FabricIngress.forwarding.nop_acl"], "base_default_next" : "tbl_act_4", "next_tables" : { @@ -9855,7 +9862,7 @@ "FabricIngress.forwarding.nop_acl" : "tbl_act_4" }, "default_entry" : { - "action_id" : 23, + "action_id" : 24, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -9871,14 +9878,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [40], + "action_ids" : [41], "actions" : ["act_4"], "base_default_next" : "FabricIngress.next.vlan_meta", "next_tables" : { "act_4" : "FabricIngress.next.vlan_meta" }, "default_entry" : { - "action_id" : 40, + "action_id" : 41, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -9907,7 +9914,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [24, 8], + "action_ids" : [25, 8], "actions" : ["FabricIngress.next.set_vlan", "nop"], "base_default_next" : "FabricIngress.next.simple", "next_tables" : { @@ -9944,7 +9951,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [25, 26, 27, 28, 29, 30, 5], + "action_ids" : [26, 27, 28, 29, 30, 31, 5], "actions" : ["FabricIngress.next.output_simple", "FabricIngress.next.set_vlan_output", "FabricIngress.next.l3_routing_simple", "FabricIngress.next.mpls_routing_v4_simple", "FabricIngress.next.mpls_routing_v6_simple", "FabricIngress.next.l3_routing_vlan", "NoAction"], "base_default_next" : null, "next_tables" : { @@ -9968,14 +9975,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [41], + "action_ids" : [42], "actions" : ["act_5"], "base_default_next" : "node_23", "next_tables" : { "act_5" : "node_23" }, "default_entry" : { - "action_id" : 41, + "action_id" : 42, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -9991,14 +9998,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [42], + "action_ids" : [43], "actions" : ["act_6"], "base_default_next" : "node_23", "next_tables" : { "act_6" : "node_23" }, "default_entry" : { - "action_id" : 42, + "action_id" : 43, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -10028,7 +10035,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [31, 32, 33, 6], + "action_ids" : [32, 33, 34, 6], "actions" : ["FabricIngress.next.l3_routing_hashed", "FabricIngress.next.mpls_routing_v4_hashed", "FabricIngress.next.mpls_routing_v6_hashed", "NoAction"], "base_default_next" : null, "next_tables" : { @@ -10046,14 +10053,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [43], + "action_ids" : [44], "actions" : ["act_7"], "base_default_next" : "node_27", "next_tables" : { "act_7" : "node_27" }, "default_entry" : { - "action_id" : 43, + "action_id" : 44, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -10069,14 +10076,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [44], + "action_ids" : [45], "actions" : ["act_8"], "base_default_next" : "node_27", "next_tables" : { "act_8" : "node_27" }, "default_entry" : { - "action_id" : 44, + "action_id" : 45, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -10105,7 +10112,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [34, 7], + "action_ids" : [35, 7], "actions" : ["FabricIngress.next.set_mcast_group", "NoAction"], "base_default_next" : null, "next_tables" : { @@ -10129,14 +10136,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [45], + "action_ids" : [46], "actions" : ["act_9"], "base_default_next" : "node_31", "next_tables" : { "act_9" : "node_31" }, "default_entry" : { - "action_id" : 45, + "action_id" : 46, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -10152,14 +10159,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [46], + "action_ids" : [47], "actions" : ["act_10"], "base_default_next" : "node_31", "next_tables" : { "act_10" : "node_31" }, "default_entry" : { - "action_id" : 46, + "action_id" : 47, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -10175,14 +10182,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [47], + "action_ids" : [48], "actions" : ["act_11"], "base_default_next" : "node_33", "next_tables" : { "act_11" : "node_33" }, "default_entry" : { - "action_id" : 47, + "action_id" : 48, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -10198,14 +10205,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [48], + "action_ids" : [49], "actions" : ["act_12"], "base_default_next" : "node_37", "next_tables" : { "act_12" : "node_37" }, "default_entry" : { - "action_id" : 48, + "action_id" : 49, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -10221,14 +10228,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [49], + "action_ids" : [50], "actions" : ["act_13"], "base_default_next" : "node_39", "next_tables" : { "act_13" : "node_39" }, "default_entry" : { - "action_id" : 49, + "action_id" : 50, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -10244,14 +10251,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [50], + "action_ids" : [51], "actions" : ["act_14"], "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_source", "next_tables" : { "act_14" : "FabricIngress.process_set_source_sink.tb_set_source" }, "default_entry" : { - "action_id" : 50, + "action_id" : 51, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -10341,14 +10348,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [51], + "action_ids" : [52], "actions" : ["act_15"], "base_default_next" : null, "next_tables" : { "act_15" : null }, "default_entry" : { - "action_id" : 51, + "action_id" : 52, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -10433,7 +10440,7 @@ "id" : 2, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 186, + "line" : 191, "column" : 11, "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING" }, @@ -10459,7 +10466,7 @@ "id" : 3, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 187, + "line" : 192, "column" : 17, "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS" }, @@ -10485,7 +10492,7 @@ "id" : 4, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 193, + "line" : 198, "column" : 17, "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST" }, @@ -10774,14 +10781,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [101], + "action_ids" : [102], "actions" : ["FabricEgress.pkt_io_egress.pop_vlan"], "base_default_next" : "node_51", "next_tables" : { "FabricEgress.pkt_io_egress.pop_vlan" : "node_51" }, "default_entry" : { - "action_id" : 101, + "action_id" : 102, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -10797,14 +10804,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [58], + "action_ids" : [59], "actions" : ["drop_now"], "base_default_next" : "tbl_act_16", "next_tables" : { "drop_now" : "tbl_act_16" }, "default_entry" : { - "action_id" : 58, + "action_id" : 59, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -10820,14 +10827,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [103], + "action_ids" : [104], "actions" : ["act_16"], "base_default_next" : null, "next_tables" : { "act_16" : null }, "default_entry" : { - "action_id" : 103, + "action_id" : 104, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -10843,14 +10850,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [59], + "action_ids" : [60], "actions" : ["drop_now"], "base_default_next" : "FabricEgress.egress_next.egress_vlan", "next_tables" : { "drop_now" : "FabricEgress.egress_next.egress_vlan" }, "default_entry" : { - "action_id" : 59, + "action_id" : 60, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -10885,7 +10892,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [102, 57], + "action_ids" : [103, 58], "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"], "base_default_next" : "node_57", "next_tables" : { @@ -10893,7 +10900,7 @@ "nop" : "node_57" }, "default_entry" : { - "action_id" : 57, + "action_id" : 58, "action_const" : false, "action_data" : [], "action_entry_const" : false @@ -10940,7 +10947,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [60, 52], + "action_ids" : [61, 53], "actions" : ["FabricEgress.process_int_source.int_source_dscp", "NoAction"], "base_default_next" : "node_60", "next_tables" : { @@ -10948,7 +10955,7 @@ "NoAction" : "node_60" }, "default_entry" : { - "action_id" : 52, + "action_id" : 53, "action_const" : false, "action_data" : [], "action_entry_const" : false @@ -10970,7 +10977,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [62, 53], + "action_ids" : [63, 54], "actions" : ["FabricEgress.process_int_transit.int_transit", "NoAction"], "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0003", "next_tables" : { @@ -10978,7 +10985,7 @@ "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0003" }, "default_entry" : { - "action_id" : 53, + "action_id" : 54, "action_const" : false, "action_data" : [], "action_entry_const" : false @@ -11007,7 +11014,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 54], + "action_ids" : [64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 55], "actions" : ["FabricEgress.process_int_transit.int_set_header_0003_i0", "FabricEgress.process_int_transit.int_set_header_0003_i1", "FabricEgress.process_int_transit.int_set_header_0003_i2", "FabricEgress.process_int_transit.int_set_header_0003_i3", "FabricEgress.process_int_transit.int_set_header_0003_i4", "FabricEgress.process_int_transit.int_set_header_0003_i5", "FabricEgress.process_int_transit.int_set_header_0003_i6", "FabricEgress.process_int_transit.int_set_header_0003_i7", "FabricEgress.process_int_transit.int_set_header_0003_i8", "FabricEgress.process_int_transit.int_set_header_0003_i9", "FabricEgress.process_int_transit.int_set_header_0003_i10", "FabricEgress.process_int_transit.int_set_header_0003_i11", "FabricEgress.process_int_transit.int_set_header_0003_i12", "FabricEgress.process_int_transit.int_set_header_0003_i13", "FabricEgress.process_int_transit.int_set_header_0003_i14", "FabricEgress.process_int_transit.int_set_header_0003_i15", "NoAction"], "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0407", "next_tables" : { @@ -11030,7 +11037,7 @@ "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0407" }, "default_entry" : { - "action_id" : 54, + "action_id" : 55, "action_const" : false, "action_data" : [], "action_entry_const" : false @@ -11059,7 +11066,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 55], + "action_ids" : [80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 56], "actions" : ["FabricEgress.process_int_transit.int_set_header_0407_i0", "FabricEgress.process_int_transit.int_set_header_0407_i1", "FabricEgress.process_int_transit.int_set_header_0407_i2", "FabricEgress.process_int_transit.int_set_header_0407_i3", "FabricEgress.process_int_transit.int_set_header_0407_i4", "FabricEgress.process_int_transit.int_set_header_0407_i5", "FabricEgress.process_int_transit.int_set_header_0407_i6", "FabricEgress.process_int_transit.int_set_header_0407_i7", "FabricEgress.process_int_transit.int_set_header_0407_i8", "FabricEgress.process_int_transit.int_set_header_0407_i9", "FabricEgress.process_int_transit.int_set_header_0407_i10", "FabricEgress.process_int_transit.int_set_header_0407_i11", "FabricEgress.process_int_transit.int_set_header_0407_i12", "FabricEgress.process_int_transit.int_set_header_0407_i13", "FabricEgress.process_int_transit.int_set_header_0407_i14", "FabricEgress.process_int_transit.int_set_header_0407_i15", "NoAction"], "base_default_next" : "tbl_process_int_transit_int_update_total_hop_cnt", "next_tables" : { @@ -11082,7 +11089,7 @@ "NoAction" : "tbl_process_int_transit_int_update_total_hop_cnt" }, "default_entry" : { - "action_id" : 55, + "action_id" : 56, "action_const" : false, "action_data" : [], "action_entry_const" : false @@ -11098,14 +11105,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [61], + "action_ids" : [62], "actions" : ["FabricEgress.process_int_transit.int_update_total_hop_cnt"], "base_default_next" : "node_65", "next_tables" : { "FabricEgress.process_int_transit.int_update_total_hop_cnt" : "node_65" }, "default_entry" : { - "action_id" : 61, + "action_id" : 62, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11121,14 +11128,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [95], + "action_ids" : [96], "actions" : ["FabricEgress.process_int_outer_encap.int_update_ipv4"], "base_default_next" : "node_67", "next_tables" : { "FabricEgress.process_int_outer_encap.int_update_ipv4" : "node_67" }, "default_entry" : { - "action_id" : 95, + "action_id" : 96, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11144,14 +11151,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [96], + "action_ids" : [97], "actions" : ["FabricEgress.process_int_outer_encap.int_update_udp"], "base_default_next" : "node_69", "next_tables" : { "FabricEgress.process_int_outer_encap.int_update_udp" : "node_69" }, "default_entry" : { - "action_id" : 96, + "action_id" : 97, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11167,14 +11174,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [97], + "action_ids" : [98], "actions" : ["FabricEgress.process_int_outer_encap.int_update_shim"], "base_default_next" : "node_71", "next_tables" : { "FabricEgress.process_int_outer_encap.int_update_shim" : "node_71" }, "default_entry" : { - "action_id" : 97, + "action_id" : 98, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11196,7 +11203,7 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [98, 56], + "action_ids" : [99, 57], "actions" : ["FabricEgress.process_int_report.do_report_encapsulation", "NoAction"], "base_default_next" : "node_73", "next_tables" : { @@ -11204,7 +11211,7 @@ "NoAction" : "node_73" }, "default_entry" : { - "action_id" : 56, + "action_id" : 57, "action_const" : false, "action_data" : [], "action_entry_const" : false @@ -11220,14 +11227,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [99], + "action_ids" : [100], "actions" : ["FabricEgress.process_int_sink.restore_header"], "base_default_next" : "tbl_process_int_sink_int_sink", "next_tables" : { "FabricEgress.process_int_sink.restore_header" : "tbl_process_int_sink_int_sink" }, "default_entry" : { - "action_id" : 99, + "action_id" : 100, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -11243,14 +11250,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [100], + "action_ids" : [101], "actions" : ["FabricEgress.process_int_sink.int_sink"], "base_default_next" : null, "next_tables" : { "FabricEgress.process_int_sink.int_sink" : null }, "default_entry" : { - "action_id" : 100, + "action_id" : 101, "action_const" : true, "action_data" : [], "action_entry_const" : true diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric-int/bmv2/default/p4info.txt b/pipelines/fabric/src/main/resources/p4c-out/fabric-int/bmv2/default/p4info.txt index f82a75e46b..545564cafe 100644 --- a/pipelines/fabric/src/main/resources/p4c-out/fabric-int/bmv2/default/p4info.txt +++ b/pipelines/fabric/src/main/resources/p4c-out/fabric-int/bmv2/default/p4info.txt @@ -184,6 +184,9 @@ tables { action_refs { id: 16777434 } + action_refs { + id: 16804187 + } action_refs { id: 16800567 annotations: "@defaultonly()" @@ -757,6 +760,13 @@ actions { bitwidth: 32 } } +actions { + preamble { + id: 16804187 + name: "FabricIngress.forwarding.nop_routing_v4" + alias: "nop_routing_v4" + } +} actions { preamble { id: 16785374 diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json b/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json index 2f3beb2fb7..a34bcfbfd0 100644 --- a/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json +++ b/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json @@ -1779,8 +1779,14 @@ ] }, { - "name" : "FabricIngress.forwarding.set_next_id_acl", + "name" : "FabricIngress.forwarding.nop_routing_v4", "id" : 20, + "runtime_data" : [], + "primitives" : [] + }, + { + "name" : "FabricIngress.forwarding.set_next_id_acl", + "id" : 21, "runtime_data" : [ { "name" : "next_id", @@ -1802,7 +1808,7 @@ ], "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 105, + "line" : 110, "column" : 8, "source_fragment" : "fabric_metadata.next_id = next_id" } @@ -1811,7 +1817,7 @@ }, { "name" : "FabricIngress.forwarding.punt_to_cpu", - "id" : 21, + "id" : 22, "runtime_data" : [], "primitives" : [ { @@ -1828,7 +1834,7 @@ ], "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 111, + "line" : 116, "column" : 8, "source_fragment" : "standard_metadata.egress_spec = 255" } @@ -1838,7 +1844,7 @@ "parameters" : [], "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 113, + "line" : 118, "column" : 8, "source_fragment" : "exit" } @@ -1847,7 +1853,7 @@ }, { "name" : "FabricIngress.forwarding.clone_to_cpu", - "id" : 22, + "id" : 23, "runtime_data" : [], "primitives" : [ { @@ -1874,7 +1880,7 @@ ], "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 118, + "line" : 123, "column" : 8, "source_fragment" : "fabric_metadata.clone_to_cpu = true" } @@ -1883,7 +1889,7 @@ }, { "name" : "FabricIngress.forwarding.drop", - "id" : 23, + "id" : 24, "runtime_data" : [], "primitives" : [ { @@ -1891,7 +1897,7 @@ "parameters" : [], "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 123, + "line" : 128, "column" : 8, "source_fragment" : "mark_to_drop()" } @@ -1900,13 +1906,13 @@ }, { "name" : "FabricIngress.forwarding.nop_acl", - "id" : 24, + "id" : 25, "runtime_data" : [], "primitives" : [] }, { "name" : "FabricIngress.next.set_vlan", - "id" : 25, + "id" : 26, "runtime_data" : [ { "name" : "new_vlan_id", @@ -1937,7 +1943,7 @@ }, { "name" : "FabricIngress.next.output_simple", - "id" : 26, + "id" : 27, "runtime_data" : [ { "name" : "port_num", @@ -1968,7 +1974,7 @@ }, { "name" : "FabricIngress.next.set_vlan_output", - "id" : 27, + "id" : 28, "runtime_data" : [ { "name" : "new_vlan_id", @@ -2022,7 +2028,7 @@ }, { "name" : "FabricIngress.next.l3_routing_simple", - "id" : 28, + "id" : 29, "runtime_data" : [ { "name" : "port_num", @@ -2099,197 +2105,6 @@ }, { "name" : "FabricIngress.next.mpls_routing_v4_simple", - "id" : 29, - "runtime_data" : [ - { - "name" : "port_num", - "bitwidth" : 9 - }, - { - "name" : "smac", - "bitwidth" : 48 - }, - { - "name" : "dmac", - "bitwidth" : 48 - }, - { - "name" : "label", - "bitwidth" : 20 - } - ], - "primitives" : [ - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "src_addr"] - }, - { - "type" : "runtime_data", - "value" : 1 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 37, - "column" : 8, - "source_fragment" : "hdr.ethernet.src_addr = smac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "dst_addr"] - }, - { - "type" : "runtime_data", - "value" : 2 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 41, - "column" : 8, - "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["standard_metadata", "egress_spec"] - }, - { - "type" : "runtime_data", - "value" : 0 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 85, - "column" : 8, - "source_fragment" : "standard_metadata.egress_spec = port_num; ..." - } - }, - { - "op" : "add_header", - "parameters" : [ - { - "type" : "header", - "value" : "mpls" - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 46, - "column" : 8, - "source_fragment" : "hdr.mpls.setValid()" - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["vlan_tag", "ether_type"] - }, - { - "type" : "hexstr", - "value" : "0x8847" - } - ], - "source_info" : { - "filename" : "include/control/../define.p4", - "line" : 90, - "column" : 31, - "source_fragment" : "0x8847; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["mpls", "label"] - }, - { - "type" : "runtime_data", - "value" : 3 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 48, - "column" : 8, - "source_fragment" : "hdr.mpls.label = label; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["mpls", "tc"] - }, - { - "type" : "hexstr", - "value" : "0x00" - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 49, - "column" : 8, - "source_fragment" : "hdr.mpls.tc = tc; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["mpls", "bos"] - }, - { - "type" : "hexstr", - "value" : "0x01" - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 50, - "column" : 8, - "source_fragment" : "hdr.mpls.bos = 1w1" - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["mpls", "ttl"] - }, - { - "type" : "hexstr", - "value" : "0x40" - } - ], - "source_info" : { - "filename" : "include/control/../define.p4", - "line" : 113, - "column" : 32, - "source_fragment" : "64; ..." - } - } - ] - }, - { - "name" : "FabricIngress.next.mpls_routing_v6_simple", "id" : 30, "runtime_data" : [ { @@ -2480,185 +2295,8 @@ ] }, { - "name" : "FabricIngress.next.l3_routing_vlan", + "name" : "FabricIngress.next.mpls_routing_v6_simple", "id" : 31, - "runtime_data" : [ - { - "name" : "port_num", - "bitwidth" : 9 - }, - { - "name" : "smac", - "bitwidth" : 48 - }, - { - "name" : "dmac", - "bitwidth" : 48 - }, - { - "name" : "new_vlan_id", - "bitwidth" : 12 - } - ], - "primitives" : [ - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "src_addr"] - }, - { - "type" : "runtime_data", - "value" : 1 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 37, - "column" : 8, - "source_fragment" : "hdr.ethernet.src_addr = smac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "dst_addr"] - }, - { - "type" : "runtime_data", - "value" : 2 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 41, - "column" : 8, - "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["vlan_tag", "vlan_id"] - }, - { - "type" : "runtime_data", - "value" : 3 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 90, - "column" : 8, - "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["standard_metadata", "egress_spec"] - }, - { - "type" : "runtime_data", - "value" : 0 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 85, - "column" : 8, - "source_fragment" : "standard_metadata.egress_spec = port_num; ..." - } - } - ] - }, - { - "name" : "FabricIngress.next.l3_routing_hashed", - "id" : 32, - "runtime_data" : [ - { - "name" : "port_num", - "bitwidth" : 9 - }, - { - "name" : "smac", - "bitwidth" : 48 - }, - { - "name" : "dmac", - "bitwidth" : 48 - } - ], - "primitives" : [ - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "src_addr"] - }, - { - "type" : "runtime_data", - "value" : 1 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 37, - "column" : 8, - "source_fragment" : "hdr.ethernet.src_addr = smac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "dst_addr"] - }, - { - "type" : "runtime_data", - "value" : 2 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 41, - "column" : 8, - "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["standard_metadata", "egress_spec"] - }, - { - "type" : "runtime_data", - "value" : 0 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 149, - "column" : 8, - "source_fragment" : "standard_metadata.egress_spec = port_num; ..." - } - } - ] - }, - { - "name" : "FabricIngress.next.mpls_routing_v4_hashed", - "id" : 33, "runtime_data" : [ { "name" : "port_num", @@ -2730,7 +2368,7 @@ ], "source_info" : { "filename" : "include/control/next.p4", - "line" : 149, + "line" : 85, "column" : 8, "source_fragment" : "standard_metadata.egress_spec = port_num; ..." } @@ -2848,7 +2486,184 @@ ] }, { - "name" : "FabricIngress.next.mpls_routing_v6_hashed", + "name" : "FabricIngress.next.l3_routing_vlan", + "id" : 32, + "runtime_data" : [ + { + "name" : "port_num", + "bitwidth" : 9 + }, + { + "name" : "smac", + "bitwidth" : 48 + }, + { + "name" : "dmac", + "bitwidth" : 48 + }, + { + "name" : "new_vlan_id", + "bitwidth" : 12 + } + ], + "primitives" : [ + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "src_addr"] + }, + { + "type" : "runtime_data", + "value" : 1 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 37, + "column" : 8, + "source_fragment" : "hdr.ethernet.src_addr = smac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "dst_addr"] + }, + { + "type" : "runtime_data", + "value" : 2 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 41, + "column" : 8, + "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["vlan_tag", "vlan_id"] + }, + { + "type" : "runtime_data", + "value" : 3 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 90, + "column" : 8, + "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["standard_metadata", "egress_spec"] + }, + { + "type" : "runtime_data", + "value" : 0 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 85, + "column" : 8, + "source_fragment" : "standard_metadata.egress_spec = port_num; ..." + } + } + ] + }, + { + "name" : "FabricIngress.next.l3_routing_hashed", + "id" : 33, + "runtime_data" : [ + { + "name" : "port_num", + "bitwidth" : 9 + }, + { + "name" : "smac", + "bitwidth" : 48 + }, + { + "name" : "dmac", + "bitwidth" : 48 + } + ], + "primitives" : [ + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "src_addr"] + }, + { + "type" : "runtime_data", + "value" : 1 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 37, + "column" : 8, + "source_fragment" : "hdr.ethernet.src_addr = smac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "dst_addr"] + }, + { + "type" : "runtime_data", + "value" : 2 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 41, + "column" : 8, + "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["standard_metadata", "egress_spec"] + }, + { + "type" : "runtime_data", + "value" : 0 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 149, + "column" : 8, + "source_fragment" : "standard_metadata.egress_spec = port_num; ..." + } + } + ] + }, + { + "name" : "FabricIngress.next.mpls_routing_v4_hashed", "id" : 34, "runtime_data" : [ { @@ -3039,8 +2854,199 @@ ] }, { - "name" : "FabricIngress.next.set_mcast_group", + "name" : "FabricIngress.next.mpls_routing_v6_hashed", "id" : 35, + "runtime_data" : [ + { + "name" : "port_num", + "bitwidth" : 9 + }, + { + "name" : "smac", + "bitwidth" : 48 + }, + { + "name" : "dmac", + "bitwidth" : 48 + }, + { + "name" : "label", + "bitwidth" : 20 + } + ], + "primitives" : [ + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "src_addr"] + }, + { + "type" : "runtime_data", + "value" : 1 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 37, + "column" : 8, + "source_fragment" : "hdr.ethernet.src_addr = smac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "dst_addr"] + }, + { + "type" : "runtime_data", + "value" : 2 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 41, + "column" : 8, + "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["standard_metadata", "egress_spec"] + }, + { + "type" : "runtime_data", + "value" : 0 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 149, + "column" : 8, + "source_fragment" : "standard_metadata.egress_spec = port_num; ..." + } + }, + { + "op" : "add_header", + "parameters" : [ + { + "type" : "header", + "value" : "mpls" + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 46, + "column" : 8, + "source_fragment" : "hdr.mpls.setValid()" + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["vlan_tag", "ether_type"] + }, + { + "type" : "hexstr", + "value" : "0x8847" + } + ], + "source_info" : { + "filename" : "include/control/../define.p4", + "line" : 90, + "column" : 31, + "source_fragment" : "0x8847; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["mpls", "label"] + }, + { + "type" : "runtime_data", + "value" : 3 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 48, + "column" : 8, + "source_fragment" : "hdr.mpls.label = label; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["mpls", "tc"] + }, + { + "type" : "hexstr", + "value" : "0x00" + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 49, + "column" : 8, + "source_fragment" : "hdr.mpls.tc = tc; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["mpls", "bos"] + }, + { + "type" : "hexstr", + "value" : "0x01" + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 50, + "column" : 8, + "source_fragment" : "hdr.mpls.bos = 1w1" + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["mpls", "ttl"] + }, + { + "type" : "hexstr", + "value" : "0x40" + } + ], + "source_info" : { + "filename" : "include/control/../define.p4", + "line" : 113, + "column" : 32, + "source_fragment" : "64; ..." + } + } + ] + }, + { + "name" : "FabricIngress.next.set_mcast_group", + "id" : 36, "runtime_data" : [ { "name" : "gid", @@ -3100,7 +3106,7 @@ }, { "name" : "act", - "id" : 36, + "id" : 37, "runtime_data" : [], "primitives" : [ { @@ -3136,7 +3142,7 @@ }, { "name" : "act_0", - "id" : 37, + "id" : 38, "runtime_data" : [], "primitives" : [ { @@ -3196,7 +3202,7 @@ }, { "name" : "act_1", - "id" : 38, + "id" : 39, "runtime_data" : [], "primitives" : [ { @@ -3222,7 +3228,7 @@ }, { "name" : "act_2", - "id" : 39, + "id" : 40, "runtime_data" : [], "primitives" : [ { @@ -3244,7 +3250,7 @@ }, { "name" : "act_3", - "id" : 40, + "id" : 41, "runtime_data" : [], "primitives" : [ { @@ -3308,7 +3314,7 @@ }, { "name" : "act_4", - "id" : 41, + "id" : 42, "runtime_data" : [], "primitives" : [ { @@ -3378,7 +3384,7 @@ }, { "name" : "act_5", - "id" : 42, + "id" : 43, "runtime_data" : [], "primitives" : [ { @@ -3408,7 +3414,7 @@ }, { "name" : "act_6", - "id" : 43, + "id" : 44, "runtime_data" : [], "primitives" : [ { @@ -3438,7 +3444,7 @@ }, { "name" : "act_7", - "id" : 44, + "id" : 45, "runtime_data" : [], "primitives" : [ { @@ -3464,7 +3470,7 @@ }, { "name" : "act_8", - "id" : 45, + "id" : 46, "runtime_data" : [], "primitives" : [ { @@ -3494,7 +3500,7 @@ }, { "name" : "act_9", - "id" : 46, + "id" : 47, "runtime_data" : [], "primitives" : [ { @@ -3524,7 +3530,7 @@ }, { "name" : "act_10", - "id" : 47, + "id" : 48, "runtime_data" : [], "primitives" : [ { @@ -3550,7 +3556,7 @@ }, { "name" : "act_11", - "id" : 48, + "id" : 49, "runtime_data" : [], "primitives" : [ { @@ -3605,7 +3611,7 @@ }, { "name" : "act_12", - "id" : 49, + "id" : 50, "runtime_data" : [], "primitives" : [ { @@ -3635,7 +3641,7 @@ }, { "name" : "act_13", - "id" : 50, + "id" : 51, "runtime_data" : [], "primitives" : [ { @@ -3661,7 +3667,7 @@ }, { "name" : "act_14", - "id" : 51, + "id" : 52, "runtime_data" : [], "primitives" : [ { @@ -3691,7 +3697,7 @@ }, { "name" : "act_15", - "id" : 52, + "id" : 53, "runtime_data" : [], "primitives" : [ { @@ -3721,7 +3727,7 @@ }, { "name" : "act_16", - "id" : 53, + "id" : 54, "runtime_data" : [], "primitives" : [ { @@ -3747,7 +3753,7 @@ }, { "name" : "act_17", - "id" : 54, + "id" : 55, "runtime_data" : [], "primitives" : [ { @@ -3773,7 +3779,7 @@ }, { "name" : "act_18", - "id" : 55, + "id" : 56, "runtime_data" : [], "primitives" : [ { @@ -3803,7 +3809,7 @@ }, { "name" : "act_19", - "id" : 56, + "id" : 57, "runtime_data" : [], "primitives" : [ { @@ -3833,7 +3839,7 @@ }, { "name" : "act_20", - "id" : 57, + "id" : 58, "runtime_data" : [], "primitives" : [ { @@ -3863,7 +3869,7 @@ }, { "name" : "act_21", - "id" : 58, + "id" : 59, "runtime_data" : [], "primitives" : [ { @@ -3893,7 +3899,7 @@ }, { "name" : "act_22", - "id" : 59, + "id" : 60, "runtime_data" : [], "primitives" : [ { @@ -3923,7 +3929,7 @@ }, { "name" : "act_23", - "id" : 60, + "id" : 61, "runtime_data" : [], "primitives" : [ { @@ -3953,7 +3959,7 @@ }, { "name" : "act_24", - "id" : 61, + "id" : 62, "runtime_data" : [], "primitives" : [ { @@ -3983,7 +3989,7 @@ }, { "name" : "act_25", - "id" : 62, + "id" : 63, "runtime_data" : [], "primitives" : [ { @@ -4019,7 +4025,7 @@ }, { "name" : "act_26", - "id" : 63, + "id" : 64, "runtime_data" : [], "primitives" : [ { @@ -4068,7 +4074,7 @@ }, { "name" : "act_27", - "id" : 64, + "id" : 65, "runtime_data" : [], "primitives" : [ { @@ -4126,7 +4132,7 @@ }, { "name" : "act_28", - "id" : 65, + "id" : 66, "runtime_data" : [], "primitives" : [ { @@ -4184,36 +4190,9 @@ }, { "name" : "nop", - "id" : 66, - "runtime_data" : [], - "primitives" : [] - }, - { - "name" : "drop_now", "id" : 67, "runtime_data" : [], - "primitives" : [ - { - "op" : "drop", - "parameters" : [], - "source_info" : { - "filename" : "include/control/../action.p4", - "line" : 24, - "column" : 4, - "source_fragment" : "mark_to_drop()" - } - }, - { - "op" : "exit", - "parameters" : [], - "source_info" : { - "filename" : "include/control/../action.p4", - "line" : 25, - "column" : 4, - "source_fragment" : "exit" - } - } - ] + "primitives" : [] }, { "name" : "drop_now", @@ -4243,9 +4222,36 @@ ] }, { - "name" : "FabricEgress.spgw_egress.gtpu_encap", + "name" : "drop_now", "id" : 69, "runtime_data" : [], + "primitives" : [ + { + "op" : "drop", + "parameters" : [], + "source_info" : { + "filename" : "include/control/../action.p4", + "line" : 24, + "column" : 4, + "source_fragment" : "mark_to_drop()" + } + }, + { + "op" : "exit", + "parameters" : [], + "source_info" : { + "filename" : "include/control/../action.p4", + "line" : 25, + "column" : 4, + "source_fragment" : "exit" + } + } + ] + }, + { + "name" : "FabricEgress.spgw_egress.gtpu_encap", + "id" : 70, + "runtime_data" : [], "primitives" : [ { "op" : "add_header", @@ -4836,7 +4842,7 @@ }, { "name" : "FabricEgress.pkt_io_egress.pop_vlan", - "id" : 70, + "id" : 71, "runtime_data" : [], "primitives" : [ { @@ -4877,7 +4883,7 @@ }, { "name" : "FabricEgress.egress_next.pop_vlan", - "id" : 71, + "id" : 72, "runtime_data" : [], "primitives" : [ { @@ -4918,7 +4924,7 @@ }, { "name" : "act_29", - "id" : 72, + "id" : 73, "runtime_data" : [], "primitives" : [ { @@ -4980,14 +4986,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [37], + "action_ids" : [38], "actions" : ["act_0"], "base_default_next" : "node_3", "next_tables" : { "act_0" : "node_3" }, "default_entry" : { - "action_id" : 37, + "action_id" : 38, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5003,14 +5009,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [36], + "action_ids" : [37], "actions" : ["act"], "base_default_next" : "node_5", "next_tables" : { "act" : "node_5" }, "default_entry" : { - "action_id" : 36, + "action_id" : 37, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5026,14 +5032,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [40], + "action_ids" : [41], "actions" : ["act_3"], "base_default_next" : "node_7", "next_tables" : { "act_3" : "node_7" }, "default_entry" : { - "action_id" : 40, + "action_id" : 41, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5049,14 +5055,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [38], + "action_ids" : [39], "actions" : ["act_1"], "base_default_next" : "node_10", "next_tables" : { "act_1" : "node_10" }, "default_entry" : { - "action_id" : 38, + "action_id" : 39, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5072,14 +5078,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [39], + "action_ids" : [40], "actions" : ["act_2"], "base_default_next" : "node_10", "next_tables" : { "act_2" : "node_10" }, "default_entry" : { - "action_id" : 39, + "action_id" : 40, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5095,14 +5101,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [41], + "action_ids" : [42], "actions" : ["act_4"], "base_default_next" : null, "next_tables" : { "act_4" : null }, "default_entry" : { - "action_id" : 41, + "action_id" : 42, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5118,14 +5124,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [49], + "action_ids" : [50], "actions" : ["act_12"], "base_default_next" : "node_13", "next_tables" : { "act_12" : "node_13" }, "default_entry" : { - "action_id" : 49, + "action_id" : 50, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5178,14 +5184,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [42], + "action_ids" : [43], "actions" : ["act_5"], "base_default_next" : "node_17", "next_tables" : { "act_5" : "node_17" }, "default_entry" : { - "action_id" : 42, + "action_id" : 43, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5201,14 +5207,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [43], + "action_ids" : [44], "actions" : ["act_6"], "base_default_next" : "node_17", "next_tables" : { "act_6" : "node_17" }, "default_entry" : { - "action_id" : 43, + "action_id" : 44, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5247,14 +5253,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [44], + "action_ids" : [45], "actions" : ["act_7"], "base_default_next" : "tbl_spgw_ingress_gtpu_decap", "next_tables" : { "act_7" : "tbl_spgw_ingress_gtpu_decap" }, "default_entry" : { - "action_id" : 44, + "action_id" : 45, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5330,14 +5336,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [45], + "action_ids" : [46], "actions" : ["act_8"], "base_default_next" : "node_24", "next_tables" : { "act_8" : "node_24" }, "default_entry" : { - "action_id" : 45, + "action_id" : 46, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5353,14 +5359,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [46], + "action_ids" : [47], "actions" : ["act_9"], "base_default_next" : "node_24", "next_tables" : { "act_9" : "node_24" }, "default_entry" : { - "action_id" : 46, + "action_id" : 47, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5376,14 +5382,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [47], + "action_ids" : [48], "actions" : ["act_10"], "base_default_next" : "node_27", "next_tables" : { "act_10" : "node_27" }, "default_entry" : { - "action_id" : 47, + "action_id" : 48, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5399,14 +5405,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [48], + "action_ids" : [49], "actions" : ["act_11"], "base_default_next" : "node_27", "next_tables" : { "act_11" : "node_27" }, "default_entry" : { - "action_id" : 48, + "action_id" : 49, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5422,14 +5428,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [50], + "action_ids" : [51], "actions" : ["act_13"], "base_default_next" : "FabricIngress.filtering.ingress_port_vlan", "next_tables" : { "act_13" : "FabricIngress.filtering.ingress_port_vlan" }, "default_entry" : { - "action_id" : 50, + "action_id" : 51, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5494,14 +5500,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [51], + "action_ids" : [52], "actions" : ["act_14"], "base_default_next" : "node_32", "next_tables" : { "act_14" : "node_32" }, "default_entry" : { - "action_id" : 51, + "action_id" : 52, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5517,14 +5523,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [52], + "action_ids" : [53], "actions" : ["act_15"], "base_default_next" : "node_32", "next_tables" : { "act_15" : "node_32" }, "default_entry" : { - "action_id" : 52, + "action_id" : 53, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5588,14 +5594,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [53], + "action_ids" : [54], "actions" : ["act_16"], "base_default_next" : "node_35", "next_tables" : { "act_16" : "node_35" }, "default_entry" : { - "action_id" : 53, + "action_id" : 54, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5691,14 +5697,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [54], + "action_ids" : [55], "actions" : ["act_17"], "base_default_next" : "FabricIngress.forwarding.acl", "next_tables" : { "act_17" : "FabricIngress.forwarding.acl" }, "default_entry" : { - "action_id" : 54, + "action_id" : 55, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5709,7 +5715,7 @@ "id" : 27, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 87, + "line" : 91, "column" : 10, "source_fragment" : "routing_v4" }, @@ -5727,11 +5733,12 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [19, 4], - "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "NoAction"], + "action_ids" : [19, 20, 4], + "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "NoAction"], "base_default_next" : "FabricIngress.forwarding.acl", "next_tables" : { "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.forwarding.acl", + "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.forwarding.acl", "NoAction" : "FabricIngress.forwarding.acl" }, "default_entry" : { @@ -5746,7 +5753,7 @@ "id" : 28, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 131, + "line" : 136, "column" : 10, "source_fragment" : "acl" }, @@ -5830,7 +5837,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [20, 21, 22, 23, 24], + "action_ids" : [21, 22, 23, 24, 25], "actions" : ["FabricIngress.forwarding.set_next_id_acl", "FabricIngress.forwarding.punt_to_cpu", "FabricIngress.forwarding.clone_to_cpu", "FabricIngress.forwarding.drop", "FabricIngress.forwarding.nop_acl"], "base_default_next" : "tbl_act_18", "next_tables" : { @@ -5841,7 +5848,7 @@ "FabricIngress.forwarding.nop_acl" : "tbl_act_18" }, "default_entry" : { - "action_id" : 24, + "action_id" : 25, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5857,14 +5864,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [55], + "action_ids" : [56], "actions" : ["act_18"], "base_default_next" : "FabricIngress.next.vlan_meta", "next_tables" : { "act_18" : "FabricIngress.next.vlan_meta" }, "default_entry" : { - "action_id" : 55, + "action_id" : 56, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5893,7 +5900,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [25, 8], + "action_ids" : [26, 8], "actions" : ["FabricIngress.next.set_vlan", "nop"], "base_default_next" : "FabricIngress.next.simple", "next_tables" : { @@ -5930,7 +5937,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [26, 27, 28, 29, 30, 31, 5], + "action_ids" : [27, 28, 29, 30, 31, 32, 5], "actions" : ["FabricIngress.next.output_simple", "FabricIngress.next.set_vlan_output", "FabricIngress.next.l3_routing_simple", "FabricIngress.next.mpls_routing_v4_simple", "FabricIngress.next.mpls_routing_v6_simple", "FabricIngress.next.l3_routing_vlan", "NoAction"], "base_default_next" : null, "next_tables" : { @@ -5954,14 +5961,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [56], + "action_ids" : [57], "actions" : ["act_19"], "base_default_next" : "node_48", "next_tables" : { "act_19" : "node_48" }, "default_entry" : { - "action_id" : 56, + "action_id" : 57, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -5977,14 +5984,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [57], + "action_ids" : [58], "actions" : ["act_20"], "base_default_next" : "node_48", "next_tables" : { "act_20" : "node_48" }, "default_entry" : { - "action_id" : 57, + "action_id" : 58, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -6014,7 +6021,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [32, 33, 34, 6], + "action_ids" : [33, 34, 35, 6], "actions" : ["FabricIngress.next.l3_routing_hashed", "FabricIngress.next.mpls_routing_v4_hashed", "FabricIngress.next.mpls_routing_v6_hashed", "NoAction"], "base_default_next" : null, "next_tables" : { @@ -6032,14 +6039,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [58], + "action_ids" : [59], "actions" : ["act_21"], "base_default_next" : "node_52", "next_tables" : { "act_21" : "node_52" }, "default_entry" : { - "action_id" : 58, + "action_id" : 59, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -6055,14 +6062,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [59], + "action_ids" : [60], "actions" : ["act_22"], "base_default_next" : "node_52", "next_tables" : { "act_22" : "node_52" }, "default_entry" : { - "action_id" : 59, + "action_id" : 60, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -6091,7 +6098,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [35, 7], + "action_ids" : [36, 7], "actions" : ["FabricIngress.next.set_mcast_group", "NoAction"], "base_default_next" : null, "next_tables" : { @@ -6115,14 +6122,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [60], + "action_ids" : [61], "actions" : ["act_23"], "base_default_next" : "node_56", "next_tables" : { "act_23" : "node_56" }, "default_entry" : { - "action_id" : 60, + "action_id" : 61, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -6138,14 +6145,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [61], + "action_ids" : [62], "actions" : ["act_24"], "base_default_next" : "node_56", "next_tables" : { "act_24" : "node_56" }, "default_entry" : { - "action_id" : 61, + "action_id" : 62, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -6161,14 +6168,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [62], + "action_ids" : [63], "actions" : ["act_25"], "base_default_next" : "node_58", "next_tables" : { "act_25" : "node_58" }, "default_entry" : { - "action_id" : 62, + "action_id" : 63, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -6184,14 +6191,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [63], + "action_ids" : [64], "actions" : ["act_26"], "base_default_next" : "node_62", "next_tables" : { "act_26" : "node_62" }, "default_entry" : { - "action_id" : 63, + "action_id" : 64, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -6207,14 +6214,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [64], + "action_ids" : [65], "actions" : ["act_27"], "base_default_next" : "node_64", "next_tables" : { "act_27" : "node_64" }, "default_entry" : { - "action_id" : 64, + "action_id" : 65, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -6230,14 +6237,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [65], + "action_ids" : [66], "actions" : ["act_28"], "base_default_next" : null, "next_tables" : { "act_28" : null }, "default_entry" : { - "action_id" : 65, + "action_id" : 66, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -6493,7 +6500,7 @@ "id" : 9, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 186, + "line" : 191, "column" : 11, "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING" }, @@ -6519,7 +6526,7 @@ "id" : 10, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 187, + "line" : 192, "column" : 17, "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS" }, @@ -6545,7 +6552,7 @@ "id" : 11, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 193, + "line" : 198, "column" : 17, "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST" }, @@ -6808,14 +6815,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [70], + "action_ids" : [71], "actions" : ["FabricEgress.pkt_io_egress.pop_vlan"], "base_default_next" : "node_72", "next_tables" : { "FabricEgress.pkt_io_egress.pop_vlan" : "node_72" }, "default_entry" : { - "action_id" : 70, + "action_id" : 71, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -6831,14 +6838,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [67], + "action_ids" : [68], "actions" : ["drop_now"], "base_default_next" : "tbl_act_29", "next_tables" : { "drop_now" : "tbl_act_29" }, "default_entry" : { - "action_id" : 67, + "action_id" : 68, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -6854,14 +6861,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [72], + "action_ids" : [73], "actions" : ["act_29"], "base_default_next" : null, "next_tables" : { "act_29" : null }, "default_entry" : { - "action_id" : 72, + "action_id" : 73, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -6877,14 +6884,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [68], + "action_ids" : [69], "actions" : ["drop_now"], "base_default_next" : "FabricEgress.egress_next.egress_vlan", "next_tables" : { "drop_now" : "FabricEgress.egress_next.egress_vlan" }, "default_entry" : { - "action_id" : 68, + "action_id" : 69, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -6919,7 +6926,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [71, 66], + "action_ids" : [72, 67], "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"], "base_default_next" : "node_78", "next_tables" : { @@ -6927,7 +6934,7 @@ "nop" : "node_78" }, "default_entry" : { - "action_id" : 66, + "action_id" : 67, "action_const" : false, "action_data" : [], "action_entry_const" : false @@ -6943,14 +6950,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [69], + "action_ids" : [70], "actions" : ["FabricEgress.spgw_egress.gtpu_encap"], "base_default_next" : null, "next_tables" : { "FabricEgress.spgw_egress.gtpu_encap" : null }, "default_entry" : { - "action_id" : 69, + "action_id" : 70, "action_const" : true, "action_data" : [], "action_entry_const" : true diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw/bmv2/default/p4info.txt b/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw/bmv2/default/p4info.txt index a7cb5120cc..40d1a1c624 100644 --- a/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw/bmv2/default/p4info.txt +++ b/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw/bmv2/default/p4info.txt @@ -179,6 +179,9 @@ tables { action_refs { id: 16777434 } + action_refs { + id: 16804187 + } action_refs { id: 16800567 annotations: "@defaultonly()" @@ -564,6 +567,13 @@ actions { bitwidth: 32 } } +actions { + preamble { + id: 16804187 + name: "FabricIngress.forwarding.nop_routing_v4" + alias: "nop_routing_v4" + } +} actions { preamble { id: 16785374 diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json b/pipelines/fabric/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json index 4dbc6e89e6..32e5f336a2 100644 --- a/pipelines/fabric/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json +++ b/pipelines/fabric/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json @@ -1283,8 +1283,14 @@ ] }, { - "name" : "FabricIngress.forwarding.set_next_id_acl", + "name" : "FabricIngress.forwarding.nop_routing_v4", "id" : 15, + "runtime_data" : [], + "primitives" : [] + }, + { + "name" : "FabricIngress.forwarding.set_next_id_acl", + "id" : 16, "runtime_data" : [ { "name" : "next_id", @@ -1306,7 +1312,7 @@ ], "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 105, + "line" : 110, "column" : 8, "source_fragment" : "fabric_metadata.next_id = next_id" } @@ -1315,7 +1321,7 @@ }, { "name" : "FabricIngress.forwarding.punt_to_cpu", - "id" : 16, + "id" : 17, "runtime_data" : [], "primitives" : [ { @@ -1332,7 +1338,7 @@ ], "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 111, + "line" : 116, "column" : 8, "source_fragment" : "standard_metadata.egress_spec = 255" } @@ -1342,7 +1348,7 @@ "parameters" : [], "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 113, + "line" : 118, "column" : 8, "source_fragment" : "exit" } @@ -1351,7 +1357,7 @@ }, { "name" : "FabricIngress.forwarding.clone_to_cpu", - "id" : 17, + "id" : 18, "runtime_data" : [], "primitives" : [ { @@ -1378,7 +1384,7 @@ ], "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 118, + "line" : 123, "column" : 8, "source_fragment" : "fabric_metadata.clone_to_cpu = true" } @@ -1387,7 +1393,7 @@ }, { "name" : "FabricIngress.forwarding.drop", - "id" : 18, + "id" : 19, "runtime_data" : [], "primitives" : [ { @@ -1395,7 +1401,7 @@ "parameters" : [], "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 123, + "line" : 128, "column" : 8, "source_fragment" : "mark_to_drop()" } @@ -1404,13 +1410,13 @@ }, { "name" : "FabricIngress.forwarding.nop_acl", - "id" : 19, + "id" : 20, "runtime_data" : [], "primitives" : [] }, { "name" : "FabricIngress.next.set_vlan", - "id" : 20, + "id" : 21, "runtime_data" : [ { "name" : "new_vlan_id", @@ -1441,7 +1447,7 @@ }, { "name" : "FabricIngress.next.output_simple", - "id" : 21, + "id" : 22, "runtime_data" : [ { "name" : "port_num", @@ -1472,7 +1478,7 @@ }, { "name" : "FabricIngress.next.set_vlan_output", - "id" : 22, + "id" : 23, "runtime_data" : [ { "name" : "new_vlan_id", @@ -1526,7 +1532,7 @@ }, { "name" : "FabricIngress.next.l3_routing_simple", - "id" : 23, + "id" : 24, "runtime_data" : [ { "name" : "port_num", @@ -1603,197 +1609,6 @@ }, { "name" : "FabricIngress.next.mpls_routing_v4_simple", - "id" : 24, - "runtime_data" : [ - { - "name" : "port_num", - "bitwidth" : 9 - }, - { - "name" : "smac", - "bitwidth" : 48 - }, - { - "name" : "dmac", - "bitwidth" : 48 - }, - { - "name" : "label", - "bitwidth" : 20 - } - ], - "primitives" : [ - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "src_addr"] - }, - { - "type" : "runtime_data", - "value" : 1 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 37, - "column" : 8, - "source_fragment" : "hdr.ethernet.src_addr = smac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "dst_addr"] - }, - { - "type" : "runtime_data", - "value" : 2 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 41, - "column" : 8, - "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["standard_metadata", "egress_spec"] - }, - { - "type" : "runtime_data", - "value" : 0 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 85, - "column" : 8, - "source_fragment" : "standard_metadata.egress_spec = port_num; ..." - } - }, - { - "op" : "add_header", - "parameters" : [ - { - "type" : "header", - "value" : "mpls" - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 46, - "column" : 8, - "source_fragment" : "hdr.mpls.setValid()" - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["vlan_tag", "ether_type"] - }, - { - "type" : "hexstr", - "value" : "0x8847" - } - ], - "source_info" : { - "filename" : "include/control/../define.p4", - "line" : 90, - "column" : 31, - "source_fragment" : "0x8847; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["mpls", "label"] - }, - { - "type" : "runtime_data", - "value" : 3 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 48, - "column" : 8, - "source_fragment" : "hdr.mpls.label = label; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["mpls", "tc"] - }, - { - "type" : "hexstr", - "value" : "0x00" - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 49, - "column" : 8, - "source_fragment" : "hdr.mpls.tc = tc; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["mpls", "bos"] - }, - { - "type" : "hexstr", - "value" : "0x01" - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 50, - "column" : 8, - "source_fragment" : "hdr.mpls.bos = 1w1" - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["mpls", "ttl"] - }, - { - "type" : "hexstr", - "value" : "0x40" - } - ], - "source_info" : { - "filename" : "include/control/../define.p4", - "line" : 113, - "column" : 32, - "source_fragment" : "64; ..." - } - } - ] - }, - { - "name" : "FabricIngress.next.mpls_routing_v6_simple", "id" : 25, "runtime_data" : [ { @@ -1984,185 +1799,8 @@ ] }, { - "name" : "FabricIngress.next.l3_routing_vlan", + "name" : "FabricIngress.next.mpls_routing_v6_simple", "id" : 26, - "runtime_data" : [ - { - "name" : "port_num", - "bitwidth" : 9 - }, - { - "name" : "smac", - "bitwidth" : 48 - }, - { - "name" : "dmac", - "bitwidth" : 48 - }, - { - "name" : "new_vlan_id", - "bitwidth" : 12 - } - ], - "primitives" : [ - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "src_addr"] - }, - { - "type" : "runtime_data", - "value" : 1 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 37, - "column" : 8, - "source_fragment" : "hdr.ethernet.src_addr = smac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "dst_addr"] - }, - { - "type" : "runtime_data", - "value" : 2 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 41, - "column" : 8, - "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["vlan_tag", "vlan_id"] - }, - { - "type" : "runtime_data", - "value" : 3 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 90, - "column" : 8, - "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["standard_metadata", "egress_spec"] - }, - { - "type" : "runtime_data", - "value" : 0 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 85, - "column" : 8, - "source_fragment" : "standard_metadata.egress_spec = port_num; ..." - } - } - ] - }, - { - "name" : "FabricIngress.next.l3_routing_hashed", - "id" : 27, - "runtime_data" : [ - { - "name" : "port_num", - "bitwidth" : 9 - }, - { - "name" : "smac", - "bitwidth" : 48 - }, - { - "name" : "dmac", - "bitwidth" : 48 - } - ], - "primitives" : [ - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "src_addr"] - }, - { - "type" : "runtime_data", - "value" : 1 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 37, - "column" : 8, - "source_fragment" : "hdr.ethernet.src_addr = smac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["ethernet", "dst_addr"] - }, - { - "type" : "runtime_data", - "value" : 2 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 41, - "column" : 8, - "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." - } - }, - { - "op" : "assign", - "parameters" : [ - { - "type" : "field", - "value" : ["standard_metadata", "egress_spec"] - }, - { - "type" : "runtime_data", - "value" : 0 - } - ], - "source_info" : { - "filename" : "include/control/next.p4", - "line" : 149, - "column" : 8, - "source_fragment" : "standard_metadata.egress_spec = port_num; ..." - } - } - ] - }, - { - "name" : "FabricIngress.next.mpls_routing_v4_hashed", - "id" : 28, "runtime_data" : [ { "name" : "port_num", @@ -2234,7 +1872,7 @@ ], "source_info" : { "filename" : "include/control/next.p4", - "line" : 149, + "line" : 85, "column" : 8, "source_fragment" : "standard_metadata.egress_spec = port_num; ..." } @@ -2352,7 +1990,184 @@ ] }, { - "name" : "FabricIngress.next.mpls_routing_v6_hashed", + "name" : "FabricIngress.next.l3_routing_vlan", + "id" : 27, + "runtime_data" : [ + { + "name" : "port_num", + "bitwidth" : 9 + }, + { + "name" : "smac", + "bitwidth" : 48 + }, + { + "name" : "dmac", + "bitwidth" : 48 + }, + { + "name" : "new_vlan_id", + "bitwidth" : 12 + } + ], + "primitives" : [ + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "src_addr"] + }, + { + "type" : "runtime_data", + "value" : 1 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 37, + "column" : 8, + "source_fragment" : "hdr.ethernet.src_addr = smac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "dst_addr"] + }, + { + "type" : "runtime_data", + "value" : 2 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 41, + "column" : 8, + "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["vlan_tag", "vlan_id"] + }, + { + "type" : "runtime_data", + "value" : 3 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 90, + "column" : 8, + "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["standard_metadata", "egress_spec"] + }, + { + "type" : "runtime_data", + "value" : 0 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 85, + "column" : 8, + "source_fragment" : "standard_metadata.egress_spec = port_num; ..." + } + } + ] + }, + { + "name" : "FabricIngress.next.l3_routing_hashed", + "id" : 28, + "runtime_data" : [ + { + "name" : "port_num", + "bitwidth" : 9 + }, + { + "name" : "smac", + "bitwidth" : 48 + }, + { + "name" : "dmac", + "bitwidth" : 48 + } + ], + "primitives" : [ + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "src_addr"] + }, + { + "type" : "runtime_data", + "value" : 1 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 37, + "column" : 8, + "source_fragment" : "hdr.ethernet.src_addr = smac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "dst_addr"] + }, + { + "type" : "runtime_data", + "value" : 2 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 41, + "column" : 8, + "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["standard_metadata", "egress_spec"] + }, + { + "type" : "runtime_data", + "value" : 0 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 149, + "column" : 8, + "source_fragment" : "standard_metadata.egress_spec = port_num; ..." + } + } + ] + }, + { + "name" : "FabricIngress.next.mpls_routing_v4_hashed", "id" : 29, "runtime_data" : [ { @@ -2543,8 +2358,199 @@ ] }, { - "name" : "FabricIngress.next.set_mcast_group", + "name" : "FabricIngress.next.mpls_routing_v6_hashed", "id" : 30, + "runtime_data" : [ + { + "name" : "port_num", + "bitwidth" : 9 + }, + { + "name" : "smac", + "bitwidth" : 48 + }, + { + "name" : "dmac", + "bitwidth" : 48 + }, + { + "name" : "label", + "bitwidth" : 20 + } + ], + "primitives" : [ + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "src_addr"] + }, + { + "type" : "runtime_data", + "value" : 1 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 37, + "column" : 8, + "source_fragment" : "hdr.ethernet.src_addr = smac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["ethernet", "dst_addr"] + }, + { + "type" : "runtime_data", + "value" : 2 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 41, + "column" : 8, + "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["standard_metadata", "egress_spec"] + }, + { + "type" : "runtime_data", + "value" : 0 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 149, + "column" : 8, + "source_fragment" : "standard_metadata.egress_spec = port_num; ..." + } + }, + { + "op" : "add_header", + "parameters" : [ + { + "type" : "header", + "value" : "mpls" + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 46, + "column" : 8, + "source_fragment" : "hdr.mpls.setValid()" + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["vlan_tag", "ether_type"] + }, + { + "type" : "hexstr", + "value" : "0x8847" + } + ], + "source_info" : { + "filename" : "include/control/../define.p4", + "line" : 90, + "column" : 31, + "source_fragment" : "0x8847; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["mpls", "label"] + }, + { + "type" : "runtime_data", + "value" : 3 + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 48, + "column" : 8, + "source_fragment" : "hdr.mpls.label = label; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["mpls", "tc"] + }, + { + "type" : "hexstr", + "value" : "0x00" + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 49, + "column" : 8, + "source_fragment" : "hdr.mpls.tc = tc; ..." + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["mpls", "bos"] + }, + { + "type" : "hexstr", + "value" : "0x01" + } + ], + "source_info" : { + "filename" : "include/control/next.p4", + "line" : 50, + "column" : 8, + "source_fragment" : "hdr.mpls.bos = 1w1" + } + }, + { + "op" : "assign", + "parameters" : [ + { + "type" : "field", + "value" : ["mpls", "ttl"] + }, + { + "type" : "hexstr", + "value" : "0x40" + } + ], + "source_info" : { + "filename" : "include/control/../define.p4", + "line" : 113, + "column" : 32, + "source_fragment" : "64; ..." + } + } + ] + }, + { + "name" : "FabricIngress.next.set_mcast_group", + "id" : 31, "runtime_data" : [ { "name" : "gid", @@ -2604,7 +2610,7 @@ }, { "name" : "act", - "id" : 31, + "id" : 32, "runtime_data" : [], "primitives" : [ { @@ -2674,7 +2680,7 @@ }, { "name" : "act_0", - "id" : 32, + "id" : 33, "runtime_data" : [], "primitives" : [ { @@ -2704,7 +2710,7 @@ }, { "name" : "act_1", - "id" : 33, + "id" : 34, "runtime_data" : [], "primitives" : [ { @@ -2734,7 +2740,7 @@ }, { "name" : "act_2", - "id" : 34, + "id" : 35, "runtime_data" : [], "primitives" : [ { @@ -2760,7 +2766,7 @@ }, { "name" : "act_3", - "id" : 35, + "id" : 36, "runtime_data" : [], "primitives" : [ { @@ -2786,7 +2792,7 @@ }, { "name" : "act_4", - "id" : 36, + "id" : 37, "runtime_data" : [], "primitives" : [ { @@ -2816,7 +2822,7 @@ }, { "name" : "act_5", - "id" : 37, + "id" : 38, "runtime_data" : [], "primitives" : [ { @@ -2846,7 +2852,7 @@ }, { "name" : "act_6", - "id" : 38, + "id" : 39, "runtime_data" : [], "primitives" : [ { @@ -2876,7 +2882,7 @@ }, { "name" : "act_7", - "id" : 39, + "id" : 40, "runtime_data" : [], "primitives" : [ { @@ -2906,7 +2912,7 @@ }, { "name" : "act_8", - "id" : 40, + "id" : 41, "runtime_data" : [], "primitives" : [ { @@ -2936,7 +2942,7 @@ }, { "name" : "act_9", - "id" : 41, + "id" : 42, "runtime_data" : [], "primitives" : [ { @@ -2966,7 +2972,7 @@ }, { "name" : "act_10", - "id" : 42, + "id" : 43, "runtime_data" : [], "primitives" : [ { @@ -2996,7 +3002,7 @@ }, { "name" : "act_11", - "id" : 43, + "id" : 44, "runtime_data" : [], "primitives" : [ { @@ -3032,7 +3038,7 @@ }, { "name" : "act_12", - "id" : 44, + "id" : 45, "runtime_data" : [], "primitives" : [ { @@ -3081,7 +3087,7 @@ }, { "name" : "act_13", - "id" : 45, + "id" : 46, "runtime_data" : [], "primitives" : [ { @@ -3139,7 +3145,7 @@ }, { "name" : "act_14", - "id" : 46, + "id" : 47, "runtime_data" : [], "primitives" : [ { @@ -3197,36 +3203,9 @@ }, { "name" : "nop", - "id" : 47, - "runtime_data" : [], - "primitives" : [] - }, - { - "name" : "drop_now", "id" : 48, "runtime_data" : [], - "primitives" : [ - { - "op" : "drop", - "parameters" : [], - "source_info" : { - "filename" : "include/control/../action.p4", - "line" : 24, - "column" : 4, - "source_fragment" : "mark_to_drop()" - } - }, - { - "op" : "exit", - "parameters" : [], - "source_info" : { - "filename" : "include/control/../action.p4", - "line" : 25, - "column" : 4, - "source_fragment" : "exit" - } - } - ] + "primitives" : [] }, { "name" : "drop_now", @@ -3256,9 +3235,36 @@ ] }, { - "name" : "FabricEgress.pkt_io_egress.pop_vlan", + "name" : "drop_now", "id" : 50, "runtime_data" : [], + "primitives" : [ + { + "op" : "drop", + "parameters" : [], + "source_info" : { + "filename" : "include/control/../action.p4", + "line" : 24, + "column" : 4, + "source_fragment" : "mark_to_drop()" + } + }, + { + "op" : "exit", + "parameters" : [], + "source_info" : { + "filename" : "include/control/../action.p4", + "line" : 25, + "column" : 4, + "source_fragment" : "exit" + } + } + ] + }, + { + "name" : "FabricEgress.pkt_io_egress.pop_vlan", + "id" : 51, + "runtime_data" : [], "primitives" : [ { "op" : "assign", @@ -3298,7 +3304,7 @@ }, { "name" : "FabricEgress.egress_next.pop_vlan", - "id" : 51, + "id" : 52, "runtime_data" : [], "primitives" : [ { @@ -3339,7 +3345,7 @@ }, { "name" : "act_15", - "id" : 52, + "id" : 53, "runtime_data" : [], "primitives" : [ { @@ -3401,14 +3407,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [31], + "action_ids" : [32], "actions" : ["act"], "base_default_next" : null, "next_tables" : { "act" : null }, "default_entry" : { - "action_id" : 31, + "action_id" : 32, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -3473,14 +3479,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [32], + "action_ids" : [33], "actions" : ["act_0"], "base_default_next" : "node_7", "next_tables" : { "act_0" : "node_7" }, "default_entry" : { - "action_id" : 32, + "action_id" : 33, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -3496,14 +3502,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [33], + "action_ids" : [34], "actions" : ["act_1"], "base_default_next" : "node_7", "next_tables" : { "act_1" : "node_7" }, "default_entry" : { - "action_id" : 33, + "action_id" : 34, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -3567,14 +3573,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [34], + "action_ids" : [35], "actions" : ["act_2"], "base_default_next" : "node_10", "next_tables" : { "act_2" : "node_10" }, "default_entry" : { - "action_id" : 34, + "action_id" : 35, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -3670,14 +3676,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [35], + "action_ids" : [36], "actions" : ["act_3"], "base_default_next" : "FabricIngress.forwarding.acl", "next_tables" : { "act_3" : "FabricIngress.forwarding.acl" }, "default_entry" : { - "action_id" : 35, + "action_id" : 36, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -3688,7 +3694,7 @@ "id" : 9, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 87, + "line" : 91, "column" : 10, "source_fragment" : "routing_v4" }, @@ -3706,11 +3712,12 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [14, 2], - "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "NoAction"], + "action_ids" : [14, 15, 2], + "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "NoAction"], "base_default_next" : "FabricIngress.forwarding.acl", "next_tables" : { "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.forwarding.acl", + "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.forwarding.acl", "NoAction" : "FabricIngress.forwarding.acl" }, "default_entry" : { @@ -3725,7 +3732,7 @@ "id" : 10, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 131, + "line" : 136, "column" : 10, "source_fragment" : "acl" }, @@ -3809,7 +3816,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [15, 16, 17, 18, 19], + "action_ids" : [16, 17, 18, 19, 20], "actions" : ["FabricIngress.forwarding.set_next_id_acl", "FabricIngress.forwarding.punt_to_cpu", "FabricIngress.forwarding.clone_to_cpu", "FabricIngress.forwarding.drop", "FabricIngress.forwarding.nop_acl"], "base_default_next" : "tbl_act_4", "next_tables" : { @@ -3820,7 +3827,7 @@ "FabricIngress.forwarding.nop_acl" : "tbl_act_4" }, "default_entry" : { - "action_id" : 19, + "action_id" : 20, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -3836,14 +3843,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [36], + "action_ids" : [37], "actions" : ["act_4"], "base_default_next" : "FabricIngress.next.vlan_meta", "next_tables" : { "act_4" : "FabricIngress.next.vlan_meta" }, "default_entry" : { - "action_id" : 36, + "action_id" : 37, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -3872,7 +3879,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [20, 6], + "action_ids" : [21, 6], "actions" : ["FabricIngress.next.set_vlan", "nop"], "base_default_next" : "FabricIngress.next.simple", "next_tables" : { @@ -3909,7 +3916,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [21, 22, 23, 24, 25, 26, 3], + "action_ids" : [22, 23, 24, 25, 26, 27, 3], "actions" : ["FabricIngress.next.output_simple", "FabricIngress.next.set_vlan_output", "FabricIngress.next.l3_routing_simple", "FabricIngress.next.mpls_routing_v4_simple", "FabricIngress.next.mpls_routing_v6_simple", "FabricIngress.next.l3_routing_vlan", "NoAction"], "base_default_next" : null, "next_tables" : { @@ -3933,14 +3940,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [37], + "action_ids" : [38], "actions" : ["act_5"], "base_default_next" : "node_23", "next_tables" : { "act_5" : "node_23" }, "default_entry" : { - "action_id" : 37, + "action_id" : 38, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -3956,14 +3963,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [38], + "action_ids" : [39], "actions" : ["act_6"], "base_default_next" : "node_23", "next_tables" : { "act_6" : "node_23" }, "default_entry" : { - "action_id" : 38, + "action_id" : 39, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -3993,7 +4000,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [27, 28, 29, 4], + "action_ids" : [28, 29, 30, 4], "actions" : ["FabricIngress.next.l3_routing_hashed", "FabricIngress.next.mpls_routing_v4_hashed", "FabricIngress.next.mpls_routing_v6_hashed", "NoAction"], "base_default_next" : null, "next_tables" : { @@ -4011,14 +4018,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [39], + "action_ids" : [40], "actions" : ["act_7"], "base_default_next" : "node_27", "next_tables" : { "act_7" : "node_27" }, "default_entry" : { - "action_id" : 39, + "action_id" : 40, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -4034,14 +4041,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [40], + "action_ids" : [41], "actions" : ["act_8"], "base_default_next" : "node_27", "next_tables" : { "act_8" : "node_27" }, "default_entry" : { - "action_id" : 40, + "action_id" : 41, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -4070,7 +4077,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [30, 5], + "action_ids" : [31, 5], "actions" : ["FabricIngress.next.set_mcast_group", "NoAction"], "base_default_next" : null, "next_tables" : { @@ -4094,14 +4101,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [41], + "action_ids" : [42], "actions" : ["act_9"], "base_default_next" : "node_31", "next_tables" : { "act_9" : "node_31" }, "default_entry" : { - "action_id" : 41, + "action_id" : 42, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -4117,14 +4124,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [42], + "action_ids" : [43], "actions" : ["act_10"], "base_default_next" : "node_31", "next_tables" : { "act_10" : "node_31" }, "default_entry" : { - "action_id" : 42, + "action_id" : 43, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -4140,14 +4147,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [43], + "action_ids" : [44], "actions" : ["act_11"], "base_default_next" : "node_33", "next_tables" : { "act_11" : "node_33" }, "default_entry" : { - "action_id" : 43, + "action_id" : 44, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -4163,14 +4170,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [44], + "action_ids" : [45], "actions" : ["act_12"], "base_default_next" : "node_37", "next_tables" : { "act_12" : "node_37" }, "default_entry" : { - "action_id" : 44, + "action_id" : 45, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -4186,14 +4193,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [45], + "action_ids" : [46], "actions" : ["act_13"], "base_default_next" : "node_39", "next_tables" : { "act_13" : "node_39" }, "default_entry" : { - "action_id" : 45, + "action_id" : 46, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -4209,14 +4216,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [46], + "action_ids" : [47], "actions" : ["act_14"], "base_default_next" : null, "next_tables" : { "act_14" : null }, "default_entry" : { - "action_id" : 46, + "action_id" : 47, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -4301,7 +4308,7 @@ "id" : 2, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 186, + "line" : 191, "column" : 11, "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING" }, @@ -4327,7 +4334,7 @@ "id" : 3, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 187, + "line" : 192, "column" : 17, "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS" }, @@ -4353,7 +4360,7 @@ "id" : 4, "source_info" : { "filename" : "include/control/forwarding.p4", - "line" : 193, + "line" : 198, "column" : 17, "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST" }, @@ -4616,14 +4623,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [50], + "action_ids" : [51], "actions" : ["FabricEgress.pkt_io_egress.pop_vlan"], "base_default_next" : "node_47", "next_tables" : { "FabricEgress.pkt_io_egress.pop_vlan" : "node_47" }, "default_entry" : { - "action_id" : 50, + "action_id" : 51, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -4639,14 +4646,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [48], + "action_ids" : [49], "actions" : ["drop_now"], "base_default_next" : "tbl_act_15", "next_tables" : { "drop_now" : "tbl_act_15" }, "default_entry" : { - "action_id" : 48, + "action_id" : 49, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -4662,14 +4669,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [52], + "action_ids" : [53], "actions" : ["act_15"], "base_default_next" : null, "next_tables" : { "act_15" : null }, "default_entry" : { - "action_id" : 52, + "action_id" : 53, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -4685,14 +4692,14 @@ "with_counters" : false, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [49], + "action_ids" : [50], "actions" : ["drop_now"], "base_default_next" : "FabricEgress.egress_next.egress_vlan", "next_tables" : { "drop_now" : "FabricEgress.egress_next.egress_vlan" }, "default_entry" : { - "action_id" : 49, + "action_id" : 50, "action_const" : true, "action_data" : [], "action_entry_const" : true @@ -4727,7 +4734,7 @@ "with_counters" : true, "support_timeout" : false, "direct_meters" : null, - "action_ids" : [51, 47], + "action_ids" : [52, 48], "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"], "base_default_next" : null, "next_tables" : { @@ -4735,7 +4742,7 @@ "nop" : null }, "default_entry" : { - "action_id" : 47, + "action_id" : 48, "action_const" : false, "action_data" : [], "action_entry_const" : false diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric/bmv2/default/p4info.txt b/pipelines/fabric/src/main/resources/p4c-out/fabric/bmv2/default/p4info.txt index efb3a76ca3..ef6a5b55bb 100644 --- a/pipelines/fabric/src/main/resources/p4c-out/fabric/bmv2/default/p4info.txt +++ b/pipelines/fabric/src/main/resources/p4c-out/fabric/bmv2/default/p4info.txt @@ -138,6 +138,9 @@ tables { action_refs { id: 16777434 } + action_refs { + id: 16804187 + } action_refs { id: 16800567 annotations: "@defaultonly()" @@ -487,6 +490,13 @@ actions { bitwidth: 32 } } +actions { + preamble { + id: 16804187 + name: "FabricIngress.forwarding.nop_routing_v4" + alias: "nop_routing_v4" + } +} actions { preamble { id: 16785374 diff --git a/pipelines/fabric/src/test/java/org/onosproject/pipelines/fabric/FabricInterpreterTest.java b/pipelines/fabric/src/test/java/org/onosproject/pipelines/fabric/FabricInterpreterTest.java index ca38cf8f6e..a62971867c 100644 --- a/pipelines/fabric/src/test/java/org/onosproject/pipelines/fabric/FabricInterpreterTest.java +++ b/pipelines/fabric/src/test/java/org/onosproject/pipelines/fabric/FabricInterpreterTest.java @@ -135,7 +135,7 @@ public class FabricInterpreterTest { PiAction mappedAction = interpreter.mapTreatment(treatment, FabricConstants.FABRIC_INGRESS_FORWARDING_ROUTING_V4); PiAction expectedAction = PiAction.builder() - .withId(FabricConstants.NOP) + .withId(FabricConstants.FABRIC_INGRESS_FORWARDING_NOP_ROUTING_V4) .build(); assertEquals(expectedAction, mappedAction);