From ae6fb228a0d307466f482affd2b47fbd079f3c9e Mon Sep 17 00:00:00 2001 From: Mihai Budiu Date: Thu, 25 Apr 2019 16:46:31 -0700 Subject: [PATCH] Handle p4-14 intrinsic_metadata (#1704) * Handle p4-14 intrinsic_metadata --- backends/ebpf/midend.cpp | 4 +- frontends/p4/fromv1.0/converters.cpp | 114 +- frontends/p4/fromv1.0/programStructure.cpp | 2 +- frontends/p4/fromv1.0/v1model.h | 5 + frontends/p4/toP4/toP4.cpp | 1 + frontends/p4/toP4/toP4.h | 10 +- ir/v1.cpp | 4 +- p4include/v1model.p4 | 44 +- testdata/p4_14_samples/p414-special-ops.p4 | 340 ++++ testdata/p4_14_samples/p414-special-ops.stf | 32 + testdata/p4_14_samples/packet_redirect.p4 | 4 +- testdata/p4_14_samples/queueing.p4 | 21 +- testdata/p4_14_samples/wide_action2.p4 | 97 - .../TLV_parsing-first.p4 | 4 +- .../TLV_parsing-frontend.p4 | 4 +- .../TLV_parsing-midend.p4 | 17 +- testdata/p4_14_samples_outputs/TLV_parsing.p4 | 4 +- .../copy_to_cpu-first.p4 | 2 - .../copy_to_cpu-frontend.p4 | 2 - .../copy_to_cpu-midend.p4 | 3 - testdata/p4_14_samples_outputs/copy_to_cpu.p4 | 2 - .../p4_14_samples_outputs/counter-first.p4 | 4 +- .../p4_14_samples_outputs/counter-frontend.p4 | 4 +- .../p4_14_samples_outputs/counter-midend.p4 | 5 +- testdata/p4_14_samples_outputs/counter.p4 | 4 +- .../flowlet_switching-first.p4 | 8 +- .../flowlet_switching-frontend.p4 | 8 +- .../flowlet_switching-midend.p4 | 10 +- .../flowlet_switching.p4 | 8 +- .../p4_14_samples_outputs/issue1058-first.p4 | 4 +- .../issue1058-frontend.p4 | 4 +- .../p4_14_samples_outputs/issue1058-midend.p4 | 3 +- testdata/p4_14_samples_outputs/issue1058.p4 | 4 +- testdata/p4_14_samples_outputs/meter-first.p4 | 4 +- .../p4_14_samples_outputs/meter-frontend.p4 | 4 +- .../p4_14_samples_outputs/meter-midend.p4 | 9 +- testdata/p4_14_samples_outputs/meter.p4 | 4 +- .../p4_14_samples_outputs/meter1-first.p4 | 4 +- .../p4_14_samples_outputs/meter1-frontend.p4 | 4 +- .../p4_14_samples_outputs/meter1-midend.p4 | 11 +- testdata/p4_14_samples_outputs/meter1.p4 | 4 +- .../p414-special-ops-2-bmv2-first.p4 | 166 +- .../p414-special-ops-2-bmv2-frontend.p4 | 166 +- .../p414-special-ops-2-bmv2-midend.p4 | 285 ++- .../p414-special-ops-2-bmv2.p4 | 166 +- .../p414-special-ops-3-bmv2-first.p4 | 166 +- .../p414-special-ops-3-bmv2-frontend.p4 | 166 +- .../p414-special-ops-3-bmv2-midend.p4 | 291 ++- .../p414-special-ops-3-bmv2.p4 | 166 +- .../p414-special-ops-first.p4 | 360 ++++ .../p414-special-ops-frontend.p4 | 391 ++++ .../p414-special-ops-midend.p4 | 398 ++++ .../p4_14_samples_outputs/p414-special-ops.p4 | 374 ++++ ...2.p4-stderr => p414-special-ops.p4-stderr} | 0 .../packet_redirect-first.p4 | 12 +- .../packet_redirect-frontend.p4 | 12 +- .../packet_redirect-midend.p4 | 32 +- .../p4_14_samples_outputs/packet_redirect.p4 | 12 +- .../p4_14_samples_outputs/queueing-first.p4 | 36 +- .../queueing-frontend.p4 | 36 +- .../p4_14_samples_outputs/queueing-midend.p4 | 38 +- testdata/p4_14_samples_outputs/queueing.p4 | 32 +- .../p4_14_samples_outputs/register-first.p4 | 4 +- .../register-frontend.p4 | 4 +- .../p4_14_samples_outputs/register-midend.p4 | 7 +- testdata/p4_14_samples_outputs/register.p4 | 4 +- .../p4_14_samples_outputs/resubmit-first.p4 | 4 +- .../resubmit-frontend.p4 | 4 +- .../p4_14_samples_outputs/resubmit-midend.p4 | 12 +- testdata/p4_14_samples_outputs/resubmit.p4 | 4 +- .../p4_14_samples_outputs/sai_p4-first.p4 | 18 +- .../p4_14_samples_outputs/sai_p4-frontend.p4 | 18 +- .../p4_14_samples_outputs/sai_p4-midend.p4 | 13 +- testdata/p4_14_samples_outputs/sai_p4.p4 | 18 +- .../p4_14_samples_outputs/simple_nat-first.p4 | 4 +- .../simple_nat-frontend.p4 | 4 +- .../simple_nat-midend.p4 | 99 +- testdata/p4_14_samples_outputs/simple_nat.p4 | 4 +- .../switch_20160512/switch-first.p4 | 120 +- .../switch_20160512/switch-frontend.p4 | 154 +- .../switch_20160512/switch-midend.p4 | 1710 ++++++++--------- .../switch_20160512/switch.p4 | 120 +- .../wide_action2-first.p4 | 109 -- .../wide_action2-frontend.p4 | 111 -- .../p4_14_samples_outputs/wide_action2.p4 | 107 -- .../p4_16_errors_outputs/issue1541.p4-stderr | 2 +- .../p4_16_errors_outputs/issue513.p4-stderr | 2 +- .../p4_16_samples_outputs/drop-bmv2-midend.p4 | 6 +- .../p4_16_samples_outputs/issue1538-midend.p4 | 6 +- .../issue1544-1-bmv2-midend.p4 | 6 +- .../issue1544-2-bmv2-midend.p4 | 6 +- .../issue1544-bmv2-midend.p4 | 6 +- .../issue1739-bmv2-midend.p4 | 12 +- .../issue461-bmv2-midend.p4 | 12 +- .../issue561-bmv2-midend.p4 | 18 +- .../p4_16_samples_outputs/issue841.p4-stderr | 2 +- .../v1model-special-ops-bmv2-midend.p4 | 18 +- 97 files changed, 4182 insertions(+), 2697 deletions(-) create mode 100644 testdata/p4_14_samples/p414-special-ops.p4 create mode 100644 testdata/p4_14_samples/p414-special-ops.stf delete mode 100644 testdata/p4_14_samples/wide_action2.p4 create mode 100644 testdata/p4_14_samples_outputs/p414-special-ops-first.p4 create mode 100644 testdata/p4_14_samples_outputs/p414-special-ops-frontend.p4 create mode 100644 testdata/p4_14_samples_outputs/p414-special-ops-midend.p4 create mode 100644 testdata/p4_14_samples_outputs/p414-special-ops.p4 rename testdata/p4_14_samples_outputs/{wide_action2.p4-stderr => p414-special-ops.p4-stderr} (100%) delete mode 100644 testdata/p4_14_samples_outputs/wide_action2-first.p4 delete mode 100644 testdata/p4_14_samples_outputs/wide_action2-frontend.p4 delete mode 100644 testdata/p4_14_samples_outputs/wide_action2.p4 diff --git a/backends/ebpf/midend.cpp b/backends/ebpf/midend.cpp index 0a34d15e2b3..1ee0f4a6fca 100644 --- a/backends/ebpf/midend.cpp +++ b/backends/ebpf/midend.cpp @@ -83,9 +83,9 @@ const IR::ToplevelBlock* MidEnd::run(EbpfOptions& options, const IR::P4Program* new P4::OrPolicy( new P4::IsValid(&refMap, &typeMap), new P4::IsLikeLeftValue())), - new P4::RemoveExits(&refMap, &typeMap), + new P4::RemoveExits(&refMap, &typeMap), new P4::ConstantFolding(&refMap, &typeMap), - new P4::SimplifySelectCases(&refMap, &typeMap, false), // accept non-constant keysets + new P4::SimplifySelectCases(&refMap, &typeMap, false), // accept non-constant keysets new P4::HandleNoMatch(&refMap), new P4::SimplifyParsers(&refMap), new P4::StrengthReduction(&refMap, &typeMap), diff --git a/frontends/p4/fromv1.0/converters.cpp b/frontends/p4/fromv1.0/converters.cpp index 47b387778e8..08ee02db2cf 100644 --- a/frontends/p4/fromv1.0/converters.cpp +++ b/frontends/p4/fromv1.0/converters.cpp @@ -1223,9 +1223,9 @@ class InsertCompilerGeneratedStartState: public Transform { } }; -// Handle @packet_entry pragma in P4-14. A P4-14 program may be extended to -// support multiple entry points to the parser. This feature does not comply -// with P4-14 specification, but it is useful in certain use cases. +/// Handle @packet_entry pragma in P4-14. A P4-14 program may be extended to +/// support multiple entry points to the parser. This feature does not comply +/// with P4-14 specification, but it is useful in certain use cases. class FixMultiEntryPoint : public PassManager { public: explicit FixMultiEntryPoint(ProgramStructure* structure) { @@ -1235,9 +1235,114 @@ class FixMultiEntryPoint : public PassManager { } }; -} // namespace +/** + If the user metadata structure has a fields called + "intrinsic_metadata" or "queueing_metadata" move all their fields + to the standard_metadata Change all references appropriately. We + do this because the intrinsic_metadata and queueing_metadata are + handled specially in P4-14 programs - much more like + standard_metadata. +*/ +class MoveIntrinsicMetadata : public Transform { + ProgramStructure* structure; + const IR::Type_Struct* stdType = nullptr; + const IR::Type_Struct* userType = nullptr; + const IR::Type_Struct* intrType = nullptr; + const IR::Type_Struct* queueType = nullptr; + const IR::StructField* intrField = nullptr; + const IR::StructField* queueField = nullptr; + + public: + explicit MoveIntrinsicMetadata(ProgramStructure* structure): structure(structure) + { CHECK_NULL(structure); setName("MoveIntrinsicMetadata"); } + const IR::Node* preorder(IR::P4Program* program) override { + stdType = program->getDeclsByName( + structure->v1model.standardMetadataType.name)->single()->to(); + userType = program->getDeclsByName( + structure->v1model.metadataType.name)->single()->to(); + CHECK_NULL(stdType); + CHECK_NULL(userType); + intrField = userType->getField(structure->v1model.intrinsicMetadata.name); + if (intrField != nullptr) { + auto intrTypeName = intrField->type; + auto tn = intrTypeName->to(); + BUG_CHECK(tn, "%1%: expected a Type_Name", intrTypeName); + auto nt = program->getDeclsByName(tn->path->name)->nextOrDefault(); + if (nt == nullptr || !nt->is()) { + ::error("%1%: expected a structure", tn); + return program; + } + intrType = nt->to(); + LOG2("Intrinsic metadata type " << intrType); + } + + queueField = userType->getField(structure->v1model.queueingMetadata.name); + if (queueField != nullptr) { + auto queueTypeName = queueField->type; + auto tn = queueTypeName->to(); + BUG_CHECK(tn, "%1%: expected a Type_Name", queueTypeName); + auto nt = program->getDeclsByName(tn->path->name)->nextOrDefault(); + if (nt == nullptr || !nt->is()) { + ::error("%1%: expected a structure", tn); + return program; + } + queueType = nt->to(); + LOG2("Queueing metadata type " << queueType); + } + return program; + } + + const IR::Node* postorder(IR::Type_Struct* type) override { + if (getOriginal() == stdType) { + if (intrType != nullptr) { + for (auto f : intrType->fields) { + if (type->fields.getDeclaration(f->name) == nullptr) { + ::error("%1%: no such field in standard_metadata", f->name); + LOG2("standard_metadata: " << type); + } + } + } + if (queueType != nullptr) { + for (auto f : queueType->fields) { + if (type->fields.getDeclaration(f->name) == nullptr) { + ::error("%1%: no such field in standard_metadata", f->name); + LOG2("standard_metadata: " << type); + } + } + } + } + return type; + } + const IR::Node* postorder(IR::StructField* field) override { + if (getOriginal() == intrField || getOriginal() == queueField) + // delete it from its parent + return nullptr; + return field; + } + const IR::Node* postorder(IR::Member* member) override { + // We rewrite expressions like meta.intrinsic_metadata.x as + // standard_metadata.x. We know that these parameter names + // are always the same. + if (member->member != structure->v1model.intrinsicMetadata.name && + member->member != structure->v1model.queueingMetadata.name) + return member; + auto pe = member->expr->to(); + if (pe == nullptr || pe->path->absolute) + return member; + if (pe->path->name == structure->v1model.parser.metadataParam.name) { + LOG2("Renaming reference " << member); + return new IR::PathExpression( + new IR::Path(member->expr->srcInfo, + IR::ID(pe->path->name.srcInfo, + structure->v1model.standardMetadata.name))); + } + return member; + } +}; + +} // namespace /////////////////////////////////////////////////////////////// @@ -1265,6 +1370,7 @@ Converter::Converter() { passes.emplace_back(new Rewriter(structure)); passes.emplace_back(new FixExtracts(structure)); passes.emplace_back(new FixMultiEntryPoint(structure)); + passes.emplace_back(new MoveIntrinsicMetadata(structure)); } Visitor::profile_t Converter::init_apply(const IR::Node* node) { diff --git a/frontends/p4/fromv1.0/programStructure.cpp b/frontends/p4/fromv1.0/programStructure.cpp index 8634d29548e..734531e4edd 100644 --- a/frontends/p4/fromv1.0/programStructure.cpp +++ b/frontends/p4/fromv1.0/programStructure.cpp @@ -102,7 +102,7 @@ void ProgramStructure::checkHeaderType(const IR::Type_StructLike* hdr, bool meta } cstring ProgramStructure::createType(const IR::Type_StructLike* type, bool header, - std::unordered_set *converted) { + std::unordered_set *converted) { if (converted->count(type)) return type->name; converted->emplace(type); diff --git a/frontends/p4/fromv1.0/v1model.h b/frontends/p4/fromv1.0/v1model.h index ebbdb5382f5..5adb26c8e70 100644 --- a/frontends/p4/fromv1.0/v1model.h +++ b/frontends/p4/fromv1.0/v1model.h @@ -244,6 +244,9 @@ class V1Model : public ::Model::Model { V1Model() : Model::Model("0.1"), file("v1model.p4"), standardMetadata("standard_metadata"), + // The following 2 are not really docmented in the P4-14 spec. + intrinsicMetadata("intrinsic_metadata"), + queueingMetadata("queueing_metadata"), headersType("headers"), metadataType("metadata"), standardMetadataType("standard_metadata_t"), @@ -266,6 +269,8 @@ class V1Model : public ::Model::Model { public: ::Model::Elem file; ::Model::Elem standardMetadata; + ::Model::Elem intrinsicMetadata; + ::Model::Elem queueingMetadata; ::Model::Type_Model headersType; ::Model::Type_Model metadataType; StandardMetadataType_Model standardMetadataType; diff --git a/frontends/p4/toP4/toP4.cpp b/frontends/p4/toP4/toP4.cpp index 83962774aea..e68cae73e73 100644 --- a/frontends/p4/toP4/toP4.cpp +++ b/frontends/p4/toP4/toP4.cpp @@ -43,6 +43,7 @@ void ToP4::end_apply(const IR::Node*) { // Try to guess whether a file is a "system" file bool ToP4::isSystemFile(cstring file) { + if (noIncludes) return false; if (file.startsWith(p4includePath)) return true; return false; } diff --git a/frontends/p4/toP4/toP4.h b/frontends/p4/toP4/toP4.h index 53fd432f974..00dda467895 100644 --- a/frontends/p4/toP4/toP4.h +++ b/frontends/p4/toP4/toP4.h @@ -28,10 +28,12 @@ This pass converts a P4-16 IR into a P4 source (text) program. It can optionally emit as comments a representation of the program IR. */ class ToP4 : public Inspector { - int expressionPrecedence; // precedence of current IR::Operation - bool isDeclaration; // current type is a declaration - bool showIR; // if true dump IR as comments - bool withinArgument; // if true we are within a method call argument + int expressionPrecedence; /// precedence of current IR::Operation + bool isDeclaration; /// current type is a declaration + bool showIR; /// if true dump IR as comments + bool withinArgument; /// if true we are within a method call argument + bool noIncludes = false; /// If true do not generate #include statements. + /// Used for debugging. struct VecPrint { cstring separator; diff --git a/ir/v1.cpp b/ir/v1.cpp index 1ea0e514128..a6526109648 100644 --- a/ir/v1.cpp +++ b/ir/v1.cpp @@ -170,7 +170,7 @@ const IR::Type *IR::Primitive::inferOperandType(int operand) const { } IR::V1Program::V1Program() { - // This should be kept in sync with v1model.p4 + // This is used to typecheck P4-14 programs auto *standard_metadata_t = new IR::Type_Struct("standard_metadata_t", { new IR::StructField("ingress_port", IR::Type::Bits::get(9)), new IR::StructField("packet_length", IR::Type::Bits::get(32)), @@ -179,7 +179,7 @@ IR::V1Program::V1Program() { new IR::StructField("egress_instance", IR::Type::Bits::get(16)), new IR::StructField("instance_type", IR::Type::Bits::get(32)), new IR::StructField("parser_status", IR::Type::Bits::get(8)), - new IR::StructField("parser_error_location", IR::Type::Bits::get(8)), + new IR::StructField("parser_error_location", IR::Type::Bits::get(8)) }); scope.add("standard_metadata_t", new IR::v1HeaderType(standard_metadata_t)); scope.add("standard_metadata", new IR::Metadata("standard_metadata", standard_metadata_t)); diff --git a/p4include/v1model.p4 b/p4include/v1model.p4 index d8a6ac82b15..28139eb1aae 100644 --- a/p4include/v1model.p4 +++ b/p4include/v1model.p4 @@ -56,23 +56,43 @@ struct standard_metadata_t { // // flattening fields that exist in bmv2-ss // queueing metadata - @alias("queueing_metadata.enq_timestamp") bit<32> enq_timestamp; - @alias("queueing_metadata.enq_qdepth") bit<19> enq_qdepth; - @alias("queueing_metadata.deq_timedelta") bit<32> deq_timedelta; - @alias("queueing_metadata.deq_qdepth") bit<19> deq_qdepth; + @alias("queueing_metadata.enq_timestamp") + bit<32> enq_timestamp; + @alias("queueing_metadata.enq_qdepth") + bit<19> enq_qdepth; + @alias("queueing_metadata.deq_timedelta") + bit<32> deq_timedelta; + /// queue depth at the packet dequeue time. + @alias("queueing_metadata.deq_qdepth") + bit<19> deq_qdepth; + // intrinsic metadata - @alias("intrinsic_metadata.ingress_global_timestamp") bit<48> ingress_global_timestamp; - @alias("intrinsic_metadata.egress_global_timestamp") bit<48> egress_global_timestamp; - @alias("intrinsic_metadata.lf_field_list") bit<32> lf_field_list; - @alias("intrinsic_metadata.mcast_grp") bit<16> mcast_grp; - @alias("intrinsic_metadata.resubmit_flag") bit<32> resubmit_flag; - @alias("intrinsic_metadata.egress_rid") bit<16> egress_rid; + @alias("intrinsic_metadata.ingress_global_timestamp") + bit<48> ingress_global_timestamp; + @alias("intrinsic_metadata.egress_global_timestamp") + bit<48> egress_global_timestamp; + /// Learn filter field list + @alias("intrinsic_metadata.lf_field_list") + bit<32> lf_field_list; + /// multicast group id (key for the mcast replication table) + @alias("intrinsic_metadata.mcast_grp") + bit<16> mcast_grp; + /// resubmit metadata field list id, or 0 if no resubmit operation has been performed + @alias("intrinsic_metadata.resubmit_flag") + bit<32> resubmit_flag; + /// Replication ID for multicast + @alias("intrinsic_metadata.egress_rid") + bit<16> egress_rid; + @alias("intrinsic_metadata.recirculate_flag") + bit<32> recirculate_flag; /// Indicates that a verify_checksum() method has failed. - // 1 if a checksum error was found, otherwise 0. + /// 1 if a checksum error was found, otherwise 0. bit<1> checksum_error; - @alias("intrinsic_metadata.recirculate_flag") bit<32> recirculate_flag; /// Error produced by parsing error parser_error; + /// set packet priority + @alias("intrinsic_metadata.priority") + bit<3> priority; } enum CounterType { diff --git a/testdata/p4_14_samples/p414-special-ops.p4 b/testdata/p4_14_samples/p414-special-ops.p4 new file mode 100644 index 00000000000..b0f62b82003 --- /dev/null +++ b/testdata/p4_14_samples/p414-special-ops.p4 @@ -0,0 +1,340 @@ +/* +Copyright 2019 Cisco Systems, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +#define MAC_DA_DO_RESUBMIT 0x000000000001 +#define MAC_DA_DO_RECIRCULATE 0x000000000002 +#define MAC_DA_DO_CLONE_E2E 0x000000000003 + +#define MAX_RESUBMIT_COUNT 3 +#define MAX_RECIRCULATE_COUNT 5 +#define MAX_CLONE_E2E_COUNT 4 + +#define ETHERTYPE_VANILLA 0xf00f +#define ETHERTYPE_MAX_RESUBMIT 0xe50b +#define ETHERTYPE_MAX_RECIRCULATE 0xec14 +#define ETHERTYPE_MAX_CLONE_E2E 0xce2e + + +header_type ethernet_t { + fields { + dstAddr : 48; + srcAddr : 48; + etherType : 16; + } +} + +header_type intrinsic_metadata_t { + fields { + ingress_global_timestamp : 48; + egress_global_timestamp : 48; + lf_field_list : 8; + mcast_grp : 16; + egress_rid : 16; + resubmit_flag : 8; + recirculate_flag : 8; + } +} + +header_type mymeta_t { + fields { + resubmit_count : 8; + recirculate_count : 8; + clone_e2e_count : 8; + last_ing_instance_type : 8; + f1 : 8; + } +} + +header_type temporaries_t { + fields { + temp1 : 48; + } +} + +header ethernet_t ethernet; +metadata intrinsic_metadata_t intrinsic_metadata; +metadata mymeta_t mymeta; +metadata temporaries_t temporaries; + +parser start { + return parse_ethernet; +} + +parser parse_ethernet { + extract(ethernet); + return ingress; +} + +action _drop() { + drop(); +} + +action _nop() { +} + +#define ENABLE_DEBUG_TABLE +#ifdef ENABLE_DEBUG_TABLE + + //standard_metadata.egress_instance: exact; + //standard_metadata.parser_status: exact; + //standard_metadata.parser_error: exact; + //standard_metadata.clone_spec: exact; + +#define DEBUG_FIELD_LIST \ + standard_metadata.ingress_port: exact; \ + standard_metadata.packet_length: exact; \ + standard_metadata.egress_spec: exact; \ + standard_metadata.egress_port: exact; \ + standard_metadata.instance_type: exact; \ + intrinsic_metadata.ingress_global_timestamp: exact; \ + intrinsic_metadata.egress_global_timestamp: exact; \ + intrinsic_metadata.lf_field_list: exact; \ + intrinsic_metadata.mcast_grp: exact; \ + intrinsic_metadata.egress_rid: exact; \ + intrinsic_metadata.resubmit_flag: exact; \ + intrinsic_metadata.recirculate_flag: exact; \ + mymeta.resubmit_count: exact; \ + mymeta.recirculate_count: exact; \ + mymeta.clone_e2e_count: exact; \ + mymeta.f1: exact; \ + mymeta.last_ing_instance_type : exact; \ + ethernet.dstAddr: exact; \ + ethernet.srcAddr: exact; \ + ethernet.etherType: exact; + +table t_ing_debug_table1 { + reads { DEBUG_FIELD_LIST } + actions { _nop; } + default_action: _nop; +} + +table t_ing_debug_table2 { + reads { DEBUG_FIELD_LIST } + actions { _nop; } + default_action: _nop; +} + +table t_egr_debug_table1 { + reads { DEBUG_FIELD_LIST } + actions { _nop; } + default_action: _nop; +} + +table t_egr_debug_table2 { + reads { DEBUG_FIELD_LIST } + actions { _nop; } + default_action: _nop; +} +#endif // ENABLE_DEBUG_TABLE + +field_list resubmit_FL { + mymeta.resubmit_count; + mymeta.f1; +} + +field_list recirculate_FL { + mymeta.recirculate_count; + mymeta.f1; +} + +field_list clone_e2e_FL { + mymeta.clone_e2e_count; + mymeta.f1; +} + +action do_resubmit() { + subtract_from_field(ethernet.srcAddr, 17); + add_to_field(mymeta.f1, 17); + add_to_field(mymeta.resubmit_count, 1); + resubmit(resubmit_FL); +} + +table t_do_resubmit { + reads { } + actions { do_resubmit; } + default_action: do_resubmit; +} + +action mark_max_resubmit_packet () { + modify_field(ethernet.etherType, ETHERTYPE_MAX_RESUBMIT); +} + +table t_mark_max_resubmit_packet { + reads { } + actions { mark_max_resubmit_packet; } + default_action: mark_max_resubmit_packet; +} + +action set_port_to_mac_da_lsbs() { + bit_and(standard_metadata.egress_spec, ethernet.dstAddr, 0xf); +} + +table t_ing_mac_da { + reads { } + actions { set_port_to_mac_da_lsbs; } + default_action: set_port_to_mac_da_lsbs; +} + +action save_ing_instance_type () { + modify_field(mymeta.last_ing_instance_type, + standard_metadata.instance_type); +} + +table t_save_ing_instance_type { + reads { } + actions { save_ing_instance_type; } + default_action: save_ing_instance_type; +} + +control ingress { +#ifdef ENABLE_DEBUG_TABLE + apply(t_ing_debug_table1); +#endif // ENABLE_DEBUG_TABLE + if (ethernet.dstAddr == MAC_DA_DO_RESUBMIT) { + if (mymeta.resubmit_count < MAX_RESUBMIT_COUNT) { + apply(t_do_resubmit); + } else { + apply(t_mark_max_resubmit_packet); + } + } else { + apply(t_ing_mac_da); + } + apply(t_save_ing_instance_type); +#ifdef ENABLE_DEBUG_TABLE + apply(t_ing_debug_table2); +#endif // ENABLE_DEBUG_TABLE +} + +action put_debug_vals_in_eth_dstaddr () { + // By copying values of selected metadata fields into the output + // packet, we enable an automated STF test that checks the output + // packet contents, to also check that the values of these + // intermediate metadata field values are also correct. + modify_field(ethernet.dstAddr, 0); + shift_left(temporaries.temp1, mymeta.resubmit_count, 40); + bit_or(ethernet.dstAddr, ethernet.dstAddr, temporaries.temp1); + shift_left(temporaries.temp1, mymeta.recirculate_count, 32); + bit_or(ethernet.dstAddr, ethernet.dstAddr, temporaries.temp1); + shift_left(temporaries.temp1, mymeta.clone_e2e_count, 24); + bit_or(ethernet.dstAddr, ethernet.dstAddr, temporaries.temp1); + shift_left(temporaries.temp1, mymeta.f1, 16); + bit_or(ethernet.dstAddr, ethernet.dstAddr, temporaries.temp1); + shift_left(temporaries.temp1, mymeta.last_ing_instance_type, 8); + bit_or(ethernet.dstAddr, ethernet.dstAddr, temporaries.temp1); + // TBD: Commenting out the following lines, since the value that + // they copy into the output packet may change soon, depending + // upon the resolution of this issue: + // https://github.com/p4lang/behavioral-model/issues/706 + //bit_and(temporaries.temp1, standard_metadata.instance_type, 0xff); + //bit_or(ethernet.dstAddr, ethernet.dstAddr, temporaries.temp1); +} + +action mark_egr_resubmit_packet () { + put_debug_vals_in_eth_dstaddr(); +} + +table t_egr_mark_resubmit_packet { + reads { } + actions { mark_egr_resubmit_packet; } + default_action: mark_egr_resubmit_packet; +} + +action do_recirculate () { + subtract_from_field(ethernet.srcAddr, 19); + add_to_field(mymeta.f1, 19); + add_to_field(mymeta.recirculate_count, 1); + recirculate(recirculate_FL); +} + +table t_do_recirculate { + reads { } + actions { do_recirculate; } + default_action: do_recirculate; +} + +action mark_max_recirculate_packet () { + put_debug_vals_in_eth_dstaddr(); + modify_field(ethernet.etherType, ETHERTYPE_MAX_RECIRCULATE); +} + +table t_mark_max_recirculate_packet { + reads { } + actions { mark_max_recirculate_packet; } + default_action: mark_max_recirculate_packet; +} + +action do_clone_e2e () { + subtract_from_field(ethernet.srcAddr, 23); + add_to_field(mymeta.f1, 23); + add_to_field(mymeta.clone_e2e_count, 1); + clone_egress_pkt_to_egress(1, clone_e2e_FL); +} + +table t_do_clone_e2e { + reads { } + actions { do_clone_e2e; } + default_action: do_clone_e2e; +} + +action mark_max_clone_e2e_packet () { + put_debug_vals_in_eth_dstaddr(); + modify_field(ethernet.etherType, ETHERTYPE_MAX_CLONE_E2E); +} + +table t_mark_max_clone_e2e_packet { + reads { } + actions { mark_max_clone_e2e_packet; } + default_action: mark_max_clone_e2e_packet; +} + +action mark_vanilla_packet () { + put_debug_vals_in_eth_dstaddr(); + modify_field(ethernet.etherType, ETHERTYPE_VANILLA); +} + +table t_mark_vanilla_packet { + reads { } + actions { mark_vanilla_packet; } + default_action: mark_vanilla_packet; +} + +control egress { +#ifdef ENABLE_DEBUG_TABLE + apply(t_egr_debug_table1); +#endif // ENABLE_DEBUG_TABLE + if (ethernet.dstAddr == MAC_DA_DO_RESUBMIT) { + // Do nothing to the packet in egress, not even marking it + // 'vanilla' as is done below. + apply(t_egr_mark_resubmit_packet); + } else if (ethernet.dstAddr == MAC_DA_DO_RECIRCULATE) { + if (mymeta.recirculate_count < MAX_RECIRCULATE_COUNT) { + apply(t_do_recirculate); + } else { + apply(t_mark_max_recirculate_packet); + } + } else if (ethernet.dstAddr == MAC_DA_DO_CLONE_E2E) { + if (mymeta.clone_e2e_count < MAX_CLONE_E2E_COUNT) { + apply(t_do_clone_e2e); + } else { + apply(t_mark_max_clone_e2e_packet); + } + } else { + apply(t_mark_vanilla_packet); + } +#ifdef ENABLE_DEBUG_TABLE + apply(t_egr_debug_table2); +#endif // ENABLE_DEBUG_TABLE +} diff --git a/testdata/p4_14_samples/p414-special-ops.stf b/testdata/p4_14_samples/p414-special-ops.stf new file mode 100644 index 00000000000..4c26e461168 --- /dev/null +++ b/testdata/p4_14_samples/p414-special-ops.stf @@ -0,0 +1,32 @@ +###################################################################### + +# For details on the behavior of this program with these input +# packets, and how they should produce these expected output packets, +# see https://github.com/jafingerhut/p4-guide/tbd/README-p414.md + +# test resubmit operation + +packet 0 000000000001 000000000000 dead +expect 0 030000330600 000000000000 e50b + +###################################################################### + +# test recirculate operation + +packet 0 000000000002 000000000000 dead +expect 2 0005005f0400 ffffffffffa1 ec14 + +###################################################################### + +# test clone operation from egress to egress + +# The mirroring_add command causes packets cloned to clone session id +# 1, to be copied to egress_port 5. +mirroring_add 1 5 + +packet 0 000000000003 000000000000 dead +expect 3 000000000003 ffffffffffe9 dead +expect 5 000000000003 ffffffffffd2 dead +expect 5 000000000003 ffffffffffbb dead +expect 5 000000000003 ffffffffffa4 dead +expect 5 0000045c0000 ffffffffffa4 ce2e diff --git a/testdata/p4_14_samples/packet_redirect.p4 b/testdata/p4_14_samples/packet_redirect.p4 index 8a8cc07e00b..28d51a2d357 100644 --- a/testdata/p4_14_samples/packet_redirect.p4 +++ b/testdata/p4_14_samples/packet_redirect.p4 @@ -1,5 +1,5 @@ /* -Copyright 2013-present Barefoot Networks, Inc. +Copyright 2013-present Barefoot Networks, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -42,7 +42,7 @@ metadata metaB_t metaB; header_type intrinsic_metadata_t { fields { - mcast_grp : 4; + mcast_grp : 16; egress_rid : 4; lf_field_list: 32; ingress_global_timestamp : 64; diff --git a/testdata/p4_14_samples/queueing.p4 b/testdata/p4_14_samples/queueing.p4 index 763a9ba40fa..45ae37a9ced 100644 --- a/testdata/p4_14_samples/queueing.p4 +++ b/testdata/p4_14_samples/queueing.p4 @@ -1,5 +1,5 @@ /* -Copyright 2013-present Barefoot Networks, Inc. +Copyright 2013-present Barefoot Networks, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -27,16 +27,26 @@ header hdr1_t hdr1; // choose his own header_type queueing_metadata_t { fields { - enq_timestamp : 48; - enq_qdepth : 24; + enq_timestamp : 32; + enq_qdepth : 19; deq_timedelta : 32; - deq_qdepth : 24; + deq_qdepth : 19; + } +} + +header_type queueing_metadata_t_padded { + fields { + enq_timestamp : 32; + enq_qdepth : 19; + deq_timedelta : 32; + deq_qdepth : 19; + pad : 2; } } metadata queueing_metadata_t queueing_metadata; -header queueing_metadata_t queueing_hdr; +header queueing_metadata_t_padded queueing_hdr; parser start { extract(hdr1); @@ -75,6 +85,7 @@ action copy_queueing_data() { modify_field(queueing_hdr.enq_qdepth, queueing_metadata.enq_qdepth); modify_field(queueing_hdr.deq_timedelta, queueing_metadata.deq_timedelta); modify_field(queueing_hdr.deq_qdepth, queueing_metadata.deq_qdepth); + modify_field(queueing_hdr.pad, 0); } table t_egress { diff --git a/testdata/p4_14_samples/wide_action2.p4 b/testdata/p4_14_samples/wide_action2.p4 deleted file mode 100644 index 4dbf8a81f2b..00000000000 --- a/testdata/p4_14_samples/wide_action2.p4 +++ /dev/null @@ -1,97 +0,0 @@ -/* -Copyright 2013-present Barefoot Networks, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - - -header_type intrinsic_metadata_t { - fields { - exclusion_id1 : 16; - } -} -metadata intrinsic_metadata_t intrinsic_metadata; - -header_type ingress_metadata_t { - fields { - bd : 16; - vrf : 12; - ipv4_unicast_enabled : 1; /* is ipv4 unicast routing enabled on BD */ - ipv6_unicast_enabled : 1; /* is ipv6 unicast routing enabled on BD */ - ipv4_multicast_mode : 2; /* ipv4 multicast mode BD */ - ipv6_multicast_mode : 2; /* ipv6 multicast mode BD */ - igmp_snooping_enabled : 1; /* is IGMP snooping enabled on BD */ - mld_snooping_enabled : 1; /* is MLD snooping enabled on BD */ - ipv4_urpf_mode : 2; /* 0: none, 1: strict, 3: loose */ - ipv6_urpf_mode : 2; /* 0: none, 1: strict, 3: loose */ - rmac_group : 10; /* Rmac group, for rmac indirection */ - bd_mrpf_group : 16; /* rpf group from bd lookup */ - uuc_mc_index : 16; /* unknown unicast multicast index */ - umc_mc_index : 16; /* unknown multicast multicast index */ - bcast_mc_index : 16; /* broadcast multicast index */ - bd_label : 16; /* bd label for acls */ - } -} -metadata ingress_metadata_t ingress_metadata; - -header_type data_t { - fields { - f1 : 16; - f2 : 16; - } -} -header data_t data; - -parser start { - extract(data); - set_metadata(ingress_metadata.bd, data.f2); - return ingress; -} - -action set_bd_info(vrf, rmac_group, mrpf_group, - bd_label, uuc_mc_index, bcast_mc_index, umc_mc_index, - ipv4_unicast_enabled, ipv6_unicast_enabled, - ipv4_multicast_mode, ipv6_multicast_mode, - igmp_snooping_enabled, mld_snooping_enabled, - ipv4_urpf_mode, ipv6_urpf_mode, exclusion_id) { - modify_field(ingress_metadata.vrf, vrf); - modify_field(ingress_metadata.ipv4_unicast_enabled, ipv4_unicast_enabled); - modify_field(ingress_metadata.ipv6_unicast_enabled, ipv6_unicast_enabled); - modify_field(ingress_metadata.ipv4_multicast_mode, ipv4_multicast_mode); - modify_field(ingress_metadata.ipv6_multicast_mode, ipv6_multicast_mode); - modify_field(ingress_metadata.igmp_snooping_enabled, igmp_snooping_enabled); - modify_field(ingress_metadata.mld_snooping_enabled, mld_snooping_enabled); - modify_field(ingress_metadata.ipv4_urpf_mode, ipv4_urpf_mode); - modify_field(ingress_metadata.ipv6_urpf_mode, ipv6_urpf_mode); - modify_field(ingress_metadata.rmac_group, rmac_group); - modify_field(ingress_metadata.bd_mrpf_group, mrpf_group); - modify_field(ingress_metadata.uuc_mc_index, uuc_mc_index); - modify_field(ingress_metadata.umc_mc_index, umc_mc_index); - modify_field(ingress_metadata.bcast_mc_index, bcast_mc_index); - modify_field(ingress_metadata.bd_label, bd_label); - modify_field(intrinsic_metadata.exclusion_id1, exclusion_id); -} - -table bd { - reads { - ingress_metadata.bd : exact; - } - actions { - set_bd_info; - } - size : 16384; -} - -control ingress { - apply(bd); -} diff --git a/testdata/p4_14_samples_outputs/TLV_parsing-first.p4 b/testdata/p4_14_samples_outputs/TLV_parsing-first.p4 index 9a27523200f..7d341967718 100644 --- a/testdata/p4_14_samples_outputs/TLV_parsing-first.p4 +++ b/testdata/p4_14_samples_outputs/TLV_parsing-first.p4 @@ -59,10 +59,8 @@ header ipv4_option_NOP_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".my_metadata") - my_metadata_t my_metadata; + my_metadata_t my_metadata; } struct headers { diff --git a/testdata/p4_14_samples_outputs/TLV_parsing-frontend.p4 b/testdata/p4_14_samples_outputs/TLV_parsing-frontend.p4 index 1ae5209f71f..6f99450f30a 100644 --- a/testdata/p4_14_samples_outputs/TLV_parsing-frontend.p4 +++ b/testdata/p4_14_samples_outputs/TLV_parsing-frontend.p4 @@ -59,10 +59,8 @@ header ipv4_option_NOP_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".my_metadata") - my_metadata_t my_metadata; + my_metadata_t my_metadata; } struct headers { diff --git a/testdata/p4_14_samples_outputs/TLV_parsing-midend.p4 b/testdata/p4_14_samples_outputs/TLV_parsing-midend.p4 index 0c5abbf6655..3c414597c11 100644 --- a/testdata/p4_14_samples_outputs/TLV_parsing-midend.p4 +++ b/testdata/p4_14_samples_outputs/TLV_parsing-midend.p4 @@ -59,10 +59,7 @@ header ipv4_option_NOP_t { } struct metadata { - bit<4> _intrinsic_metadata_mcast_grp0; - bit<4> _intrinsic_metadata_egress_rid1; - bit<32> _intrinsic_metadata_lf_field_list2; - bit<8> _my_metadata_parse_ipv4_counter3; + bit<8> _my_metadata_parse_ipv4_counter0; } struct headers { @@ -94,7 +91,7 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout } @name(".parse_ipv4") state parse_ipv4 { packet.extract(hdr.ipv4_base); - meta._my_metadata_parse_ipv4_counter3 = (bit<8>)((hdr.ipv4_base.ihl << 2) + 4w12); + meta._my_metadata_parse_ipv4_counter0 = (bit<8>)((hdr.ipv4_base.ihl << 2) + 4w12); transition select(hdr.ipv4_base.ihl) { 4w0x5: accept; default: parse_ipv4_options; @@ -102,17 +99,17 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout } @name(".parse_ipv4_option_EOL") state parse_ipv4_option_EOL { packet.extract(hdr.ipv4_option_EOL.next); - meta._my_metadata_parse_ipv4_counter3 = meta._my_metadata_parse_ipv4_counter3 + 8w255; + meta._my_metadata_parse_ipv4_counter0 = meta._my_metadata_parse_ipv4_counter0 + 8w255; transition parse_ipv4_options; } @name(".parse_ipv4_option_NOP") state parse_ipv4_option_NOP { packet.extract(hdr.ipv4_option_NOP.next); - meta._my_metadata_parse_ipv4_counter3 = meta._my_metadata_parse_ipv4_counter3 + 8w255; + meta._my_metadata_parse_ipv4_counter0 = meta._my_metadata_parse_ipv4_counter0 + 8w255; transition parse_ipv4_options; } @name(".parse_ipv4_option_security") state parse_ipv4_option_security { packet.extract(hdr.ipv4_option_security); - meta._my_metadata_parse_ipv4_counter3 = meta._my_metadata_parse_ipv4_counter3 + 8w245; + meta._my_metadata_parse_ipv4_counter0 = meta._my_metadata_parse_ipv4_counter0 + 8w245; transition parse_ipv4_options; } @name(".parse_ipv4_option_timestamp") state parse_ipv4_option_timestamp { @@ -122,12 +119,12 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout tmp.len = tmp_1[7:0]; tmp_hdr_0 = tmp; packet.extract(hdr.ipv4_option_timestamp, ((bit<32>)tmp_hdr_0.len << 3) + 32w4294967280); - meta._my_metadata_parse_ipv4_counter3 = meta._my_metadata_parse_ipv4_counter3 - hdr.ipv4_option_timestamp.len; + meta._my_metadata_parse_ipv4_counter0 = meta._my_metadata_parse_ipv4_counter0 - hdr.ipv4_option_timestamp.len; transition parse_ipv4_options; } @name(".parse_ipv4_options") state parse_ipv4_options { tmp_0 = packet.lookahead>(); - transition select(meta._my_metadata_parse_ipv4_counter3, tmp_0[7:0]) { + transition select(meta._my_metadata_parse_ipv4_counter0, tmp_0[7:0]) { (8w0x0 &&& 8w0xff, 8w0x0 &&& 8w0x0): accept; (8w0x0 &&& 8w0x0, 8w0x0 &&& 8w0xff): parse_ipv4_option_EOL; (8w0x0 &&& 8w0x0, 8w0x1 &&& 8w0xff): parse_ipv4_option_NOP; diff --git a/testdata/p4_14_samples_outputs/TLV_parsing.p4 b/testdata/p4_14_samples_outputs/TLV_parsing.p4 index 3d7943bb9c5..0afe5085602 100644 --- a/testdata/p4_14_samples_outputs/TLV_parsing.p4 +++ b/testdata/p4_14_samples_outputs/TLV_parsing.p4 @@ -59,10 +59,8 @@ header ipv4_option_NOP_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".my_metadata") - my_metadata_t my_metadata; + my_metadata_t my_metadata; } struct headers { diff --git a/testdata/p4_14_samples_outputs/copy_to_cpu-first.p4 b/testdata/p4_14_samples_outputs/copy_to_cpu-first.p4 index ad76798214a..2a0a8198df1 100644 --- a/testdata/p4_14_samples_outputs/copy_to_cpu-first.p4 +++ b/testdata/p4_14_samples_outputs/copy_to_cpu-first.p4 @@ -19,8 +19,6 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; } struct headers { diff --git a/testdata/p4_14_samples_outputs/copy_to_cpu-frontend.p4 b/testdata/p4_14_samples_outputs/copy_to_cpu-frontend.p4 index 1c8f9ffa82b..600acd8a8af 100644 --- a/testdata/p4_14_samples_outputs/copy_to_cpu-frontend.p4 +++ b/testdata/p4_14_samples_outputs/copy_to_cpu-frontend.p4 @@ -19,8 +19,6 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; } struct headers { diff --git a/testdata/p4_14_samples_outputs/copy_to_cpu-midend.p4 b/testdata/p4_14_samples_outputs/copy_to_cpu-midend.p4 index f6a9936061d..7bddb184028 100644 --- a/testdata/p4_14_samples_outputs/copy_to_cpu-midend.p4 +++ b/testdata/p4_14_samples_outputs/copy_to_cpu-midend.p4 @@ -19,9 +19,6 @@ header ethernet_t { } struct metadata { - bit<4> _intrinsic_metadata_mcast_grp0; - bit<4> _intrinsic_metadata_egress_rid1; - bit<32> _intrinsic_metadata_lf_field_list2; } struct headers { diff --git a/testdata/p4_14_samples_outputs/copy_to_cpu.p4 b/testdata/p4_14_samples_outputs/copy_to_cpu.p4 index 30d654d7c9e..c1bd20a6b5e 100644 --- a/testdata/p4_14_samples_outputs/copy_to_cpu.p4 +++ b/testdata/p4_14_samples_outputs/copy_to_cpu.p4 @@ -19,8 +19,6 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; } struct headers { diff --git a/testdata/p4_14_samples_outputs/counter-first.p4 b/testdata/p4_14_samples_outputs/counter-first.p4 index bda9cf30c39..56524ffca10 100644 --- a/testdata/p4_14_samples_outputs/counter-first.p4 +++ b/testdata/p4_14_samples_outputs/counter-first.p4 @@ -18,10 +18,8 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".meta") - meta_t meta; + meta_t meta; } struct headers { diff --git a/testdata/p4_14_samples_outputs/counter-frontend.p4 b/testdata/p4_14_samples_outputs/counter-frontend.p4 index fe20b70cc05..17753130b9f 100644 --- a/testdata/p4_14_samples_outputs/counter-frontend.p4 +++ b/testdata/p4_14_samples_outputs/counter-frontend.p4 @@ -18,10 +18,8 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".meta") - meta_t meta; + meta_t meta; } struct headers { diff --git a/testdata/p4_14_samples_outputs/counter-midend.p4 b/testdata/p4_14_samples_outputs/counter-midend.p4 index 8f64cbad960..f565eda9e0b 100644 --- a/testdata/p4_14_samples_outputs/counter-midend.p4 +++ b/testdata/p4_14_samples_outputs/counter-midend.p4 @@ -18,10 +18,7 @@ header ethernet_t { } struct metadata { - bit<4> _intrinsic_metadata_mcast_grp0; - bit<4> _intrinsic_metadata_egress_rid1; - bit<32> _intrinsic_metadata_lf_field_list2; - bit<32> _meta_register_tmp3; + bit<32> _meta_register_tmp0; } struct headers { diff --git a/testdata/p4_14_samples_outputs/counter.p4 b/testdata/p4_14_samples_outputs/counter.p4 index de4c1cf34ae..1017c17c521 100644 --- a/testdata/p4_14_samples_outputs/counter.p4 +++ b/testdata/p4_14_samples_outputs/counter.p4 @@ -18,10 +18,8 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".meta") - meta_t meta; + meta_t meta; } struct headers { diff --git a/testdata/p4_14_samples_outputs/flowlet_switching-first.p4 b/testdata/p4_14_samples_outputs/flowlet_switching-first.p4 index e70f1bbe1fd..3e83254ef92 100644 --- a/testdata/p4_14_samples_outputs/flowlet_switching-first.p4 +++ b/testdata/p4_14_samples_outputs/flowlet_switching-first.p4 @@ -54,9 +54,7 @@ header tcp_t { struct metadata { @name(".ingress_metadata") - ingress_metadata_t ingress_metadata; - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; + ingress_metadata_t ingress_metadata; } struct headers { @@ -135,10 +133,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".lookup_flowlet_map") action lookup_flowlet_map() { hash, bit<13>, tuple, bit<32>, bit<8>, bit<16>, bit<16>>, bit<26>>(meta.ingress_metadata.flowlet_map_index, HashAlgorithm.crc16, 13w0, { hdr.ipv4.srcAddr, hdr.ipv4.dstAddr, hdr.ipv4.protocol, hdr.tcp.srcPort, hdr.tcp.dstPort }, 26w13); flowlet_id.read(meta.ingress_metadata.flowlet_id, (bit<32>)meta.ingress_metadata.flowlet_map_index); - meta.ingress_metadata.flow_ipg = (bit<32>)meta.intrinsic_metadata.ingress_global_timestamp; + meta.ingress_metadata.flow_ipg = (bit<32>)standard_metadata.ingress_global_timestamp; flowlet_lasttime.read(meta.ingress_metadata.flowlet_lasttime, (bit<32>)meta.ingress_metadata.flowlet_map_index); meta.ingress_metadata.flow_ipg = meta.ingress_metadata.flow_ipg - meta.ingress_metadata.flowlet_lasttime; - flowlet_lasttime.write((bit<32>)meta.ingress_metadata.flowlet_map_index, (bit<32>)meta.intrinsic_metadata.ingress_global_timestamp); + flowlet_lasttime.write((bit<32>)meta.ingress_metadata.flowlet_map_index, (bit<32>)standard_metadata.ingress_global_timestamp); } @name(".set_dmac") action set_dmac(bit<48> dmac) { hdr.ethernet.dstAddr = dmac; diff --git a/testdata/p4_14_samples_outputs/flowlet_switching-frontend.p4 b/testdata/p4_14_samples_outputs/flowlet_switching-frontend.p4 index 318fddce04e..35890db3fb2 100644 --- a/testdata/p4_14_samples_outputs/flowlet_switching-frontend.p4 +++ b/testdata/p4_14_samples_outputs/flowlet_switching-frontend.p4 @@ -54,9 +54,7 @@ header tcp_t { struct metadata { @name(".ingress_metadata") - ingress_metadata_t ingress_metadata; - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; + ingress_metadata_t ingress_metadata; } struct headers { @@ -153,10 +151,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".lookup_flowlet_map") action lookup_flowlet_map() { hash, bit<13>, tuple, bit<32>, bit<8>, bit<16>, bit<16>>, bit<26>>(meta.ingress_metadata.flowlet_map_index, HashAlgorithm.crc16, 13w0, { hdr.ipv4.srcAddr, hdr.ipv4.dstAddr, hdr.ipv4.protocol, hdr.tcp.srcPort, hdr.tcp.dstPort }, 26w13); flowlet_id.read(meta.ingress_metadata.flowlet_id, (bit<32>)meta.ingress_metadata.flowlet_map_index); - meta.ingress_metadata.flow_ipg = (bit<32>)meta.intrinsic_metadata.ingress_global_timestamp; + meta.ingress_metadata.flow_ipg = (bit<32>)standard_metadata.ingress_global_timestamp; flowlet_lasttime.read(meta.ingress_metadata.flowlet_lasttime, (bit<32>)meta.ingress_metadata.flowlet_map_index); meta.ingress_metadata.flow_ipg = meta.ingress_metadata.flow_ipg - meta.ingress_metadata.flowlet_lasttime; - flowlet_lasttime.write((bit<32>)meta.ingress_metadata.flowlet_map_index, (bit<32>)meta.intrinsic_metadata.ingress_global_timestamp); + flowlet_lasttime.write((bit<32>)meta.ingress_metadata.flowlet_map_index, (bit<32>)standard_metadata.ingress_global_timestamp); } @name(".set_dmac") action set_dmac(bit<48> dmac) { hdr.ethernet.dstAddr = dmac; diff --git a/testdata/p4_14_samples_outputs/flowlet_switching-midend.p4 b/testdata/p4_14_samples_outputs/flowlet_switching-midend.p4 index 36312c8d3b3..d40d7d48fad 100644 --- a/testdata/p4_14_samples_outputs/flowlet_switching-midend.p4 +++ b/testdata/p4_14_samples_outputs/flowlet_switching-midend.p4 @@ -59,10 +59,6 @@ struct metadata { bit<32> _ingress_metadata_flowlet_lasttime3; bit<14> _ingress_metadata_ecmp_offset4; bit<32> _ingress_metadata_nhop_ipv45; - bit<48> _intrinsic_metadata_ingress_global_timestamp6; - bit<32> _intrinsic_metadata_lf_field_list7; - bit<16> _intrinsic_metadata_mcast_grp8; - bit<16> _intrinsic_metadata_egress_rid9; } struct headers { @@ -176,10 +172,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".lookup_flowlet_map") action lookup_flowlet_map() { hash, bit<13>, tuple_1, bit<26>>(meta._ingress_metadata_flowlet_map_index1, HashAlgorithm.crc16, 13w0, { hdr.ipv4.srcAddr, hdr.ipv4.dstAddr, hdr.ipv4.protocol, hdr.tcp.srcPort, hdr.tcp.dstPort }, 26w13); flowlet_id.read(meta._ingress_metadata_flowlet_id2, (bit<32>)meta._ingress_metadata_flowlet_map_index1); - meta._ingress_metadata_flow_ipg0 = (bit<32>)meta._intrinsic_metadata_ingress_global_timestamp6; + meta._ingress_metadata_flow_ipg0 = (bit<32>)standard_metadata.ingress_global_timestamp; flowlet_lasttime.read(meta._ingress_metadata_flowlet_lasttime3, (bit<32>)meta._ingress_metadata_flowlet_map_index1); - meta._ingress_metadata_flow_ipg0 = (bit<32>)meta._intrinsic_metadata_ingress_global_timestamp6 - meta._ingress_metadata_flowlet_lasttime3; - flowlet_lasttime.write((bit<32>)meta._ingress_metadata_flowlet_map_index1, (bit<32>)meta._intrinsic_metadata_ingress_global_timestamp6); + meta._ingress_metadata_flow_ipg0 = (bit<32>)standard_metadata.ingress_global_timestamp - meta._ingress_metadata_flowlet_lasttime3; + flowlet_lasttime.write((bit<32>)meta._ingress_metadata_flowlet_map_index1, (bit<32>)standard_metadata.ingress_global_timestamp); } @name(".set_dmac") action set_dmac(bit<48> dmac) { hdr.ethernet.dstAddr = dmac; diff --git a/testdata/p4_14_samples_outputs/flowlet_switching.p4 b/testdata/p4_14_samples_outputs/flowlet_switching.p4 index 2f765556b53..fcf2c54df75 100644 --- a/testdata/p4_14_samples_outputs/flowlet_switching.p4 +++ b/testdata/p4_14_samples_outputs/flowlet_switching.p4 @@ -54,9 +54,7 @@ header tcp_t { struct metadata { @name(".ingress_metadata") - ingress_metadata_t ingress_metadata; - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; + ingress_metadata_t ingress_metadata; } struct headers { @@ -133,10 +131,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".lookup_flowlet_map") action lookup_flowlet_map() { hash(meta.ingress_metadata.flowlet_map_index, HashAlgorithm.crc16, (bit<13>)0, { hdr.ipv4.srcAddr, hdr.ipv4.dstAddr, hdr.ipv4.protocol, hdr.tcp.srcPort, hdr.tcp.dstPort }, (bit<26>)13); flowlet_id.read(meta.ingress_metadata.flowlet_id, (bit<32>)meta.ingress_metadata.flowlet_map_index); - meta.ingress_metadata.flow_ipg = (bit<32>)meta.intrinsic_metadata.ingress_global_timestamp; + meta.ingress_metadata.flow_ipg = (bit<32>)standard_metadata.ingress_global_timestamp; flowlet_lasttime.read(meta.ingress_metadata.flowlet_lasttime, (bit<32>)meta.ingress_metadata.flowlet_map_index); meta.ingress_metadata.flow_ipg = meta.ingress_metadata.flow_ipg - meta.ingress_metadata.flowlet_lasttime; - flowlet_lasttime.write((bit<32>)meta.ingress_metadata.flowlet_map_index, (bit<32>)meta.intrinsic_metadata.ingress_global_timestamp); + flowlet_lasttime.write((bit<32>)meta.ingress_metadata.flowlet_map_index, (bit<32>)standard_metadata.ingress_global_timestamp); } @name(".set_dmac") action set_dmac(bit<48> dmac) { hdr.ethernet.dstAddr = dmac; diff --git a/testdata/p4_14_samples_outputs/issue1058-first.p4 b/testdata/p4_14_samples_outputs/issue1058-first.p4 index d654e798de5..c567288c2bf 100644 --- a/testdata/p4_14_samples_outputs/issue1058-first.p4 +++ b/testdata/p4_14_samples_outputs/issue1058-first.p4 @@ -16,10 +16,8 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".meta") - meta_t meta; + meta_t meta; } struct headers { diff --git a/testdata/p4_14_samples_outputs/issue1058-frontend.p4 b/testdata/p4_14_samples_outputs/issue1058-frontend.p4 index 2341cb4183c..5a2cb472016 100644 --- a/testdata/p4_14_samples_outputs/issue1058-frontend.p4 +++ b/testdata/p4_14_samples_outputs/issue1058-frontend.p4 @@ -16,10 +16,8 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".meta") - meta_t meta; + meta_t meta; } struct headers { diff --git a/testdata/p4_14_samples_outputs/issue1058-midend.p4 b/testdata/p4_14_samples_outputs/issue1058-midend.p4 index a7614104580..b647afb1c2f 100644 --- a/testdata/p4_14_samples_outputs/issue1058-midend.p4 +++ b/testdata/p4_14_samples_outputs/issue1058-midend.p4 @@ -16,8 +16,7 @@ header ethernet_t { } struct metadata { - bit<48> _intrinsic_metadata_ingress_global_timestamp0; - bit<16> _meta_val161; + bit<16> _meta_val160; } struct headers { diff --git a/testdata/p4_14_samples_outputs/issue1058.p4 b/testdata/p4_14_samples_outputs/issue1058.p4 index 9f7b1b297d7..a1e71f6b21b 100644 --- a/testdata/p4_14_samples_outputs/issue1058.p4 +++ b/testdata/p4_14_samples_outputs/issue1058.p4 @@ -16,10 +16,8 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".meta") - meta_t meta; + meta_t meta; } struct headers { diff --git a/testdata/p4_14_samples_outputs/meter-first.p4 b/testdata/p4_14_samples_outputs/meter-first.p4 index 4e9169296c6..b4b6a169a64 100644 --- a/testdata/p4_14_samples_outputs/meter-first.p4 +++ b/testdata/p4_14_samples_outputs/meter-first.p4 @@ -18,10 +18,8 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".meta") - meta_t meta; + meta_t meta; } struct headers { diff --git a/testdata/p4_14_samples_outputs/meter-frontend.p4 b/testdata/p4_14_samples_outputs/meter-frontend.p4 index fd885930e91..4240ed384cc 100644 --- a/testdata/p4_14_samples_outputs/meter-frontend.p4 +++ b/testdata/p4_14_samples_outputs/meter-frontend.p4 @@ -18,10 +18,8 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".meta") - meta_t meta; + meta_t meta; } struct headers { diff --git a/testdata/p4_14_samples_outputs/meter-midend.p4 b/testdata/p4_14_samples_outputs/meter-midend.p4 index 38c2d66b346..ccab5c0e262 100644 --- a/testdata/p4_14_samples_outputs/meter-midend.p4 +++ b/testdata/p4_14_samples_outputs/meter-midend.p4 @@ -18,10 +18,7 @@ header ethernet_t { } struct metadata { - bit<4> _intrinsic_metadata_mcast_grp0; - bit<4> _intrinsic_metadata_egress_rid1; - bit<32> _intrinsic_metadata_lf_field_list2; - bit<32> _meta_meter_tag3; + bit<32> _meta_meter_tag0; } struct headers { @@ -58,7 +55,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name("._nop") action _nop_2() { } @name(".m_action") action m_action(bit<32> meter_idx) { - my_meter_0.execute_meter>(meter_idx, meta._meta_meter_tag3); + my_meter_0.execute_meter>(meter_idx, meta._meta_meter_tag0); standard_metadata.egress_spec = 9w1; } @name(".m_filter") table m_filter_0 { @@ -68,7 +65,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_0(); } key = { - meta._meta_meter_tag3: exact @name("meta.meter_tag") ; + meta._meta_meter_tag0: exact @name("meta.meter_tag") ; } size = 16; default_action = NoAction_0(); diff --git a/testdata/p4_14_samples_outputs/meter.p4 b/testdata/p4_14_samples_outputs/meter.p4 index 5a71906ba69..88c117e7cd7 100644 --- a/testdata/p4_14_samples_outputs/meter.p4 +++ b/testdata/p4_14_samples_outputs/meter.p4 @@ -18,10 +18,8 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".meta") - meta_t meta; + meta_t meta; } struct headers { diff --git a/testdata/p4_14_samples_outputs/meter1-first.p4 b/testdata/p4_14_samples_outputs/meter1-first.p4 index dfa8db2ceab..44b41e45cbc 100644 --- a/testdata/p4_14_samples_outputs/meter1-first.p4 +++ b/testdata/p4_14_samples_outputs/meter1-first.p4 @@ -18,10 +18,8 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".meta") - meta_t meta; + meta_t meta; } struct headers { diff --git a/testdata/p4_14_samples_outputs/meter1-frontend.p4 b/testdata/p4_14_samples_outputs/meter1-frontend.p4 index dbd186c9925..c76b8d1715f 100644 --- a/testdata/p4_14_samples_outputs/meter1-frontend.p4 +++ b/testdata/p4_14_samples_outputs/meter1-frontend.p4 @@ -18,10 +18,8 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".meta") - meta_t meta; + meta_t meta; } struct headers { diff --git a/testdata/p4_14_samples_outputs/meter1-midend.p4 b/testdata/p4_14_samples_outputs/meter1-midend.p4 index 65f08c99662..ab661ccb9a6 100644 --- a/testdata/p4_14_samples_outputs/meter1-midend.p4 +++ b/testdata/p4_14_samples_outputs/meter1-midend.p4 @@ -18,10 +18,7 @@ header ethernet_t { } struct metadata { - bit<4> _intrinsic_metadata_mcast_grp0; - bit<4> _intrinsic_metadata_egress_rid1; - bit<32> _intrinsic_metadata_lf_field_list2; - bit<32> _meta_meter_tag3; + bit<32> _meta_meter_tag0; } struct headers { @@ -62,17 +59,17 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_0(); } key = { - meta._meta_meter_tag3: exact @name("meta.meter_tag") ; + meta._meta_meter_tag0: exact @name("meta.meter_tag") ; } size = 16; default_action = NoAction_0(); } @name(".m_action") action m_action_0(bit<9> meter_idx) { - my_meter_0.read(meta._meta_meter_tag3); + my_meter_0.read(meta._meta_meter_tag0); standard_metadata.egress_spec = 9w1; } @name("._nop") action _nop_0() { - my_meter_0.read(meta._meta_meter_tag3); + my_meter_0.read(meta._meta_meter_tag0); } @name(".m_table") table m_table_0 { actions = { diff --git a/testdata/p4_14_samples_outputs/meter1.p4 b/testdata/p4_14_samples_outputs/meter1.p4 index 2d27806641c..076d4d8ab1b 100644 --- a/testdata/p4_14_samples_outputs/meter1.p4 +++ b/testdata/p4_14_samples_outputs/meter1.p4 @@ -18,10 +18,8 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".meta") - meta_t meta; + meta_t meta; } struct headers { diff --git a/testdata/p4_14_samples_outputs/p414-special-ops-2-bmv2-first.p4 b/testdata/p4_14_samples_outputs/p414-special-ops-2-bmv2-first.p4 index a82c7b0163e..42e7a5beebb 100644 --- a/testdata/p4_14_samples_outputs/p414-special-ops-2-bmv2-first.p4 +++ b/testdata/p4_14_samples_outputs/p414-special-ops-2-bmv2-first.p4 @@ -30,12 +30,10 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".mymeta") - mymeta_t mymeta; + mymeta_t mymeta; @name(".temporaries") - temporaries_t temporaries; + temporaries_t temporaries; } struct headers { @@ -117,26 +115,26 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t _nop(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta.intrinsic_metadata.ingress_global_timestamp: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta.intrinsic_metadata.egress_global_timestamp : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta.intrinsic_metadata.lf_field_list : exact @name("intrinsic_metadata.lf_field_list") ; - meta.intrinsic_metadata.mcast_grp : exact @name("intrinsic_metadata.mcast_grp") ; - meta.intrinsic_metadata.egress_rid : exact @name("intrinsic_metadata.egress_rid") ; - meta.intrinsic_metadata.resubmit_flag : exact @name("intrinsic_metadata.resubmit_flag") ; - meta.intrinsic_metadata.recirculate_flag : exact @name("intrinsic_metadata.recirculate_flag") ; - meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; - meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; - meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; - meta.mymeta.f1 : exact @name("mymeta.f1") ; - meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop(); } @@ -145,26 +143,26 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t _nop(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta.intrinsic_metadata.ingress_global_timestamp: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta.intrinsic_metadata.egress_global_timestamp : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta.intrinsic_metadata.lf_field_list : exact @name("intrinsic_metadata.lf_field_list") ; - meta.intrinsic_metadata.mcast_grp : exact @name("intrinsic_metadata.mcast_grp") ; - meta.intrinsic_metadata.egress_rid : exact @name("intrinsic_metadata.egress_rid") ; - meta.intrinsic_metadata.resubmit_flag : exact @name("intrinsic_metadata.resubmit_flag") ; - meta.intrinsic_metadata.recirculate_flag : exact @name("intrinsic_metadata.recirculate_flag") ; - meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; - meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; - meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; - meta.mymeta.f1 : exact @name("mymeta.f1") ; - meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop(); } @@ -253,26 +251,26 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ _nop(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta.intrinsic_metadata.ingress_global_timestamp: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta.intrinsic_metadata.egress_global_timestamp : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta.intrinsic_metadata.lf_field_list : exact @name("intrinsic_metadata.lf_field_list") ; - meta.intrinsic_metadata.mcast_grp : exact @name("intrinsic_metadata.mcast_grp") ; - meta.intrinsic_metadata.egress_rid : exact @name("intrinsic_metadata.egress_rid") ; - meta.intrinsic_metadata.resubmit_flag : exact @name("intrinsic_metadata.resubmit_flag") ; - meta.intrinsic_metadata.recirculate_flag : exact @name("intrinsic_metadata.recirculate_flag") ; - meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; - meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; - meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; - meta.mymeta.f1 : exact @name("mymeta.f1") ; - meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop(); } @@ -281,26 +279,26 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ _nop(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta.intrinsic_metadata.ingress_global_timestamp: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta.intrinsic_metadata.egress_global_timestamp : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta.intrinsic_metadata.lf_field_list : exact @name("intrinsic_metadata.lf_field_list") ; - meta.intrinsic_metadata.mcast_grp : exact @name("intrinsic_metadata.mcast_grp") ; - meta.intrinsic_metadata.egress_rid : exact @name("intrinsic_metadata.egress_rid") ; - meta.intrinsic_metadata.resubmit_flag : exact @name("intrinsic_metadata.resubmit_flag") ; - meta.intrinsic_metadata.recirculate_flag : exact @name("intrinsic_metadata.recirculate_flag") ; - meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; - meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; - meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; - meta.mymeta.f1 : exact @name("mymeta.f1") ; - meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop(); } diff --git a/testdata/p4_14_samples_outputs/p414-special-ops-2-bmv2-frontend.p4 b/testdata/p4_14_samples_outputs/p414-special-ops-2-bmv2-frontend.p4 index 02452403a50..bbf8b110440 100644 --- a/testdata/p4_14_samples_outputs/p414-special-ops-2-bmv2-frontend.p4 +++ b/testdata/p4_14_samples_outputs/p414-special-ops-2-bmv2-frontend.p4 @@ -30,12 +30,10 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".mymeta") - mymeta_t mymeta; + mymeta_t mymeta; @name(".temporaries") - temporaries_t temporaries; + temporaries_t temporaries; } struct headers { @@ -146,26 +144,26 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t _nop(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta.intrinsic_metadata.ingress_global_timestamp: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta.intrinsic_metadata.egress_global_timestamp : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta.intrinsic_metadata.lf_field_list : exact @name("intrinsic_metadata.lf_field_list") ; - meta.intrinsic_metadata.mcast_grp : exact @name("intrinsic_metadata.mcast_grp") ; - meta.intrinsic_metadata.egress_rid : exact @name("intrinsic_metadata.egress_rid") ; - meta.intrinsic_metadata.resubmit_flag : exact @name("intrinsic_metadata.resubmit_flag") ; - meta.intrinsic_metadata.recirculate_flag : exact @name("intrinsic_metadata.recirculate_flag") ; - meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; - meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; - meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; - meta.mymeta.f1 : exact @name("mymeta.f1") ; - meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop(); } @@ -174,26 +172,26 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t _nop_2(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta.intrinsic_metadata.ingress_global_timestamp: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta.intrinsic_metadata.egress_global_timestamp : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta.intrinsic_metadata.lf_field_list : exact @name("intrinsic_metadata.lf_field_list") ; - meta.intrinsic_metadata.mcast_grp : exact @name("intrinsic_metadata.mcast_grp") ; - meta.intrinsic_metadata.egress_rid : exact @name("intrinsic_metadata.egress_rid") ; - meta.intrinsic_metadata.resubmit_flag : exact @name("intrinsic_metadata.resubmit_flag") ; - meta.intrinsic_metadata.recirculate_flag : exact @name("intrinsic_metadata.recirculate_flag") ; - meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; - meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; - meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; - meta.mymeta.f1 : exact @name("mymeta.f1") ; - meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop_2(); } @@ -284,26 +282,26 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ _nop_5(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta.intrinsic_metadata.ingress_global_timestamp: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta.intrinsic_metadata.egress_global_timestamp : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta.intrinsic_metadata.lf_field_list : exact @name("intrinsic_metadata.lf_field_list") ; - meta.intrinsic_metadata.mcast_grp : exact @name("intrinsic_metadata.mcast_grp") ; - meta.intrinsic_metadata.egress_rid : exact @name("intrinsic_metadata.egress_rid") ; - meta.intrinsic_metadata.resubmit_flag : exact @name("intrinsic_metadata.resubmit_flag") ; - meta.intrinsic_metadata.recirculate_flag : exact @name("intrinsic_metadata.recirculate_flag") ; - meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; - meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; - meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; - meta.mymeta.f1 : exact @name("mymeta.f1") ; - meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop_5(); } @@ -312,26 +310,26 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ _nop_6(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta.intrinsic_metadata.ingress_global_timestamp: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta.intrinsic_metadata.egress_global_timestamp : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta.intrinsic_metadata.lf_field_list : exact @name("intrinsic_metadata.lf_field_list") ; - meta.intrinsic_metadata.mcast_grp : exact @name("intrinsic_metadata.mcast_grp") ; - meta.intrinsic_metadata.egress_rid : exact @name("intrinsic_metadata.egress_rid") ; - meta.intrinsic_metadata.resubmit_flag : exact @name("intrinsic_metadata.resubmit_flag") ; - meta.intrinsic_metadata.recirculate_flag : exact @name("intrinsic_metadata.recirculate_flag") ; - meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; - meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; - meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; - meta.mymeta.f1 : exact @name("mymeta.f1") ; - meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop_6(); } diff --git a/testdata/p4_14_samples_outputs/p414-special-ops-2-bmv2-midend.p4 b/testdata/p4_14_samples_outputs/p414-special-ops-2-bmv2-midend.p4 index 9faff2a823a..1570dc977fb 100644 --- a/testdata/p4_14_samples_outputs/p414-special-ops-2-bmv2-midend.p4 +++ b/testdata/p4_14_samples_outputs/p414-special-ops-2-bmv2-midend.p4 @@ -30,19 +30,12 @@ header ethernet_t { } struct metadata { - bit<48> _intrinsic_metadata_ingress_global_timestamp0; - bit<48> _intrinsic_metadata_egress_global_timestamp1; - bit<8> _intrinsic_metadata_lf_field_list2; - bit<16> _intrinsic_metadata_mcast_grp3; - bit<16> _intrinsic_metadata_egress_rid4; - bit<8> _intrinsic_metadata_resubmit_flag5; - bit<8> _intrinsic_metadata_recirculate_flag6; - bit<8> _mymeta_resubmit_count7; - bit<8> _mymeta_recirculate_count8; - bit<8> _mymeta_clone_e2e_count9; - bit<8> _mymeta_last_ing_instance_type10; - bit<8> _mymeta_f111; - bit<48> _temporaries_temp112; + bit<8> _mymeta_resubmit_count0; + bit<8> _mymeta_recirculate_count1; + bit<8> _mymeta_clone_e2e_count2; + bit<8> _mymeta_last_ing_instance_type3; + bit<8> _mymeta_f14; + bit<48> _temporaries_temp15; } struct headers { @@ -67,15 +60,15 @@ struct tuple_0 { control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { @name(".do_clone_e2e") action do_clone_e2e() { hdr.ethernet.srcAddr = hdr.ethernet.srcAddr + 48w281474976710633; - meta._mymeta_f111 = meta._mymeta_f111 + 8w23; - meta._mymeta_clone_e2e_count9 = meta._mymeta_clone_e2e_count9 + 8w1; - clone3(CloneType.E2E, 32w1, { {meta._mymeta_resubmit_count7,meta._mymeta_recirculate_count8,meta._mymeta_clone_e2e_count9,meta._mymeta_last_ing_instance_type10,meta._mymeta_f111} }); + meta._mymeta_f14 = meta._mymeta_f14 + 8w23; + meta._mymeta_clone_e2e_count2 = meta._mymeta_clone_e2e_count2 + 8w1; + clone3(CloneType.E2E, 32w1, { {meta._mymeta_resubmit_count0,meta._mymeta_recirculate_count1,meta._mymeta_clone_e2e_count2,meta._mymeta_last_ing_instance_type3,meta._mymeta_f14} }); } @name(".do_recirculate") action do_recirculate() { hdr.ethernet.srcAddr = hdr.ethernet.srcAddr + 48w281474976710637; - meta._mymeta_f111 = meta._mymeta_f111 + 8w19; - meta._mymeta_recirculate_count8 = meta._mymeta_recirculate_count8 + 8w1; - recirculate({ {meta._mymeta_resubmit_count7,meta._mymeta_recirculate_count8,meta._mymeta_clone_e2e_count9,meta._mymeta_last_ing_instance_type10,meta._mymeta_f111} }); + meta._mymeta_f14 = meta._mymeta_f14 + 8w19; + meta._mymeta_recirculate_count1 = meta._mymeta_recirculate_count1 + 8w1; + recirculate({ {meta._mymeta_resubmit_count0,meta._mymeta_recirculate_count1,meta._mymeta_clone_e2e_count2,meta._mymeta_last_ing_instance_type3,meta._mymeta_f14} }); } @name("._nop") action _nop() { } @@ -83,57 +76,57 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t } @name(".mark_egr_resubmit_packet") action mark_egr_resubmit_packet() { hdr.ethernet.dstAddr = 48w0; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_resubmit_count7 << 40; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_recirculate_count8 << 32; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_clone_e2e_count9 << 24; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_f111 << 16; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24 | (bit<48>)meta._mymeta_f111 << 16; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_last_ing_instance_type10 << 8; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24 | (bit<48>)meta._mymeta_f111 << 16 | (bit<48>)meta._mymeta_last_ing_instance_type10 << 8; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_resubmit_count0 << 40; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_recirculate_count1 << 32; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_f14 << 16; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16 | (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; } @name(".mark_max_clone_e2e_packet") action mark_max_clone_e2e_packet() { hdr.ethernet.dstAddr = 48w0; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_resubmit_count7 << 40; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_recirculate_count8 << 32; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_clone_e2e_count9 << 24; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_f111 << 16; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24 | (bit<48>)meta._mymeta_f111 << 16; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_last_ing_instance_type10 << 8; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24 | (bit<48>)meta._mymeta_f111 << 16 | (bit<48>)meta._mymeta_last_ing_instance_type10 << 8; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_resubmit_count0 << 40; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_recirculate_count1 << 32; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_f14 << 16; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16 | (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; hdr.ethernet.etherType = 16w0xce2e; } @name(".mark_max_recirculate_packet") action mark_max_recirculate_packet() { hdr.ethernet.dstAddr = 48w0; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_resubmit_count7 << 40; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_recirculate_count8 << 32; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_clone_e2e_count9 << 24; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_f111 << 16; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24 | (bit<48>)meta._mymeta_f111 << 16; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_last_ing_instance_type10 << 8; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24 | (bit<48>)meta._mymeta_f111 << 16 | (bit<48>)meta._mymeta_last_ing_instance_type10 << 8; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_resubmit_count0 << 40; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_recirculate_count1 << 32; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_f14 << 16; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16 | (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; hdr.ethernet.etherType = 16w0xec14; } @name(".mark_vanilla_packet") action mark_vanilla_packet() { hdr.ethernet.dstAddr = 48w0; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_resubmit_count7 << 40; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_recirculate_count8 << 32; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_clone_e2e_count9 << 24; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_f111 << 16; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24 | (bit<48>)meta._mymeta_f111 << 16; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_last_ing_instance_type10 << 8; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24 | (bit<48>)meta._mymeta_f111 << 16 | (bit<48>)meta._mymeta_last_ing_instance_type10 << 8; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_resubmit_count0 << 40; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_recirculate_count1 << 32; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_f14 << 16; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16 | (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; hdr.ethernet.etherType = 16w0xf00f; } @name(".t_do_clone_e2e") table t_do_clone_e2e_0 { @@ -157,26 +150,26 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t _nop(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta._intrinsic_metadata_ingress_global_timestamp0: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta._intrinsic_metadata_egress_global_timestamp1 : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta._intrinsic_metadata_lf_field_list2 : exact @name("intrinsic_metadata.lf_field_list") ; - meta._intrinsic_metadata_mcast_grp3 : exact @name("intrinsic_metadata.mcast_grp") ; - meta._intrinsic_metadata_egress_rid4 : exact @name("intrinsic_metadata.egress_rid") ; - meta._intrinsic_metadata_resubmit_flag5 : exact @name("intrinsic_metadata.resubmit_flag") ; - meta._intrinsic_metadata_recirculate_flag6 : exact @name("intrinsic_metadata.recirculate_flag") ; - meta._mymeta_resubmit_count7 : exact @name("mymeta.resubmit_count") ; - meta._mymeta_recirculate_count8 : exact @name("mymeta.recirculate_count") ; - meta._mymeta_clone_e2e_count9 : exact @name("mymeta.clone_e2e_count") ; - meta._mymeta_f111 : exact @name("mymeta.f1") ; - meta._mymeta_last_ing_instance_type10 : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta._mymeta_resubmit_count0 : exact @name("mymeta.resubmit_count") ; + meta._mymeta_recirculate_count1 : exact @name("mymeta.recirculate_count") ; + meta._mymeta_clone_e2e_count2 : exact @name("mymeta.clone_e2e_count") ; + meta._mymeta_f14 : exact @name("mymeta.f1") ; + meta._mymeta_last_ing_instance_type3 : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop(); } @@ -185,26 +178,26 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t _nop_2(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta._intrinsic_metadata_ingress_global_timestamp0: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta._intrinsic_metadata_egress_global_timestamp1 : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta._intrinsic_metadata_lf_field_list2 : exact @name("intrinsic_metadata.lf_field_list") ; - meta._intrinsic_metadata_mcast_grp3 : exact @name("intrinsic_metadata.mcast_grp") ; - meta._intrinsic_metadata_egress_rid4 : exact @name("intrinsic_metadata.egress_rid") ; - meta._intrinsic_metadata_resubmit_flag5 : exact @name("intrinsic_metadata.resubmit_flag") ; - meta._intrinsic_metadata_recirculate_flag6 : exact @name("intrinsic_metadata.recirculate_flag") ; - meta._mymeta_resubmit_count7 : exact @name("mymeta.resubmit_count") ; - meta._mymeta_recirculate_count8 : exact @name("mymeta.recirculate_count") ; - meta._mymeta_clone_e2e_count9 : exact @name("mymeta.clone_e2e_count") ; - meta._mymeta_f111 : exact @name("mymeta.f1") ; - meta._mymeta_last_ing_instance_type10 : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta._mymeta_resubmit_count0 : exact @name("mymeta.resubmit_count") ; + meta._mymeta_recirculate_count1 : exact @name("mymeta.recirculate_count") ; + meta._mymeta_clone_e2e_count2 : exact @name("mymeta.clone_e2e_count") ; + meta._mymeta_f14 : exact @name("mymeta.f1") ; + meta._mymeta_last_ing_instance_type3 : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop_2(); } @@ -246,13 +239,13 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t t_egr_mark_resubmit_packet_0.apply(); else if (hdr.ethernet.dstAddr == 48w0x2) - if (meta._mymeta_recirculate_count8 < 8w5) + if (meta._mymeta_recirculate_count1 < 8w5) t_do_recirculate_0.apply(); else t_mark_max_recirculate_packet_0.apply(); else if (hdr.ethernet.dstAddr == 48w0x3) - if (meta._mymeta_clone_e2e_count9 < 8w4) + if (meta._mymeta_clone_e2e_count2 < 8w4) t_do_clone_e2e_0.apply(); else t_mark_max_clone_e2e_packet_0.apply(); @@ -265,9 +258,9 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { @name(".do_resubmit") action do_resubmit() { hdr.ethernet.srcAddr = hdr.ethernet.srcAddr + 48w281474976710639; - meta._mymeta_f111 = meta._mymeta_f111 + 8w17; - meta._mymeta_resubmit_count7 = meta._mymeta_resubmit_count7 + 8w1; - resubmit({ {meta._mymeta_resubmit_count7,meta._mymeta_recirculate_count8,meta._mymeta_clone_e2e_count9,meta._mymeta_last_ing_instance_type10,meta._mymeta_f111} }); + meta._mymeta_f14 = meta._mymeta_f14 + 8w17; + meta._mymeta_resubmit_count0 = meta._mymeta_resubmit_count0 + 8w1; + resubmit({ {meta._mymeta_resubmit_count0,meta._mymeta_recirculate_count1,meta._mymeta_clone_e2e_count2,meta._mymeta_last_ing_instance_type3,meta._mymeta_f14} }); } @name("._nop") action _nop_5() { } @@ -280,7 +273,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ hdr.ethernet.etherType = 16w0xe50b; } @name(".save_ing_instance_type") action save_ing_instance_type() { - meta._mymeta_last_ing_instance_type10 = (bit<8>)standard_metadata.instance_type; + meta._mymeta_last_ing_instance_type3 = (bit<8>)standard_metadata.instance_type; } @name(".t_do_resubmit") table t_do_resubmit_0 { actions = { @@ -295,26 +288,26 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ _nop_5(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta._intrinsic_metadata_ingress_global_timestamp0: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta._intrinsic_metadata_egress_global_timestamp1 : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta._intrinsic_metadata_lf_field_list2 : exact @name("intrinsic_metadata.lf_field_list") ; - meta._intrinsic_metadata_mcast_grp3 : exact @name("intrinsic_metadata.mcast_grp") ; - meta._intrinsic_metadata_egress_rid4 : exact @name("intrinsic_metadata.egress_rid") ; - meta._intrinsic_metadata_resubmit_flag5 : exact @name("intrinsic_metadata.resubmit_flag") ; - meta._intrinsic_metadata_recirculate_flag6 : exact @name("intrinsic_metadata.recirculate_flag") ; - meta._mymeta_resubmit_count7 : exact @name("mymeta.resubmit_count") ; - meta._mymeta_recirculate_count8 : exact @name("mymeta.recirculate_count") ; - meta._mymeta_clone_e2e_count9 : exact @name("mymeta.clone_e2e_count") ; - meta._mymeta_f111 : exact @name("mymeta.f1") ; - meta._mymeta_last_ing_instance_type10 : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta._mymeta_resubmit_count0 : exact @name("mymeta.resubmit_count") ; + meta._mymeta_recirculate_count1 : exact @name("mymeta.recirculate_count") ; + meta._mymeta_clone_e2e_count2 : exact @name("mymeta.clone_e2e_count") ; + meta._mymeta_f14 : exact @name("mymeta.f1") ; + meta._mymeta_last_ing_instance_type3 : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop_5(); } @@ -323,26 +316,26 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ _nop_6(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta._intrinsic_metadata_ingress_global_timestamp0: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta._intrinsic_metadata_egress_global_timestamp1 : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta._intrinsic_metadata_lf_field_list2 : exact @name("intrinsic_metadata.lf_field_list") ; - meta._intrinsic_metadata_mcast_grp3 : exact @name("intrinsic_metadata.mcast_grp") ; - meta._intrinsic_metadata_egress_rid4 : exact @name("intrinsic_metadata.egress_rid") ; - meta._intrinsic_metadata_resubmit_flag5 : exact @name("intrinsic_metadata.resubmit_flag") ; - meta._intrinsic_metadata_recirculate_flag6 : exact @name("intrinsic_metadata.recirculate_flag") ; - meta._mymeta_resubmit_count7 : exact @name("mymeta.resubmit_count") ; - meta._mymeta_recirculate_count8 : exact @name("mymeta.recirculate_count") ; - meta._mymeta_clone_e2e_count9 : exact @name("mymeta.clone_e2e_count") ; - meta._mymeta_f111 : exact @name("mymeta.f1") ; - meta._mymeta_last_ing_instance_type10 : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta._mymeta_resubmit_count0 : exact @name("mymeta.resubmit_count") ; + meta._mymeta_recirculate_count1 : exact @name("mymeta.recirculate_count") ; + meta._mymeta_clone_e2e_count2 : exact @name("mymeta.clone_e2e_count") ; + meta._mymeta_f14 : exact @name("mymeta.f1") ; + meta._mymeta_last_ing_instance_type3 : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop_6(); } @@ -373,7 +366,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ apply { t_ing_debug_table1_0.apply(); if (hdr.ethernet.dstAddr == 48w0x1) - if (meta._mymeta_resubmit_count7 < 8w3) + if (meta._mymeta_resubmit_count0 < 8w3) t_do_resubmit_0.apply(); else t_mark_max_resubmit_packet_0.apply(); diff --git a/testdata/p4_14_samples_outputs/p414-special-ops-2-bmv2.p4 b/testdata/p4_14_samples_outputs/p414-special-ops-2-bmv2.p4 index a28ffdcbf0f..b5d6038cba3 100644 --- a/testdata/p4_14_samples_outputs/p414-special-ops-2-bmv2.p4 +++ b/testdata/p4_14_samples_outputs/p414-special-ops-2-bmv2.p4 @@ -30,12 +30,10 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".mymeta") - mymeta_t mymeta; + mymeta_t mymeta; @name(".temporaries") - temporaries_t temporaries; + temporaries_t temporaries; } struct headers { @@ -117,26 +115,26 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t _nop; } key = { - standard_metadata.ingress_port : exact; - standard_metadata.packet_length : exact; - standard_metadata.egress_spec : exact; - standard_metadata.egress_port : exact; - standard_metadata.instance_type : exact; - meta.intrinsic_metadata.ingress_global_timestamp: exact; - meta.intrinsic_metadata.egress_global_timestamp : exact; - meta.intrinsic_metadata.lf_field_list : exact; - meta.intrinsic_metadata.mcast_grp : exact; - meta.intrinsic_metadata.egress_rid : exact; - meta.intrinsic_metadata.resubmit_flag : exact; - meta.intrinsic_metadata.recirculate_flag : exact; - meta.mymeta.resubmit_count : exact; - meta.mymeta.recirculate_count : exact; - meta.mymeta.clone_e2e_count : exact; - meta.mymeta.f1 : exact; - meta.mymeta.last_ing_instance_type : exact; - hdr.ethernet.dstAddr : exact; - hdr.ethernet.srcAddr : exact; - hdr.ethernet.etherType : exact; + standard_metadata.ingress_port : exact; + standard_metadata.packet_length : exact; + standard_metadata.egress_spec : exact; + standard_metadata.egress_port : exact; + standard_metadata.instance_type : exact; + standard_metadata.ingress_global_timestamp: exact; + standard_metadata.egress_global_timestamp : exact; + standard_metadata.lf_field_list : exact; + standard_metadata.mcast_grp : exact; + standard_metadata.egress_rid : exact; + standard_metadata.resubmit_flag : exact; + standard_metadata.recirculate_flag : exact; + meta.mymeta.resubmit_count : exact; + meta.mymeta.recirculate_count : exact; + meta.mymeta.clone_e2e_count : exact; + meta.mymeta.f1 : exact; + meta.mymeta.last_ing_instance_type : exact; + hdr.ethernet.dstAddr : exact; + hdr.ethernet.srcAddr : exact; + hdr.ethernet.etherType : exact; } default_action = _nop(); } @@ -145,26 +143,26 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t _nop; } key = { - standard_metadata.ingress_port : exact; - standard_metadata.packet_length : exact; - standard_metadata.egress_spec : exact; - standard_metadata.egress_port : exact; - standard_metadata.instance_type : exact; - meta.intrinsic_metadata.ingress_global_timestamp: exact; - meta.intrinsic_metadata.egress_global_timestamp : exact; - meta.intrinsic_metadata.lf_field_list : exact; - meta.intrinsic_metadata.mcast_grp : exact; - meta.intrinsic_metadata.egress_rid : exact; - meta.intrinsic_metadata.resubmit_flag : exact; - meta.intrinsic_metadata.recirculate_flag : exact; - meta.mymeta.resubmit_count : exact; - meta.mymeta.recirculate_count : exact; - meta.mymeta.clone_e2e_count : exact; - meta.mymeta.f1 : exact; - meta.mymeta.last_ing_instance_type : exact; - hdr.ethernet.dstAddr : exact; - hdr.ethernet.srcAddr : exact; - hdr.ethernet.etherType : exact; + standard_metadata.ingress_port : exact; + standard_metadata.packet_length : exact; + standard_metadata.egress_spec : exact; + standard_metadata.egress_port : exact; + standard_metadata.instance_type : exact; + standard_metadata.ingress_global_timestamp: exact; + standard_metadata.egress_global_timestamp : exact; + standard_metadata.lf_field_list : exact; + standard_metadata.mcast_grp : exact; + standard_metadata.egress_rid : exact; + standard_metadata.resubmit_flag : exact; + standard_metadata.recirculate_flag : exact; + meta.mymeta.resubmit_count : exact; + meta.mymeta.recirculate_count : exact; + meta.mymeta.clone_e2e_count : exact; + meta.mymeta.f1 : exact; + meta.mymeta.last_ing_instance_type : exact; + hdr.ethernet.dstAddr : exact; + hdr.ethernet.srcAddr : exact; + hdr.ethernet.etherType : exact; } default_action = _nop(); } @@ -263,26 +261,26 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ _nop; } key = { - standard_metadata.ingress_port : exact; - standard_metadata.packet_length : exact; - standard_metadata.egress_spec : exact; - standard_metadata.egress_port : exact; - standard_metadata.instance_type : exact; - meta.intrinsic_metadata.ingress_global_timestamp: exact; - meta.intrinsic_metadata.egress_global_timestamp : exact; - meta.intrinsic_metadata.lf_field_list : exact; - meta.intrinsic_metadata.mcast_grp : exact; - meta.intrinsic_metadata.egress_rid : exact; - meta.intrinsic_metadata.resubmit_flag : exact; - meta.intrinsic_metadata.recirculate_flag : exact; - meta.mymeta.resubmit_count : exact; - meta.mymeta.recirculate_count : exact; - meta.mymeta.clone_e2e_count : exact; - meta.mymeta.f1 : exact; - meta.mymeta.last_ing_instance_type : exact; - hdr.ethernet.dstAddr : exact; - hdr.ethernet.srcAddr : exact; - hdr.ethernet.etherType : exact; + standard_metadata.ingress_port : exact; + standard_metadata.packet_length : exact; + standard_metadata.egress_spec : exact; + standard_metadata.egress_port : exact; + standard_metadata.instance_type : exact; + standard_metadata.ingress_global_timestamp: exact; + standard_metadata.egress_global_timestamp : exact; + standard_metadata.lf_field_list : exact; + standard_metadata.mcast_grp : exact; + standard_metadata.egress_rid : exact; + standard_metadata.resubmit_flag : exact; + standard_metadata.recirculate_flag : exact; + meta.mymeta.resubmit_count : exact; + meta.mymeta.recirculate_count : exact; + meta.mymeta.clone_e2e_count : exact; + meta.mymeta.f1 : exact; + meta.mymeta.last_ing_instance_type : exact; + hdr.ethernet.dstAddr : exact; + hdr.ethernet.srcAddr : exact; + hdr.ethernet.etherType : exact; } default_action = _nop(); } @@ -291,26 +289,26 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ _nop; } key = { - standard_metadata.ingress_port : exact; - standard_metadata.packet_length : exact; - standard_metadata.egress_spec : exact; - standard_metadata.egress_port : exact; - standard_metadata.instance_type : exact; - meta.intrinsic_metadata.ingress_global_timestamp: exact; - meta.intrinsic_metadata.egress_global_timestamp : exact; - meta.intrinsic_metadata.lf_field_list : exact; - meta.intrinsic_metadata.mcast_grp : exact; - meta.intrinsic_metadata.egress_rid : exact; - meta.intrinsic_metadata.resubmit_flag : exact; - meta.intrinsic_metadata.recirculate_flag : exact; - meta.mymeta.resubmit_count : exact; - meta.mymeta.recirculate_count : exact; - meta.mymeta.clone_e2e_count : exact; - meta.mymeta.f1 : exact; - meta.mymeta.last_ing_instance_type : exact; - hdr.ethernet.dstAddr : exact; - hdr.ethernet.srcAddr : exact; - hdr.ethernet.etherType : exact; + standard_metadata.ingress_port : exact; + standard_metadata.packet_length : exact; + standard_metadata.egress_spec : exact; + standard_metadata.egress_port : exact; + standard_metadata.instance_type : exact; + standard_metadata.ingress_global_timestamp: exact; + standard_metadata.egress_global_timestamp : exact; + standard_metadata.lf_field_list : exact; + standard_metadata.mcast_grp : exact; + standard_metadata.egress_rid : exact; + standard_metadata.resubmit_flag : exact; + standard_metadata.recirculate_flag : exact; + meta.mymeta.resubmit_count : exact; + meta.mymeta.recirculate_count : exact; + meta.mymeta.clone_e2e_count : exact; + meta.mymeta.f1 : exact; + meta.mymeta.last_ing_instance_type : exact; + hdr.ethernet.dstAddr : exact; + hdr.ethernet.srcAddr : exact; + hdr.ethernet.etherType : exact; } default_action = _nop(); } diff --git a/testdata/p4_14_samples_outputs/p414-special-ops-3-bmv2-first.p4 b/testdata/p4_14_samples_outputs/p414-special-ops-3-bmv2-first.p4 index 3d61df2b9dd..cb03f800886 100644 --- a/testdata/p4_14_samples_outputs/p414-special-ops-3-bmv2-first.p4 +++ b/testdata/p4_14_samples_outputs/p414-special-ops-3-bmv2-first.p4 @@ -30,12 +30,10 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".mymeta") - mymeta_t mymeta; + mymeta_t mymeta; @name(".temporaries") - temporaries_t temporaries; + temporaries_t temporaries; } struct headers { @@ -121,26 +119,26 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t _nop(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta.intrinsic_metadata.ingress_global_timestamp: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta.intrinsic_metadata.egress_global_timestamp : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta.intrinsic_metadata.lf_field_list : exact @name("intrinsic_metadata.lf_field_list") ; - meta.intrinsic_metadata.mcast_grp : exact @name("intrinsic_metadata.mcast_grp") ; - meta.intrinsic_metadata.egress_rid : exact @name("intrinsic_metadata.egress_rid") ; - meta.intrinsic_metadata.resubmit_flag : exact @name("intrinsic_metadata.resubmit_flag") ; - meta.intrinsic_metadata.recirculate_flag : exact @name("intrinsic_metadata.recirculate_flag") ; - meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; - meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; - meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; - meta.mymeta.f1 : exact @name("mymeta.f1") ; - meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop(); } @@ -149,26 +147,26 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t _nop(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta.intrinsic_metadata.ingress_global_timestamp: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta.intrinsic_metadata.egress_global_timestamp : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta.intrinsic_metadata.lf_field_list : exact @name("intrinsic_metadata.lf_field_list") ; - meta.intrinsic_metadata.mcast_grp : exact @name("intrinsic_metadata.mcast_grp") ; - meta.intrinsic_metadata.egress_rid : exact @name("intrinsic_metadata.egress_rid") ; - meta.intrinsic_metadata.resubmit_flag : exact @name("intrinsic_metadata.resubmit_flag") ; - meta.intrinsic_metadata.recirculate_flag : exact @name("intrinsic_metadata.recirculate_flag") ; - meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; - meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; - meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; - meta.mymeta.f1 : exact @name("mymeta.f1") ; - meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop(); } @@ -269,26 +267,26 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ _nop(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta.intrinsic_metadata.ingress_global_timestamp: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta.intrinsic_metadata.egress_global_timestamp : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta.intrinsic_metadata.lf_field_list : exact @name("intrinsic_metadata.lf_field_list") ; - meta.intrinsic_metadata.mcast_grp : exact @name("intrinsic_metadata.mcast_grp") ; - meta.intrinsic_metadata.egress_rid : exact @name("intrinsic_metadata.egress_rid") ; - meta.intrinsic_metadata.resubmit_flag : exact @name("intrinsic_metadata.resubmit_flag") ; - meta.intrinsic_metadata.recirculate_flag : exact @name("intrinsic_metadata.recirculate_flag") ; - meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; - meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; - meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; - meta.mymeta.f1 : exact @name("mymeta.f1") ; - meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop(); } @@ -297,26 +295,26 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ _nop(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta.intrinsic_metadata.ingress_global_timestamp: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta.intrinsic_metadata.egress_global_timestamp : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta.intrinsic_metadata.lf_field_list : exact @name("intrinsic_metadata.lf_field_list") ; - meta.intrinsic_metadata.mcast_grp : exact @name("intrinsic_metadata.mcast_grp") ; - meta.intrinsic_metadata.egress_rid : exact @name("intrinsic_metadata.egress_rid") ; - meta.intrinsic_metadata.resubmit_flag : exact @name("intrinsic_metadata.resubmit_flag") ; - meta.intrinsic_metadata.recirculate_flag : exact @name("intrinsic_metadata.recirculate_flag") ; - meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; - meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; - meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; - meta.mymeta.f1 : exact @name("mymeta.f1") ; - meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop(); } diff --git a/testdata/p4_14_samples_outputs/p414-special-ops-3-bmv2-frontend.p4 b/testdata/p4_14_samples_outputs/p414-special-ops-3-bmv2-frontend.p4 index 071e9377a40..120818f1d4c 100644 --- a/testdata/p4_14_samples_outputs/p414-special-ops-3-bmv2-frontend.p4 +++ b/testdata/p4_14_samples_outputs/p414-special-ops-3-bmv2-frontend.p4 @@ -30,12 +30,10 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".mymeta") - mymeta_t mymeta; + mymeta_t mymeta; @name(".temporaries") - temporaries_t temporaries; + temporaries_t temporaries; } struct headers { @@ -150,26 +148,26 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t _nop(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta.intrinsic_metadata.ingress_global_timestamp: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta.intrinsic_metadata.egress_global_timestamp : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta.intrinsic_metadata.lf_field_list : exact @name("intrinsic_metadata.lf_field_list") ; - meta.intrinsic_metadata.mcast_grp : exact @name("intrinsic_metadata.mcast_grp") ; - meta.intrinsic_metadata.egress_rid : exact @name("intrinsic_metadata.egress_rid") ; - meta.intrinsic_metadata.resubmit_flag : exact @name("intrinsic_metadata.resubmit_flag") ; - meta.intrinsic_metadata.recirculate_flag : exact @name("intrinsic_metadata.recirculate_flag") ; - meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; - meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; - meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; - meta.mymeta.f1 : exact @name("mymeta.f1") ; - meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop(); } @@ -178,26 +176,26 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t _nop_2(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta.intrinsic_metadata.ingress_global_timestamp: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta.intrinsic_metadata.egress_global_timestamp : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta.intrinsic_metadata.lf_field_list : exact @name("intrinsic_metadata.lf_field_list") ; - meta.intrinsic_metadata.mcast_grp : exact @name("intrinsic_metadata.mcast_grp") ; - meta.intrinsic_metadata.egress_rid : exact @name("intrinsic_metadata.egress_rid") ; - meta.intrinsic_metadata.resubmit_flag : exact @name("intrinsic_metadata.resubmit_flag") ; - meta.intrinsic_metadata.recirculate_flag : exact @name("intrinsic_metadata.recirculate_flag") ; - meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; - meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; - meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; - meta.mymeta.f1 : exact @name("mymeta.f1") ; - meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop_2(); } @@ -300,26 +298,26 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ _nop_5(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta.intrinsic_metadata.ingress_global_timestamp: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta.intrinsic_metadata.egress_global_timestamp : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta.intrinsic_metadata.lf_field_list : exact @name("intrinsic_metadata.lf_field_list") ; - meta.intrinsic_metadata.mcast_grp : exact @name("intrinsic_metadata.mcast_grp") ; - meta.intrinsic_metadata.egress_rid : exact @name("intrinsic_metadata.egress_rid") ; - meta.intrinsic_metadata.resubmit_flag : exact @name("intrinsic_metadata.resubmit_flag") ; - meta.intrinsic_metadata.recirculate_flag : exact @name("intrinsic_metadata.recirculate_flag") ; - meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; - meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; - meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; - meta.mymeta.f1 : exact @name("mymeta.f1") ; - meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop_5(); } @@ -328,26 +326,26 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ _nop_6(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta.intrinsic_metadata.ingress_global_timestamp: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta.intrinsic_metadata.egress_global_timestamp : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta.intrinsic_metadata.lf_field_list : exact @name("intrinsic_metadata.lf_field_list") ; - meta.intrinsic_metadata.mcast_grp : exact @name("intrinsic_metadata.mcast_grp") ; - meta.intrinsic_metadata.egress_rid : exact @name("intrinsic_metadata.egress_rid") ; - meta.intrinsic_metadata.resubmit_flag : exact @name("intrinsic_metadata.resubmit_flag") ; - meta.intrinsic_metadata.recirculate_flag : exact @name("intrinsic_metadata.recirculate_flag") ; - meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; - meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; - meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; - meta.mymeta.f1 : exact @name("mymeta.f1") ; - meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop_6(); } diff --git a/testdata/p4_14_samples_outputs/p414-special-ops-3-bmv2-midend.p4 b/testdata/p4_14_samples_outputs/p414-special-ops-3-bmv2-midend.p4 index 814a76df719..07556c8d2e5 100644 --- a/testdata/p4_14_samples_outputs/p414-special-ops-3-bmv2-midend.p4 +++ b/testdata/p4_14_samples_outputs/p414-special-ops-3-bmv2-midend.p4 @@ -30,19 +30,12 @@ header ethernet_t { } struct metadata { - bit<48> _intrinsic_metadata_ingress_global_timestamp0; - bit<48> _intrinsic_metadata_egress_global_timestamp1; - bit<8> _intrinsic_metadata_lf_field_list2; - bit<16> _intrinsic_metadata_mcast_grp3; - bit<16> _intrinsic_metadata_egress_rid4; - bit<8> _intrinsic_metadata_resubmit_flag5; - bit<8> _intrinsic_metadata_recirculate_flag6; - bit<8> _mymeta_resubmit_count7; - bit<8> _mymeta_recirculate_count8; - bit<8> _mymeta_clone_e2e_count9; - bit<8> _mymeta_last_ing_instance_type10; - bit<8> _mymeta_f111; - bit<48> _temporaries_temp112; + bit<8> _mymeta_resubmit_count0; + bit<8> _mymeta_recirculate_count1; + bit<8> _mymeta_clone_e2e_count2; + bit<8> _mymeta_last_ing_instance_type3; + bit<8> _mymeta_f14; + bit<48> _temporaries_temp15; } struct headers { @@ -68,77 +61,77 @@ struct tuple_0 { control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { @name(".do_clone_e2e") action do_clone_e2e() { hdr.ethernet.srcAddr = hdr.ethernet.srcAddr + 48w281474976710633; - meta._mymeta_f111 = meta._mymeta_f111 + 8w23; - meta._mymeta_clone_e2e_count9 = meta._mymeta_clone_e2e_count9 + 8w1; - clone3(CloneType.E2E, 32w1, { meta._mymeta_clone_e2e_count9, meta._mymeta_f111 }); + meta._mymeta_f14 = meta._mymeta_f14 + 8w23; + meta._mymeta_clone_e2e_count2 = meta._mymeta_clone_e2e_count2 + 8w1; + clone3(CloneType.E2E, 32w1, { meta._mymeta_clone_e2e_count2, meta._mymeta_f14 }); } @name(".do_recirculate") action do_recirculate() { hdr.ethernet.srcAddr = hdr.ethernet.srcAddr + 48w281474976710637; - meta._mymeta_f111 = meta._mymeta_f111 + 8w19; - meta._mymeta_recirculate_count8 = meta._mymeta_recirculate_count8 + 8w1; - recirculate({ meta._mymeta_recirculate_count8, meta._mymeta_f111 }); + meta._mymeta_f14 = meta._mymeta_f14 + 8w19; + meta._mymeta_recirculate_count1 = meta._mymeta_recirculate_count1 + 8w1; + recirculate({ meta._mymeta_recirculate_count1, meta._mymeta_f14 }); } @name("._nop") action _nop() { } @name("._nop") action _nop_2() { } @name(".egr_inc_mymeta_counts") action egr_inc_mymeta_counts() { - meta._mymeta_recirculate_count8 = meta._mymeta_recirculate_count8 + 8w1; - meta._mymeta_clone_e2e_count9 = meta._mymeta_clone_e2e_count9 + 8w1; + meta._mymeta_recirculate_count1 = meta._mymeta_recirculate_count1 + 8w1; + meta._mymeta_clone_e2e_count2 = meta._mymeta_clone_e2e_count2 + 8w1; } @name(".mark_egr_resubmit_packet") action mark_egr_resubmit_packet() { hdr.ethernet.dstAddr = 48w0; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_resubmit_count7 << 40; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_recirculate_count8 << 32; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_clone_e2e_count9 << 24; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_f111 << 16; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24 | (bit<48>)meta._mymeta_f111 << 16; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_last_ing_instance_type10 << 8; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24 | (bit<48>)meta._mymeta_f111 << 16 | (bit<48>)meta._mymeta_last_ing_instance_type10 << 8; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_resubmit_count0 << 40; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_recirculate_count1 << 32; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_f14 << 16; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16 | (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; } @name(".mark_max_clone_e2e_packet") action mark_max_clone_e2e_packet() { hdr.ethernet.dstAddr = 48w0; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_resubmit_count7 << 40; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_recirculate_count8 << 32; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_clone_e2e_count9 << 24; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_f111 << 16; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24 | (bit<48>)meta._mymeta_f111 << 16; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_last_ing_instance_type10 << 8; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24 | (bit<48>)meta._mymeta_f111 << 16 | (bit<48>)meta._mymeta_last_ing_instance_type10 << 8; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_resubmit_count0 << 40; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_recirculate_count1 << 32; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_f14 << 16; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16 | (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; hdr.ethernet.etherType = 16w0xce2e; } @name(".mark_max_recirculate_packet") action mark_max_recirculate_packet() { hdr.ethernet.dstAddr = 48w0; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_resubmit_count7 << 40; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_recirculate_count8 << 32; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_clone_e2e_count9 << 24; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_f111 << 16; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24 | (bit<48>)meta._mymeta_f111 << 16; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_last_ing_instance_type10 << 8; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24 | (bit<48>)meta._mymeta_f111 << 16 | (bit<48>)meta._mymeta_last_ing_instance_type10 << 8; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_resubmit_count0 << 40; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_recirculate_count1 << 32; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_f14 << 16; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16 | (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; hdr.ethernet.etherType = 16w0xec14; } @name(".mark_vanilla_packet") action mark_vanilla_packet() { hdr.ethernet.dstAddr = 48w0; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_resubmit_count7 << 40; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_recirculate_count8 << 32; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_clone_e2e_count9 << 24; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_f111 << 16; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24 | (bit<48>)meta._mymeta_f111 << 16; - meta._temporaries_temp112 = (bit<48>)meta._mymeta_last_ing_instance_type10 << 8; - hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count7 << 40 | (bit<48>)meta._mymeta_recirculate_count8 << 32 | (bit<48>)meta._mymeta_clone_e2e_count9 << 24 | (bit<48>)meta._mymeta_f111 << 16 | (bit<48>)meta._mymeta_last_ing_instance_type10 << 8; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_resubmit_count0 << 40; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_recirculate_count1 << 32; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_f14 << 16; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16 | (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; hdr.ethernet.etherType = 16w0xf00f; } @name(".t_do_clone_e2e") table t_do_clone_e2e_0 { @@ -162,26 +155,26 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t _nop(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta._intrinsic_metadata_ingress_global_timestamp0: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta._intrinsic_metadata_egress_global_timestamp1 : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta._intrinsic_metadata_lf_field_list2 : exact @name("intrinsic_metadata.lf_field_list") ; - meta._intrinsic_metadata_mcast_grp3 : exact @name("intrinsic_metadata.mcast_grp") ; - meta._intrinsic_metadata_egress_rid4 : exact @name("intrinsic_metadata.egress_rid") ; - meta._intrinsic_metadata_resubmit_flag5 : exact @name("intrinsic_metadata.resubmit_flag") ; - meta._intrinsic_metadata_recirculate_flag6 : exact @name("intrinsic_metadata.recirculate_flag") ; - meta._mymeta_resubmit_count7 : exact @name("mymeta.resubmit_count") ; - meta._mymeta_recirculate_count8 : exact @name("mymeta.recirculate_count") ; - meta._mymeta_clone_e2e_count9 : exact @name("mymeta.clone_e2e_count") ; - meta._mymeta_f111 : exact @name("mymeta.f1") ; - meta._mymeta_last_ing_instance_type10 : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta._mymeta_resubmit_count0 : exact @name("mymeta.resubmit_count") ; + meta._mymeta_recirculate_count1 : exact @name("mymeta.recirculate_count") ; + meta._mymeta_clone_e2e_count2 : exact @name("mymeta.clone_e2e_count") ; + meta._mymeta_f14 : exact @name("mymeta.f1") ; + meta._mymeta_last_ing_instance_type3 : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop(); } @@ -190,26 +183,26 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t _nop_2(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta._intrinsic_metadata_ingress_global_timestamp0: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta._intrinsic_metadata_egress_global_timestamp1 : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta._intrinsic_metadata_lf_field_list2 : exact @name("intrinsic_metadata.lf_field_list") ; - meta._intrinsic_metadata_mcast_grp3 : exact @name("intrinsic_metadata.mcast_grp") ; - meta._intrinsic_metadata_egress_rid4 : exact @name("intrinsic_metadata.egress_rid") ; - meta._intrinsic_metadata_resubmit_flag5 : exact @name("intrinsic_metadata.resubmit_flag") ; - meta._intrinsic_metadata_recirculate_flag6 : exact @name("intrinsic_metadata.recirculate_flag") ; - meta._mymeta_resubmit_count7 : exact @name("mymeta.resubmit_count") ; - meta._mymeta_recirculate_count8 : exact @name("mymeta.recirculate_count") ; - meta._mymeta_clone_e2e_count9 : exact @name("mymeta.clone_e2e_count") ; - meta._mymeta_f111 : exact @name("mymeta.f1") ; - meta._mymeta_last_ing_instance_type10 : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta._mymeta_resubmit_count0 : exact @name("mymeta.resubmit_count") ; + meta._mymeta_recirculate_count1 : exact @name("mymeta.recirculate_count") ; + meta._mymeta_clone_e2e_count2 : exact @name("mymeta.clone_e2e_count") ; + meta._mymeta_f14 : exact @name("mymeta.f1") ; + meta._mymeta_last_ing_instance_type3 : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop_2(); } @@ -259,13 +252,13 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t t_egr_mark_resubmit_packet_0.apply(); else if (hdr.ethernet.dstAddr == 48w0x2) - if (meta._mymeta_recirculate_count8 < 8w10) + if (meta._mymeta_recirculate_count1 < 8w10) t_do_recirculate_0.apply(); else t_mark_max_recirculate_packet_0.apply(); else if (hdr.ethernet.dstAddr == 48w0x3) - if (meta._mymeta_clone_e2e_count9 < 8w8) + if (meta._mymeta_clone_e2e_count2 < 8w8) t_do_clone_e2e_0.apply(); else t_mark_max_clone_e2e_packet_0.apply(); @@ -279,16 +272,16 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { @name(".do_resubmit") action do_resubmit() { hdr.ethernet.srcAddr = hdr.ethernet.srcAddr + 48w281474976710639; - meta._mymeta_f111 = meta._mymeta_f111 + 8w17; - meta._mymeta_resubmit_count7 = meta._mymeta_resubmit_count7 + 8w1; - resubmit({ meta._mymeta_resubmit_count7, meta._mymeta_f111 }); + meta._mymeta_f14 = meta._mymeta_f14 + 8w17; + meta._mymeta_resubmit_count0 = meta._mymeta_resubmit_count0 + 8w1; + resubmit({ meta._mymeta_resubmit_count0, meta._mymeta_f14 }); } @name("._nop") action _nop_5() { } @name("._nop") action _nop_6() { } @name(".ing_inc_mymeta_counts") action ing_inc_mymeta_counts() { - meta._mymeta_resubmit_count7 = meta._mymeta_resubmit_count7 + 8w1; + meta._mymeta_resubmit_count0 = meta._mymeta_resubmit_count0 + 8w1; } @name(".set_port_to_mac_da_lsbs") action set_port_to_mac_da_lsbs() { standard_metadata.egress_spec = (bit<9>)hdr.ethernet.dstAddr & 9w0xf; @@ -297,7 +290,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ hdr.ethernet.etherType = 16w0xe50b; } @name(".save_ing_instance_type") action save_ing_instance_type() { - meta._mymeta_last_ing_instance_type10 = (bit<8>)standard_metadata.instance_type; + meta._mymeta_last_ing_instance_type3 = (bit<8>)standard_metadata.instance_type; } @name(".t_do_resubmit") table t_do_resubmit_0 { actions = { @@ -312,26 +305,26 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ _nop_5(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta._intrinsic_metadata_ingress_global_timestamp0: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta._intrinsic_metadata_egress_global_timestamp1 : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta._intrinsic_metadata_lf_field_list2 : exact @name("intrinsic_metadata.lf_field_list") ; - meta._intrinsic_metadata_mcast_grp3 : exact @name("intrinsic_metadata.mcast_grp") ; - meta._intrinsic_metadata_egress_rid4 : exact @name("intrinsic_metadata.egress_rid") ; - meta._intrinsic_metadata_resubmit_flag5 : exact @name("intrinsic_metadata.resubmit_flag") ; - meta._intrinsic_metadata_recirculate_flag6 : exact @name("intrinsic_metadata.recirculate_flag") ; - meta._mymeta_resubmit_count7 : exact @name("mymeta.resubmit_count") ; - meta._mymeta_recirculate_count8 : exact @name("mymeta.recirculate_count") ; - meta._mymeta_clone_e2e_count9 : exact @name("mymeta.clone_e2e_count") ; - meta._mymeta_f111 : exact @name("mymeta.f1") ; - meta._mymeta_last_ing_instance_type10 : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta._mymeta_resubmit_count0 : exact @name("mymeta.resubmit_count") ; + meta._mymeta_recirculate_count1 : exact @name("mymeta.recirculate_count") ; + meta._mymeta_clone_e2e_count2 : exact @name("mymeta.clone_e2e_count") ; + meta._mymeta_f14 : exact @name("mymeta.f1") ; + meta._mymeta_last_ing_instance_type3 : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop_5(); } @@ -340,26 +333,26 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ _nop_6(); } key = { - standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; - standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; - standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; - standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; - meta._intrinsic_metadata_ingress_global_timestamp0: exact @name("intrinsic_metadata.ingress_global_timestamp") ; - meta._intrinsic_metadata_egress_global_timestamp1 : exact @name("intrinsic_metadata.egress_global_timestamp") ; - meta._intrinsic_metadata_lf_field_list2 : exact @name("intrinsic_metadata.lf_field_list") ; - meta._intrinsic_metadata_mcast_grp3 : exact @name("intrinsic_metadata.mcast_grp") ; - meta._intrinsic_metadata_egress_rid4 : exact @name("intrinsic_metadata.egress_rid") ; - meta._intrinsic_metadata_resubmit_flag5 : exact @name("intrinsic_metadata.resubmit_flag") ; - meta._intrinsic_metadata_recirculate_flag6 : exact @name("intrinsic_metadata.recirculate_flag") ; - meta._mymeta_resubmit_count7 : exact @name("mymeta.resubmit_count") ; - meta._mymeta_recirculate_count8 : exact @name("mymeta.recirculate_count") ; - meta._mymeta_clone_e2e_count9 : exact @name("mymeta.clone_e2e_count") ; - meta._mymeta_f111 : exact @name("mymeta.f1") ; - meta._mymeta_last_ing_instance_type10 : exact @name("mymeta.last_ing_instance_type") ; - hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; - hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; - hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta._mymeta_resubmit_count0 : exact @name("mymeta.resubmit_count") ; + meta._mymeta_recirculate_count1 : exact @name("mymeta.recirculate_count") ; + meta._mymeta_clone_e2e_count2 : exact @name("mymeta.clone_e2e_count") ; + meta._mymeta_f14 : exact @name("mymeta.f1") ; + meta._mymeta_last_ing_instance_type3 : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; } default_action = _nop_6(); } @@ -398,7 +391,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ apply { t_ing_debug_table1_0.apply(); if (hdr.ethernet.dstAddr == 48w0x1) - if (meta._mymeta_resubmit_count7 < 8w6) + if (meta._mymeta_resubmit_count0 < 8w6) t_do_resubmit_0.apply(); else t_mark_max_resubmit_packet_0.apply(); diff --git a/testdata/p4_14_samples_outputs/p414-special-ops-3-bmv2.p4 b/testdata/p4_14_samples_outputs/p414-special-ops-3-bmv2.p4 index e5e99f2b687..b9d4214ac71 100644 --- a/testdata/p4_14_samples_outputs/p414-special-ops-3-bmv2.p4 +++ b/testdata/p4_14_samples_outputs/p414-special-ops-3-bmv2.p4 @@ -30,12 +30,10 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".mymeta") - mymeta_t mymeta; + mymeta_t mymeta; @name(".temporaries") - temporaries_t temporaries; + temporaries_t temporaries; } struct headers { @@ -121,26 +119,26 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t _nop; } key = { - standard_metadata.ingress_port : exact; - standard_metadata.packet_length : exact; - standard_metadata.egress_spec : exact; - standard_metadata.egress_port : exact; - standard_metadata.instance_type : exact; - meta.intrinsic_metadata.ingress_global_timestamp: exact; - meta.intrinsic_metadata.egress_global_timestamp : exact; - meta.intrinsic_metadata.lf_field_list : exact; - meta.intrinsic_metadata.mcast_grp : exact; - meta.intrinsic_metadata.egress_rid : exact; - meta.intrinsic_metadata.resubmit_flag : exact; - meta.intrinsic_metadata.recirculate_flag : exact; - meta.mymeta.resubmit_count : exact; - meta.mymeta.recirculate_count : exact; - meta.mymeta.clone_e2e_count : exact; - meta.mymeta.f1 : exact; - meta.mymeta.last_ing_instance_type : exact; - hdr.ethernet.dstAddr : exact; - hdr.ethernet.srcAddr : exact; - hdr.ethernet.etherType : exact; + standard_metadata.ingress_port : exact; + standard_metadata.packet_length : exact; + standard_metadata.egress_spec : exact; + standard_metadata.egress_port : exact; + standard_metadata.instance_type : exact; + standard_metadata.ingress_global_timestamp: exact; + standard_metadata.egress_global_timestamp : exact; + standard_metadata.lf_field_list : exact; + standard_metadata.mcast_grp : exact; + standard_metadata.egress_rid : exact; + standard_metadata.resubmit_flag : exact; + standard_metadata.recirculate_flag : exact; + meta.mymeta.resubmit_count : exact; + meta.mymeta.recirculate_count : exact; + meta.mymeta.clone_e2e_count : exact; + meta.mymeta.f1 : exact; + meta.mymeta.last_ing_instance_type : exact; + hdr.ethernet.dstAddr : exact; + hdr.ethernet.srcAddr : exact; + hdr.ethernet.etherType : exact; } default_action = _nop(); } @@ -149,26 +147,26 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t _nop; } key = { - standard_metadata.ingress_port : exact; - standard_metadata.packet_length : exact; - standard_metadata.egress_spec : exact; - standard_metadata.egress_port : exact; - standard_metadata.instance_type : exact; - meta.intrinsic_metadata.ingress_global_timestamp: exact; - meta.intrinsic_metadata.egress_global_timestamp : exact; - meta.intrinsic_metadata.lf_field_list : exact; - meta.intrinsic_metadata.mcast_grp : exact; - meta.intrinsic_metadata.egress_rid : exact; - meta.intrinsic_metadata.resubmit_flag : exact; - meta.intrinsic_metadata.recirculate_flag : exact; - meta.mymeta.resubmit_count : exact; - meta.mymeta.recirculate_count : exact; - meta.mymeta.clone_e2e_count : exact; - meta.mymeta.f1 : exact; - meta.mymeta.last_ing_instance_type : exact; - hdr.ethernet.dstAddr : exact; - hdr.ethernet.srcAddr : exact; - hdr.ethernet.etherType : exact; + standard_metadata.ingress_port : exact; + standard_metadata.packet_length : exact; + standard_metadata.egress_spec : exact; + standard_metadata.egress_port : exact; + standard_metadata.instance_type : exact; + standard_metadata.ingress_global_timestamp: exact; + standard_metadata.egress_global_timestamp : exact; + standard_metadata.lf_field_list : exact; + standard_metadata.mcast_grp : exact; + standard_metadata.egress_rid : exact; + standard_metadata.resubmit_flag : exact; + standard_metadata.recirculate_flag : exact; + meta.mymeta.resubmit_count : exact; + meta.mymeta.recirculate_count : exact; + meta.mymeta.clone_e2e_count : exact; + meta.mymeta.f1 : exact; + meta.mymeta.last_ing_instance_type : exact; + hdr.ethernet.dstAddr : exact; + hdr.ethernet.srcAddr : exact; + hdr.ethernet.etherType : exact; } default_action = _nop(); } @@ -279,26 +277,26 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ _nop; } key = { - standard_metadata.ingress_port : exact; - standard_metadata.packet_length : exact; - standard_metadata.egress_spec : exact; - standard_metadata.egress_port : exact; - standard_metadata.instance_type : exact; - meta.intrinsic_metadata.ingress_global_timestamp: exact; - meta.intrinsic_metadata.egress_global_timestamp : exact; - meta.intrinsic_metadata.lf_field_list : exact; - meta.intrinsic_metadata.mcast_grp : exact; - meta.intrinsic_metadata.egress_rid : exact; - meta.intrinsic_metadata.resubmit_flag : exact; - meta.intrinsic_metadata.recirculate_flag : exact; - meta.mymeta.resubmit_count : exact; - meta.mymeta.recirculate_count : exact; - meta.mymeta.clone_e2e_count : exact; - meta.mymeta.f1 : exact; - meta.mymeta.last_ing_instance_type : exact; - hdr.ethernet.dstAddr : exact; - hdr.ethernet.srcAddr : exact; - hdr.ethernet.etherType : exact; + standard_metadata.ingress_port : exact; + standard_metadata.packet_length : exact; + standard_metadata.egress_spec : exact; + standard_metadata.egress_port : exact; + standard_metadata.instance_type : exact; + standard_metadata.ingress_global_timestamp: exact; + standard_metadata.egress_global_timestamp : exact; + standard_metadata.lf_field_list : exact; + standard_metadata.mcast_grp : exact; + standard_metadata.egress_rid : exact; + standard_metadata.resubmit_flag : exact; + standard_metadata.recirculate_flag : exact; + meta.mymeta.resubmit_count : exact; + meta.mymeta.recirculate_count : exact; + meta.mymeta.clone_e2e_count : exact; + meta.mymeta.f1 : exact; + meta.mymeta.last_ing_instance_type : exact; + hdr.ethernet.dstAddr : exact; + hdr.ethernet.srcAddr : exact; + hdr.ethernet.etherType : exact; } default_action = _nop(); } @@ -307,26 +305,26 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ _nop; } key = { - standard_metadata.ingress_port : exact; - standard_metadata.packet_length : exact; - standard_metadata.egress_spec : exact; - standard_metadata.egress_port : exact; - standard_metadata.instance_type : exact; - meta.intrinsic_metadata.ingress_global_timestamp: exact; - meta.intrinsic_metadata.egress_global_timestamp : exact; - meta.intrinsic_metadata.lf_field_list : exact; - meta.intrinsic_metadata.mcast_grp : exact; - meta.intrinsic_metadata.egress_rid : exact; - meta.intrinsic_metadata.resubmit_flag : exact; - meta.intrinsic_metadata.recirculate_flag : exact; - meta.mymeta.resubmit_count : exact; - meta.mymeta.recirculate_count : exact; - meta.mymeta.clone_e2e_count : exact; - meta.mymeta.f1 : exact; - meta.mymeta.last_ing_instance_type : exact; - hdr.ethernet.dstAddr : exact; - hdr.ethernet.srcAddr : exact; - hdr.ethernet.etherType : exact; + standard_metadata.ingress_port : exact; + standard_metadata.packet_length : exact; + standard_metadata.egress_spec : exact; + standard_metadata.egress_port : exact; + standard_metadata.instance_type : exact; + standard_metadata.ingress_global_timestamp: exact; + standard_metadata.egress_global_timestamp : exact; + standard_metadata.lf_field_list : exact; + standard_metadata.mcast_grp : exact; + standard_metadata.egress_rid : exact; + standard_metadata.resubmit_flag : exact; + standard_metadata.recirculate_flag : exact; + meta.mymeta.resubmit_count : exact; + meta.mymeta.recirculate_count : exact; + meta.mymeta.clone_e2e_count : exact; + meta.mymeta.f1 : exact; + meta.mymeta.last_ing_instance_type : exact; + hdr.ethernet.dstAddr : exact; + hdr.ethernet.srcAddr : exact; + hdr.ethernet.etherType : exact; } default_action = _nop(); } diff --git a/testdata/p4_14_samples_outputs/p414-special-ops-first.p4 b/testdata/p4_14_samples_outputs/p414-special-ops-first.p4 new file mode 100644 index 00000000000..17251b69add --- /dev/null +++ b/testdata/p4_14_samples_outputs/p414-special-ops-first.p4 @@ -0,0 +1,360 @@ +#include +#include + +struct intrinsic_metadata_t { + bit<48> ingress_global_timestamp; + bit<48> egress_global_timestamp; + bit<8> lf_field_list; + bit<16> mcast_grp; + bit<16> egress_rid; + bit<8> resubmit_flag; + bit<8> recirculate_flag; +} + +struct mymeta_t { + bit<8> resubmit_count; + bit<8> recirculate_count; + bit<8> clone_e2e_count; + bit<8> last_ing_instance_type; + bit<8> f1; +} + +struct temporaries_t { + bit<48> temp1; +} + +header ethernet_t { + bit<48> dstAddr; + bit<48> srcAddr; + bit<16> etherType; +} + +struct metadata { + @name(".mymeta") + mymeta_t mymeta; + @name(".temporaries") + temporaries_t temporaries; +} + +struct headers { + @name(".ethernet") + ethernet_t ethernet; +} + +parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { + @name(".parse_ethernet") state parse_ethernet { + packet.extract(hdr.ethernet); + transition accept; + } + @name(".start") state start { + transition parse_ethernet; + } +} + +control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { + @name(".do_clone_e2e") action do_clone_e2e() { + hdr.ethernet.srcAddr = hdr.ethernet.srcAddr + 48w281474976710633; + meta.mymeta.f1 = meta.mymeta.f1 + 8w23; + meta.mymeta.clone_e2e_count = meta.mymeta.clone_e2e_count + 8w1; + clone3, bit<8>>>(CloneType.E2E, 32w1, { meta.mymeta.clone_e2e_count, meta.mymeta.f1 }); + } + @name(".do_recirculate") action do_recirculate() { + hdr.ethernet.srcAddr = hdr.ethernet.srcAddr + 48w281474976710637; + meta.mymeta.f1 = meta.mymeta.f1 + 8w19; + meta.mymeta.recirculate_count = meta.mymeta.recirculate_count + 8w1; + recirculate, bit<8>>>({ meta.mymeta.recirculate_count, meta.mymeta.f1 }); + } + @name("._nop") action _nop() { + } + @name(".put_debug_vals_in_eth_dstaddr") action put_debug_vals_in_eth_dstaddr() { + hdr.ethernet.dstAddr = 48w0; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.resubmit_count << 40; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.recirculate_count << 32; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.clone_e2e_count << 24; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.f1 << 16; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.last_ing_instance_type << 8; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + } + @name(".mark_egr_resubmit_packet") action mark_egr_resubmit_packet() { + put_debug_vals_in_eth_dstaddr(); + } + @name(".mark_max_clone_e2e_packet") action mark_max_clone_e2e_packet() { + put_debug_vals_in_eth_dstaddr(); + hdr.ethernet.etherType = 16w0xce2e; + } + @name(".mark_max_recirculate_packet") action mark_max_recirculate_packet() { + put_debug_vals_in_eth_dstaddr(); + hdr.ethernet.etherType = 16w0xec14; + } + @name(".mark_vanilla_packet") action mark_vanilla_packet() { + put_debug_vals_in_eth_dstaddr(); + hdr.ethernet.etherType = 16w0xf00f; + } + @name(".t_do_clone_e2e") table t_do_clone_e2e { + actions = { + do_clone_e2e(); + } + key = { + } + default_action = do_clone_e2e(); + } + @name(".t_do_recirculate") table t_do_recirculate { + actions = { + do_recirculate(); + } + key = { + } + default_action = do_recirculate(); + } + @name(".t_egr_debug_table1") table t_egr_debug_table1 { + actions = { + _nop(); + } + key = { + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + } + default_action = _nop(); + } + @name(".t_egr_debug_table2") table t_egr_debug_table2 { + actions = { + _nop(); + } + key = { + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + } + default_action = _nop(); + } + @name(".t_egr_mark_resubmit_packet") table t_egr_mark_resubmit_packet { + actions = { + mark_egr_resubmit_packet(); + } + key = { + } + default_action = mark_egr_resubmit_packet(); + } + @name(".t_mark_max_clone_e2e_packet") table t_mark_max_clone_e2e_packet { + actions = { + mark_max_clone_e2e_packet(); + } + key = { + } + default_action = mark_max_clone_e2e_packet(); + } + @name(".t_mark_max_recirculate_packet") table t_mark_max_recirculate_packet { + actions = { + mark_max_recirculate_packet(); + } + key = { + } + default_action = mark_max_recirculate_packet(); + } + @name(".t_mark_vanilla_packet") table t_mark_vanilla_packet { + actions = { + mark_vanilla_packet(); + } + key = { + } + default_action = mark_vanilla_packet(); + } + apply { + t_egr_debug_table1.apply(); + if (hdr.ethernet.dstAddr == 48w0x1) + t_egr_mark_resubmit_packet.apply(); + else + if (hdr.ethernet.dstAddr == 48w0x2) + if (meta.mymeta.recirculate_count < 8w5) + t_do_recirculate.apply(); + else + t_mark_max_recirculate_packet.apply(); + else + if (hdr.ethernet.dstAddr == 48w0x3) + if (meta.mymeta.clone_e2e_count < 8w4) + t_do_clone_e2e.apply(); + else + t_mark_max_clone_e2e_packet.apply(); + else + t_mark_vanilla_packet.apply(); + t_egr_debug_table2.apply(); + } +} + +control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { + @name(".do_resubmit") action do_resubmit() { + hdr.ethernet.srcAddr = hdr.ethernet.srcAddr + 48w281474976710639; + meta.mymeta.f1 = meta.mymeta.f1 + 8w17; + meta.mymeta.resubmit_count = meta.mymeta.resubmit_count + 8w1; + resubmit, bit<8>>>({ meta.mymeta.resubmit_count, meta.mymeta.f1 }); + } + @name("._nop") action _nop() { + } + @name(".set_port_to_mac_da_lsbs") action set_port_to_mac_da_lsbs() { + standard_metadata.egress_spec = (bit<9>)hdr.ethernet.dstAddr & 9w0xf; + } + @name(".mark_max_resubmit_packet") action mark_max_resubmit_packet() { + hdr.ethernet.etherType = 16w0xe50b; + } + @name(".save_ing_instance_type") action save_ing_instance_type() { + meta.mymeta.last_ing_instance_type = (bit<8>)standard_metadata.instance_type; + } + @name(".t_do_resubmit") table t_do_resubmit { + actions = { + do_resubmit(); + } + key = { + } + default_action = do_resubmit(); + } + @name(".t_ing_debug_table1") table t_ing_debug_table1 { + actions = { + _nop(); + } + key = { + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + } + default_action = _nop(); + } + @name(".t_ing_debug_table2") table t_ing_debug_table2 { + actions = { + _nop(); + } + key = { + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + } + default_action = _nop(); + } + @name(".t_ing_mac_da") table t_ing_mac_da { + actions = { + set_port_to_mac_da_lsbs(); + } + key = { + } + default_action = set_port_to_mac_da_lsbs(); + } + @name(".t_mark_max_resubmit_packet") table t_mark_max_resubmit_packet { + actions = { + mark_max_resubmit_packet(); + } + key = { + } + default_action = mark_max_resubmit_packet(); + } + @name(".t_save_ing_instance_type") table t_save_ing_instance_type { + actions = { + save_ing_instance_type(); + } + key = { + } + default_action = save_ing_instance_type(); + } + apply { + t_ing_debug_table1.apply(); + if (hdr.ethernet.dstAddr == 48w0x1) + if (meta.mymeta.resubmit_count < 8w3) + t_do_resubmit.apply(); + else + t_mark_max_resubmit_packet.apply(); + else + t_ing_mac_da.apply(); + t_save_ing_instance_type.apply(); + t_ing_debug_table2.apply(); + } +} + +control DeparserImpl(packet_out packet, in headers hdr) { + apply { + packet.emit(hdr.ethernet); + } +} + +control verifyChecksum(inout headers hdr, inout metadata meta) { + apply { + } +} + +control computeChecksum(inout headers hdr, inout metadata meta) { + apply { + } +} + +V1Switch(ParserImpl(), verifyChecksum(), ingress(), egress(), computeChecksum(), DeparserImpl()) main; + diff --git a/testdata/p4_14_samples_outputs/p414-special-ops-frontend.p4 b/testdata/p4_14_samples_outputs/p414-special-ops-frontend.p4 new file mode 100644 index 00000000000..7c5561af57f --- /dev/null +++ b/testdata/p4_14_samples_outputs/p414-special-ops-frontend.p4 @@ -0,0 +1,391 @@ +#include +#include + +struct intrinsic_metadata_t { + bit<48> ingress_global_timestamp; + bit<48> egress_global_timestamp; + bit<8> lf_field_list; + bit<16> mcast_grp; + bit<16> egress_rid; + bit<8> resubmit_flag; + bit<8> recirculate_flag; +} + +struct mymeta_t { + bit<8> resubmit_count; + bit<8> recirculate_count; + bit<8> clone_e2e_count; + bit<8> last_ing_instance_type; + bit<8> f1; +} + +struct temporaries_t { + bit<48> temp1; +} + +header ethernet_t { + bit<48> dstAddr; + bit<48> srcAddr; + bit<16> etherType; +} + +struct metadata { + @name(".mymeta") + mymeta_t mymeta; + @name(".temporaries") + temporaries_t temporaries; +} + +struct headers { + @name(".ethernet") + ethernet_t ethernet; +} + +parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { + @name(".parse_ethernet") state parse_ethernet { + packet.extract(hdr.ethernet); + transition accept; + } + @name(".start") state start { + transition parse_ethernet; + } +} + +control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { + @name(".do_clone_e2e") action do_clone_e2e() { + hdr.ethernet.srcAddr = hdr.ethernet.srcAddr + 48w281474976710633; + meta.mymeta.f1 = meta.mymeta.f1 + 8w23; + meta.mymeta.clone_e2e_count = meta.mymeta.clone_e2e_count + 8w1; + clone3, bit<8>>>(CloneType.E2E, 32w1, { meta.mymeta.clone_e2e_count, meta.mymeta.f1 }); + } + @name(".do_recirculate") action do_recirculate() { + hdr.ethernet.srcAddr = hdr.ethernet.srcAddr + 48w281474976710637; + meta.mymeta.f1 = meta.mymeta.f1 + 8w19; + meta.mymeta.recirculate_count = meta.mymeta.recirculate_count + 8w1; + recirculate, bit<8>>>({ meta.mymeta.recirculate_count, meta.mymeta.f1 }); + } + @name("._nop") action _nop() { + } + @name("._nop") action _nop_2() { + } + @name(".mark_egr_resubmit_packet") action mark_egr_resubmit_packet() { + hdr.ethernet.dstAddr = 48w0; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.resubmit_count << 40; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.recirculate_count << 32; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.clone_e2e_count << 24; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.f1 << 16; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.last_ing_instance_type << 8; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + } + @name(".mark_max_clone_e2e_packet") action mark_max_clone_e2e_packet() { + hdr.ethernet.dstAddr = 48w0; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.resubmit_count << 40; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.recirculate_count << 32; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.clone_e2e_count << 24; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.f1 << 16; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.last_ing_instance_type << 8; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + hdr.ethernet.etherType = 16w0xce2e; + } + @name(".mark_max_recirculate_packet") action mark_max_recirculate_packet() { + hdr.ethernet.dstAddr = 48w0; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.resubmit_count << 40; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.recirculate_count << 32; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.clone_e2e_count << 24; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.f1 << 16; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.last_ing_instance_type << 8; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + hdr.ethernet.etherType = 16w0xec14; + } + @name(".mark_vanilla_packet") action mark_vanilla_packet() { + hdr.ethernet.dstAddr = 48w0; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.resubmit_count << 40; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.recirculate_count << 32; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.clone_e2e_count << 24; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.f1 << 16; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.last_ing_instance_type << 8; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + hdr.ethernet.etherType = 16w0xf00f; + } + @name(".t_do_clone_e2e") table t_do_clone_e2e_0 { + actions = { + do_clone_e2e(); + } + key = { + } + default_action = do_clone_e2e(); + } + @name(".t_do_recirculate") table t_do_recirculate_0 { + actions = { + do_recirculate(); + } + key = { + } + default_action = do_recirculate(); + } + @name(".t_egr_debug_table1") table t_egr_debug_table1_0 { + actions = { + _nop(); + } + key = { + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + } + default_action = _nop(); + } + @name(".t_egr_debug_table2") table t_egr_debug_table2_0 { + actions = { + _nop_2(); + } + key = { + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + } + default_action = _nop_2(); + } + @name(".t_egr_mark_resubmit_packet") table t_egr_mark_resubmit_packet_0 { + actions = { + mark_egr_resubmit_packet(); + } + key = { + } + default_action = mark_egr_resubmit_packet(); + } + @name(".t_mark_max_clone_e2e_packet") table t_mark_max_clone_e2e_packet_0 { + actions = { + mark_max_clone_e2e_packet(); + } + key = { + } + default_action = mark_max_clone_e2e_packet(); + } + @name(".t_mark_max_recirculate_packet") table t_mark_max_recirculate_packet_0 { + actions = { + mark_max_recirculate_packet(); + } + key = { + } + default_action = mark_max_recirculate_packet(); + } + @name(".t_mark_vanilla_packet") table t_mark_vanilla_packet_0 { + actions = { + mark_vanilla_packet(); + } + key = { + } + default_action = mark_vanilla_packet(); + } + apply { + t_egr_debug_table1_0.apply(); + if (hdr.ethernet.dstAddr == 48w0x1) + t_egr_mark_resubmit_packet_0.apply(); + else + if (hdr.ethernet.dstAddr == 48w0x2) + if (meta.mymeta.recirculate_count < 8w5) + t_do_recirculate_0.apply(); + else + t_mark_max_recirculate_packet_0.apply(); + else + if (hdr.ethernet.dstAddr == 48w0x3) + if (meta.mymeta.clone_e2e_count < 8w4) + t_do_clone_e2e_0.apply(); + else + t_mark_max_clone_e2e_packet_0.apply(); + else + t_mark_vanilla_packet_0.apply(); + t_egr_debug_table2_0.apply(); + } +} + +control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { + @name(".do_resubmit") action do_resubmit() { + hdr.ethernet.srcAddr = hdr.ethernet.srcAddr + 48w281474976710639; + meta.mymeta.f1 = meta.mymeta.f1 + 8w17; + meta.mymeta.resubmit_count = meta.mymeta.resubmit_count + 8w1; + resubmit, bit<8>>>({ meta.mymeta.resubmit_count, meta.mymeta.f1 }); + } + @name("._nop") action _nop_5() { + } + @name("._nop") action _nop_6() { + } + @name(".set_port_to_mac_da_lsbs") action set_port_to_mac_da_lsbs() { + standard_metadata.egress_spec = (bit<9>)hdr.ethernet.dstAddr & 9w0xf; + } + @name(".mark_max_resubmit_packet") action mark_max_resubmit_packet() { + hdr.ethernet.etherType = 16w0xe50b; + } + @name(".save_ing_instance_type") action save_ing_instance_type() { + meta.mymeta.last_ing_instance_type = (bit<8>)standard_metadata.instance_type; + } + @name(".t_do_resubmit") table t_do_resubmit_0 { + actions = { + do_resubmit(); + } + key = { + } + default_action = do_resubmit(); + } + @name(".t_ing_debug_table1") table t_ing_debug_table1_0 { + actions = { + _nop_5(); + } + key = { + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + } + default_action = _nop_5(); + } + @name(".t_ing_debug_table2") table t_ing_debug_table2_0 { + actions = { + _nop_6(); + } + key = { + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta.mymeta.resubmit_count : exact @name("mymeta.resubmit_count") ; + meta.mymeta.recirculate_count : exact @name("mymeta.recirculate_count") ; + meta.mymeta.clone_e2e_count : exact @name("mymeta.clone_e2e_count") ; + meta.mymeta.f1 : exact @name("mymeta.f1") ; + meta.mymeta.last_ing_instance_type : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + } + default_action = _nop_6(); + } + @name(".t_ing_mac_da") table t_ing_mac_da_0 { + actions = { + set_port_to_mac_da_lsbs(); + } + key = { + } + default_action = set_port_to_mac_da_lsbs(); + } + @name(".t_mark_max_resubmit_packet") table t_mark_max_resubmit_packet_0 { + actions = { + mark_max_resubmit_packet(); + } + key = { + } + default_action = mark_max_resubmit_packet(); + } + @name(".t_save_ing_instance_type") table t_save_ing_instance_type_0 { + actions = { + save_ing_instance_type(); + } + key = { + } + default_action = save_ing_instance_type(); + } + apply { + t_ing_debug_table1_0.apply(); + if (hdr.ethernet.dstAddr == 48w0x1) + if (meta.mymeta.resubmit_count < 8w3) + t_do_resubmit_0.apply(); + else + t_mark_max_resubmit_packet_0.apply(); + else + t_ing_mac_da_0.apply(); + t_save_ing_instance_type_0.apply(); + t_ing_debug_table2_0.apply(); + } +} + +control DeparserImpl(packet_out packet, in headers hdr) { + apply { + packet.emit(hdr.ethernet); + } +} + +control verifyChecksum(inout headers hdr, inout metadata meta) { + apply { + } +} + +control computeChecksum(inout headers hdr, inout metadata meta) { + apply { + } +} + +V1Switch(ParserImpl(), verifyChecksum(), ingress(), egress(), computeChecksum(), DeparserImpl()) main; + diff --git a/testdata/p4_14_samples_outputs/p414-special-ops-midend.p4 b/testdata/p4_14_samples_outputs/p414-special-ops-midend.p4 new file mode 100644 index 00000000000..d0d55727b8c --- /dev/null +++ b/testdata/p4_14_samples_outputs/p414-special-ops-midend.p4 @@ -0,0 +1,398 @@ +#include +#include + +struct intrinsic_metadata_t { + bit<48> ingress_global_timestamp; + bit<48> egress_global_timestamp; + bit<8> lf_field_list; + bit<16> mcast_grp; + bit<16> egress_rid; + bit<8> resubmit_flag; + bit<8> recirculate_flag; +} + +struct mymeta_t { + bit<8> resubmit_count; + bit<8> recirculate_count; + bit<8> clone_e2e_count; + bit<8> last_ing_instance_type; + bit<8> f1; +} + +struct temporaries_t { + bit<48> temp1; +} + +header ethernet_t { + bit<48> dstAddr; + bit<48> srcAddr; + bit<16> etherType; +} + +struct metadata { + bit<8> _mymeta_resubmit_count0; + bit<8> _mymeta_recirculate_count1; + bit<8> _mymeta_clone_e2e_count2; + bit<8> _mymeta_last_ing_instance_type3; + bit<8> _mymeta_f14; + bit<48> _temporaries_temp15; +} + +struct headers { + @name(".ethernet") + ethernet_t ethernet; +} + +parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { + @name(".parse_ethernet") state parse_ethernet { + packet.extract(hdr.ethernet); + transition accept; + } + @name(".start") state start { + transition parse_ethernet; + } +} + +struct tuple_0 { + bit<8> field; + bit<8> field_0; +} + +control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { + @name(".do_clone_e2e") action do_clone_e2e() { + hdr.ethernet.srcAddr = hdr.ethernet.srcAddr + 48w281474976710633; + meta._mymeta_f14 = meta._mymeta_f14 + 8w23; + meta._mymeta_clone_e2e_count2 = meta._mymeta_clone_e2e_count2 + 8w1; + clone3(CloneType.E2E, 32w1, { meta._mymeta_clone_e2e_count2, meta._mymeta_f14 }); + } + @name(".do_recirculate") action do_recirculate() { + hdr.ethernet.srcAddr = hdr.ethernet.srcAddr + 48w281474976710637; + meta._mymeta_f14 = meta._mymeta_f14 + 8w19; + meta._mymeta_recirculate_count1 = meta._mymeta_recirculate_count1 + 8w1; + recirculate({ meta._mymeta_recirculate_count1, meta._mymeta_f14 }); + } + @name("._nop") action _nop() { + } + @name("._nop") action _nop_2() { + } + @name(".mark_egr_resubmit_packet") action mark_egr_resubmit_packet() { + hdr.ethernet.dstAddr = 48w0; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_resubmit_count0 << 40; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_recirculate_count1 << 32; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_f14 << 16; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16 | (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; + } + @name(".mark_max_clone_e2e_packet") action mark_max_clone_e2e_packet() { + hdr.ethernet.dstAddr = 48w0; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_resubmit_count0 << 40; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_recirculate_count1 << 32; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_f14 << 16; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16 | (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; + hdr.ethernet.etherType = 16w0xce2e; + } + @name(".mark_max_recirculate_packet") action mark_max_recirculate_packet() { + hdr.ethernet.dstAddr = 48w0; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_resubmit_count0 << 40; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_recirculate_count1 << 32; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_f14 << 16; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16 | (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; + hdr.ethernet.etherType = 16w0xec14; + } + @name(".mark_vanilla_packet") action mark_vanilla_packet() { + hdr.ethernet.dstAddr = 48w0; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_resubmit_count0 << 40; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_recirculate_count1 << 32; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_f14 << 16; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16; + meta._temporaries_temp15 = (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; + hdr.ethernet.dstAddr = 48w0 | (bit<48>)meta._mymeta_resubmit_count0 << 40 | (bit<48>)meta._mymeta_recirculate_count1 << 32 | (bit<48>)meta._mymeta_clone_e2e_count2 << 24 | (bit<48>)meta._mymeta_f14 << 16 | (bit<48>)meta._mymeta_last_ing_instance_type3 << 8; + hdr.ethernet.etherType = 16w0xf00f; + } + @name(".t_do_clone_e2e") table t_do_clone_e2e_0 { + actions = { + do_clone_e2e(); + } + key = { + } + default_action = do_clone_e2e(); + } + @name(".t_do_recirculate") table t_do_recirculate_0 { + actions = { + do_recirculate(); + } + key = { + } + default_action = do_recirculate(); + } + @name(".t_egr_debug_table1") table t_egr_debug_table1_0 { + actions = { + _nop(); + } + key = { + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta._mymeta_resubmit_count0 : exact @name("mymeta.resubmit_count") ; + meta._mymeta_recirculate_count1 : exact @name("mymeta.recirculate_count") ; + meta._mymeta_clone_e2e_count2 : exact @name("mymeta.clone_e2e_count") ; + meta._mymeta_f14 : exact @name("mymeta.f1") ; + meta._mymeta_last_ing_instance_type3 : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + } + default_action = _nop(); + } + @name(".t_egr_debug_table2") table t_egr_debug_table2_0 { + actions = { + _nop_2(); + } + key = { + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta._mymeta_resubmit_count0 : exact @name("mymeta.resubmit_count") ; + meta._mymeta_recirculate_count1 : exact @name("mymeta.recirculate_count") ; + meta._mymeta_clone_e2e_count2 : exact @name("mymeta.clone_e2e_count") ; + meta._mymeta_f14 : exact @name("mymeta.f1") ; + meta._mymeta_last_ing_instance_type3 : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + } + default_action = _nop_2(); + } + @name(".t_egr_mark_resubmit_packet") table t_egr_mark_resubmit_packet_0 { + actions = { + mark_egr_resubmit_packet(); + } + key = { + } + default_action = mark_egr_resubmit_packet(); + } + @name(".t_mark_max_clone_e2e_packet") table t_mark_max_clone_e2e_packet_0 { + actions = { + mark_max_clone_e2e_packet(); + } + key = { + } + default_action = mark_max_clone_e2e_packet(); + } + @name(".t_mark_max_recirculate_packet") table t_mark_max_recirculate_packet_0 { + actions = { + mark_max_recirculate_packet(); + } + key = { + } + default_action = mark_max_recirculate_packet(); + } + @name(".t_mark_vanilla_packet") table t_mark_vanilla_packet_0 { + actions = { + mark_vanilla_packet(); + } + key = { + } + default_action = mark_vanilla_packet(); + } + apply { + t_egr_debug_table1_0.apply(); + if (hdr.ethernet.dstAddr == 48w0x1) + t_egr_mark_resubmit_packet_0.apply(); + else + if (hdr.ethernet.dstAddr == 48w0x2) + if (meta._mymeta_recirculate_count1 < 8w5) + t_do_recirculate_0.apply(); + else + t_mark_max_recirculate_packet_0.apply(); + else + if (hdr.ethernet.dstAddr == 48w0x3) + if (meta._mymeta_clone_e2e_count2 < 8w4) + t_do_clone_e2e_0.apply(); + else + t_mark_max_clone_e2e_packet_0.apply(); + else + t_mark_vanilla_packet_0.apply(); + t_egr_debug_table2_0.apply(); + } +} + +control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { + @name(".do_resubmit") action do_resubmit() { + hdr.ethernet.srcAddr = hdr.ethernet.srcAddr + 48w281474976710639; + meta._mymeta_f14 = meta._mymeta_f14 + 8w17; + meta._mymeta_resubmit_count0 = meta._mymeta_resubmit_count0 + 8w1; + resubmit({ meta._mymeta_resubmit_count0, meta._mymeta_f14 }); + } + @name("._nop") action _nop_5() { + } + @name("._nop") action _nop_6() { + } + @name(".set_port_to_mac_da_lsbs") action set_port_to_mac_da_lsbs() { + standard_metadata.egress_spec = (bit<9>)hdr.ethernet.dstAddr & 9w0xf; + } + @name(".mark_max_resubmit_packet") action mark_max_resubmit_packet() { + hdr.ethernet.etherType = 16w0xe50b; + } + @name(".save_ing_instance_type") action save_ing_instance_type() { + meta._mymeta_last_ing_instance_type3 = (bit<8>)standard_metadata.instance_type; + } + @name(".t_do_resubmit") table t_do_resubmit_0 { + actions = { + do_resubmit(); + } + key = { + } + default_action = do_resubmit(); + } + @name(".t_ing_debug_table1") table t_ing_debug_table1_0 { + actions = { + _nop_5(); + } + key = { + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta._mymeta_resubmit_count0 : exact @name("mymeta.resubmit_count") ; + meta._mymeta_recirculate_count1 : exact @name("mymeta.recirculate_count") ; + meta._mymeta_clone_e2e_count2 : exact @name("mymeta.clone_e2e_count") ; + meta._mymeta_f14 : exact @name("mymeta.f1") ; + meta._mymeta_last_ing_instance_type3 : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + } + default_action = _nop_5(); + } + @name(".t_ing_debug_table2") table t_ing_debug_table2_0 { + actions = { + _nop_6(); + } + key = { + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + standard_metadata.packet_length : exact @name("standard_metadata.packet_length") ; + standard_metadata.egress_spec : exact @name("standard_metadata.egress_spec") ; + standard_metadata.egress_port : exact @name("standard_metadata.egress_port") ; + standard_metadata.instance_type : exact @name("standard_metadata.instance_type") ; + standard_metadata.ingress_global_timestamp: exact @name("standard_metadata.ingress_global_timestamp") ; + standard_metadata.egress_global_timestamp : exact @name("standard_metadata.egress_global_timestamp") ; + standard_metadata.lf_field_list : exact @name("standard_metadata.lf_field_list") ; + standard_metadata.mcast_grp : exact @name("standard_metadata.mcast_grp") ; + standard_metadata.egress_rid : exact @name("standard_metadata.egress_rid") ; + standard_metadata.resubmit_flag : exact @name("standard_metadata.resubmit_flag") ; + standard_metadata.recirculate_flag : exact @name("standard_metadata.recirculate_flag") ; + meta._mymeta_resubmit_count0 : exact @name("mymeta.resubmit_count") ; + meta._mymeta_recirculate_count1 : exact @name("mymeta.recirculate_count") ; + meta._mymeta_clone_e2e_count2 : exact @name("mymeta.clone_e2e_count") ; + meta._mymeta_f14 : exact @name("mymeta.f1") ; + meta._mymeta_last_ing_instance_type3 : exact @name("mymeta.last_ing_instance_type") ; + hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; + hdr.ethernet.srcAddr : exact @name("ethernet.srcAddr") ; + hdr.ethernet.etherType : exact @name("ethernet.etherType") ; + } + default_action = _nop_6(); + } + @name(".t_ing_mac_da") table t_ing_mac_da_0 { + actions = { + set_port_to_mac_da_lsbs(); + } + key = { + } + default_action = set_port_to_mac_da_lsbs(); + } + @name(".t_mark_max_resubmit_packet") table t_mark_max_resubmit_packet_0 { + actions = { + mark_max_resubmit_packet(); + } + key = { + } + default_action = mark_max_resubmit_packet(); + } + @name(".t_save_ing_instance_type") table t_save_ing_instance_type_0 { + actions = { + save_ing_instance_type(); + } + key = { + } + default_action = save_ing_instance_type(); + } + apply { + t_ing_debug_table1_0.apply(); + if (hdr.ethernet.dstAddr == 48w0x1) + if (meta._mymeta_resubmit_count0 < 8w3) + t_do_resubmit_0.apply(); + else + t_mark_max_resubmit_packet_0.apply(); + else + t_ing_mac_da_0.apply(); + t_save_ing_instance_type_0.apply(); + t_ing_debug_table2_0.apply(); + } +} + +control DeparserImpl(packet_out packet, in headers hdr) { + apply { + packet.emit(hdr.ethernet); + } +} + +control verifyChecksum(inout headers hdr, inout metadata meta) { + apply { + } +} + +control computeChecksum(inout headers hdr, inout metadata meta) { + apply { + } +} + +V1Switch(ParserImpl(), verifyChecksum(), ingress(), egress(), computeChecksum(), DeparserImpl()) main; + diff --git a/testdata/p4_14_samples_outputs/p414-special-ops.p4 b/testdata/p4_14_samples_outputs/p414-special-ops.p4 new file mode 100644 index 00000000000..c01878371a0 --- /dev/null +++ b/testdata/p4_14_samples_outputs/p414-special-ops.p4 @@ -0,0 +1,374 @@ +#include +#include + +struct intrinsic_metadata_t { + bit<48> ingress_global_timestamp; + bit<48> egress_global_timestamp; + bit<8> lf_field_list; + bit<16> mcast_grp; + bit<16> egress_rid; + bit<8> resubmit_flag; + bit<8> recirculate_flag; +} + +struct mymeta_t { + bit<8> resubmit_count; + bit<8> recirculate_count; + bit<8> clone_e2e_count; + bit<8> last_ing_instance_type; + bit<8> f1; +} + +struct temporaries_t { + bit<48> temp1; +} + +header ethernet_t { + bit<48> dstAddr; + bit<48> srcAddr; + bit<16> etherType; +} + +struct metadata { + @name(".mymeta") + mymeta_t mymeta; + @name(".temporaries") + temporaries_t temporaries; +} + +struct headers { + @name(".ethernet") + ethernet_t ethernet; +} + +parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { + @name(".parse_ethernet") state parse_ethernet { + packet.extract(hdr.ethernet); + transition accept; + } + @name(".start") state start { + transition parse_ethernet; + } +} + +control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { + @name(".do_clone_e2e") action do_clone_e2e() { + hdr.ethernet.srcAddr = hdr.ethernet.srcAddr - 48w23; + meta.mymeta.f1 = meta.mymeta.f1 + 8w23; + meta.mymeta.clone_e2e_count = meta.mymeta.clone_e2e_count + 8w1; + clone3(CloneType.E2E, (bit<32>)32w1, { meta.mymeta.clone_e2e_count, meta.mymeta.f1 }); + } + @name(".do_recirculate") action do_recirculate() { + hdr.ethernet.srcAddr = hdr.ethernet.srcAddr - 48w19; + meta.mymeta.f1 = meta.mymeta.f1 + 8w19; + meta.mymeta.recirculate_count = meta.mymeta.recirculate_count + 8w1; + recirculate({ meta.mymeta.recirculate_count, meta.mymeta.f1 }); + } + @name("._nop") action _nop() { + } + @name(".put_debug_vals_in_eth_dstaddr") action put_debug_vals_in_eth_dstaddr() { + hdr.ethernet.dstAddr = 48w0; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.resubmit_count << 40; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.recirculate_count << 32; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.clone_e2e_count << 24; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.f1 << 16; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + meta.temporaries.temp1 = (bit<48>)meta.mymeta.last_ing_instance_type << 8; + hdr.ethernet.dstAddr = hdr.ethernet.dstAddr | meta.temporaries.temp1; + } + @name(".mark_egr_resubmit_packet") action mark_egr_resubmit_packet() { + put_debug_vals_in_eth_dstaddr(); + } + @name(".mark_max_clone_e2e_packet") action mark_max_clone_e2e_packet() { + put_debug_vals_in_eth_dstaddr(); + hdr.ethernet.etherType = 16w0xce2e; + } + @name(".mark_max_recirculate_packet") action mark_max_recirculate_packet() { + put_debug_vals_in_eth_dstaddr(); + hdr.ethernet.etherType = 16w0xec14; + } + @name(".mark_vanilla_packet") action mark_vanilla_packet() { + put_debug_vals_in_eth_dstaddr(); + hdr.ethernet.etherType = 16w0xf00f; + } + @name(".t_do_clone_e2e") table t_do_clone_e2e { + actions = { + do_clone_e2e; + } + key = { + } + default_action = do_clone_e2e(); + } + @name(".t_do_recirculate") table t_do_recirculate { + actions = { + do_recirculate; + } + key = { + } + default_action = do_recirculate(); + } + @name(".t_egr_debug_table1") table t_egr_debug_table1 { + actions = { + _nop; + } + key = { + standard_metadata.ingress_port : exact; + standard_metadata.packet_length : exact; + standard_metadata.egress_spec : exact; + standard_metadata.egress_port : exact; + standard_metadata.instance_type : exact; + standard_metadata.ingress_global_timestamp: exact; + standard_metadata.egress_global_timestamp : exact; + standard_metadata.lf_field_list : exact; + standard_metadata.mcast_grp : exact; + standard_metadata.egress_rid : exact; + standard_metadata.resubmit_flag : exact; + standard_metadata.recirculate_flag : exact; + meta.mymeta.resubmit_count : exact; + meta.mymeta.recirculate_count : exact; + meta.mymeta.clone_e2e_count : exact; + meta.mymeta.f1 : exact; + meta.mymeta.last_ing_instance_type : exact; + hdr.ethernet.dstAddr : exact; + hdr.ethernet.srcAddr : exact; + hdr.ethernet.etherType : exact; + } + default_action = _nop(); + } + @name(".t_egr_debug_table2") table t_egr_debug_table2 { + actions = { + _nop; + } + key = { + standard_metadata.ingress_port : exact; + standard_metadata.packet_length : exact; + standard_metadata.egress_spec : exact; + standard_metadata.egress_port : exact; + standard_metadata.instance_type : exact; + standard_metadata.ingress_global_timestamp: exact; + standard_metadata.egress_global_timestamp : exact; + standard_metadata.lf_field_list : exact; + standard_metadata.mcast_grp : exact; + standard_metadata.egress_rid : exact; + standard_metadata.resubmit_flag : exact; + standard_metadata.recirculate_flag : exact; + meta.mymeta.resubmit_count : exact; + meta.mymeta.recirculate_count : exact; + meta.mymeta.clone_e2e_count : exact; + meta.mymeta.f1 : exact; + meta.mymeta.last_ing_instance_type : exact; + hdr.ethernet.dstAddr : exact; + hdr.ethernet.srcAddr : exact; + hdr.ethernet.etherType : exact; + } + default_action = _nop(); + } + @name(".t_egr_mark_resubmit_packet") table t_egr_mark_resubmit_packet { + actions = { + mark_egr_resubmit_packet; + } + key = { + } + default_action = mark_egr_resubmit_packet(); + } + @name(".t_mark_max_clone_e2e_packet") table t_mark_max_clone_e2e_packet { + actions = { + mark_max_clone_e2e_packet; + } + key = { + } + default_action = mark_max_clone_e2e_packet(); + } + @name(".t_mark_max_recirculate_packet") table t_mark_max_recirculate_packet { + actions = { + mark_max_recirculate_packet; + } + key = { + } + default_action = mark_max_recirculate_packet(); + } + @name(".t_mark_vanilla_packet") table t_mark_vanilla_packet { + actions = { + mark_vanilla_packet; + } + key = { + } + default_action = mark_vanilla_packet(); + } + apply { + t_egr_debug_table1.apply(); + if (hdr.ethernet.dstAddr == 48w0x1) { + t_egr_mark_resubmit_packet.apply(); + } + else { + if (hdr.ethernet.dstAddr == 48w0x2) { + if (meta.mymeta.recirculate_count < 8w5) { + t_do_recirculate.apply(); + } + else { + t_mark_max_recirculate_packet.apply(); + } + } + else { + if (hdr.ethernet.dstAddr == 48w0x3) { + if (meta.mymeta.clone_e2e_count < 8w4) { + t_do_clone_e2e.apply(); + } + else { + t_mark_max_clone_e2e_packet.apply(); + } + } + else { + t_mark_vanilla_packet.apply(); + } + } + } + t_egr_debug_table2.apply(); + } +} + +control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { + @name(".do_resubmit") action do_resubmit() { + hdr.ethernet.srcAddr = hdr.ethernet.srcAddr - 48w17; + meta.mymeta.f1 = meta.mymeta.f1 + 8w17; + meta.mymeta.resubmit_count = meta.mymeta.resubmit_count + 8w1; + resubmit({ meta.mymeta.resubmit_count, meta.mymeta.f1 }); + } + @name("._nop") action _nop() { + } + @name(".set_port_to_mac_da_lsbs") action set_port_to_mac_da_lsbs() { + standard_metadata.egress_spec = (bit<9>)hdr.ethernet.dstAddr & 9w0xf; + } + @name(".mark_max_resubmit_packet") action mark_max_resubmit_packet() { + hdr.ethernet.etherType = 16w0xe50b; + } + @name(".save_ing_instance_type") action save_ing_instance_type() { + meta.mymeta.last_ing_instance_type = (bit<8>)standard_metadata.instance_type; + } + @name(".t_do_resubmit") table t_do_resubmit { + actions = { + do_resubmit; + } + key = { + } + default_action = do_resubmit(); + } + @name(".t_ing_debug_table1") table t_ing_debug_table1 { + actions = { + _nop; + } + key = { + standard_metadata.ingress_port : exact; + standard_metadata.packet_length : exact; + standard_metadata.egress_spec : exact; + standard_metadata.egress_port : exact; + standard_metadata.instance_type : exact; + standard_metadata.ingress_global_timestamp: exact; + standard_metadata.egress_global_timestamp : exact; + standard_metadata.lf_field_list : exact; + standard_metadata.mcast_grp : exact; + standard_metadata.egress_rid : exact; + standard_metadata.resubmit_flag : exact; + standard_metadata.recirculate_flag : exact; + meta.mymeta.resubmit_count : exact; + meta.mymeta.recirculate_count : exact; + meta.mymeta.clone_e2e_count : exact; + meta.mymeta.f1 : exact; + meta.mymeta.last_ing_instance_type : exact; + hdr.ethernet.dstAddr : exact; + hdr.ethernet.srcAddr : exact; + hdr.ethernet.etherType : exact; + } + default_action = _nop(); + } + @name(".t_ing_debug_table2") table t_ing_debug_table2 { + actions = { + _nop; + } + key = { + standard_metadata.ingress_port : exact; + standard_metadata.packet_length : exact; + standard_metadata.egress_spec : exact; + standard_metadata.egress_port : exact; + standard_metadata.instance_type : exact; + standard_metadata.ingress_global_timestamp: exact; + standard_metadata.egress_global_timestamp : exact; + standard_metadata.lf_field_list : exact; + standard_metadata.mcast_grp : exact; + standard_metadata.egress_rid : exact; + standard_metadata.resubmit_flag : exact; + standard_metadata.recirculate_flag : exact; + meta.mymeta.resubmit_count : exact; + meta.mymeta.recirculate_count : exact; + meta.mymeta.clone_e2e_count : exact; + meta.mymeta.f1 : exact; + meta.mymeta.last_ing_instance_type : exact; + hdr.ethernet.dstAddr : exact; + hdr.ethernet.srcAddr : exact; + hdr.ethernet.etherType : exact; + } + default_action = _nop(); + } + @name(".t_ing_mac_da") table t_ing_mac_da { + actions = { + set_port_to_mac_da_lsbs; + } + key = { + } + default_action = set_port_to_mac_da_lsbs(); + } + @name(".t_mark_max_resubmit_packet") table t_mark_max_resubmit_packet { + actions = { + mark_max_resubmit_packet; + } + key = { + } + default_action = mark_max_resubmit_packet(); + } + @name(".t_save_ing_instance_type") table t_save_ing_instance_type { + actions = { + save_ing_instance_type; + } + key = { + } + default_action = save_ing_instance_type(); + } + apply { + t_ing_debug_table1.apply(); + if (hdr.ethernet.dstAddr == 48w0x1) { + if (meta.mymeta.resubmit_count < 8w3) { + t_do_resubmit.apply(); + } + else { + t_mark_max_resubmit_packet.apply(); + } + } + else { + t_ing_mac_da.apply(); + } + t_save_ing_instance_type.apply(); + t_ing_debug_table2.apply(); + } +} + +control DeparserImpl(packet_out packet, in headers hdr) { + apply { + packet.emit(hdr.ethernet); + } +} + +control verifyChecksum(inout headers hdr, inout metadata meta) { + apply { + } +} + +control computeChecksum(inout headers hdr, inout metadata meta) { + apply { + } +} + +V1Switch(ParserImpl(), verifyChecksum(), ingress(), egress(), computeChecksum(), DeparserImpl()) main; + diff --git a/testdata/p4_14_samples_outputs/wide_action2.p4-stderr b/testdata/p4_14_samples_outputs/p414-special-ops.p4-stderr similarity index 100% rename from testdata/p4_14_samples_outputs/wide_action2.p4-stderr rename to testdata/p4_14_samples_outputs/p414-special-ops.p4-stderr diff --git a/testdata/p4_14_samples_outputs/packet_redirect-first.p4 b/testdata/p4_14_samples_outputs/packet_redirect-first.p4 index 6b0b58f6015..6636a367850 100644 --- a/testdata/p4_14_samples_outputs/packet_redirect-first.p4 +++ b/testdata/p4_14_samples_outputs/packet_redirect-first.p4 @@ -2,7 +2,7 @@ #include struct intrinsic_metadata_t { - bit<4> mcast_grp; + bit<16> mcast_grp; bit<4> egress_rid; bit<32> lf_field_list; bit<64> ingress_global_timestamp; @@ -26,12 +26,10 @@ header hdrA_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".metaA") - metaA_t metaA; + metaA_t metaA; @name(".metaB") - metaB_t metaB; + metaB_t metaB; } struct headers { @@ -81,8 +79,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ standard_metadata.egress_spec = port; meta.metaA.f1 = 8w1; } - @name("._multicast") action _multicast(bit<4> mgrp) { - meta.intrinsic_metadata.mcast_grp = mgrp; + @name("._multicast") action _multicast(bit<16> mgrp) { + standard_metadata.mcast_grp = mgrp; } @name("._resubmit") action _resubmit() { resubmit>({ standard_metadata, meta.metaA }); diff --git a/testdata/p4_14_samples_outputs/packet_redirect-frontend.p4 b/testdata/p4_14_samples_outputs/packet_redirect-frontend.p4 index fc7ca2abe8e..9b8c26a88b3 100644 --- a/testdata/p4_14_samples_outputs/packet_redirect-frontend.p4 +++ b/testdata/p4_14_samples_outputs/packet_redirect-frontend.p4 @@ -2,7 +2,7 @@ #include struct intrinsic_metadata_t { - bit<4> mcast_grp; + bit<16> mcast_grp; bit<4> egress_rid; bit<32> lf_field_list; bit<64> ingress_global_timestamp; @@ -26,12 +26,10 @@ header hdrA_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".metaA") - metaA_t metaA; + metaA_t metaA; @name(".metaB") - metaB_t metaB; + metaB_t metaB; } struct headers { @@ -89,8 +87,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ standard_metadata.egress_spec = port; meta.metaA.f1 = 8w1; } - @name("._multicast") action _multicast(bit<4> mgrp) { - meta.intrinsic_metadata.mcast_grp = mgrp; + @name("._multicast") action _multicast(bit<16> mgrp) { + standard_metadata.mcast_grp = mgrp; } @name("._resubmit") action _resubmit() { resubmit>({ standard_metadata, meta.metaA }); diff --git a/testdata/p4_14_samples_outputs/packet_redirect-midend.p4 b/testdata/p4_14_samples_outputs/packet_redirect-midend.p4 index 11a0c542609..d688fc95e47 100644 --- a/testdata/p4_14_samples_outputs/packet_redirect-midend.p4 +++ b/testdata/p4_14_samples_outputs/packet_redirect-midend.p4 @@ -2,7 +2,7 @@ #include struct intrinsic_metadata_t { - bit<4> mcast_grp; + bit<16> mcast_grp; bit<4> egress_rid; bit<32> lf_field_list; bit<64> ingress_global_timestamp; @@ -26,16 +26,10 @@ header hdrA_t { } struct metadata { - bit<4> _intrinsic_metadata_mcast_grp0; - bit<4> _intrinsic_metadata_egress_rid1; - bit<32> _intrinsic_metadata_lf_field_list2; - bit<64> _intrinsic_metadata_ingress_global_timestamp3; - bit<16> _intrinsic_metadata_resubmit_flag4; - bit<16> _intrinsic_metadata_recirculate_flag5; - bit<8> _metaA_f16; - bit<8> _metaA_f27; - bit<8> _metaB_f18; - bit<8> _metaB_f29; + bit<8> _metaA_f10; + bit<8> _metaA_f21; + bit<8> _metaB_f12; + bit<8> _metaB_f23; } struct headers { @@ -61,10 +55,10 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @name("._nop") action _nop() { } @name("._recirculate") action _recirculate() { - recirculate({ standard_metadata, {meta._metaA_f16,meta._metaA_f27} }); + recirculate({ standard_metadata, {meta._metaA_f10,meta._metaA_f21} }); } @name("._clone_e2e") action _clone_e2e(bit<32> mirror_id) { - clone3(CloneType.E2E, mirror_id, { standard_metadata, {meta._metaA_f16,meta._metaA_f27} }); + clone3(CloneType.E2E, mirror_id, { standard_metadata, {meta._metaA_f10,meta._metaA_f21} }); } @name(".t_egress") table t_egress_0 { actions = { @@ -96,16 +90,16 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } @name("._set_port") action _set_port(bit<9> port) { standard_metadata.egress_spec = port; - meta._metaA_f16 = 8w1; + meta._metaA_f10 = 8w1; } - @name("._multicast") action _multicast(bit<4> mgrp) { - meta._intrinsic_metadata_mcast_grp0 = mgrp; + @name("._multicast") action _multicast(bit<16> mgrp) { + standard_metadata.mcast_grp = mgrp; } @name("._resubmit") action _resubmit() { - resubmit({ standard_metadata, {meta._metaA_f16,meta._metaA_f27} }); + resubmit({ standard_metadata, {meta._metaA_f10,meta._metaA_f21} }); } @name("._clone_i2e") action _clone_i2e(bit<32> mirror_id) { - clone3(CloneType.I2E, mirror_id, { standard_metadata, {meta._metaA_f16,meta._metaA_f27} }); + clone3(CloneType.I2E, mirror_id, { standard_metadata, {meta._metaA_f10,meta._metaA_f21} }); } @name(".t_ingress_1") table t_ingress { actions = { @@ -116,7 +110,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } key = { hdr.hdrA.f1 : exact @name("hdrA.f1") ; - meta._metaA_f16: exact @name("metaA.f1") ; + meta._metaA_f10: exact @name("metaA.f1") ; } size = 128; default_action = NoAction_1(); diff --git a/testdata/p4_14_samples_outputs/packet_redirect.p4 b/testdata/p4_14_samples_outputs/packet_redirect.p4 index 7b0c64d58c8..1f09eaf6ef3 100644 --- a/testdata/p4_14_samples_outputs/packet_redirect.p4 +++ b/testdata/p4_14_samples_outputs/packet_redirect.p4 @@ -2,7 +2,7 @@ #include struct intrinsic_metadata_t { - bit<4> mcast_grp; + bit<16> mcast_grp; bit<4> egress_rid; bit<32> lf_field_list; bit<64> ingress_global_timestamp; @@ -26,12 +26,10 @@ header hdrA_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".metaA") - metaA_t metaA; + metaA_t metaA; @name(".metaB") - metaB_t metaB; + metaB_t metaB; } struct headers { @@ -79,8 +77,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ standard_metadata.egress_spec = port; meta.metaA.f1 = 8w1; } - @name("._multicast") action _multicast(bit<4> mgrp) { - meta.intrinsic_metadata.mcast_grp = mgrp; + @name("._multicast") action _multicast(bit<16> mgrp) { + standard_metadata.mcast_grp = mgrp; } @name("._resubmit") action _resubmit() { resubmit({ standard_metadata, meta.metaA }); diff --git a/testdata/p4_14_samples_outputs/queueing-first.p4 b/testdata/p4_14_samples_outputs/queueing-first.p4 index e3b9fddb0fd..aeec5ee860c 100644 --- a/testdata/p4_14_samples_outputs/queueing-first.p4 +++ b/testdata/p4_14_samples_outputs/queueing-first.p4 @@ -1,11 +1,11 @@ #include #include -@name("queueing_metadata_t") struct queueing_metadata_t_0 { - bit<48> enq_timestamp; - bit<24> enq_qdepth; +struct queueing_metadata_t { + bit<32> enq_timestamp; + bit<19> enq_qdepth; bit<32> deq_timedelta; - bit<24> deq_qdepth; + bit<19> deq_qdepth; } header hdr1_t { @@ -13,28 +13,27 @@ header hdr1_t { bit<8> f2; } -header queueing_metadata_t { - bit<48> enq_timestamp; - bit<24> enq_qdepth; +header queueing_metadata_t_padded { + bit<32> enq_timestamp; + bit<19> enq_qdepth; bit<32> deq_timedelta; - bit<24> deq_qdepth; + bit<19> deq_qdepth; + bit<2> pad; } struct metadata { - @name(".queueing_metadata") - queueing_metadata_t_0 queueing_metadata; } struct headers { @name(".hdr1") - hdr1_t hdr1; + hdr1_t hdr1; @name(".queueing_hdr") - queueing_metadata_t queueing_hdr; + queueing_metadata_t_padded queueing_hdr; } parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { @name(".queueing_dummy") state queueing_dummy { - packet.extract(hdr.queueing_hdr); + packet.extract(hdr.queueing_hdr); transition accept; } @name(".start") state start { @@ -49,10 +48,11 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { @name(".copy_queueing_data") action copy_queueing_data() { hdr.queueing_hdr.setValid(); - hdr.queueing_hdr.enq_timestamp = meta.queueing_metadata.enq_timestamp; - hdr.queueing_hdr.enq_qdepth = meta.queueing_metadata.enq_qdepth; - hdr.queueing_hdr.deq_timedelta = meta.queueing_metadata.deq_timedelta; - hdr.queueing_hdr.deq_qdepth = meta.queueing_metadata.deq_qdepth; + hdr.queueing_hdr.enq_timestamp = standard_metadata.enq_timestamp; + hdr.queueing_hdr.enq_qdepth = standard_metadata.enq_qdepth; + hdr.queueing_hdr.deq_timedelta = standard_metadata.deq_timedelta; + hdr.queueing_hdr.deq_qdepth = standard_metadata.deq_qdepth; + hdr.queueing_hdr.pad = 2w0; } @name(".t_egress") table t_egress { actions = { @@ -93,7 +93,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ control DeparserImpl(packet_out packet, in headers hdr) { apply { packet.emit(hdr.hdr1); - packet.emit(hdr.queueing_hdr); + packet.emit(hdr.queueing_hdr); } } diff --git a/testdata/p4_14_samples_outputs/queueing-frontend.p4 b/testdata/p4_14_samples_outputs/queueing-frontend.p4 index c3467ae1559..2136ad17c24 100644 --- a/testdata/p4_14_samples_outputs/queueing-frontend.p4 +++ b/testdata/p4_14_samples_outputs/queueing-frontend.p4 @@ -1,11 +1,11 @@ #include #include -@name("queueing_metadata_t") struct queueing_metadata_t_0 { - bit<48> enq_timestamp; - bit<24> enq_qdepth; +struct queueing_metadata_t { + bit<32> enq_timestamp; + bit<19> enq_qdepth; bit<32> deq_timedelta; - bit<24> deq_qdepth; + bit<19> deq_qdepth; } header hdr1_t { @@ -13,28 +13,27 @@ header hdr1_t { bit<8> f2; } -header queueing_metadata_t { - bit<48> enq_timestamp; - bit<24> enq_qdepth; +header queueing_metadata_t_padded { + bit<32> enq_timestamp; + bit<19> enq_qdepth; bit<32> deq_timedelta; - bit<24> deq_qdepth; + bit<19> deq_qdepth; + bit<2> pad; } struct metadata { - @name(".queueing_metadata") - queueing_metadata_t_0 queueing_metadata; } struct headers { @name(".hdr1") - hdr1_t hdr1; + hdr1_t hdr1; @name(".queueing_hdr") - queueing_metadata_t queueing_hdr; + queueing_metadata_t_padded queueing_hdr; } parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { @name(".queueing_dummy") state queueing_dummy { - packet.extract(hdr.queueing_hdr); + packet.extract(hdr.queueing_hdr); transition accept; } @name(".start") state start { @@ -51,10 +50,11 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t } @name(".copy_queueing_data") action copy_queueing_data() { hdr.queueing_hdr.setValid(); - hdr.queueing_hdr.enq_timestamp = meta.queueing_metadata.enq_timestamp; - hdr.queueing_hdr.enq_qdepth = meta.queueing_metadata.enq_qdepth; - hdr.queueing_hdr.deq_timedelta = meta.queueing_metadata.deq_timedelta; - hdr.queueing_hdr.deq_qdepth = meta.queueing_metadata.deq_qdepth; + hdr.queueing_hdr.enq_timestamp = standard_metadata.enq_timestamp; + hdr.queueing_hdr.enq_qdepth = standard_metadata.enq_qdepth; + hdr.queueing_hdr.deq_timedelta = standard_metadata.deq_timedelta; + hdr.queueing_hdr.deq_qdepth = standard_metadata.deq_qdepth; + hdr.queueing_hdr.pad = 2w0; } @name(".t_egress") table t_egress_0 { actions = { @@ -97,7 +97,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ control DeparserImpl(packet_out packet, in headers hdr) { apply { packet.emit(hdr.hdr1); - packet.emit(hdr.queueing_hdr); + packet.emit(hdr.queueing_hdr); } } diff --git a/testdata/p4_14_samples_outputs/queueing-midend.p4 b/testdata/p4_14_samples_outputs/queueing-midend.p4 index 48f3e96b220..2136ad17c24 100644 --- a/testdata/p4_14_samples_outputs/queueing-midend.p4 +++ b/testdata/p4_14_samples_outputs/queueing-midend.p4 @@ -1,11 +1,11 @@ #include #include -@name("queueing_metadata_t") struct queueing_metadata_t_0 { - bit<48> enq_timestamp; - bit<24> enq_qdepth; +struct queueing_metadata_t { + bit<32> enq_timestamp; + bit<19> enq_qdepth; bit<32> deq_timedelta; - bit<24> deq_qdepth; + bit<19> deq_qdepth; } header hdr1_t { @@ -13,30 +13,27 @@ header hdr1_t { bit<8> f2; } -header queueing_metadata_t { - bit<48> enq_timestamp; - bit<24> enq_qdepth; +header queueing_metadata_t_padded { + bit<32> enq_timestamp; + bit<19> enq_qdepth; bit<32> deq_timedelta; - bit<24> deq_qdepth; + bit<19> deq_qdepth; + bit<2> pad; } struct metadata { - bit<48> _queueing_metadata_enq_timestamp0; - bit<24> _queueing_metadata_enq_qdepth1; - bit<32> _queueing_metadata_deq_timedelta2; - bit<24> _queueing_metadata_deq_qdepth3; } struct headers { @name(".hdr1") - hdr1_t hdr1; + hdr1_t hdr1; @name(".queueing_hdr") - queueing_metadata_t queueing_hdr; + queueing_metadata_t_padded queueing_hdr; } parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { @name(".queueing_dummy") state queueing_dummy { - packet.extract(hdr.queueing_hdr); + packet.extract(hdr.queueing_hdr); transition accept; } @name(".start") state start { @@ -53,10 +50,11 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t } @name(".copy_queueing_data") action copy_queueing_data() { hdr.queueing_hdr.setValid(); - hdr.queueing_hdr.enq_timestamp = meta._queueing_metadata_enq_timestamp0; - hdr.queueing_hdr.enq_qdepth = meta._queueing_metadata_enq_qdepth1; - hdr.queueing_hdr.deq_timedelta = meta._queueing_metadata_deq_timedelta2; - hdr.queueing_hdr.deq_qdepth = meta._queueing_metadata_deq_qdepth3; + hdr.queueing_hdr.enq_timestamp = standard_metadata.enq_timestamp; + hdr.queueing_hdr.enq_qdepth = standard_metadata.enq_qdepth; + hdr.queueing_hdr.deq_timedelta = standard_metadata.deq_timedelta; + hdr.queueing_hdr.deq_qdepth = standard_metadata.deq_qdepth; + hdr.queueing_hdr.pad = 2w0; } @name(".t_egress") table t_egress_0 { actions = { @@ -99,7 +97,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ control DeparserImpl(packet_out packet, in headers hdr) { apply { packet.emit(hdr.hdr1); - packet.emit(hdr.queueing_hdr); + packet.emit(hdr.queueing_hdr); } } diff --git a/testdata/p4_14_samples_outputs/queueing.p4 b/testdata/p4_14_samples_outputs/queueing.p4 index c6d93c4cc75..0dc87a5bd1b 100644 --- a/testdata/p4_14_samples_outputs/queueing.p4 +++ b/testdata/p4_14_samples_outputs/queueing.p4 @@ -1,11 +1,11 @@ #include #include -@name("queueing_metadata_t") struct queueing_metadata_t_0 { - bit<48> enq_timestamp; - bit<24> enq_qdepth; +struct queueing_metadata_t { + bit<32> enq_timestamp; + bit<19> enq_qdepth; bit<32> deq_timedelta; - bit<24> deq_qdepth; + bit<19> deq_qdepth; } header hdr1_t { @@ -13,23 +13,22 @@ header hdr1_t { bit<8> f2; } -header queueing_metadata_t { - bit<48> enq_timestamp; - bit<24> enq_qdepth; +header queueing_metadata_t_padded { + bit<32> enq_timestamp; + bit<19> enq_qdepth; bit<32> deq_timedelta; - bit<24> deq_qdepth; + bit<19> deq_qdepth; + bit<2> pad; } struct metadata { - @name(".queueing_metadata") - queueing_metadata_t_0 queueing_metadata; } struct headers { @name(".hdr1") - hdr1_t hdr1; + hdr1_t hdr1; @name(".queueing_hdr") - queueing_metadata_t queueing_hdr; + queueing_metadata_t_padded queueing_hdr; } parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { @@ -49,10 +48,11 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { @name(".copy_queueing_data") action copy_queueing_data() { hdr.queueing_hdr.setValid(); - hdr.queueing_hdr.enq_timestamp = meta.queueing_metadata.enq_timestamp; - hdr.queueing_hdr.enq_qdepth = meta.queueing_metadata.enq_qdepth; - hdr.queueing_hdr.deq_timedelta = meta.queueing_metadata.deq_timedelta; - hdr.queueing_hdr.deq_qdepth = meta.queueing_metadata.deq_qdepth; + hdr.queueing_hdr.enq_timestamp = standard_metadata.enq_timestamp; + hdr.queueing_hdr.enq_qdepth = standard_metadata.enq_qdepth; + hdr.queueing_hdr.deq_timedelta = standard_metadata.deq_timedelta; + hdr.queueing_hdr.deq_qdepth = standard_metadata.deq_qdepth; + hdr.queueing_hdr.pad = 2w0; } @name(".t_egress") table t_egress { actions = { diff --git a/testdata/p4_14_samples_outputs/register-first.p4 b/testdata/p4_14_samples_outputs/register-first.p4 index b0aa036e4bb..10ae9a65693 100644 --- a/testdata/p4_14_samples_outputs/register-first.p4 +++ b/testdata/p4_14_samples_outputs/register-first.p4 @@ -18,10 +18,8 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".meta") - meta_t meta; + meta_t meta; } struct headers { diff --git a/testdata/p4_14_samples_outputs/register-frontend.p4 b/testdata/p4_14_samples_outputs/register-frontend.p4 index 4f655811b0a..d35c35e460f 100644 --- a/testdata/p4_14_samples_outputs/register-frontend.p4 +++ b/testdata/p4_14_samples_outputs/register-frontend.p4 @@ -18,10 +18,8 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".meta") - meta_t meta; + meta_t meta; } struct headers { diff --git a/testdata/p4_14_samples_outputs/register-midend.p4 b/testdata/p4_14_samples_outputs/register-midend.p4 index 7ac7231e141..a27a71e3c72 100644 --- a/testdata/p4_14_samples_outputs/register-midend.p4 +++ b/testdata/p4_14_samples_outputs/register-midend.p4 @@ -18,10 +18,7 @@ header ethernet_t { } struct metadata { - bit<4> _intrinsic_metadata_mcast_grp0; - bit<4> _intrinsic_metadata_egress_rid1; - bit<32> _intrinsic_metadata_lf_field_list2; - bit<32> _meta_register_tmp3; + bit<32> _meta_register_tmp0; } struct headers { @@ -50,7 +47,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".NoAction") action NoAction_0() { } @name(".m_action") action m_action(bit<8> register_idx) { - my_register.read(meta._meta_register_tmp3, (bit<32>)register_idx); + my_register.read(meta._meta_register_tmp0, (bit<32>)register_idx); } @name("._nop") action _nop() { } diff --git a/testdata/p4_14_samples_outputs/register.p4 b/testdata/p4_14_samples_outputs/register.p4 index 50a94dac1bd..132d1075711 100644 --- a/testdata/p4_14_samples_outputs/register.p4 +++ b/testdata/p4_14_samples_outputs/register.p4 @@ -18,10 +18,8 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".meta") - meta_t meta; + meta_t meta; } struct headers { diff --git a/testdata/p4_14_samples_outputs/resubmit-first.p4 b/testdata/p4_14_samples_outputs/resubmit-first.p4 index 659b6398f02..b85090ed67a 100644 --- a/testdata/p4_14_samples_outputs/resubmit-first.p4 +++ b/testdata/p4_14_samples_outputs/resubmit-first.p4 @@ -19,10 +19,8 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".mymeta") - mymeta_t mymeta; + mymeta_t mymeta; } struct headers { diff --git a/testdata/p4_14_samples_outputs/resubmit-frontend.p4 b/testdata/p4_14_samples_outputs/resubmit-frontend.p4 index 9c4ab56269b..3cefe0e0985 100644 --- a/testdata/p4_14_samples_outputs/resubmit-frontend.p4 +++ b/testdata/p4_14_samples_outputs/resubmit-frontend.p4 @@ -19,10 +19,8 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".mymeta") - mymeta_t mymeta; + mymeta_t mymeta; } struct headers { diff --git a/testdata/p4_14_samples_outputs/resubmit-midend.p4 b/testdata/p4_14_samples_outputs/resubmit-midend.p4 index 326a6016cc8..bb860fbe60c 100644 --- a/testdata/p4_14_samples_outputs/resubmit-midend.p4 +++ b/testdata/p4_14_samples_outputs/resubmit-midend.p4 @@ -19,11 +19,7 @@ header ethernet_t { } struct metadata { - bit<4> _intrinsic_metadata_mcast_grp0; - bit<4> _intrinsic_metadata_egress_rid1; - bit<32> _intrinsic_metadata_lf_field_list2; - bit<16> _intrinsic_metadata_resubmit_flag3; - bit<8> _mymeta_f14; + bit<8> _mymeta_f10; } struct headers { @@ -64,7 +60,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ standard_metadata.egress_spec = port; } @name("._resubmit") action _resubmit() { - meta._mymeta_f14 = 8w1; + meta._mymeta_f10 = 8w1; resubmit({ standard_metadata, {8w1} }); } @name(".t_ingress_1") table t_ingress { @@ -74,7 +70,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_0(); } key = { - meta._mymeta_f14: exact @name("mymeta.f1") ; + meta._mymeta_f10: exact @name("mymeta.f1") ; } size = 128; default_action = NoAction_0(); @@ -86,7 +82,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_3(); } key = { - meta._mymeta_f14: exact @name("mymeta.f1") ; + meta._mymeta_f10: exact @name("mymeta.f1") ; } size = 128; default_action = NoAction_3(); diff --git a/testdata/p4_14_samples_outputs/resubmit.p4 b/testdata/p4_14_samples_outputs/resubmit.p4 index 4cd716affc8..beaa0c0cdac 100644 --- a/testdata/p4_14_samples_outputs/resubmit.p4 +++ b/testdata/p4_14_samples_outputs/resubmit.p4 @@ -19,10 +19,8 @@ header ethernet_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".mymeta") - mymeta_t mymeta; + mymeta_t mymeta; } struct headers { diff --git a/testdata/p4_14_samples_outputs/sai_p4-first.p4 b/testdata/p4_14_samples_outputs/sai_p4-first.p4 index 28ca0ba72a3..fe285640c63 100644 --- a/testdata/p4_14_samples_outputs/sai_p4-first.p4 +++ b/testdata/p4_14_samples_outputs/sai_p4-first.p4 @@ -83,11 +83,9 @@ header vlan_t { struct metadata { @name(".egress_metadata") - egress_metadata_t egress_metadata; + egress_metadata_t egress_metadata; @name(".ingress_metadata") - ingress_metadata_t ingress_metadata; - @name(".intrinsic_metadata") - ingress_intrinsic_metadata_t intrinsic_metadata; + ingress_metadata_t ingress_metadata; } struct headers { @@ -147,7 +145,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".nop") action nop() { } @name(".generate_learn_notify") action generate_learn_notify() { - digest(32w1024, {meta.ingress_metadata.vlan_id,hdr.eth.srcAddr,meta.intrinsic_metadata.ingress_port,meta.ingress_metadata.learning}); + digest(32w1024, {meta.ingress_metadata.vlan_id,hdr.eth.srcAddr,standard_metadata.ingress_port,meta.ingress_metadata.learning}); } @name(".set_dmac") action set_dmac(bit<48> dst_mac_address, bit<9> port_id) { hdr.eth.dstAddr = dst_mac_address; @@ -214,7 +212,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta.ingress_metadata.cpu_port = cpu_port; meta.ingress_metadata.max_ports = port_number; meta.ingress_metadata.oper_status = oper_status; - meta.intrinsic_metadata.ingress_port = standard_metadata.ingress_port; + standard_metadata.ingress_port = standard_metadata.ingress_port; } @name(".set_router") action set_router(bit<1> admin_v4_state, bit<1> admin_v6_state, bit<48> src_mac_address, bit<8> violation_ttl1_action, bit<8> violation_ip_options) { meta.ingress_metadata.def_smac = src_mac_address; @@ -239,9 +237,9 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction(); } key = { - meta.intrinsic_metadata.ingress_port: exact @name("intrinsic_metadata.ingress_port") ; - meta.ingress_metadata.vlan_id : exact @name("ingress_metadata.vlan_id") ; - hdr.eth.srcAddr : exact @name("eth.srcAddr") ; + standard_metadata.ingress_port: exact @name("standard_metadata.ingress_port") ; + meta.ingress_metadata.vlan_id : exact @name("ingress_metadata.vlan_id") ; + hdr.eth.srcAddr : exact @name("eth.srcAddr") ; } default_action = NoAction(); } @@ -291,7 +289,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction(); } key = { - meta.intrinsic_metadata.ingress_port: exact @name("intrinsic_metadata.ingress_port") ; + standard_metadata.ingress_port: exact @name("standard_metadata.ingress_port") ; } counters = port_counters; default_action = NoAction(); diff --git a/testdata/p4_14_samples_outputs/sai_p4-frontend.p4 b/testdata/p4_14_samples_outputs/sai_p4-frontend.p4 index dd25d5386e7..6a97a008d04 100644 --- a/testdata/p4_14_samples_outputs/sai_p4-frontend.p4 +++ b/testdata/p4_14_samples_outputs/sai_p4-frontend.p4 @@ -83,11 +83,9 @@ header vlan_t { struct metadata { @name(".egress_metadata") - egress_metadata_t egress_metadata; + egress_metadata_t egress_metadata; @name(".ingress_metadata") - ingress_metadata_t ingress_metadata; - @name(".intrinsic_metadata") - ingress_intrinsic_metadata_t intrinsic_metadata; + ingress_metadata_t ingress_metadata; } struct headers { @@ -165,7 +163,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".nop") action nop() { } @name(".generate_learn_notify") action generate_learn_notify() { - digest(32w1024, {meta.ingress_metadata.vlan_id,hdr.eth.srcAddr,meta.intrinsic_metadata.ingress_port,meta.ingress_metadata.learning}); + digest(32w1024, {meta.ingress_metadata.vlan_id,hdr.eth.srcAddr,standard_metadata.ingress_port,meta.ingress_metadata.learning}); } @name(".set_dmac") action set_dmac(bit<48> dst_mac_address, bit<9> port_id) { hdr.eth.dstAddr = dst_mac_address; @@ -212,7 +210,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta.ingress_metadata.cpu_port = cpu_port; meta.ingress_metadata.max_ports = port_number; meta.ingress_metadata.oper_status = oper_status; - meta.intrinsic_metadata.ingress_port = standard_metadata.ingress_port; + standard_metadata.ingress_port = standard_metadata.ingress_port; } @name(".set_router") action set_router(bit<1> admin_v4_state, bit<1> admin_v6_state, bit<48> src_mac_address, bit<8> violation_ttl1_action, bit<8> violation_ip_options) { meta.ingress_metadata.def_smac = src_mac_address; @@ -237,9 +235,9 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_10(); } key = { - meta.intrinsic_metadata.ingress_port: exact @name("intrinsic_metadata.ingress_port") ; - meta.ingress_metadata.vlan_id : exact @name("ingress_metadata.vlan_id") ; - hdr.eth.srcAddr : exact @name("eth.srcAddr") ; + standard_metadata.ingress_port: exact @name("standard_metadata.ingress_port") ; + meta.ingress_metadata.vlan_id : exact @name("ingress_metadata.vlan_id") ; + hdr.eth.srcAddr : exact @name("eth.srcAddr") ; } default_action = NoAction_10(); } @@ -289,7 +287,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_13(); } key = { - meta.intrinsic_metadata.ingress_port: exact @name("intrinsic_metadata.ingress_port") ; + standard_metadata.ingress_port: exact @name("standard_metadata.ingress_port") ; } counters = port_counters_0; default_action = NoAction_13(); diff --git a/testdata/p4_14_samples_outputs/sai_p4-midend.p4 b/testdata/p4_14_samples_outputs/sai_p4-midend.p4 index 104b3fa7da3..3bb2c2de13f 100644 --- a/testdata/p4_14_samples_outputs/sai_p4-midend.p4 +++ b/testdata/p4_14_samples_outputs/sai_p4-midend.p4 @@ -123,8 +123,6 @@ struct metadata { bit<16> _ingress_metadata_srcPort38; bit<16> _ingress_metadata_dstPort39; bit<1> _ingress_metadata_router_mac40; - bit<9> _intrinsic_metadata_ingress_port41; - bit<32> _intrinsic_metadata_lf_field_list42; } struct headers { @@ -202,7 +200,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".nop") action nop() { } @name(".generate_learn_notify") action generate_learn_notify() { - digest(32w1024, {meta._ingress_metadata_vlan_id37,hdr.eth.srcAddr,meta._intrinsic_metadata_ingress_port41,meta._ingress_metadata_learning33}); + digest(32w1024, {meta._ingress_metadata_vlan_id37,hdr.eth.srcAddr,standard_metadata.ingress_port,meta._ingress_metadata_learning33}); } @name(".set_dmac") action set_dmac(bit<48> dst_mac_address, bit<9> port_id) { hdr.eth.dstAddr = dst_mac_address; @@ -249,7 +247,6 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta._ingress_metadata_cpu_port19 = cpu_port; meta._ingress_metadata_max_ports20 = port_number; meta._ingress_metadata_oper_status22 = oper_status; - meta._intrinsic_metadata_ingress_port41 = standard_metadata.ingress_port; } @name(".set_router") action set_router(bit<1> admin_v4_state, bit<1> admin_v6_state, bit<48> src_mac_address, bit<8> violation_ttl1_action, bit<8> violation_ip_options) { meta._ingress_metadata_def_smac18 = src_mac_address; @@ -274,9 +271,9 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_10(); } key = { - meta._intrinsic_metadata_ingress_port41: exact @name("intrinsic_metadata.ingress_port") ; - meta._ingress_metadata_vlan_id37 : exact @name("ingress_metadata.vlan_id") ; - hdr.eth.srcAddr : exact @name("eth.srcAddr") ; + standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; + meta._ingress_metadata_vlan_id37: exact @name("ingress_metadata.vlan_id") ; + hdr.eth.srcAddr : exact @name("eth.srcAddr") ; } default_action = NoAction_10(); } @@ -326,7 +323,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_13(); } key = { - meta._intrinsic_metadata_ingress_port41: exact @name("intrinsic_metadata.ingress_port") ; + standard_metadata.ingress_port: exact @name("standard_metadata.ingress_port") ; } counters = port_counters_0; default_action = NoAction_13(); diff --git a/testdata/p4_14_samples_outputs/sai_p4.p4 b/testdata/p4_14_samples_outputs/sai_p4.p4 index 50bec1a71ae..a71ab3899c6 100644 --- a/testdata/p4_14_samples_outputs/sai_p4.p4 +++ b/testdata/p4_14_samples_outputs/sai_p4.p4 @@ -83,11 +83,9 @@ header vlan_t { struct metadata { @name(".egress_metadata") - egress_metadata_t egress_metadata; + egress_metadata_t egress_metadata; @name(".ingress_metadata") - ingress_metadata_t ingress_metadata; - @name(".intrinsic_metadata") - ingress_intrinsic_metadata_t intrinsic_metadata; + ingress_metadata_t ingress_metadata; } struct headers { @@ -149,7 +147,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".nop") action nop() { } @name(".generate_learn_notify") action generate_learn_notify() { - digest((bit<32>)1024, { meta.ingress_metadata.vlan_id, hdr.eth.srcAddr, meta.intrinsic_metadata.ingress_port, meta.ingress_metadata.learning }); + digest((bit<32>)1024, { meta.ingress_metadata.vlan_id, hdr.eth.srcAddr, standard_metadata.ingress_port, meta.ingress_metadata.learning }); } @name(".set_dmac") action set_dmac(bit<48> dst_mac_address, bit<9> port_id) { hdr.eth.dstAddr = dst_mac_address; @@ -216,7 +214,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta.ingress_metadata.cpu_port = cpu_port; meta.ingress_metadata.max_ports = port_number; meta.ingress_metadata.oper_status = oper_status; - meta.intrinsic_metadata.ingress_port = standard_metadata.ingress_port; + standard_metadata.ingress_port = standard_metadata.ingress_port; } @name(".set_router") action set_router(bit<1> admin_v4_state, bit<1> admin_v6_state, bit<48> src_mac_address, bit<8> violation_ttl1_action, bit<8> violation_ip_options) { meta.ingress_metadata.def_smac = src_mac_address; @@ -238,9 +236,9 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ generate_learn_notify; } key = { - meta.intrinsic_metadata.ingress_port: exact; - meta.ingress_metadata.vlan_id : exact; - hdr.eth.srcAddr : exact; + standard_metadata.ingress_port: exact; + meta.ingress_metadata.vlan_id : exact; + hdr.eth.srcAddr : exact; } } @name(".neighbor") table neighbor { @@ -284,7 +282,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ set_in_port_0; } key = { - meta.intrinsic_metadata.ingress_port: exact; + standard_metadata.ingress_port: exact; } counters = port_counters; } diff --git a/testdata/p4_14_samples_outputs/simple_nat-first.p4 b/testdata/p4_14_samples_outputs/simple_nat-first.p4 index 7bc4b0a87fb..b4da98e0b09 100644 --- a/testdata/p4_14_samples_outputs/simple_nat-first.p4 +++ b/testdata/p4_14_samples_outputs/simple_nat-first.p4 @@ -63,10 +63,8 @@ header tcp_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".meta") - meta_t meta; + meta_t meta; } struct headers { diff --git a/testdata/p4_14_samples_outputs/simple_nat-frontend.p4 b/testdata/p4_14_samples_outputs/simple_nat-frontend.p4 index 4c976a5005f..5c6afc2f8c9 100644 --- a/testdata/p4_14_samples_outputs/simple_nat-frontend.p4 +++ b/testdata/p4_14_samples_outputs/simple_nat-frontend.p4 @@ -63,10 +63,8 @@ header tcp_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".meta") - meta_t meta; + meta_t meta; } struct headers { diff --git a/testdata/p4_14_samples_outputs/simple_nat-midend.p4 b/testdata/p4_14_samples_outputs/simple_nat-midend.p4 index 02d9928b519..c0b99b45ab4 100644 --- a/testdata/p4_14_samples_outputs/simple_nat-midend.p4 +++ b/testdata/p4_14_samples_outputs/simple_nat-midend.p4 @@ -63,20 +63,17 @@ header tcp_t { } struct metadata { - bit<4> _intrinsic_metadata_mcast_grp0; - bit<4> _intrinsic_metadata_egress_rid1; - bit<32> _intrinsic_metadata_lf_field_list2; - bit<1> _meta_do_forward3; - bit<32> _meta_ipv4_sa4; - bit<32> _meta_ipv4_da5; - bit<16> _meta_tcp_sp6; - bit<16> _meta_tcp_dp7; - bit<32> _meta_nhop_ipv48; - bit<32> _meta_if_ipv4_addr9; - bit<48> _meta_if_mac_addr10; - bit<1> _meta_is_ext_if11; - bit<16> _meta_tcpLength12; - bit<8> _meta_if_index13; + bit<1> _meta_do_forward0; + bit<32> _meta_ipv4_sa1; + bit<32> _meta_ipv4_da2; + bit<16> _meta_tcp_sp3; + bit<16> _meta_tcp_dp4; + bit<32> _meta_nhop_ipv45; + bit<32> _meta_if_ipv4_addr6; + bit<48> _meta_if_mac_addr7; + bit<1> _meta_is_ext_if8; + bit<16> _meta_tcpLength9; + bit<8> _meta_if_index10; } struct headers { @@ -94,7 +91,7 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout bit<64> tmp; @name(".parse_cpu_header") state parse_cpu_header { packet.extract(hdr.cpu_header); - meta._meta_if_index13 = hdr.cpu_header.if_index; + meta._meta_if_index10 = hdr.cpu_header.if_index; transition parse_ethernet; } @name(".parse_ethernet") state parse_ethernet { @@ -106,9 +103,9 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout } @name(".parse_ipv4") state parse_ipv4 { packet.extract(hdr.ipv4); - meta._meta_ipv4_sa4 = hdr.ipv4.srcAddr; - meta._meta_ipv4_da5 = hdr.ipv4.dstAddr; - meta._meta_tcpLength12 = hdr.ipv4.totalLen + 16w65516; + meta._meta_ipv4_sa1 = hdr.ipv4.srcAddr; + meta._meta_ipv4_da2 = hdr.ipv4.dstAddr; + meta._meta_tcpLength9 = hdr.ipv4.totalLen + 16w65516; transition select(hdr.ipv4.protocol) { 8w0x6: parse_tcp; default: accept; @@ -116,12 +113,12 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout } @name(".parse_tcp") state parse_tcp { packet.extract(hdr.tcp); - meta._meta_tcp_sp6 = hdr.tcp.srcPort; - meta._meta_tcp_dp7 = hdr.tcp.dstPort; + meta._meta_tcp_sp3 = hdr.tcp.srcPort; + meta._meta_tcp_dp4 = hdr.tcp.dstPort; transition accept; } @name(".start") state start { - meta._meta_if_index13 = (bit<8>)standard_metadata.ingress_port; + meta._meta_if_index10 = (bit<8>)standard_metadata.ingress_port; tmp = packet.lookahead>(); transition select(tmp[63:0]) { 64w0: parse_cpu_header; @@ -138,10 +135,10 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @name(".do_rewrites") action do_rewrites(bit<48> smac) { hdr.cpu_header.setInvalid(); hdr.ethernet.srcAddr = smac; - hdr.ipv4.srcAddr = meta._meta_ipv4_sa4; - hdr.ipv4.dstAddr = meta._meta_ipv4_da5; - hdr.tcp.srcPort = meta._meta_tcp_sp6; - hdr.tcp.dstPort = meta._meta_tcp_dp7; + hdr.ipv4.srcAddr = meta._meta_ipv4_sa1; + hdr.ipv4.dstAddr = meta._meta_ipv4_da2; + hdr.tcp.srcPort = meta._meta_tcp_sp3; + hdr.tcp.dstPort = meta._meta_tcp_dp4; } @name("._drop") action _drop() { mark_to_drop(standard_metadata); @@ -151,7 +148,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t hdr.cpu_header.preamble = 64w0; hdr.cpu_header.device = 8w0; hdr.cpu_header.reason = 8w0xab; - hdr.cpu_header.if_index = meta._meta_if_index13; + hdr.cpu_header.if_index = meta._meta_if_index10; } @name(".send_frame") table send_frame_0 { actions = { @@ -209,12 +206,12 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ mark_to_drop(standard_metadata); } @name(".set_if_info") action set_if_info(bit<32> ipv4_addr, bit<48> mac_addr, bit<1> is_ext) { - meta._meta_if_ipv4_addr9 = ipv4_addr; - meta._meta_if_mac_addr10 = mac_addr; - meta._meta_is_ext_if11 = is_ext; + meta._meta_if_ipv4_addr6 = ipv4_addr; + meta._meta_if_mac_addr7 = mac_addr; + meta._meta_is_ext_if8 = is_ext; } @name(".set_nhop") action set_nhop(bit<32> nhop_ipv4, bit<9> port) { - meta._meta_nhop_ipv48 = nhop_ipv4; + meta._meta_nhop_ipv45 = nhop_ipv4; standard_metadata.egress_spec = port; hdr.ipv4.ttl = hdr.ipv4.ttl + 8w255; } @@ -222,21 +219,21 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ clone3(CloneType.I2E, 32w250, { standard_metadata }); } @name(".nat_miss_ext_to_int") action nat_miss_ext_to_int() { - meta._meta_do_forward3 = 1w0; + meta._meta_do_forward0 = 1w0; mark_to_drop(standard_metadata); } @name(".nat_hit_int_to_ext") action nat_hit_int_to_ext(bit<32> srcAddr, bit<16> srcPort) { - meta._meta_do_forward3 = 1w1; - meta._meta_ipv4_sa4 = srcAddr; - meta._meta_tcp_sp6 = srcPort; + meta._meta_do_forward0 = 1w1; + meta._meta_ipv4_sa1 = srcAddr; + meta._meta_tcp_sp3 = srcPort; } @name(".nat_hit_ext_to_int") action nat_hit_ext_to_int(bit<32> dstAddr, bit<16> dstPort) { - meta._meta_do_forward3 = 1w1; - meta._meta_ipv4_da5 = dstAddr; - meta._meta_tcp_dp7 = dstPort; + meta._meta_do_forward0 = 1w1; + meta._meta_ipv4_da2 = dstAddr; + meta._meta_tcp_dp4 = dstPort; } @name(".nat_no_nat") action nat_no_nat() { - meta._meta_do_forward3 = 1w1; + meta._meta_do_forward0 = 1w1; } @name(".forward") table forward_0 { actions = { @@ -245,7 +242,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_8(); } key = { - meta._meta_nhop_ipv48: exact @name("meta.nhop_ipv4") ; + meta._meta_nhop_ipv45: exact @name("meta.nhop_ipv4") ; } size = 512; default_action = NoAction_8(); @@ -257,7 +254,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_9(); } key = { - meta._meta_if_index13: exact @name("meta.if_index") ; + meta._meta_if_index10: exact @name("meta.if_index") ; } default_action = NoAction_9(); } @@ -268,7 +265,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_10(); } key = { - meta._meta_ipv4_da5: lpm @name("meta.ipv4_da") ; + meta._meta_ipv4_da2: lpm @name("meta.ipv4_da") ; } size = 1024; default_action = NoAction_10(); @@ -284,13 +281,13 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_11(); } key = { - meta._meta_is_ext_if11: exact @name("meta.is_ext_if") ; - hdr.ipv4.isValid() : exact @name("ipv4.$valid$") ; - hdr.tcp.isValid() : exact @name("tcp.$valid$") ; - hdr.ipv4.srcAddr : ternary @name("ipv4.srcAddr") ; - hdr.ipv4.dstAddr : ternary @name("ipv4.dstAddr") ; - hdr.tcp.srcPort : ternary @name("tcp.srcPort") ; - hdr.tcp.dstPort : ternary @name("tcp.dstPort") ; + meta._meta_is_ext_if8: exact @name("meta.is_ext_if") ; + hdr.ipv4.isValid() : exact @name("ipv4.$valid$") ; + hdr.tcp.isValid() : exact @name("tcp.$valid$") ; + hdr.ipv4.srcAddr : ternary @name("ipv4.srcAddr") ; + hdr.ipv4.dstAddr : ternary @name("ipv4.dstAddr") ; + hdr.tcp.srcPort : ternary @name("tcp.srcPort") ; + hdr.tcp.dstPort : ternary @name("tcp.dstPort") ; } size = 128; default_action = NoAction_11(); @@ -298,7 +295,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ apply { if_info_0.apply(); nat_0.apply(); - if (meta._meta_do_forward3 == 1w1 && hdr.ipv4.ttl > 8w0) { + if (meta._meta_do_forward0 == 1w1 && hdr.ipv4.ttl > 8w0) { ipv4_lpm_0.apply(); forward_0.apply(); } @@ -348,14 +345,14 @@ struct tuple_2 { control verifyChecksum(inout headers hdr, inout metadata meta) { apply { verify_checksum>(true, { hdr.ipv4.version, hdr.ipv4.ihl, hdr.ipv4.diffserv, hdr.ipv4.totalLen, hdr.ipv4.identification, hdr.ipv4.flags, hdr.ipv4.fragOffset, hdr.ipv4.ttl, hdr.ipv4.protocol, hdr.ipv4.srcAddr, hdr.ipv4.dstAddr }, hdr.ipv4.hdrChecksum, HashAlgorithm.csum16); - verify_checksum_with_payload>(hdr.tcp.isValid(), { hdr.ipv4.srcAddr, hdr.ipv4.dstAddr, 8w0, hdr.ipv4.protocol, meta._meta_tcpLength12, hdr.tcp.srcPort, hdr.tcp.dstPort, hdr.tcp.seqNo, hdr.tcp.ackNo, hdr.tcp.dataOffset, hdr.tcp.res, hdr.tcp.flags, hdr.tcp.window, hdr.tcp.urgentPtr }, hdr.tcp.checksum, HashAlgorithm.csum16); + verify_checksum_with_payload>(hdr.tcp.isValid(), { hdr.ipv4.srcAddr, hdr.ipv4.dstAddr, 8w0, hdr.ipv4.protocol, meta._meta_tcpLength9, hdr.tcp.srcPort, hdr.tcp.dstPort, hdr.tcp.seqNo, hdr.tcp.ackNo, hdr.tcp.dataOffset, hdr.tcp.res, hdr.tcp.flags, hdr.tcp.window, hdr.tcp.urgentPtr }, hdr.tcp.checksum, HashAlgorithm.csum16); } } control computeChecksum(inout headers hdr, inout metadata meta) { apply { update_checksum>(true, { hdr.ipv4.version, hdr.ipv4.ihl, hdr.ipv4.diffserv, hdr.ipv4.totalLen, hdr.ipv4.identification, hdr.ipv4.flags, hdr.ipv4.fragOffset, hdr.ipv4.ttl, hdr.ipv4.protocol, hdr.ipv4.srcAddr, hdr.ipv4.dstAddr }, hdr.ipv4.hdrChecksum, HashAlgorithm.csum16); - update_checksum_with_payload>(hdr.tcp.isValid(), { hdr.ipv4.srcAddr, hdr.ipv4.dstAddr, 8w0, hdr.ipv4.protocol, meta._meta_tcpLength12, hdr.tcp.srcPort, hdr.tcp.dstPort, hdr.tcp.seqNo, hdr.tcp.ackNo, hdr.tcp.dataOffset, hdr.tcp.res, hdr.tcp.flags, hdr.tcp.window, hdr.tcp.urgentPtr }, hdr.tcp.checksum, HashAlgorithm.csum16); + update_checksum_with_payload>(hdr.tcp.isValid(), { hdr.ipv4.srcAddr, hdr.ipv4.dstAddr, 8w0, hdr.ipv4.protocol, meta._meta_tcpLength9, hdr.tcp.srcPort, hdr.tcp.dstPort, hdr.tcp.seqNo, hdr.tcp.ackNo, hdr.tcp.dataOffset, hdr.tcp.res, hdr.tcp.flags, hdr.tcp.window, hdr.tcp.urgentPtr }, hdr.tcp.checksum, HashAlgorithm.csum16); } } diff --git a/testdata/p4_14_samples_outputs/simple_nat.p4 b/testdata/p4_14_samples_outputs/simple_nat.p4 index 71b763face9..19ac3e03128 100644 --- a/testdata/p4_14_samples_outputs/simple_nat.p4 +++ b/testdata/p4_14_samples_outputs/simple_nat.p4 @@ -63,10 +63,8 @@ header tcp_t { } struct metadata { - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; @name(".meta") - meta_t meta; + meta_t meta; } struct headers { diff --git a/testdata/p4_14_samples_outputs/switch_20160512/switch-first.p4 b/testdata/p4_14_samples_outputs/switch_20160512/switch-first.p4 index fdedfd69fce..133d01fd16e 100644 --- a/testdata/p4_14_samples_outputs/switch_20160512/switch-first.p4 +++ b/testdata/p4_14_samples_outputs/switch_20160512/switch-first.p4 @@ -642,51 +642,47 @@ header vlan_tag_t { struct metadata { @name(".acl_metadata") - acl_metadata_t acl_metadata; + acl_metadata_t acl_metadata; @name(".egress_filter_metadata") - egress_filter_metadata_t egress_filter_metadata; + egress_filter_metadata_t egress_filter_metadata; @name(".egress_metadata") - egress_metadata_t egress_metadata; + egress_metadata_t egress_metadata; @name(".fabric_metadata") - fabric_metadata_t fabric_metadata; + fabric_metadata_t fabric_metadata; @name(".global_config_metadata") - global_config_metadata_t global_config_metadata; + global_config_metadata_t global_config_metadata; @name(".hash_metadata") - hash_metadata_t hash_metadata; + hash_metadata_t hash_metadata; @name(".i2e_metadata") - i2e_metadata_t i2e_metadata; + i2e_metadata_t i2e_metadata; @name(".ingress_metadata") - ingress_metadata_t ingress_metadata; + ingress_metadata_t ingress_metadata; @name(".int_metadata") - int_metadata_t int_metadata; + int_metadata_t int_metadata; @name(".int_metadata_i2e") - int_metadata_i2e_t int_metadata_i2e; - @name(".intrinsic_metadata") - ingress_intrinsic_metadata_t intrinsic_metadata; + int_metadata_i2e_t int_metadata_i2e; @name(".ipv4_metadata") - ipv4_metadata_t ipv4_metadata; + ipv4_metadata_t ipv4_metadata; @name(".ipv6_metadata") - ipv6_metadata_t ipv6_metadata; + ipv6_metadata_t ipv6_metadata; @name(".l2_metadata") - l2_metadata_t l2_metadata; + l2_metadata_t l2_metadata; @name(".l3_metadata") - l3_metadata_t l3_metadata; + l3_metadata_t l3_metadata; @name(".meter_metadata") - meter_metadata_t meter_metadata; + meter_metadata_t meter_metadata; @name(".multicast_metadata") - multicast_metadata_t multicast_metadata; + multicast_metadata_t multicast_metadata; @name(".nexthop_metadata") - nexthop_metadata_t nexthop_metadata; + nexthop_metadata_t nexthop_metadata; @name(".qos_metadata") - qos_metadata_t qos_metadata; - @name(".queueing_metadata") - queueing_metadata_t queueing_metadata; + qos_metadata_t qos_metadata; @name(".security_metadata") - security_metadata_t security_metadata; + security_metadata_t security_metadata; @name(".sflow_metadata") - sflow_meta_t sflow_metadata; + sflow_meta_t sflow_metadata; @name(".tunnel_metadata") - tunnel_metadata_t tunnel_metadata; + tunnel_metadata_t tunnel_metadata; } struct headers { @@ -1170,15 +1166,15 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout transition accept; } @name(".parse_set_prio_high") state parse_set_prio_high { - meta.intrinsic_metadata.priority = 3w5; + standard_metadata.priority = 3w5; transition accept; } @name(".parse_set_prio_max") state parse_set_prio_max { - meta.intrinsic_metadata.priority = 3w7; + standard_metadata.priority = 3w7; transition accept; } @name(".parse_set_prio_med") state parse_set_prio_med { - meta.intrinsic_metadata.priority = 3w3; + standard_metadata.priority = 3w3; transition accept; } @name(".parse_sflow") state parse_sflow { @@ -1341,13 +1337,13 @@ control process_replication(inout headers hdr, inout metadata meta, inout standa @defaultonly NoAction(); } key = { - meta.intrinsic_metadata.egress_rid: exact @name("intrinsic_metadata.egress_rid") ; + standard_metadata.egress_rid: exact @name("standard_metadata.egress_rid") ; } size = 1024; default_action = NoAction(); } apply { - if (meta.intrinsic_metadata.egress_rid != 16w0) { + if (standard_metadata.egress_rid != 16w0) { rid.apply(); replica_type.apply(); } @@ -1970,14 +1966,14 @@ control process_int_insertion(inout headers hdr, inout metadata meta, inout stan @name(".int_set_header_3") action int_set_header_3() { hdr.int_q_occupancy_header.setValid(); hdr.int_q_occupancy_header.q_occupancy1 = 7w0; - hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)meta.queueing_metadata.enq_qdepth; + hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)standard_metadata.enq_qdepth; } @name(".int_set_header_0003_i1") action int_set_header_0003_i1() { int_set_header_3(); } @name(".int_set_header_2") action int_set_header_2() { hdr.int_hop_latency_header.setValid(); - hdr.int_hop_latency_header.hop_latency = (bit<31>)meta.queueing_metadata.deq_timedelta; + hdr.int_hop_latency_header.hop_latency = (bit<31>)standard_metadata.deq_timedelta; } @name(".int_set_header_0003_i2") action int_set_header_0003_i2() { int_set_header_2(); @@ -3333,7 +3329,7 @@ control process_global_params(inout headers hdr, inout metadata meta, inout stan } @name(".set_config_parameters") action set_config_parameters(bit<8> enable_dod) { deflect_on_drop(enable_dod); - meta.i2e_metadata.ingress_tstamp = (bit<32>)meta.intrinsic_metadata.ingress_global_timestamp; + meta.i2e_metadata.ingress_tstamp = (bit<32>)standard_metadata.ingress_global_timestamp; meta.ingress_metadata.ingress_port = standard_metadata.ingress_port; meta.l2_metadata.same_if_check = meta.ingress_metadata.ifindex; standard_metadata.egress_spec = 9w511; @@ -3608,7 +3604,7 @@ control process_ingress_fabric(inout headers hdr, inout metadata meta, inout sta } @name(".switch_fabric_multicast_packet") action switch_fabric_multicast_packet() { meta.fabric_metadata.fabric_header_present = 1w1; - meta.intrinsic_metadata.mcast_grp = hdr.fabric_header.dstPortOrGroup; + standard_metadata.mcast_grp = hdr.fabric_header.dstPortOrGroup; } @name(".terminate_fabric_multicast_packet") action terminate_fabric_multicast_packet() { meta.tunnel_metadata.tunnel_terminate = hdr.fabric_header_multicast.tunnelTerminate; @@ -3616,7 +3612,7 @@ control process_ingress_fabric(inout headers hdr, inout metadata meta, inout sta meta.l3_metadata.nexthop_index = 16w0; meta.l3_metadata.routed = hdr.fabric_header_multicast.routed; meta.l3_metadata.outer_routed = hdr.fabric_header_multicast.outerRouted; - meta.intrinsic_metadata.mcast_grp = hdr.fabric_header_multicast.mcastGrp; + standard_metadata.mcast_grp = hdr.fabric_header_multicast.mcastGrp; hdr.ethernet.etherType = hdr.fabric_payload_header.etherType; hdr.fabric_header.setInvalid(); hdr.fabric_header_multicast.setInvalid(); @@ -3707,32 +3703,32 @@ control process_outer_ipv4_multicast(inout headers hdr, inout metadata meta, ino @name(".on_miss") action on_miss() { } @name(".outer_multicast_route_s_g_hit") action outer_multicast_route_s_g_hit(bit<16> mc_index, bit<16> mcast_rpf_group) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.multicast_metadata.outer_mcast_route_hit = 1w1; meta.multicast_metadata.mcast_rpf_group = mcast_rpf_group ^ meta.multicast_metadata.bd_mrpf_group; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_bridge_s_g_hit") action outer_multicast_bridge_s_g_hit(bit<16> mc_index) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.tunnel_metadata.tunnel_terminate = 1w1; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_route_sm_star_g_hit") action outer_multicast_route_sm_star_g_hit(bit<16> mc_index, bit<16> mcast_rpf_group) { meta.multicast_metadata.outer_mcast_mode = 2w1; - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.multicast_metadata.outer_mcast_route_hit = 1w1; meta.multicast_metadata.mcast_rpf_group = mcast_rpf_group ^ meta.multicast_metadata.bd_mrpf_group; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_route_bidir_star_g_hit") action outer_multicast_route_bidir_star_g_hit(bit<16> mc_index, bit<16> mcast_rpf_group) { meta.multicast_metadata.outer_mcast_mode = 2w2; - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.multicast_metadata.outer_mcast_route_hit = 1w1; meta.multicast_metadata.mcast_rpf_group = mcast_rpf_group | meta.multicast_metadata.bd_mrpf_group; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_bridge_star_g_hit") action outer_multicast_bridge_star_g_hit(bit<16> mc_index) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.tunnel_metadata.tunnel_terminate = 1w1; meta.fabric_metadata.dst_device = 8w127; } @@ -3785,32 +3781,32 @@ control process_outer_ipv6_multicast(inout headers hdr, inout metadata meta, ino @name(".on_miss") action on_miss() { } @name(".outer_multicast_route_s_g_hit") action outer_multicast_route_s_g_hit(bit<16> mc_index, bit<16> mcast_rpf_group) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.multicast_metadata.outer_mcast_route_hit = 1w1; meta.multicast_metadata.mcast_rpf_group = mcast_rpf_group ^ meta.multicast_metadata.bd_mrpf_group; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_bridge_s_g_hit") action outer_multicast_bridge_s_g_hit(bit<16> mc_index) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.tunnel_metadata.tunnel_terminate = 1w1; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_route_sm_star_g_hit") action outer_multicast_route_sm_star_g_hit(bit<16> mc_index, bit<16> mcast_rpf_group) { meta.multicast_metadata.outer_mcast_mode = 2w1; - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.multicast_metadata.outer_mcast_route_hit = 1w1; meta.multicast_metadata.mcast_rpf_group = mcast_rpf_group ^ meta.multicast_metadata.bd_mrpf_group; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_route_bidir_star_g_hit") action outer_multicast_route_bidir_star_g_hit(bit<16> mc_index, bit<16> mcast_rpf_group) { meta.multicast_metadata.outer_mcast_mode = 2w2; - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.multicast_metadata.outer_mcast_route_hit = 1w1; meta.multicast_metadata.mcast_rpf_group = mcast_rpf_group | meta.multicast_metadata.bd_mrpf_group; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_bridge_star_g_hit") action outer_multicast_bridge_star_g_hit(bit<16> mc_index) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.tunnel_metadata.tunnel_terminate = 1w1; meta.fabric_metadata.dst_device = 8w127; } @@ -4143,7 +4139,7 @@ control process_tunnel(inout headers hdr, inout metadata meta, inout standard_me @name(".non_ip_tunnel_lookup_miss") action non_ip_tunnel_lookup_miss() { meta.l2_metadata.lkp_mac_sa = hdr.ethernet.srcAddr; meta.l2_metadata.lkp_mac_da = hdr.ethernet.dstAddr; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; } @name(".ipv4_tunnel_lookup_miss") action ipv4_tunnel_lookup_miss() { meta.l2_metadata.lkp_mac_sa = hdr.ethernet.srcAddr; @@ -4154,7 +4150,7 @@ control process_tunnel(inout headers hdr, inout metadata meta, inout standard_me meta.l3_metadata.lkp_ip_ttl = hdr.ipv4.ttl; meta.l3_metadata.lkp_l4_sport = meta.l3_metadata.lkp_outer_l4_sport; meta.l3_metadata.lkp_l4_dport = meta.l3_metadata.lkp_outer_l4_dport; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; } @name(".ipv6_tunnel_lookup_miss") action ipv6_tunnel_lookup_miss() { meta.l2_metadata.lkp_mac_sa = hdr.ethernet.srcAddr; @@ -4165,7 +4161,7 @@ control process_tunnel(inout headers hdr, inout metadata meta, inout standard_me meta.l3_metadata.lkp_ip_ttl = hdr.ipv6.hopLimit; meta.l3_metadata.lkp_l4_sport = meta.l3_metadata.lkp_outer_l4_sport; meta.l3_metadata.lkp_l4_dport = meta.l3_metadata.lkp_outer_l4_dport; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; } @name(".outer_rmac") table outer_rmac { actions = { @@ -4409,7 +4405,7 @@ control process_mac(inout headers hdr, inout metadata meta, inout standard_metad meta.l2_metadata.same_if_check = meta.l2_metadata.same_if_check ^ ifindex; } @name(".dmac_multicast_hit") action dmac_multicast_hit(bit<16> mc_index) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.fabric_metadata.dst_device = 8w127; } @name(".dmac_miss") action dmac_miss() { @@ -4494,7 +4490,7 @@ control process_mac_acl(inout headers hdr, inout metadata meta, inout standard_m } @name(".acl_mirror") action acl_mirror(bit<32> session_id, bit<14> acl_stats_index, bit<16> acl_meter_index) { meta.i2e_metadata.mirror_session_id = (bit<16>)session_id; - meta.i2e_metadata.ingress_tstamp = (bit<32>)meta.intrinsic_metadata.ingress_global_timestamp; + meta.i2e_metadata.ingress_tstamp = (bit<32>)standard_metadata.ingress_global_timestamp; clone3, bit<16>>>(CloneType.I2E, session_id, { meta.i2e_metadata.ingress_tstamp, meta.i2e_metadata.mirror_session_id }); meta.acl_metadata.acl_stats_index = acl_stats_index; meta.meter_metadata.meter_index = acl_meter_index; @@ -4561,7 +4557,7 @@ control process_ip_acl(inout headers hdr, inout metadata meta, inout standard_me } @name(".acl_mirror") action acl_mirror(bit<32> session_id, bit<14> acl_stats_index, bit<16> acl_meter_index) { meta.i2e_metadata.mirror_session_id = (bit<16>)session_id; - meta.i2e_metadata.ingress_tstamp = (bit<32>)meta.intrinsic_metadata.ingress_global_timestamp; + meta.i2e_metadata.ingress_tstamp = (bit<32>)standard_metadata.ingress_global_timestamp; clone3, bit<16>>>(CloneType.I2E, session_id, { meta.i2e_metadata.ingress_tstamp, meta.i2e_metadata.mirror_session_id }); meta.acl_metadata.acl_stats_index = acl_stats_index; meta.meter_metadata.meter_index = acl_meter_index; @@ -5508,20 +5504,20 @@ control process_fwd_results(inout headers hdr, inout metadata meta, inout standa meta.l3_metadata.nexthop_index = meta.l2_metadata.l2_nexthop; meta.nexthop_metadata.nexthop_type = meta.l2_metadata.l2_nexthop_type; meta.ingress_metadata.egress_ifindex = 16w0; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; meta.fabric_metadata.dst_device = 8w0; } @name(".set_fib_redirect_action") action set_fib_redirect_action() { meta.l3_metadata.nexthop_index = meta.l3_metadata.fib_nexthop; meta.nexthop_metadata.nexthop_type = meta.l3_metadata.fib_nexthop_type; meta.l3_metadata.routed = 1w1; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; meta.fabric_metadata.reason_code = 16w0x217; meta.fabric_metadata.dst_device = 8w0; } @name(".set_cpu_redirect_action") action set_cpu_redirect_action() { meta.l3_metadata.routed = 1w0; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; standard_metadata.egress_spec = 9w64; meta.ingress_metadata.egress_ifindex = 16w0; meta.fabric_metadata.dst_device = 8w0; @@ -5530,7 +5526,7 @@ control process_fwd_results(inout headers hdr, inout metadata meta, inout standa meta.l3_metadata.nexthop_index = meta.acl_metadata.acl_nexthop; meta.nexthop_metadata.nexthop_type = meta.acl_metadata.acl_nexthop_type; meta.ingress_metadata.egress_ifindex = 16w0; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; meta.fabric_metadata.dst_device = 8w0; } @name(".set_racl_redirect_action") action set_racl_redirect_action() { @@ -5538,20 +5534,20 @@ control process_fwd_results(inout headers hdr, inout metadata meta, inout standa meta.nexthop_metadata.nexthop_type = meta.acl_metadata.racl_nexthop_type; meta.l3_metadata.routed = 1w1; meta.ingress_metadata.egress_ifindex = 16w0; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; meta.fabric_metadata.dst_device = 8w0; } @name(".set_multicast_route_action") action set_multicast_route_action() { meta.fabric_metadata.dst_device = 8w127; meta.ingress_metadata.egress_ifindex = 16w0; - meta.intrinsic_metadata.mcast_grp = meta.multicast_metadata.multicast_route_mc_index; + standard_metadata.mcast_grp = meta.multicast_metadata.multicast_route_mc_index; meta.l3_metadata.routed = 1w1; meta.l3_metadata.same_bd_check = 16w0xffff; } @name(".set_multicast_bridge_action") action set_multicast_bridge_action() { meta.fabric_metadata.dst_device = 8w127; meta.ingress_metadata.egress_ifindex = 16w0; - meta.intrinsic_metadata.mcast_grp = meta.multicast_metadata.multicast_bridge_mc_index; + standard_metadata.mcast_grp = meta.multicast_metadata.multicast_bridge_mc_index; } @name(".set_multicast_flood") action set_multicast_flood() { meta.fabric_metadata.dst_device = 8w127; @@ -5610,7 +5606,7 @@ control process_nexthop(inout headers hdr, inout metadata meta, inout standard_m meta.tunnel_metadata.tunnel_if_check = meta.tunnel_metadata.tunnel_terminate ^ tunnel; } @name(".set_ecmp_nexthop_details_for_post_routed_flood") action set_ecmp_nexthop_details_for_post_routed_flood(bit<16> bd, bit<16> uuc_mc_index, bit<16> nhop_index) { - meta.intrinsic_metadata.mcast_grp = uuc_mc_index; + standard_metadata.mcast_grp = uuc_mc_index; meta.l3_metadata.nexthop_index = nhop_index; meta.ingress_metadata.egress_ifindex = 16w0; meta.l3_metadata.same_bd_check = meta.ingress_metadata.bd ^ bd; @@ -5623,7 +5619,7 @@ control process_nexthop(inout headers hdr, inout metadata meta, inout standard_m meta.tunnel_metadata.tunnel_if_check = meta.tunnel_metadata.tunnel_terminate ^ tunnel; } @name(".set_nexthop_details_for_post_routed_flood") action set_nexthop_details_for_post_routed_flood(bit<16> bd, bit<16> uuc_mc_index) { - meta.intrinsic_metadata.mcast_grp = uuc_mc_index; + standard_metadata.mcast_grp = uuc_mc_index; meta.ingress_metadata.egress_ifindex = 16w0; meta.l3_metadata.same_bd_check = meta.ingress_metadata.bd ^ bd; meta.fabric_metadata.dst_device = 8w127; @@ -5668,7 +5664,7 @@ control process_multicast_flooding(inout headers hdr, inout metadata meta, inout @name(".nop") action nop() { } @name(".set_bd_flood_mc_index") action set_bd_flood_mc_index(bit<16> mc_index) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; } @name(".bd_flood") table bd_flood { actions = { @@ -5757,7 +5753,7 @@ control process_fabric_lag(inout headers hdr, inout metadata meta, inout standar standard_metadata.egress_spec = port; } @name(".set_fabric_multicast") action set_fabric_multicast(bit<8> fabric_mgid) { - meta.multicast_metadata.mcast_grp = meta.intrinsic_metadata.mcast_grp; + meta.multicast_metadata.mcast_grp = standard_metadata.mcast_grp; } @name(".fabric_lag") table fabric_lag { actions = { diff --git a/testdata/p4_14_samples_outputs/switch_20160512/switch-frontend.p4 b/testdata/p4_14_samples_outputs/switch_20160512/switch-frontend.p4 index c33e8fb4367..cf2bb9f1e9c 100644 --- a/testdata/p4_14_samples_outputs/switch_20160512/switch-frontend.p4 +++ b/testdata/p4_14_samples_outputs/switch_20160512/switch-frontend.p4 @@ -642,51 +642,47 @@ header vlan_tag_t { struct metadata { @name(".acl_metadata") - acl_metadata_t acl_metadata; + acl_metadata_t acl_metadata; @name(".egress_filter_metadata") - egress_filter_metadata_t egress_filter_metadata; + egress_filter_metadata_t egress_filter_metadata; @name(".egress_metadata") - egress_metadata_t egress_metadata; + egress_metadata_t egress_metadata; @name(".fabric_metadata") - fabric_metadata_t fabric_metadata; + fabric_metadata_t fabric_metadata; @name(".global_config_metadata") - global_config_metadata_t global_config_metadata; + global_config_metadata_t global_config_metadata; @name(".hash_metadata") - hash_metadata_t hash_metadata; + hash_metadata_t hash_metadata; @name(".i2e_metadata") - i2e_metadata_t i2e_metadata; + i2e_metadata_t i2e_metadata; @name(".ingress_metadata") - ingress_metadata_t ingress_metadata; + ingress_metadata_t ingress_metadata; @name(".int_metadata") - int_metadata_t int_metadata; + int_metadata_t int_metadata; @name(".int_metadata_i2e") - int_metadata_i2e_t int_metadata_i2e; - @name(".intrinsic_metadata") - ingress_intrinsic_metadata_t intrinsic_metadata; + int_metadata_i2e_t int_metadata_i2e; @name(".ipv4_metadata") - ipv4_metadata_t ipv4_metadata; + ipv4_metadata_t ipv4_metadata; @name(".ipv6_metadata") - ipv6_metadata_t ipv6_metadata; + ipv6_metadata_t ipv6_metadata; @name(".l2_metadata") - l2_metadata_t l2_metadata; + l2_metadata_t l2_metadata; @name(".l3_metadata") - l3_metadata_t l3_metadata; + l3_metadata_t l3_metadata; @name(".meter_metadata") - meter_metadata_t meter_metadata; + meter_metadata_t meter_metadata; @name(".multicast_metadata") - multicast_metadata_t multicast_metadata; + multicast_metadata_t multicast_metadata; @name(".nexthop_metadata") - nexthop_metadata_t nexthop_metadata; + nexthop_metadata_t nexthop_metadata; @name(".qos_metadata") - qos_metadata_t qos_metadata; - @name(".queueing_metadata") - queueing_metadata_t queueing_metadata; + qos_metadata_t qos_metadata; @name(".security_metadata") - security_metadata_t security_metadata; + security_metadata_t security_metadata; @name(".sflow_metadata") - sflow_meta_t sflow_metadata; + sflow_meta_t sflow_metadata; @name(".tunnel_metadata") - tunnel_metadata_t tunnel_metadata; + tunnel_metadata_t tunnel_metadata; } struct headers { @@ -1120,11 +1116,11 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout } } @name(".parse_set_prio_high") state parse_set_prio_high { - meta.intrinsic_metadata.priority = 3w5; + standard_metadata.priority = 3w5; transition accept; } @name(".parse_set_prio_med") state parse_set_prio_med { - meta.intrinsic_metadata.priority = 3w3; + standard_metadata.priority = 3w3; transition accept; } @name(".parse_sflow") state parse_sflow { @@ -1386,7 +1382,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @defaultonly NoAction_116(); } key = { - meta.intrinsic_metadata.egress_rid: exact @name("intrinsic_metadata.egress_rid") ; + standard_metadata.egress_rid: exact @name("standard_metadata.egress_rid") ; } size = 1024; default_action = NoAction_116(); @@ -1968,18 +1964,18 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @name(".int_set_header_0003_i1") action _int_set_header_0003_i1_0() { hdr.int_q_occupancy_header.setValid(); hdr.int_q_occupancy_header.q_occupancy1 = 7w0; - hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)meta.queueing_metadata.enq_qdepth; + hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)standard_metadata.enq_qdepth; } @name(".int_set_header_0003_i2") action _int_set_header_0003_i2_0() { hdr.int_hop_latency_header.setValid(); - hdr.int_hop_latency_header.hop_latency = (bit<31>)meta.queueing_metadata.deq_timedelta; + hdr.int_hop_latency_header.hop_latency = (bit<31>)standard_metadata.deq_timedelta; } @name(".int_set_header_0003_i3") action _int_set_header_0003_i3_0() { hdr.int_q_occupancy_header.setValid(); hdr.int_q_occupancy_header.q_occupancy1 = 7w0; - hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)meta.queueing_metadata.enq_qdepth; + hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)standard_metadata.enq_qdepth; hdr.int_hop_latency_header.setValid(); - hdr.int_hop_latency_header.hop_latency = (bit<31>)meta.queueing_metadata.deq_timedelta; + hdr.int_hop_latency_header.hop_latency = (bit<31>)standard_metadata.deq_timedelta; } @name(".int_set_header_0003_i4") action _int_set_header_0003_i4_0() { hdr.int_ingress_port_id_header.setValid(); @@ -1989,14 +1985,14 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @name(".int_set_header_0003_i5") action _int_set_header_0003_i5_0() { hdr.int_q_occupancy_header.setValid(); hdr.int_q_occupancy_header.q_occupancy1 = 7w0; - hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)meta.queueing_metadata.enq_qdepth; + hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)standard_metadata.enq_qdepth; hdr.int_ingress_port_id_header.setValid(); hdr.int_ingress_port_id_header.ingress_port_id_1 = 15w0; hdr.int_ingress_port_id_header.ingress_port_id_0 = meta.ingress_metadata.ifindex; } @name(".int_set_header_0003_i6") action _int_set_header_0003_i6_0() { hdr.int_hop_latency_header.setValid(); - hdr.int_hop_latency_header.hop_latency = (bit<31>)meta.queueing_metadata.deq_timedelta; + hdr.int_hop_latency_header.hop_latency = (bit<31>)standard_metadata.deq_timedelta; hdr.int_ingress_port_id_header.setValid(); hdr.int_ingress_port_id_header.ingress_port_id_1 = 15w0; hdr.int_ingress_port_id_header.ingress_port_id_0 = meta.ingress_metadata.ifindex; @@ -2004,9 +2000,9 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @name(".int_set_header_0003_i7") action _int_set_header_0003_i7_0() { hdr.int_q_occupancy_header.setValid(); hdr.int_q_occupancy_header.q_occupancy1 = 7w0; - hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)meta.queueing_metadata.enq_qdepth; + hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)standard_metadata.enq_qdepth; hdr.int_hop_latency_header.setValid(); - hdr.int_hop_latency_header.hop_latency = (bit<31>)meta.queueing_metadata.deq_timedelta; + hdr.int_hop_latency_header.hop_latency = (bit<31>)standard_metadata.deq_timedelta; hdr.int_ingress_port_id_header.setValid(); hdr.int_ingress_port_id_header.ingress_port_id_1 = 15w0; hdr.int_ingress_port_id_header.ingress_port_id_0 = meta.ingress_metadata.ifindex; @@ -2018,22 +2014,22 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @name(".int_set_header_0003_i9") action _int_set_header_0003_i9_0() { hdr.int_q_occupancy_header.setValid(); hdr.int_q_occupancy_header.q_occupancy1 = 7w0; - hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)meta.queueing_metadata.enq_qdepth; + hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)standard_metadata.enq_qdepth; hdr.int_switch_id_header.setValid(); hdr.int_switch_id_header.switch_id = (bit<31>)meta.int_metadata.switch_id; } @name(".int_set_header_0003_i10") action _int_set_header_0003_i10_0() { hdr.int_hop_latency_header.setValid(); - hdr.int_hop_latency_header.hop_latency = (bit<31>)meta.queueing_metadata.deq_timedelta; + hdr.int_hop_latency_header.hop_latency = (bit<31>)standard_metadata.deq_timedelta; hdr.int_switch_id_header.setValid(); hdr.int_switch_id_header.switch_id = (bit<31>)meta.int_metadata.switch_id; } @name(".int_set_header_0003_i11") action _int_set_header_0003_i11_0() { hdr.int_q_occupancy_header.setValid(); hdr.int_q_occupancy_header.q_occupancy1 = 7w0; - hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)meta.queueing_metadata.enq_qdepth; + hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)standard_metadata.enq_qdepth; hdr.int_hop_latency_header.setValid(); - hdr.int_hop_latency_header.hop_latency = (bit<31>)meta.queueing_metadata.deq_timedelta; + hdr.int_hop_latency_header.hop_latency = (bit<31>)standard_metadata.deq_timedelta; hdr.int_switch_id_header.setValid(); hdr.int_switch_id_header.switch_id = (bit<31>)meta.int_metadata.switch_id; } @@ -2047,7 +2043,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @name(".int_set_header_0003_i13") action _int_set_header_0003_i13_0() { hdr.int_q_occupancy_header.setValid(); hdr.int_q_occupancy_header.q_occupancy1 = 7w0; - hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)meta.queueing_metadata.enq_qdepth; + hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)standard_metadata.enq_qdepth; hdr.int_ingress_port_id_header.setValid(); hdr.int_ingress_port_id_header.ingress_port_id_1 = 15w0; hdr.int_ingress_port_id_header.ingress_port_id_0 = meta.ingress_metadata.ifindex; @@ -2056,7 +2052,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t } @name(".int_set_header_0003_i14") action _int_set_header_0003_i14_0() { hdr.int_hop_latency_header.setValid(); - hdr.int_hop_latency_header.hop_latency = (bit<31>)meta.queueing_metadata.deq_timedelta; + hdr.int_hop_latency_header.hop_latency = (bit<31>)standard_metadata.deq_timedelta; hdr.int_ingress_port_id_header.setValid(); hdr.int_ingress_port_id_header.ingress_port_id_1 = 15w0; hdr.int_ingress_port_id_header.ingress_port_id_0 = meta.ingress_metadata.ifindex; @@ -2066,9 +2062,9 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @name(".int_set_header_0003_i15") action _int_set_header_0003_i15_0() { hdr.int_q_occupancy_header.setValid(); hdr.int_q_occupancy_header.q_occupancy1 = 7w0; - hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)meta.queueing_metadata.enq_qdepth; + hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)standard_metadata.enq_qdepth; hdr.int_hop_latency_header.setValid(); - hdr.int_hop_latency_header.hop_latency = (bit<31>)meta.queueing_metadata.deq_timedelta; + hdr.int_hop_latency_header.hop_latency = (bit<31>)standard_metadata.deq_timedelta; hdr.int_ingress_port_id_header.setValid(); hdr.int_ingress_port_id_header.ingress_port_id_1 = 15w0; hdr.int_ingress_port_id_header.ingress_port_id_0 = meta.ingress_metadata.ifindex; @@ -3063,7 +3059,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t if (standard_metadata.instance_type != 32w0 && standard_metadata.instance_type != 32w5) mirror_0.apply(); else - if (meta.intrinsic_metadata.egress_rid != 16w0) { + if (standard_metadata.egress_rid != 16w0) { _rid.apply(); _replica_type.apply(); } @@ -3498,7 +3494,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ default_action = NoAction_154(); } @name(".set_config_parameters") action _set_config_parameters_0(bit<8> enable_dod) { - meta.i2e_metadata.ingress_tstamp = (bit<32>)meta.intrinsic_metadata.ingress_global_timestamp; + meta.i2e_metadata.ingress_tstamp = (bit<32>)standard_metadata.ingress_global_timestamp; meta.ingress_metadata.ingress_port = standard_metadata.ingress_port; meta.l2_metadata.same_if_check = meta.ingress_metadata.ifindex; standard_metadata.egress_spec = 9w511; @@ -3787,12 +3783,12 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".non_ip_tunnel_lookup_miss") action _non_ip_tunnel_lookup_miss_0() { meta.l2_metadata.lkp_mac_sa = hdr.ethernet.srcAddr; meta.l2_metadata.lkp_mac_da = hdr.ethernet.dstAddr; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; } @name(".non_ip_tunnel_lookup_miss") action _non_ip_tunnel_lookup_miss_2() { meta.l2_metadata.lkp_mac_sa = hdr.ethernet.srcAddr; meta.l2_metadata.lkp_mac_da = hdr.ethernet.dstAddr; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; } @name(".ipv4_tunnel_lookup_miss") action _ipv4_tunnel_lookup_miss_0() { meta.l2_metadata.lkp_mac_sa = hdr.ethernet.srcAddr; @@ -3803,7 +3799,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta.l3_metadata.lkp_ip_ttl = hdr.ipv4.ttl; meta.l3_metadata.lkp_l4_sport = meta.l3_metadata.lkp_outer_l4_sport; meta.l3_metadata.lkp_l4_dport = meta.l3_metadata.lkp_outer_l4_dport; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; } @name(".ipv4_tunnel_lookup_miss") action _ipv4_tunnel_lookup_miss_2() { meta.l2_metadata.lkp_mac_sa = hdr.ethernet.srcAddr; @@ -3814,7 +3810,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta.l3_metadata.lkp_ip_ttl = hdr.ipv4.ttl; meta.l3_metadata.lkp_l4_sport = meta.l3_metadata.lkp_outer_l4_sport; meta.l3_metadata.lkp_l4_dport = meta.l3_metadata.lkp_outer_l4_dport; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; } @name(".ipv6_tunnel_lookup_miss") action _ipv6_tunnel_lookup_miss_0() { meta.l2_metadata.lkp_mac_sa = hdr.ethernet.srcAddr; @@ -3825,7 +3821,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta.l3_metadata.lkp_ip_ttl = hdr.ipv6.hopLimit; meta.l3_metadata.lkp_l4_sport = meta.l3_metadata.lkp_outer_l4_sport; meta.l3_metadata.lkp_l4_dport = meta.l3_metadata.lkp_outer_l4_dport; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; } @name(".ipv6_tunnel_lookup_miss") action _ipv6_tunnel_lookup_miss_2() { meta.l2_metadata.lkp_mac_sa = hdr.ethernet.srcAddr; @@ -3836,7 +3832,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta.l3_metadata.lkp_ip_ttl = hdr.ipv6.hopLimit; meta.l3_metadata.lkp_l4_sport = meta.l3_metadata.lkp_outer_l4_sport; meta.l3_metadata.lkp_l4_dport = meta.l3_metadata.lkp_outer_l4_dport; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; } @name(".outer_rmac") table _outer_rmac { actions = { @@ -3928,7 +3924,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } @name(".switch_fabric_multicast_packet") action _switch_fabric_multicast_packet() { meta.fabric_metadata.fabric_header_present = 1w1; - meta.intrinsic_metadata.mcast_grp = hdr.fabric_header.dstPortOrGroup; + standard_metadata.mcast_grp = hdr.fabric_header.dstPortOrGroup; } @name(".terminate_fabric_multicast_packet") action _terminate_fabric_multicast_packet() { meta.tunnel_metadata.tunnel_terminate = hdr.fabric_header_multicast.tunnelTerminate; @@ -3936,7 +3932,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta.l3_metadata.nexthop_index = 16w0; meta.l3_metadata.routed = hdr.fabric_header_multicast.routed; meta.l3_metadata.outer_routed = hdr.fabric_header_multicast.outerRouted; - meta.intrinsic_metadata.mcast_grp = hdr.fabric_header_multicast.mcastGrp; + standard_metadata.mcast_grp = hdr.fabric_header_multicast.mcastGrp; hdr.ethernet.etherType = hdr.fabric_payload_header.etherType; hdr.fabric_header.setInvalid(); hdr.fabric_header_multicast.setInvalid(); @@ -4015,32 +4011,32 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".on_miss") action _on_miss_1() { } @name(".outer_multicast_route_s_g_hit") action _outer_multicast_route_s_g_hit(bit<16> mc_index, bit<16> mcast_rpf_group) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.multicast_metadata.outer_mcast_route_hit = 1w1; meta.multicast_metadata.mcast_rpf_group = mcast_rpf_group ^ meta.multicast_metadata.bd_mrpf_group; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_bridge_s_g_hit") action _outer_multicast_bridge_s_g_hit(bit<16> mc_index) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.tunnel_metadata.tunnel_terminate = 1w1; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_route_sm_star_g_hit") action _outer_multicast_route_sm_star_g_hit(bit<16> mc_index, bit<16> mcast_rpf_group) { meta.multicast_metadata.outer_mcast_mode = 2w1; - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.multicast_metadata.outer_mcast_route_hit = 1w1; meta.multicast_metadata.mcast_rpf_group = mcast_rpf_group ^ meta.multicast_metadata.bd_mrpf_group; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_route_bidir_star_g_hit") action _outer_multicast_route_bidir_star_g_hit(bit<16> mc_index, bit<16> mcast_rpf_group) { meta.multicast_metadata.outer_mcast_mode = 2w2; - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.multicast_metadata.outer_mcast_route_hit = 1w1; meta.multicast_metadata.mcast_rpf_group = mcast_rpf_group | meta.multicast_metadata.bd_mrpf_group; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_bridge_star_g_hit") action _outer_multicast_bridge_star_g_hit(bit<16> mc_index) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.tunnel_metadata.tunnel_terminate = 1w1; meta.fabric_metadata.dst_device = 8w127; } @@ -4084,32 +4080,32 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".on_miss") action _on_miss_2() { } @name(".outer_multicast_route_s_g_hit") action _outer_multicast_route_s_g_hit_0(bit<16> mc_index, bit<16> mcast_rpf_group) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.multicast_metadata.outer_mcast_route_hit = 1w1; meta.multicast_metadata.mcast_rpf_group = mcast_rpf_group ^ meta.multicast_metadata.bd_mrpf_group; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_bridge_s_g_hit") action _outer_multicast_bridge_s_g_hit_0(bit<16> mc_index) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.tunnel_metadata.tunnel_terminate = 1w1; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_route_sm_star_g_hit") action _outer_multicast_route_sm_star_g_hit_0(bit<16> mc_index, bit<16> mcast_rpf_group) { meta.multicast_metadata.outer_mcast_mode = 2w1; - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.multicast_metadata.outer_mcast_route_hit = 1w1; meta.multicast_metadata.mcast_rpf_group = mcast_rpf_group ^ meta.multicast_metadata.bd_mrpf_group; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_route_bidir_star_g_hit") action _outer_multicast_route_bidir_star_g_hit_0(bit<16> mc_index, bit<16> mcast_rpf_group) { meta.multicast_metadata.outer_mcast_mode = 2w2; - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.multicast_metadata.outer_mcast_route_hit = 1w1; meta.multicast_metadata.mcast_rpf_group = mcast_rpf_group | meta.multicast_metadata.bd_mrpf_group; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_bridge_star_g_hit") action _outer_multicast_bridge_star_g_hit_0(bit<16> mc_index) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.tunnel_metadata.tunnel_terminate = 1w1; meta.fabric_metadata.dst_device = 8w127; } @@ -4418,7 +4414,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta.l2_metadata.same_if_check = meta.l2_metadata.same_if_check ^ ifindex; } @name(".dmac_multicast_hit") action _dmac_multicast_hit_0(bit<16> mc_index) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.fabric_metadata.dst_device = 8w127; } @name(".dmac_miss") action _dmac_miss_0() { @@ -4494,7 +4490,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } @name(".acl_mirror") action _acl_mirror_1(bit<32> session_id, bit<14> acl_stats_index, bit<16> acl_meter_index) { meta.i2e_metadata.mirror_session_id = (bit<16>)session_id; - meta.i2e_metadata.ingress_tstamp = (bit<32>)meta.intrinsic_metadata.ingress_global_timestamp; + meta.i2e_metadata.ingress_tstamp = (bit<32>)standard_metadata.ingress_global_timestamp; clone3, bit<16>>>(CloneType.I2E, session_id, { meta.i2e_metadata.ingress_tstamp, meta.i2e_metadata.mirror_session_id }); meta.acl_metadata.acl_stats_index = acl_stats_index; meta.meter_metadata.meter_index = acl_meter_index; @@ -4569,14 +4565,14 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } @name(".acl_mirror") action _acl_mirror_2(bit<32> session_id, bit<14> acl_stats_index, bit<16> acl_meter_index) { meta.i2e_metadata.mirror_session_id = (bit<16>)session_id; - meta.i2e_metadata.ingress_tstamp = (bit<32>)meta.intrinsic_metadata.ingress_global_timestamp; + meta.i2e_metadata.ingress_tstamp = (bit<32>)standard_metadata.ingress_global_timestamp; clone3, bit<16>>>(CloneType.I2E, session_id, { meta.i2e_metadata.ingress_tstamp, meta.i2e_metadata.mirror_session_id }); meta.acl_metadata.acl_stats_index = acl_stats_index; meta.meter_metadata.meter_index = acl_meter_index; } @name(".acl_mirror") action _acl_mirror_4(bit<32> session_id, bit<14> acl_stats_index, bit<16> acl_meter_index) { meta.i2e_metadata.mirror_session_id = (bit<16>)session_id; - meta.i2e_metadata.ingress_tstamp = (bit<32>)meta.intrinsic_metadata.ingress_global_timestamp; + meta.i2e_metadata.ingress_tstamp = (bit<32>)standard_metadata.ingress_global_timestamp; clone3, bit<16>>>(CloneType.I2E, session_id, { meta.i2e_metadata.ingress_tstamp, meta.i2e_metadata.mirror_session_id }); meta.acl_metadata.acl_stats_index = acl_stats_index; meta.meter_metadata.meter_index = acl_meter_index; @@ -5340,20 +5336,20 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta.l3_metadata.nexthop_index = meta.l2_metadata.l2_nexthop; meta.nexthop_metadata.nexthop_type = meta.l2_metadata.l2_nexthop_type; meta.ingress_metadata.egress_ifindex = 16w0; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; meta.fabric_metadata.dst_device = 8w0; } @name(".set_fib_redirect_action") action _set_fib_redirect_action_0() { meta.l3_metadata.nexthop_index = meta.l3_metadata.fib_nexthop; meta.nexthop_metadata.nexthop_type = meta.l3_metadata.fib_nexthop_type; meta.l3_metadata.routed = 1w1; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; meta.fabric_metadata.reason_code = 16w0x217; meta.fabric_metadata.dst_device = 8w0; } @name(".set_cpu_redirect_action") action _set_cpu_redirect_action_0() { meta.l3_metadata.routed = 1w0; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; standard_metadata.egress_spec = 9w64; meta.ingress_metadata.egress_ifindex = 16w0; meta.fabric_metadata.dst_device = 8w0; @@ -5362,7 +5358,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta.l3_metadata.nexthop_index = meta.acl_metadata.acl_nexthop; meta.nexthop_metadata.nexthop_type = meta.acl_metadata.acl_nexthop_type; meta.ingress_metadata.egress_ifindex = 16w0; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; meta.fabric_metadata.dst_device = 8w0; } @name(".set_racl_redirect_action") action _set_racl_redirect_action_0() { @@ -5370,20 +5366,20 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta.nexthop_metadata.nexthop_type = meta.acl_metadata.racl_nexthop_type; meta.l3_metadata.routed = 1w1; meta.ingress_metadata.egress_ifindex = 16w0; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; meta.fabric_metadata.dst_device = 8w0; } @name(".set_multicast_route_action") action _set_multicast_route_action_0() { meta.fabric_metadata.dst_device = 8w127; meta.ingress_metadata.egress_ifindex = 16w0; - meta.intrinsic_metadata.mcast_grp = meta.multicast_metadata.multicast_route_mc_index; + standard_metadata.mcast_grp = meta.multicast_metadata.multicast_route_mc_index; meta.l3_metadata.routed = 1w1; meta.l3_metadata.same_bd_check = 16w0xffff; } @name(".set_multicast_bridge_action") action _set_multicast_bridge_action_0() { meta.fabric_metadata.dst_device = 8w127; meta.ingress_metadata.egress_ifindex = 16w0; - meta.intrinsic_metadata.mcast_grp = meta.multicast_metadata.multicast_bridge_mc_index; + standard_metadata.mcast_grp = meta.multicast_metadata.multicast_bridge_mc_index; } @name(".set_multicast_flood") action _set_multicast_flood_0() { meta.fabric_metadata.dst_device = 8w127; @@ -5437,7 +5433,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta.tunnel_metadata.tunnel_if_check = meta.tunnel_metadata.tunnel_terminate ^ tunnel; } @name(".set_ecmp_nexthop_details_for_post_routed_flood") action _set_ecmp_nexthop_details_for_post_routed_flood_0(bit<16> bd, bit<16> uuc_mc_index, bit<16> nhop_index) { - meta.intrinsic_metadata.mcast_grp = uuc_mc_index; + standard_metadata.mcast_grp = uuc_mc_index; meta.l3_metadata.nexthop_index = nhop_index; meta.ingress_metadata.egress_ifindex = 16w0; meta.l3_metadata.same_bd_check = meta.ingress_metadata.bd ^ bd; @@ -5450,7 +5446,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta.tunnel_metadata.tunnel_if_check = meta.tunnel_metadata.tunnel_terminate ^ tunnel; } @name(".set_nexthop_details_for_post_routed_flood") action _set_nexthop_details_for_post_routed_flood_0(bit<16> bd, bit<16> uuc_mc_index) { - meta.intrinsic_metadata.mcast_grp = uuc_mc_index; + standard_metadata.mcast_grp = uuc_mc_index; meta.ingress_metadata.egress_ifindex = 16w0; meta.l3_metadata.same_bd_check = meta.ingress_metadata.bd ^ bd; meta.fabric_metadata.dst_device = 8w127; @@ -5486,7 +5482,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".nop") action _nop_105() { } @name(".set_bd_flood_mc_index") action _set_bd_flood_mc_index_0(bit<16> mc_index) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; } @name(".bd_flood") table _bd_flood { actions = { @@ -5550,7 +5546,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ standard_metadata.egress_spec = port; } @name(".set_fabric_multicast") action _set_fabric_multicast_0(bit<8> fabric_mgid) { - meta.multicast_metadata.mcast_grp = meta.intrinsic_metadata.mcast_grp; + meta.multicast_metadata.mcast_grp = standard_metadata.mcast_grp; } @name(".fabric_lag") table _fabric_lag { actions = { diff --git a/testdata/p4_14_samples_outputs/switch_20160512/switch-midend.p4 b/testdata/p4_14_samples_outputs/switch_20160512/switch-midend.p4 index f474a7ddfc4..6a75c842736 100644 --- a/testdata/p4_14_samples_outputs/switch_20160512/switch-midend.p4 +++ b/testdata/p4_14_samples_outputs/switch_20160512/switch-midend.p4 @@ -697,114 +697,104 @@ struct metadata { bit<16> _int_metadata_instruction_cnt53; bit<1> _int_metadata_i2e_sink54; bit<1> _int_metadata_i2e_source55; - bit<1> _intrinsic_metadata_resubmit_flag56; - bit<48> _intrinsic_metadata_ingress_global_timestamp57; - bit<16> _intrinsic_metadata_mcast_grp58; - bit<16> _intrinsic_metadata_egress_rid59; - bit<32> _intrinsic_metadata_lf_field_list60; - bit<3> _intrinsic_metadata_priority61; - bit<32> _ipv4_metadata_lkp_ipv4_sa62; - bit<32> _ipv4_metadata_lkp_ipv4_da63; - bit<1> _ipv4_metadata_ipv4_unicast_enabled64; - bit<2> _ipv4_metadata_ipv4_urpf_mode65; - bit<128> _ipv6_metadata_lkp_ipv6_sa66; - bit<128> _ipv6_metadata_lkp_ipv6_da67; - bit<1> _ipv6_metadata_ipv6_unicast_enabled68; - bit<1> _ipv6_metadata_ipv6_src_is_link_local69; - bit<2> _ipv6_metadata_ipv6_urpf_mode70; - bit<48> _l2_metadata_lkp_mac_sa71; - bit<48> _l2_metadata_lkp_mac_da72; - bit<3> _l2_metadata_lkp_pkt_type73; - bit<16> _l2_metadata_lkp_mac_type74; - bit<16> _l2_metadata_l2_nexthop75; - bit<1> _l2_metadata_l2_nexthop_type76; - bit<1> _l2_metadata_l2_redirect77; - bit<1> _l2_metadata_l2_src_miss78; - bit<16> _l2_metadata_l2_src_move79; - bit<10> _l2_metadata_stp_group80; - bit<3> _l2_metadata_stp_state81; - bit<16> _l2_metadata_bd_stats_idx82; - bit<1> _l2_metadata_learning_enabled83; - bit<1> _l2_metadata_port_vlan_mapping_miss84; - bit<16> _l2_metadata_same_if_check85; - bit<2> _l3_metadata_lkp_ip_type86; - bit<4> _l3_metadata_lkp_ip_version87; - bit<8> _l3_metadata_lkp_ip_proto88; - bit<8> _l3_metadata_lkp_ip_tc89; - bit<8> _l3_metadata_lkp_ip_ttl90; - bit<16> _l3_metadata_lkp_l4_sport91; - bit<16> _l3_metadata_lkp_l4_dport92; - bit<16> _l3_metadata_lkp_outer_l4_sport93; - bit<16> _l3_metadata_lkp_outer_l4_dport94; - bit<16> _l3_metadata_vrf95; - bit<10> _l3_metadata_rmac_group96; - bit<1> _l3_metadata_rmac_hit97; - bit<2> _l3_metadata_urpf_mode98; - bit<1> _l3_metadata_urpf_hit99; - bit<1> _l3_metadata_urpf_check_fail100; - bit<16> _l3_metadata_urpf_bd_group101; - bit<1> _l3_metadata_fib_hit102; - bit<16> _l3_metadata_fib_nexthop103; - bit<1> _l3_metadata_fib_nexthop_type104; - bit<16> _l3_metadata_same_bd_check105; - bit<16> _l3_metadata_nexthop_index106; - bit<1> _l3_metadata_routed107; - bit<1> _l3_metadata_outer_routed108; - bit<8> _l3_metadata_mtu_index109; - bit<1> _l3_metadata_l3_copy110; - bit<16> _l3_metadata_l3_mtu_check111; - bit<2> _meter_metadata_meter_color112; - bit<16> _meter_metadata_meter_index113; - bit<1> _multicast_metadata_ipv4_mcast_key_type114; - bit<16> _multicast_metadata_ipv4_mcast_key115; - bit<1> _multicast_metadata_ipv6_mcast_key_type116; - bit<16> _multicast_metadata_ipv6_mcast_key117; - bit<1> _multicast_metadata_outer_mcast_route_hit118; - bit<2> _multicast_metadata_outer_mcast_mode119; - bit<1> _multicast_metadata_mcast_route_hit120; - bit<1> _multicast_metadata_mcast_bridge_hit121; - bit<1> _multicast_metadata_ipv4_multicast_enabled122; - bit<1> _multicast_metadata_ipv6_multicast_enabled123; - bit<1> _multicast_metadata_igmp_snooping_enabled124; - bit<1> _multicast_metadata_mld_snooping_enabled125; - bit<16> _multicast_metadata_bd_mrpf_group126; - bit<16> _multicast_metadata_mcast_rpf_group127; - bit<2> _multicast_metadata_mcast_mode128; - bit<16> _multicast_metadata_multicast_route_mc_index129; - bit<16> _multicast_metadata_multicast_bridge_mc_index130; - bit<1> _multicast_metadata_inner_replica131; - bit<1> _multicast_metadata_replica132; - bit<16> _multicast_metadata_mcast_grp133; - bit<1> _nexthop_metadata_nexthop_type134; - bit<8> _qos_metadata_outer_dscp135; - bit<3> _qos_metadata_marked_cos136; - bit<8> _qos_metadata_marked_dscp137; - bit<3> _qos_metadata_marked_exp138; - bit<48> _queueing_metadata_enq_timestamp139; - bit<16> _queueing_metadata_enq_qdepth140; - bit<32> _queueing_metadata_deq_timedelta141; - bit<16> _queueing_metadata_deq_qdepth142; - bit<1> _security_metadata_storm_control_color143; - bit<1> _security_metadata_ipsg_enabled144; - bit<1> _security_metadata_ipsg_check_fail145; - bit<16> _sflow_metadata_sflow_session_id146; - bit<5> _tunnel_metadata_ingress_tunnel_type147; - bit<24> _tunnel_metadata_tunnel_vni148; - bit<1> _tunnel_metadata_mpls_enabled149; - bit<20> _tunnel_metadata_mpls_label150; - bit<3> _tunnel_metadata_mpls_exp151; - bit<8> _tunnel_metadata_mpls_ttl152; - bit<5> _tunnel_metadata_egress_tunnel_type153; - bit<14> _tunnel_metadata_tunnel_index154; - bit<9> _tunnel_metadata_tunnel_src_index155; - bit<9> _tunnel_metadata_tunnel_smac_index156; - bit<14> _tunnel_metadata_tunnel_dst_index157; - bit<14> _tunnel_metadata_tunnel_dmac_index158; - bit<24> _tunnel_metadata_vnid159; - bit<1> _tunnel_metadata_tunnel_terminate160; - bit<1> _tunnel_metadata_tunnel_if_check161; - bit<4> _tunnel_metadata_egress_header_count162; - bit<8> _tunnel_metadata_inner_ip_proto163; + bit<32> _ipv4_metadata_lkp_ipv4_sa56; + bit<32> _ipv4_metadata_lkp_ipv4_da57; + bit<1> _ipv4_metadata_ipv4_unicast_enabled58; + bit<2> _ipv4_metadata_ipv4_urpf_mode59; + bit<128> _ipv6_metadata_lkp_ipv6_sa60; + bit<128> _ipv6_metadata_lkp_ipv6_da61; + bit<1> _ipv6_metadata_ipv6_unicast_enabled62; + bit<1> _ipv6_metadata_ipv6_src_is_link_local63; + bit<2> _ipv6_metadata_ipv6_urpf_mode64; + bit<48> _l2_metadata_lkp_mac_sa65; + bit<48> _l2_metadata_lkp_mac_da66; + bit<3> _l2_metadata_lkp_pkt_type67; + bit<16> _l2_metadata_lkp_mac_type68; + bit<16> _l2_metadata_l2_nexthop69; + bit<1> _l2_metadata_l2_nexthop_type70; + bit<1> _l2_metadata_l2_redirect71; + bit<1> _l2_metadata_l2_src_miss72; + bit<16> _l2_metadata_l2_src_move73; + bit<10> _l2_metadata_stp_group74; + bit<3> _l2_metadata_stp_state75; + bit<16> _l2_metadata_bd_stats_idx76; + bit<1> _l2_metadata_learning_enabled77; + bit<1> _l2_metadata_port_vlan_mapping_miss78; + bit<16> _l2_metadata_same_if_check79; + bit<2> _l3_metadata_lkp_ip_type80; + bit<4> _l3_metadata_lkp_ip_version81; + bit<8> _l3_metadata_lkp_ip_proto82; + bit<8> _l3_metadata_lkp_ip_tc83; + bit<8> _l3_metadata_lkp_ip_ttl84; + bit<16> _l3_metadata_lkp_l4_sport85; + bit<16> _l3_metadata_lkp_l4_dport86; + bit<16> _l3_metadata_lkp_outer_l4_sport87; + bit<16> _l3_metadata_lkp_outer_l4_dport88; + bit<16> _l3_metadata_vrf89; + bit<10> _l3_metadata_rmac_group90; + bit<1> _l3_metadata_rmac_hit91; + bit<2> _l3_metadata_urpf_mode92; + bit<1> _l3_metadata_urpf_hit93; + bit<1> _l3_metadata_urpf_check_fail94; + bit<16> _l3_metadata_urpf_bd_group95; + bit<1> _l3_metadata_fib_hit96; + bit<16> _l3_metadata_fib_nexthop97; + bit<1> _l3_metadata_fib_nexthop_type98; + bit<16> _l3_metadata_same_bd_check99; + bit<16> _l3_metadata_nexthop_index100; + bit<1> _l3_metadata_routed101; + bit<1> _l3_metadata_outer_routed102; + bit<8> _l3_metadata_mtu_index103; + bit<1> _l3_metadata_l3_copy104; + bit<16> _l3_metadata_l3_mtu_check105; + bit<2> _meter_metadata_meter_color106; + bit<16> _meter_metadata_meter_index107; + bit<1> _multicast_metadata_ipv4_mcast_key_type108; + bit<16> _multicast_metadata_ipv4_mcast_key109; + bit<1> _multicast_metadata_ipv6_mcast_key_type110; + bit<16> _multicast_metadata_ipv6_mcast_key111; + bit<1> _multicast_metadata_outer_mcast_route_hit112; + bit<2> _multicast_metadata_outer_mcast_mode113; + bit<1> _multicast_metadata_mcast_route_hit114; + bit<1> _multicast_metadata_mcast_bridge_hit115; + bit<1> _multicast_metadata_ipv4_multicast_enabled116; + bit<1> _multicast_metadata_ipv6_multicast_enabled117; + bit<1> _multicast_metadata_igmp_snooping_enabled118; + bit<1> _multicast_metadata_mld_snooping_enabled119; + bit<16> _multicast_metadata_bd_mrpf_group120; + bit<16> _multicast_metadata_mcast_rpf_group121; + bit<2> _multicast_metadata_mcast_mode122; + bit<16> _multicast_metadata_multicast_route_mc_index123; + bit<16> _multicast_metadata_multicast_bridge_mc_index124; + bit<1> _multicast_metadata_inner_replica125; + bit<1> _multicast_metadata_replica126; + bit<16> _multicast_metadata_mcast_grp127; + bit<1> _nexthop_metadata_nexthop_type128; + bit<8> _qos_metadata_outer_dscp129; + bit<3> _qos_metadata_marked_cos130; + bit<8> _qos_metadata_marked_dscp131; + bit<3> _qos_metadata_marked_exp132; + bit<1> _security_metadata_storm_control_color133; + bit<1> _security_metadata_ipsg_enabled134; + bit<1> _security_metadata_ipsg_check_fail135; + bit<16> _sflow_metadata_sflow_session_id136; + bit<5> _tunnel_metadata_ingress_tunnel_type137; + bit<24> _tunnel_metadata_tunnel_vni138; + bit<1> _tunnel_metadata_mpls_enabled139; + bit<20> _tunnel_metadata_mpls_label140; + bit<3> _tunnel_metadata_mpls_exp141; + bit<8> _tunnel_metadata_mpls_ttl142; + bit<5> _tunnel_metadata_egress_tunnel_type143; + bit<14> _tunnel_metadata_tunnel_index144; + bit<9> _tunnel_metadata_tunnel_src_index145; + bit<9> _tunnel_metadata_tunnel_smac_index146; + bit<14> _tunnel_metadata_tunnel_dst_index147; + bit<14> _tunnel_metadata_tunnel_dmac_index148; + bit<24> _tunnel_metadata_vnid149; + bit<1> _tunnel_metadata_tunnel_terminate150; + bit<1> _tunnel_metadata_tunnel_if_check151; + bit<4> _tunnel_metadata_egress_header_count152; + bit<8> _tunnel_metadata_inner_ip_proto153; } struct headers { @@ -940,7 +930,7 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout transition parse_set_prio_med; } @name(".parse_eompls") state parse_eompls { - meta._tunnel_metadata_ingress_tunnel_type147 = 5w6; + meta._tunnel_metadata_ingress_tunnel_type137 = 5w6; transition parse_inner_ethernet; } @name(".parse_erspan_t3") state parse_erspan_t3 { @@ -1016,8 +1006,8 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout } @name(".parse_geneve") state parse_geneve { packet.extract(hdr.genv); - meta._tunnel_metadata_tunnel_vni148 = hdr.genv.vni; - meta._tunnel_metadata_ingress_tunnel_type147 = 5w4; + meta._tunnel_metadata_tunnel_vni138 = hdr.genv.vni; + meta._tunnel_metadata_ingress_tunnel_type137 = 5w4; transition select(hdr.genv.ver, hdr.genv.optLen, hdr.genv.protoType) { (2w0x0, 6w0x0, 16w0x6558): parse_inner_ethernet; (2w0x0, 6w0x0, 16w0x800): parse_inner_ipv4; @@ -1041,16 +1031,16 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout } } @name(".parse_gre_ipv4") state parse_gre_ipv4 { - meta._tunnel_metadata_ingress_tunnel_type147 = 5w2; + meta._tunnel_metadata_ingress_tunnel_type137 = 5w2; transition parse_inner_ipv4; } @name(".parse_gre_ipv6") state parse_gre_ipv6 { - meta._tunnel_metadata_ingress_tunnel_type147 = 5w2; + meta._tunnel_metadata_ingress_tunnel_type137 = 5w2; transition parse_inner_ipv6; } @name(".parse_icmp") state parse_icmp { packet.extract(hdr.icmp); - meta._l3_metadata_lkp_outer_l4_sport93 = hdr.icmp.typeCode; + meta._l3_metadata_lkp_outer_l4_sport87 = hdr.icmp.typeCode; transition select(hdr.icmp.typeCode) { 16w0x8200 &&& 16w0xfe00: parse_set_prio_med; 16w0x8400 &&& 16w0xfc00: parse_set_prio_med; @@ -1060,8 +1050,8 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout } @name(".parse_inner_ethernet") state parse_inner_ethernet { packet.extract(hdr.inner_ethernet); - meta._l2_metadata_lkp_mac_sa71 = hdr.inner_ethernet.srcAddr; - meta._l2_metadata_lkp_mac_da72 = hdr.inner_ethernet.dstAddr; + meta._l2_metadata_lkp_mac_sa65 = hdr.inner_ethernet.srcAddr; + meta._l2_metadata_lkp_mac_da66 = hdr.inner_ethernet.dstAddr; transition select(hdr.inner_ethernet.etherType) { 16w0x800: parse_inner_ipv4; 16w0x86dd: parse_inner_ipv6; @@ -1070,15 +1060,15 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout } @name(".parse_inner_icmp") state parse_inner_icmp { packet.extract(hdr.inner_icmp); - meta._l3_metadata_lkp_l4_sport91 = hdr.inner_icmp.typeCode; + meta._l3_metadata_lkp_l4_sport85 = hdr.inner_icmp.typeCode; transition accept; } @name(".parse_inner_ipv4") state parse_inner_ipv4 { packet.extract(hdr.inner_ipv4); - meta._ipv4_metadata_lkp_ipv4_sa62 = hdr.inner_ipv4.srcAddr; - meta._ipv4_metadata_lkp_ipv4_da63 = hdr.inner_ipv4.dstAddr; - meta._l3_metadata_lkp_ip_proto88 = hdr.inner_ipv4.protocol; - meta._l3_metadata_lkp_ip_ttl90 = hdr.inner_ipv4.ttl; + meta._ipv4_metadata_lkp_ipv4_sa56 = hdr.inner_ipv4.srcAddr; + meta._ipv4_metadata_lkp_ipv4_da57 = hdr.inner_ipv4.dstAddr; + meta._l3_metadata_lkp_ip_proto82 = hdr.inner_ipv4.protocol; + meta._l3_metadata_lkp_ip_ttl84 = hdr.inner_ipv4.ttl; transition select(hdr.inner_ipv4.fragOffset, hdr.inner_ipv4.ihl, hdr.inner_ipv4.protocol) { (13w0x0, 4w0x5, 8w0x1): parse_inner_icmp; (13w0x0, 4w0x5, 8w0x6): parse_inner_tcp; @@ -1088,10 +1078,10 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout } @name(".parse_inner_ipv6") state parse_inner_ipv6 { packet.extract(hdr.inner_ipv6); - meta._ipv6_metadata_lkp_ipv6_sa66 = hdr.inner_ipv6.srcAddr; - meta._ipv6_metadata_lkp_ipv6_da67 = hdr.inner_ipv6.dstAddr; - meta._l3_metadata_lkp_ip_proto88 = hdr.inner_ipv6.nextHdr; - meta._l3_metadata_lkp_ip_ttl90 = hdr.inner_ipv6.hopLimit; + meta._ipv6_metadata_lkp_ipv6_sa60 = hdr.inner_ipv6.srcAddr; + meta._ipv6_metadata_lkp_ipv6_da61 = hdr.inner_ipv6.dstAddr; + meta._l3_metadata_lkp_ip_proto82 = hdr.inner_ipv6.nextHdr; + meta._l3_metadata_lkp_ip_ttl84 = hdr.inner_ipv6.hopLimit; transition select(hdr.inner_ipv6.nextHdr) { 8w58: parse_inner_icmp; 8w6: parse_inner_tcp; @@ -1101,14 +1091,14 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout } @name(".parse_inner_tcp") state parse_inner_tcp { packet.extract(hdr.inner_tcp); - meta._l3_metadata_lkp_l4_sport91 = hdr.inner_tcp.srcPort; - meta._l3_metadata_lkp_l4_dport92 = hdr.inner_tcp.dstPort; + meta._l3_metadata_lkp_l4_sport85 = hdr.inner_tcp.srcPort; + meta._l3_metadata_lkp_l4_dport86 = hdr.inner_tcp.dstPort; transition accept; } @name(".parse_inner_udp") state parse_inner_udp { packet.extract(hdr.inner_udp); - meta._l3_metadata_lkp_l4_sport91 = hdr.inner_udp.srcPort; - meta._l3_metadata_lkp_l4_dport92 = hdr.inner_udp.dstPort; + meta._l3_metadata_lkp_l4_sport85 = hdr.inner_udp.srcPort; + meta._l3_metadata_lkp_l4_dport86 = hdr.inner_udp.dstPort; transition accept; } @name(".parse_int_header") state parse_int_header { @@ -1146,7 +1136,7 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout } } @name(".parse_ipv4_in_ip") state parse_ipv4_in_ip { - meta._tunnel_metadata_ingress_tunnel_type147 = 5w3; + meta._tunnel_metadata_ingress_tunnel_type137 = 5w3; transition parse_inner_ipv4; } @name(".parse_ipv6") state parse_ipv6 { @@ -1166,7 +1156,7 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout } } @name(".parse_ipv6_in_ip") state parse_ipv6_in_ip { - meta._tunnel_metadata_ingress_tunnel_type147 = 5w3; + meta._tunnel_metadata_ingress_tunnel_type137 = 5w3; transition parse_inner_ipv6; } @name(".parse_llc_header") state parse_llc_header { @@ -1194,17 +1184,17 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout } } @name(".parse_mpls_inner_ipv4") state parse_mpls_inner_ipv4 { - meta._tunnel_metadata_ingress_tunnel_type147 = 5w9; + meta._tunnel_metadata_ingress_tunnel_type137 = 5w9; transition parse_inner_ipv4; } @name(".parse_mpls_inner_ipv6") state parse_mpls_inner_ipv6 { - meta._tunnel_metadata_ingress_tunnel_type147 = 5w9; + meta._tunnel_metadata_ingress_tunnel_type137 = 5w9; transition parse_inner_ipv6; } @name(".parse_nvgre") state parse_nvgre { packet.extract(hdr.nvgre); - meta._tunnel_metadata_ingress_tunnel_type147 = 5w5; - meta._tunnel_metadata_tunnel_vni148 = hdr.nvgre.tni; + meta._tunnel_metadata_ingress_tunnel_type137 = 5w5; + meta._tunnel_metadata_tunnel_vni138 = hdr.nvgre.tni; transition parse_inner_ethernet; } @name(".parse_qinq") state parse_qinq { @@ -1227,11 +1217,11 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout } } @name(".parse_set_prio_high") state parse_set_prio_high { - meta._intrinsic_metadata_priority61 = 3w5; + standard_metadata.priority = 3w5; transition accept; } @name(".parse_set_prio_med") state parse_set_prio_med { - meta._intrinsic_metadata_priority61 = 3w3; + standard_metadata.priority = 3w3; transition accept; } @name(".parse_sflow") state parse_sflow { @@ -1254,8 +1244,8 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout } @name(".parse_tcp") state parse_tcp { packet.extract(hdr.tcp); - meta._l3_metadata_lkp_outer_l4_sport93 = hdr.tcp.srcPort; - meta._l3_metadata_lkp_outer_l4_dport94 = hdr.tcp.dstPort; + meta._l3_metadata_lkp_outer_l4_sport87 = hdr.tcp.srcPort; + meta._l3_metadata_lkp_outer_l4_dport88 = hdr.tcp.dstPort; transition select(hdr.tcp.dstPort) { 16w179: parse_set_prio_med; 16w639: parse_set_prio_med; @@ -1264,8 +1254,8 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout } @name(".parse_udp") state parse_udp { packet.extract(hdr.udp); - meta._l3_metadata_lkp_outer_l4_sport93 = hdr.udp.srcPort; - meta._l3_metadata_lkp_outer_l4_dport94 = hdr.udp.dstPort; + meta._l3_metadata_lkp_outer_l4_sport87 = hdr.udp.srcPort; + meta._l3_metadata_lkp_outer_l4_dport88 = hdr.udp.dstPort; transition select(hdr.udp.dstPort) { 16w4789: parse_vxlan; 16w6081: parse_geneve; @@ -1295,14 +1285,14 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout } @name(".parse_vxlan") state parse_vxlan { packet.extract(hdr.vxlan); - meta._tunnel_metadata_ingress_tunnel_type147 = 5w1; - meta._tunnel_metadata_tunnel_vni148 = hdr.vxlan.vni; + meta._tunnel_metadata_ingress_tunnel_type137 = 5w1; + meta._tunnel_metadata_tunnel_vni138 = hdr.vxlan.vni; transition parse_inner_ethernet; } @name(".parse_vxlan_gpe") state parse_vxlan_gpe { packet.extract(hdr.vxlan_gpe); - meta._tunnel_metadata_ingress_tunnel_type147 = 5w12; - meta._tunnel_metadata_tunnel_vni148 = hdr.vxlan_gpe.vni; + meta._tunnel_metadata_ingress_tunnel_type137 = 5w12; + meta._tunnel_metadata_tunnel_vni138 = hdr.vxlan_gpe.vni; transition select(hdr.vxlan_gpe.flags, hdr.vxlan_gpe.next_proto) { (8w0x8 &&& 8w0x8, 8w0x5 &&& 8w0xff): parse_gpe_int_header; default: parse_inner_ethernet; @@ -1414,25 +1404,25 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t } @name(".egress_port_type_fabric") action egress_port_type_fabric(bit<16> ifindex) { meta._egress_metadata_port_type16 = 2w1; - meta._tunnel_metadata_egress_tunnel_type153 = 5w15; + meta._tunnel_metadata_egress_tunnel_type143 = 5w15; meta._egress_metadata_ifindex25 = ifindex; } @name(".egress_port_type_cpu") action egress_port_type_cpu(bit<16> ifindex) { meta._egress_metadata_port_type16 = 2w2; - meta._tunnel_metadata_egress_tunnel_type153 = 5w16; + meta._tunnel_metadata_egress_tunnel_type143 = 5w16; meta._egress_metadata_ifindex25 = ifindex; } @name(".nop") action nop() { } @name(".set_mirror_nhop") action set_mirror_nhop(bit<16> nhop_idx) { - meta._l3_metadata_nexthop_index106 = nhop_idx; + meta._l3_metadata_nexthop_index100 = nhop_idx; } @name(".set_mirror_bd") action set_mirror_bd(bit<16> bd) { meta._egress_metadata_bd19 = bd; } @name(".sflow_pkt_to_cpu") action sflow_pkt_to_cpu() { hdr.fabric_header_sflow.setValid(); - hdr.fabric_header_sflow.sflow_session_id = meta._sflow_metadata_sflow_session_id146; + hdr.fabric_header_sflow.sflow_session_id = meta._sflow_metadata_sflow_session_id136; } @name(".egress_port_mapping") table egress_port_mapping_0 { actions = { @@ -1470,23 +1460,23 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t } @name(".outer_replica_from_rid") action _outer_replica_from_rid_0(bit<16> bd, bit<14> tunnel_index, bit<5> tunnel_type, bit<4> header_count) { meta._egress_metadata_bd19 = bd; - meta._multicast_metadata_replica132 = 1w1; - meta._multicast_metadata_inner_replica131 = 1w0; - meta._egress_metadata_routed22 = meta._l3_metadata_outer_routed108; + meta._multicast_metadata_replica126 = 1w1; + meta._multicast_metadata_inner_replica125 = 1w0; + meta._egress_metadata_routed22 = meta._l3_metadata_outer_routed102; meta._egress_metadata_same_bd_check23 = bd ^ meta._ingress_metadata_outer_bd41; - meta._tunnel_metadata_tunnel_index154 = tunnel_index; - meta._tunnel_metadata_egress_tunnel_type153 = tunnel_type; - meta._tunnel_metadata_egress_header_count162 = header_count; + meta._tunnel_metadata_tunnel_index144 = tunnel_index; + meta._tunnel_metadata_egress_tunnel_type143 = tunnel_type; + meta._tunnel_metadata_egress_header_count152 = header_count; } @name(".inner_replica_from_rid") action _inner_replica_from_rid_0(bit<16> bd, bit<14> tunnel_index, bit<5> tunnel_type, bit<4> header_count) { meta._egress_metadata_bd19 = bd; - meta._multicast_metadata_replica132 = 1w1; - meta._multicast_metadata_inner_replica131 = 1w1; - meta._egress_metadata_routed22 = meta._l3_metadata_routed107; + meta._multicast_metadata_replica126 = 1w1; + meta._multicast_metadata_inner_replica125 = 1w1; + meta._egress_metadata_routed22 = meta._l3_metadata_routed101; meta._egress_metadata_same_bd_check23 = bd ^ meta._ingress_metadata_bd42; - meta._tunnel_metadata_tunnel_index154 = tunnel_index; - meta._tunnel_metadata_egress_tunnel_type153 = tunnel_type; - meta._tunnel_metadata_egress_header_count162 = header_count; + meta._tunnel_metadata_tunnel_index144 = tunnel_index; + meta._tunnel_metadata_egress_tunnel_type143 = tunnel_type; + meta._tunnel_metadata_egress_header_count152 = header_count; } @name(".replica_type") table _replica_type { actions = { @@ -1495,7 +1485,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @defaultonly NoAction_115(); } key = { - meta._multicast_metadata_replica132 : exact @name("multicast_metadata.replica") ; + meta._multicast_metadata_replica126 : exact @name("multicast_metadata.replica") ; meta._egress_metadata_same_bd_check23: ternary @name("egress_metadata.same_bd_check") ; } size = 512; @@ -1509,7 +1499,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @defaultonly NoAction_116(); } key = { - meta._intrinsic_metadata_egress_rid59: exact @name("intrinsic_metadata.egress_rid") ; + standard_metadata.egress_rid: exact @name("standard_metadata.egress_rid") ; } size = 1024; default_action = NoAction_116(); @@ -1815,7 +1805,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @defaultonly NoAction_119(); } key = { - meta._tunnel_metadata_ingress_tunnel_type147: exact @name("tunnel_metadata.ingress_tunnel_type") ; + meta._tunnel_metadata_ingress_tunnel_type137: exact @name("tunnel_metadata.ingress_tunnel_type") ; hdr.inner_ipv4.isValid() : exact @name("inner_ipv4.$valid$") ; hdr.inner_ipv6.isValid() : exact @name("inner_ipv6.$valid$") ; } @@ -1835,55 +1825,55 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t meta._egress_metadata_routed22 = 1w0; meta._egress_metadata_bd19 = meta._ingress_metadata_bd42; meta._egress_metadata_outer_bd20 = meta._ingress_metadata_bd42; - meta._tunnel_metadata_tunnel_index154 = tunnel_index; - meta._tunnel_metadata_egress_tunnel_type153 = tunnel_type; + meta._tunnel_metadata_tunnel_index144 = tunnel_index; + meta._tunnel_metadata_egress_tunnel_type143 = tunnel_type; } @name(".set_l3_rewrite") action _set_l3_rewrite_0(bit<16> bd, bit<8> mtu_index, bit<48> dmac) { meta._egress_metadata_routed22 = 1w1; meta._egress_metadata_mac_da21 = dmac; meta._egress_metadata_bd19 = bd; meta._egress_metadata_outer_bd20 = bd; - meta._l3_metadata_mtu_index109 = mtu_index; + meta._l3_metadata_mtu_index103 = mtu_index; } @name(".set_l3_rewrite_with_tunnel") action _set_l3_rewrite_with_tunnel_0(bit<16> bd, bit<48> dmac, bit<14> tunnel_index, bit<5> tunnel_type) { meta._egress_metadata_routed22 = 1w1; meta._egress_metadata_mac_da21 = dmac; meta._egress_metadata_bd19 = bd; meta._egress_metadata_outer_bd20 = bd; - meta._tunnel_metadata_tunnel_index154 = tunnel_index; - meta._tunnel_metadata_egress_tunnel_type153 = tunnel_type; + meta._tunnel_metadata_tunnel_index144 = tunnel_index; + meta._tunnel_metadata_egress_tunnel_type143 = tunnel_type; } @name(".set_mpls_swap_push_rewrite_l2") action _set_mpls_swap_push_rewrite_l2_0(bit<20> label, bit<14> tunnel_index, bit<4> header_count) { - meta._egress_metadata_routed22 = meta._l3_metadata_routed107; + meta._egress_metadata_routed22 = meta._l3_metadata_routed101; meta._egress_metadata_bd19 = meta._ingress_metadata_bd42; hdr.mpls[0].label = label; - meta._tunnel_metadata_tunnel_index154 = tunnel_index; - meta._tunnel_metadata_egress_header_count162 = header_count; - meta._tunnel_metadata_egress_tunnel_type153 = 5w13; + meta._tunnel_metadata_tunnel_index144 = tunnel_index; + meta._tunnel_metadata_egress_header_count152 = header_count; + meta._tunnel_metadata_egress_tunnel_type143 = 5w13; } @name(".set_mpls_push_rewrite_l2") action _set_mpls_push_rewrite_l2_0(bit<14> tunnel_index, bit<4> header_count) { - meta._egress_metadata_routed22 = meta._l3_metadata_routed107; + meta._egress_metadata_routed22 = meta._l3_metadata_routed101; meta._egress_metadata_bd19 = meta._ingress_metadata_bd42; - meta._tunnel_metadata_tunnel_index154 = tunnel_index; - meta._tunnel_metadata_egress_header_count162 = header_count; - meta._tunnel_metadata_egress_tunnel_type153 = 5w13; + meta._tunnel_metadata_tunnel_index144 = tunnel_index; + meta._tunnel_metadata_egress_header_count152 = header_count; + meta._tunnel_metadata_egress_tunnel_type143 = 5w13; } @name(".set_mpls_swap_push_rewrite_l3") action _set_mpls_swap_push_rewrite_l3_0(bit<16> bd, bit<48> dmac, bit<20> label, bit<14> tunnel_index, bit<4> header_count) { - meta._egress_metadata_routed22 = meta._l3_metadata_routed107; + meta._egress_metadata_routed22 = meta._l3_metadata_routed101; meta._egress_metadata_bd19 = bd; hdr.mpls[0].label = label; meta._egress_metadata_mac_da21 = dmac; - meta._tunnel_metadata_tunnel_index154 = tunnel_index; - meta._tunnel_metadata_egress_header_count162 = header_count; - meta._tunnel_metadata_egress_tunnel_type153 = 5w14; + meta._tunnel_metadata_tunnel_index144 = tunnel_index; + meta._tunnel_metadata_egress_header_count152 = header_count; + meta._tunnel_metadata_egress_tunnel_type143 = 5w14; } @name(".set_mpls_push_rewrite_l3") action _set_mpls_push_rewrite_l3_0(bit<16> bd, bit<48> dmac, bit<14> tunnel_index, bit<4> header_count) { - meta._egress_metadata_routed22 = meta._l3_metadata_routed107; + meta._egress_metadata_routed22 = meta._l3_metadata_routed101; meta._egress_metadata_bd19 = bd; meta._egress_metadata_mac_da21 = dmac; - meta._tunnel_metadata_tunnel_index154 = tunnel_index; - meta._tunnel_metadata_egress_header_count162 = header_count; - meta._tunnel_metadata_egress_tunnel_type153 = 5w14; + meta._tunnel_metadata_tunnel_index144 = tunnel_index; + meta._tunnel_metadata_egress_header_count152 = header_count; + meta._tunnel_metadata_egress_tunnel_type143 = 5w14; } @name(".rewrite_ipv4_multicast") action _rewrite_ipv4_multicast_0() { hdr.ethernet.dstAddr[22:0] = ((bit<48>)hdr.ipv4.dstAddr)[22:0]; @@ -1904,7 +1894,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @defaultonly NoAction_120(); } key = { - meta._l3_metadata_nexthop_index106: exact @name("l3_metadata.nexthop_index") ; + meta._l3_metadata_nexthop_index100: exact @name("l3_metadata.nexthop_index") ; } size = 1024; default_action = NoAction_120(); @@ -1997,13 +1987,13 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t default_action = NoAction_124(); } @name(".mtu_miss") action _mtu_miss_0() { - meta._l3_metadata_l3_mtu_check111 = 16w0xffff; + meta._l3_metadata_l3_mtu_check105 = 16w0xffff; } @name(".ipv4_mtu_check") action _ipv4_mtu_check_0(bit<16> l3_mtu) { - meta._l3_metadata_l3_mtu_check111 = l3_mtu |-| hdr.ipv4.totalLen; + meta._l3_metadata_l3_mtu_check105 = l3_mtu |-| hdr.ipv4.totalLen; } @name(".ipv6_mtu_check") action _ipv6_mtu_check_0(bit<16> l3_mtu) { - meta._l3_metadata_l3_mtu_check111 = l3_mtu |-| hdr.ipv6.payloadLen; + meta._l3_metadata_l3_mtu_check105 = l3_mtu |-| hdr.ipv6.payloadLen; } @name(".mtu") table _mtu { actions = { @@ -2013,7 +2003,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @defaultonly NoAction_125(); } key = { - meta._l3_metadata_mtu_index109: exact @name("l3_metadata.mtu_index") ; + meta._l3_metadata_mtu_index103: exact @name("l3_metadata.mtu_index") ; hdr.ipv4.isValid() : exact @name("ipv4.$valid$") ; hdr.ipv6.isValid() : exact @name("ipv6.$valid$") ; } @@ -2091,18 +2081,18 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @name(".int_set_header_0003_i1") action _int_set_header_0003_i1_0() { hdr.int_q_occupancy_header.setValid(); hdr.int_q_occupancy_header.q_occupancy1 = 7w0; - hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)meta._queueing_metadata_enq_qdepth140; + hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)standard_metadata.enq_qdepth; } @name(".int_set_header_0003_i2") action _int_set_header_0003_i2_0() { hdr.int_hop_latency_header.setValid(); - hdr.int_hop_latency_header.hop_latency = (bit<31>)meta._queueing_metadata_deq_timedelta141; + hdr.int_hop_latency_header.hop_latency = (bit<31>)standard_metadata.deq_timedelta; } @name(".int_set_header_0003_i3") action _int_set_header_0003_i3_0() { hdr.int_q_occupancy_header.setValid(); hdr.int_q_occupancy_header.q_occupancy1 = 7w0; - hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)meta._queueing_metadata_enq_qdepth140; + hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)standard_metadata.enq_qdepth; hdr.int_hop_latency_header.setValid(); - hdr.int_hop_latency_header.hop_latency = (bit<31>)meta._queueing_metadata_deq_timedelta141; + hdr.int_hop_latency_header.hop_latency = (bit<31>)standard_metadata.deq_timedelta; } @name(".int_set_header_0003_i4") action _int_set_header_0003_i4_0() { hdr.int_ingress_port_id_header.setValid(); @@ -2112,14 +2102,14 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @name(".int_set_header_0003_i5") action _int_set_header_0003_i5_0() { hdr.int_q_occupancy_header.setValid(); hdr.int_q_occupancy_header.q_occupancy1 = 7w0; - hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)meta._queueing_metadata_enq_qdepth140; + hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)standard_metadata.enq_qdepth; hdr.int_ingress_port_id_header.setValid(); hdr.int_ingress_port_id_header.ingress_port_id_1 = 15w0; hdr.int_ingress_port_id_header.ingress_port_id_0 = meta._ingress_metadata_ifindex38; } @name(".int_set_header_0003_i6") action _int_set_header_0003_i6_0() { hdr.int_hop_latency_header.setValid(); - hdr.int_hop_latency_header.hop_latency = (bit<31>)meta._queueing_metadata_deq_timedelta141; + hdr.int_hop_latency_header.hop_latency = (bit<31>)standard_metadata.deq_timedelta; hdr.int_ingress_port_id_header.setValid(); hdr.int_ingress_port_id_header.ingress_port_id_1 = 15w0; hdr.int_ingress_port_id_header.ingress_port_id_0 = meta._ingress_metadata_ifindex38; @@ -2127,9 +2117,9 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @name(".int_set_header_0003_i7") action _int_set_header_0003_i7_0() { hdr.int_q_occupancy_header.setValid(); hdr.int_q_occupancy_header.q_occupancy1 = 7w0; - hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)meta._queueing_metadata_enq_qdepth140; + hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)standard_metadata.enq_qdepth; hdr.int_hop_latency_header.setValid(); - hdr.int_hop_latency_header.hop_latency = (bit<31>)meta._queueing_metadata_deq_timedelta141; + hdr.int_hop_latency_header.hop_latency = (bit<31>)standard_metadata.deq_timedelta; hdr.int_ingress_port_id_header.setValid(); hdr.int_ingress_port_id_header.ingress_port_id_1 = 15w0; hdr.int_ingress_port_id_header.ingress_port_id_0 = meta._ingress_metadata_ifindex38; @@ -2141,22 +2131,22 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @name(".int_set_header_0003_i9") action _int_set_header_0003_i9_0() { hdr.int_q_occupancy_header.setValid(); hdr.int_q_occupancy_header.q_occupancy1 = 7w0; - hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)meta._queueing_metadata_enq_qdepth140; + hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)standard_metadata.enq_qdepth; hdr.int_switch_id_header.setValid(); hdr.int_switch_id_header.switch_id = (bit<31>)meta._int_metadata_switch_id48; } @name(".int_set_header_0003_i10") action _int_set_header_0003_i10_0() { hdr.int_hop_latency_header.setValid(); - hdr.int_hop_latency_header.hop_latency = (bit<31>)meta._queueing_metadata_deq_timedelta141; + hdr.int_hop_latency_header.hop_latency = (bit<31>)standard_metadata.deq_timedelta; hdr.int_switch_id_header.setValid(); hdr.int_switch_id_header.switch_id = (bit<31>)meta._int_metadata_switch_id48; } @name(".int_set_header_0003_i11") action _int_set_header_0003_i11_0() { hdr.int_q_occupancy_header.setValid(); hdr.int_q_occupancy_header.q_occupancy1 = 7w0; - hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)meta._queueing_metadata_enq_qdepth140; + hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)standard_metadata.enq_qdepth; hdr.int_hop_latency_header.setValid(); - hdr.int_hop_latency_header.hop_latency = (bit<31>)meta._queueing_metadata_deq_timedelta141; + hdr.int_hop_latency_header.hop_latency = (bit<31>)standard_metadata.deq_timedelta; hdr.int_switch_id_header.setValid(); hdr.int_switch_id_header.switch_id = (bit<31>)meta._int_metadata_switch_id48; } @@ -2170,7 +2160,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @name(".int_set_header_0003_i13") action _int_set_header_0003_i13_0() { hdr.int_q_occupancy_header.setValid(); hdr.int_q_occupancy_header.q_occupancy1 = 7w0; - hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)meta._queueing_metadata_enq_qdepth140; + hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)standard_metadata.enq_qdepth; hdr.int_ingress_port_id_header.setValid(); hdr.int_ingress_port_id_header.ingress_port_id_1 = 15w0; hdr.int_ingress_port_id_header.ingress_port_id_0 = meta._ingress_metadata_ifindex38; @@ -2179,7 +2169,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t } @name(".int_set_header_0003_i14") action _int_set_header_0003_i14_0() { hdr.int_hop_latency_header.setValid(); - hdr.int_hop_latency_header.hop_latency = (bit<31>)meta._queueing_metadata_deq_timedelta141; + hdr.int_hop_latency_header.hop_latency = (bit<31>)standard_metadata.deq_timedelta; hdr.int_ingress_port_id_header.setValid(); hdr.int_ingress_port_id_header.ingress_port_id_1 = 15w0; hdr.int_ingress_port_id_header.ingress_port_id_0 = meta._ingress_metadata_ifindex38; @@ -2189,9 +2179,9 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @name(".int_set_header_0003_i15") action _int_set_header_0003_i15_0() { hdr.int_q_occupancy_header.setValid(); hdr.int_q_occupancy_header.q_occupancy1 = 7w0; - hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)meta._queueing_metadata_enq_qdepth140; + hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)standard_metadata.enq_qdepth; hdr.int_hop_latency_header.setValid(); - hdr.int_hop_latency_header.hop_latency = (bit<31>)meta._queueing_metadata_deq_timedelta141; + hdr.int_hop_latency_header.hop_latency = (bit<31>)standard_metadata.deq_timedelta; hdr.int_ingress_port_id_header.setValid(); hdr.int_ingress_port_id_header.ingress_port_id_1 = 15w0; hdr.int_ingress_port_id_header.ingress_port_id_0 = meta._ingress_metadata_ifindex38; @@ -2436,7 +2426,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t } key = { meta._egress_metadata_bd19 : exact @name("egress_metadata.bd") ; - meta._l2_metadata_lkp_pkt_type73: exact @name("l2_metadata.lkp_pkt_type") ; + meta._l2_metadata_lkp_pkt_type67: exact @name("l2_metadata.lkp_pkt_type") ; } size = 1024; counters = _egress_bd_stats; @@ -2457,7 +2447,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @name(".nop") action _nop_55() { } @name(".set_egress_tunnel_vni") action _set_egress_tunnel_vni_0(bit<24> vnid) { - meta._tunnel_metadata_vnid159 = vnid; + meta._tunnel_metadata_vnid149 = vnid; } @name(".rewrite_tunnel_dmac") action _rewrite_tunnel_dmac_0(bit<48> dmac) { hdr.ethernet.dstAddr = dmac; @@ -2474,7 +2464,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t meta._egress_metadata_payload_length17 = hdr.ipv4.totalLen; hdr.udp.setInvalid(); hdr.ipv4.setInvalid(); - meta._tunnel_metadata_inner_ip_proto163 = 8w4; + meta._tunnel_metadata_inner_ip_proto153 = 8w4; } @name(".inner_ipv4_tcp_rewrite") action _inner_ipv4_tcp_rewrite_0() { hdr.inner_ipv4 = hdr.ipv4; @@ -2482,7 +2472,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t meta._egress_metadata_payload_length17 = hdr.ipv4.totalLen; hdr.tcp.setInvalid(); hdr.ipv4.setInvalid(); - meta._tunnel_metadata_inner_ip_proto163 = 8w4; + meta._tunnel_metadata_inner_ip_proto153 = 8w4; } @name(".inner_ipv4_icmp_rewrite") action _inner_ipv4_icmp_rewrite_0() { hdr.inner_ipv4 = hdr.ipv4; @@ -2490,20 +2480,20 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t meta._egress_metadata_payload_length17 = hdr.ipv4.totalLen; hdr.icmp.setInvalid(); hdr.ipv4.setInvalid(); - meta._tunnel_metadata_inner_ip_proto163 = 8w4; + meta._tunnel_metadata_inner_ip_proto153 = 8w4; } @name(".inner_ipv4_unknown_rewrite") action _inner_ipv4_unknown_rewrite_0() { hdr.inner_ipv4 = hdr.ipv4; meta._egress_metadata_payload_length17 = hdr.ipv4.totalLen; hdr.ipv4.setInvalid(); - meta._tunnel_metadata_inner_ip_proto163 = 8w4; + meta._tunnel_metadata_inner_ip_proto153 = 8w4; } @name(".inner_ipv6_udp_rewrite") action _inner_ipv6_udp_rewrite_0() { hdr.inner_ipv6 = hdr.ipv6; hdr.inner_udp = hdr.udp; meta._egress_metadata_payload_length17 = hdr.ipv6.payloadLen + 16w40; hdr.ipv6.setInvalid(); - meta._tunnel_metadata_inner_ip_proto163 = 8w41; + meta._tunnel_metadata_inner_ip_proto153 = 8w41; } @name(".inner_ipv6_tcp_rewrite") action _inner_ipv6_tcp_rewrite_0() { hdr.inner_ipv6 = hdr.ipv6; @@ -2511,7 +2501,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t meta._egress_metadata_payload_length17 = hdr.ipv6.payloadLen + 16w40; hdr.tcp.setInvalid(); hdr.ipv6.setInvalid(); - meta._tunnel_metadata_inner_ip_proto163 = 8w41; + meta._tunnel_metadata_inner_ip_proto153 = 8w41; } @name(".inner_ipv6_icmp_rewrite") action _inner_ipv6_icmp_rewrite_0() { hdr.inner_ipv6 = hdr.ipv6; @@ -2519,13 +2509,13 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t meta._egress_metadata_payload_length17 = hdr.ipv6.payloadLen + 16w40; hdr.icmp.setInvalid(); hdr.ipv6.setInvalid(); - meta._tunnel_metadata_inner_ip_proto163 = 8w41; + meta._tunnel_metadata_inner_ip_proto153 = 8w41; } @name(".inner_ipv6_unknown_rewrite") action _inner_ipv6_unknown_rewrite_0() { hdr.inner_ipv6 = hdr.ipv6; meta._egress_metadata_payload_length17 = hdr.ipv6.payloadLen + 16w40; hdr.ipv6.setInvalid(); - meta._tunnel_metadata_inner_ip_proto163 = 8w41; + meta._tunnel_metadata_inner_ip_proto153 = 8w41; } @name(".inner_non_ip_rewrite") action _inner_non_ip_rewrite_0() { meta._egress_metadata_payload_length17 = (bit<16>)standard_metadata.packet_length + 16w65522; @@ -2540,7 +2530,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t hdr.udp.length_ = meta._egress_metadata_payload_length17 + 16w30; hdr.vxlan.flags = 8w0x8; hdr.vxlan.reserved = 24w0; - hdr.vxlan.vni = meta._tunnel_metadata_vnid159; + hdr.vxlan.vni = meta._tunnel_metadata_vnid149; hdr.vxlan.reserved2 = 8w0; hdr.ipv4.setValid(); hdr.ipv4.protocol = 8w17; @@ -2564,7 +2554,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t hdr.genv.critical = 1w0; hdr.genv.optLen = 6w0; hdr.genv.protoType = 16w0x6558; - hdr.genv.vni = meta._tunnel_metadata_vnid159; + hdr.genv.vni = meta._tunnel_metadata_vnid149; hdr.genv.reserved = 6w0; hdr.genv.reserved2 = 8w0; hdr.ipv4.setValid(); @@ -2589,7 +2579,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t hdr.gre.C = 1w0; hdr.gre.S = 1w0; hdr.gre.s = 1w0; - hdr.nvgre.tni = meta._tunnel_metadata_vnid159; + hdr.nvgre.tni = meta._tunnel_metadata_vnid149; hdr.nvgre.flow_id[7:0] = ((bit<8>)meta._hash_metadata_entropy_hash34)[7:0]; hdr.ipv4.setValid(); hdr.ipv4.protocol = 8w47; @@ -2614,7 +2604,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t } @name(".ipv4_ip_rewrite") action _ipv4_ip_rewrite_0() { hdr.ipv4.setValid(); - hdr.ipv4.protocol = meta._tunnel_metadata_inner_ip_proto163; + hdr.ipv4.protocol = meta._tunnel_metadata_inner_ip_proto153; hdr.ipv4.ttl = 8w64; hdr.ipv4.version = 4w0x4; hdr.ipv4.ihl = 4w0x5; @@ -2662,7 +2652,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @name(".ipv6_ip_rewrite") action _ipv6_ip_rewrite_0() { hdr.ipv6.setValid(); hdr.ipv6.version = 4w0x6; - hdr.ipv6.nextHdr = meta._tunnel_metadata_inner_ip_proto163; + hdr.ipv6.nextHdr = meta._tunnel_metadata_inner_ip_proto153; hdr.ipv6.hopLimit = 8w64; hdr.ipv6.trafficClass = 8w0; hdr.ipv6.flowLabel = 20w0; @@ -2682,7 +2672,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t hdr.gre.C = 1w0; hdr.gre.S = 1w0; hdr.gre.s = 1w0; - hdr.nvgre.tni = meta._tunnel_metadata_vnid159; + hdr.nvgre.tni = meta._tunnel_metadata_vnid149; hdr.nvgre.flow_id[7:0] = ((bit<8>)meta._hash_metadata_entropy_hash34)[7:0]; hdr.ipv6.setValid(); hdr.ipv6.version = 4w0x6; @@ -2703,7 +2693,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t hdr.udp.length_ = meta._egress_metadata_payload_length17 + 16w30; hdr.vxlan.flags = 8w0x8; hdr.vxlan.reserved = 24w0; - hdr.vxlan.vni = meta._tunnel_metadata_vnid159; + hdr.vxlan.vni = meta._tunnel_metadata_vnid149; hdr.vxlan.reserved2 = 8w0; hdr.ipv6.setValid(); hdr.ipv6.version = 4w0x6; @@ -2727,7 +2717,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t hdr.genv.critical = 1w0; hdr.genv.optLen = 6w0; hdr.genv.protoType = 16w0x6558; - hdr.genv.vni = meta._tunnel_metadata_vnid159; + hdr.genv.vni = meta._tunnel_metadata_vnid149; hdr.genv.reserved = 6w0; hdr.genv.reserved2 = 8w0; hdr.ipv6.setValid(); @@ -2804,28 +2794,28 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t hdr.ethernet.etherType = 16w0x8847; } @name(".fabric_rewrite") action _fabric_rewrite_0(bit<14> tunnel_index) { - meta._tunnel_metadata_tunnel_index154 = tunnel_index; + meta._tunnel_metadata_tunnel_index144 = tunnel_index; } @name(".tunnel_mtu_check") action _tunnel_mtu_check_0(bit<16> l3_mtu) { - meta._l3_metadata_l3_mtu_check111 = l3_mtu |-| meta._egress_metadata_payload_length17; + meta._l3_metadata_l3_mtu_check105 = l3_mtu |-| meta._egress_metadata_payload_length17; } @name(".tunnel_mtu_miss") action _tunnel_mtu_miss_0() { - meta._l3_metadata_l3_mtu_check111 = 16w0xffff; + meta._l3_metadata_l3_mtu_check105 = 16w0xffff; } @name(".set_tunnel_rewrite_details") action _set_tunnel_rewrite_details_0(bit<16> outer_bd, bit<9> smac_idx, bit<14> dmac_idx, bit<9> sip_index, bit<14> dip_index) { meta._egress_metadata_outer_bd20 = outer_bd; - meta._tunnel_metadata_tunnel_smac_index156 = smac_idx; - meta._tunnel_metadata_tunnel_dmac_index158 = dmac_idx; - meta._tunnel_metadata_tunnel_src_index155 = sip_index; - meta._tunnel_metadata_tunnel_dst_index157 = dip_index; + meta._tunnel_metadata_tunnel_smac_index146 = smac_idx; + meta._tunnel_metadata_tunnel_dmac_index148 = dmac_idx; + meta._tunnel_metadata_tunnel_src_index145 = sip_index; + meta._tunnel_metadata_tunnel_dst_index147 = dip_index; } @name(".set_mpls_rewrite_push1") action _set_mpls_rewrite_push1_0(bit<20> label1, bit<3> exp1, bit<8> ttl1, bit<9> smac_idx, bit<14> dmac_idx) { hdr.mpls[0].label = label1; hdr.mpls[0].exp = exp1; hdr.mpls[0].bos = 1w0x1; hdr.mpls[0].ttl = ttl1; - meta._tunnel_metadata_tunnel_smac_index156 = smac_idx; - meta._tunnel_metadata_tunnel_dmac_index158 = dmac_idx; + meta._tunnel_metadata_tunnel_smac_index146 = smac_idx; + meta._tunnel_metadata_tunnel_dmac_index148 = dmac_idx; } @name(".set_mpls_rewrite_push2") action _set_mpls_rewrite_push2_0(bit<20> label1, bit<3> exp1, bit<8> ttl1, bit<20> label2, bit<3> exp2, bit<8> ttl2, bit<9> smac_idx, bit<14> dmac_idx) { hdr.mpls[0].label = label1; @@ -2836,8 +2826,8 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t hdr.mpls[1].exp = exp2; hdr.mpls[1].ttl = ttl2; hdr.mpls[1].bos = 1w0x1; - meta._tunnel_metadata_tunnel_smac_index156 = smac_idx; - meta._tunnel_metadata_tunnel_dmac_index158 = dmac_idx; + meta._tunnel_metadata_tunnel_smac_index146 = smac_idx; + meta._tunnel_metadata_tunnel_dmac_index148 = dmac_idx; } @name(".set_mpls_rewrite_push3") action _set_mpls_rewrite_push3_0(bit<20> label1, bit<3> exp1, bit<8> ttl1, bit<20> label2, bit<3> exp2, bit<8> ttl2, bit<20> label3, bit<3> exp3, bit<8> ttl3, bit<9> smac_idx, bit<14> dmac_idx) { hdr.mpls[0].label = label1; @@ -2852,8 +2842,8 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t hdr.mpls[2].exp = exp3; hdr.mpls[2].ttl = ttl3; hdr.mpls[2].bos = 1w0x1; - meta._tunnel_metadata_tunnel_smac_index156 = smac_idx; - meta._tunnel_metadata_tunnel_dmac_index158 = dmac_idx; + meta._tunnel_metadata_tunnel_smac_index146 = smac_idx; + meta._tunnel_metadata_tunnel_dmac_index148 = dmac_idx; } @name(".cpu_rx_rewrite") action _cpu_rx_rewrite_0() { hdr.fabric_header.setValid(); @@ -2879,11 +2869,11 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t hdr.fabric_header.dstDevice = meta._fabric_metadata_dst_device29; hdr.fabric_header.dstPortOrGroup = meta._fabric_metadata_dst_port30; hdr.fabric_header_unicast.setValid(); - hdr.fabric_header_unicast.tunnelTerminate = meta._tunnel_metadata_tunnel_terminate160; - hdr.fabric_header_unicast.routed = meta._l3_metadata_routed107; - hdr.fabric_header_unicast.outerRouted = meta._l3_metadata_outer_routed108; - hdr.fabric_header_unicast.ingressTunnelType = meta._tunnel_metadata_ingress_tunnel_type147; - hdr.fabric_header_unicast.nexthopIndex = meta._l3_metadata_nexthop_index106; + hdr.fabric_header_unicast.tunnelTerminate = meta._tunnel_metadata_tunnel_terminate150; + hdr.fabric_header_unicast.routed = meta._l3_metadata_routed101; + hdr.fabric_header_unicast.outerRouted = meta._l3_metadata_outer_routed102; + hdr.fabric_header_unicast.ingressTunnelType = meta._tunnel_metadata_ingress_tunnel_type137; + hdr.fabric_header_unicast.nexthopIndex = meta._l3_metadata_nexthop_index100; hdr.fabric_payload_header.setValid(); hdr.fabric_payload_header.etherType = hdr.ethernet.etherType; hdr.ethernet.etherType = 16w0x9000; @@ -2899,11 +2889,11 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t hdr.fabric_header_multicast.ingressIfindex = meta._ingress_metadata_ifindex38; hdr.fabric_header_multicast.ingressBd = meta._ingress_metadata_bd42; hdr.fabric_header_multicast.setValid(); - hdr.fabric_header_multicast.tunnelTerminate = meta._tunnel_metadata_tunnel_terminate160; - hdr.fabric_header_multicast.routed = meta._l3_metadata_routed107; - hdr.fabric_header_multicast.outerRouted = meta._l3_metadata_outer_routed108; - hdr.fabric_header_multicast.ingressTunnelType = meta._tunnel_metadata_ingress_tunnel_type147; - hdr.fabric_header_multicast.mcastGrp = meta._multicast_metadata_mcast_grp133; + hdr.fabric_header_multicast.tunnelTerminate = meta._tunnel_metadata_tunnel_terminate150; + hdr.fabric_header_multicast.routed = meta._l3_metadata_routed101; + hdr.fabric_header_multicast.outerRouted = meta._l3_metadata_outer_routed102; + hdr.fabric_header_multicast.ingressTunnelType = meta._tunnel_metadata_ingress_tunnel_type137; + hdr.fabric_header_multicast.mcastGrp = meta._multicast_metadata_mcast_grp127; hdr.fabric_payload_header.setValid(); hdr.fabric_payload_header.etherType = hdr.ethernet.etherType; hdr.ethernet.etherType = 16w0x9000; @@ -2925,7 +2915,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t } key = { meta._egress_metadata_bd19 : exact @name("egress_metadata.bd") ; - meta._tunnel_metadata_egress_tunnel_type153: exact @name("tunnel_metadata.egress_tunnel_type") ; + meta._tunnel_metadata_egress_tunnel_type143: exact @name("tunnel_metadata.egress_tunnel_type") ; } size = 1024; default_action = NoAction_134(); @@ -2937,7 +2927,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @defaultonly NoAction_135(); } key = { - meta._tunnel_metadata_tunnel_dmac_index158: exact @name("tunnel_metadata.tunnel_dmac_index") ; + meta._tunnel_metadata_tunnel_dmac_index148: exact @name("tunnel_metadata.tunnel_dmac_index") ; } size = 1024; default_action = NoAction_135(); @@ -2950,7 +2940,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @defaultonly NoAction_136(); } key = { - meta._tunnel_metadata_tunnel_dst_index157: exact @name("tunnel_metadata.tunnel_dst_index") ; + meta._tunnel_metadata_tunnel_dst_index147: exact @name("tunnel_metadata.tunnel_dst_index") ; } size = 1024; default_action = NoAction_136(); @@ -3003,9 +2993,9 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @defaultonly NoAction_138(); } key = { - meta._tunnel_metadata_egress_tunnel_type153 : exact @name("tunnel_metadata.egress_tunnel_type") ; - meta._tunnel_metadata_egress_header_count162: exact @name("tunnel_metadata.egress_header_count") ; - meta._multicast_metadata_replica132 : exact @name("multicast_metadata.replica") ; + meta._tunnel_metadata_egress_tunnel_type143 : exact @name("tunnel_metadata.egress_tunnel_type") ; + meta._tunnel_metadata_egress_header_count152: exact @name("tunnel_metadata.egress_header_count") ; + meta._multicast_metadata_replica126 : exact @name("multicast_metadata.replica") ; } size = 1024; default_action = NoAction_138(); @@ -3017,7 +3007,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @defaultonly NoAction_139(); } key = { - meta._tunnel_metadata_tunnel_index154: exact @name("tunnel_metadata.tunnel_index") ; + meta._tunnel_metadata_tunnel_index144: exact @name("tunnel_metadata.tunnel_index") ; } size = 1024; default_action = NoAction_139(); @@ -3035,7 +3025,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @defaultonly NoAction_140(); } key = { - meta._tunnel_metadata_tunnel_index154: exact @name("tunnel_metadata.tunnel_index") ; + meta._tunnel_metadata_tunnel_index144: exact @name("tunnel_metadata.tunnel_index") ; } size = 1024; default_action = NoAction_140(); @@ -3047,7 +3037,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @defaultonly NoAction_141(); } key = { - meta._tunnel_metadata_tunnel_smac_index156: exact @name("tunnel_metadata.tunnel_smac_index") ; + meta._tunnel_metadata_tunnel_smac_index146: exact @name("tunnel_metadata.tunnel_smac_index") ; } size = 1024; default_action = NoAction_141(); @@ -3060,7 +3050,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t @defaultonly NoAction_142(); } key = { - meta._tunnel_metadata_tunnel_src_index155: exact @name("tunnel_metadata.tunnel_src_index") ; + meta._tunnel_metadata_tunnel_src_index145: exact @name("tunnel_metadata.tunnel_src_index") ; } size = 1024; default_action = NoAction_142(); @@ -3092,7 +3082,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t hdr.ipv4.isValid() : exact @name("ipv4.$valid$") ; hdr.vxlan_gpe.isValid() : exact @name("vxlan_gpe.$valid$") ; meta._int_metadata_i2e_source55 : exact @name("int_metadata_i2e.source") ; - meta._tunnel_metadata_egress_tunnel_type153: ternary @name("tunnel_metadata.egress_tunnel_type") ; + meta._tunnel_metadata_egress_tunnel_type143: ternary @name("tunnel_metadata.egress_tunnel_type") ; } size = 8; default_action = NoAction_143(); @@ -3176,7 +3166,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t } key = { standard_metadata.egress_port : ternary @name("standard_metadata.egress_port") ; - meta._l3_metadata_l3_mtu_check111: ternary @name("l3_metadata.l3_mtu_check") ; + meta._l3_metadata_l3_mtu_check105: ternary @name("l3_metadata.l3_mtu_check") ; } size = 512; default_action = NoAction_147(); @@ -3186,7 +3176,7 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t if (standard_metadata.instance_type != 32w0 && standard_metadata.instance_type != 32w5) mirror_0.apply(); else - if (meta._intrinsic_metadata_egress_rid59 != 16w0) { + if (standard_metadata.egress_rid != 16w0) { _rid.apply(); _replica_type.apply(); } @@ -3194,12 +3184,12 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t egress_port_type_normal: { if (standard_metadata.instance_type == 32w0 || standard_metadata.instance_type == 32w5) _vlan_decap.apply(); - if (meta._tunnel_metadata_tunnel_terminate160 == 1w1) - if (meta._multicast_metadata_inner_replica131 == 1w1 || meta._multicast_metadata_replica132 == 1w0) { + if (meta._tunnel_metadata_tunnel_terminate150 == 1w1) + if (meta._multicast_metadata_inner_replica125 == 1w1 || meta._multicast_metadata_replica126 == 1w0) { _tunnel_decap_process_outer.apply(); _tunnel_decap_process_inner.apply(); } - if (meta._egress_metadata_routed22 == 1w0 || meta._l3_metadata_nexthop_index106 != 16w0) + if (meta._egress_metadata_routed22 == 1w0 || meta._l3_metadata_nexthop_index100 != 16w0) _rewrite.apply(); else _rewrite_multicast.apply(); @@ -3226,9 +3216,9 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t } } - if (meta._fabric_metadata_fabric_header_present27 == 1w0 && meta._tunnel_metadata_egress_tunnel_type153 != 5w0) { + if (meta._fabric_metadata_fabric_header_present27 == 1w0 && meta._tunnel_metadata_egress_tunnel_type143 != 5w0) { _egress_vni.apply(); - if (meta._tunnel_metadata_egress_tunnel_type153 != 5w15 && meta._tunnel_metadata_egress_tunnel_type153 != 5w16) + if (meta._tunnel_metadata_egress_tunnel_type143 != 5w15 && meta._tunnel_metadata_egress_tunnel_type143 != 5w16) _tunnel_encap_process_inner.apply(); _tunnel_encap_process_outer.apply(); _tunnel_rewrite.apply(); @@ -3243,8 +3233,8 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t if (meta._egress_metadata_port_type16 == 2w0) _egress_vlan_xlate.apply(); _egress_filter.apply(); - if (meta._multicast_metadata_inner_replica131 == 1w1) - if (meta._tunnel_metadata_ingress_tunnel_type147 == 5w0 && meta._tunnel_metadata_egress_tunnel_type153 == 5w0 && meta._egress_filter_metadata_bd13 == 16w0 && meta._egress_filter_metadata_ifindex_check12 == 16w0 || meta._tunnel_metadata_ingress_tunnel_type147 != 5w0 && meta._tunnel_metadata_egress_tunnel_type153 != 5w0 && meta._egress_filter_metadata_inner_bd14 == 16w0) + if (meta._multicast_metadata_inner_replica125 == 1w1) + if (meta._tunnel_metadata_ingress_tunnel_type137 == 5w0 && meta._tunnel_metadata_egress_tunnel_type143 == 5w0 && meta._egress_filter_metadata_bd13 == 16w0 && meta._egress_filter_metadata_ifindex_check12 == 16w0 || meta._tunnel_metadata_ingress_tunnel_type137 != 5w0 && meta._tunnel_metadata_egress_tunnel_type143 != 5w0 && meta._egress_filter_metadata_inner_bd14 == 16w0) _egress_filter_drop.apply(); } if (meta._egress_metadata_bypass15 == 1w0) @@ -3475,10 +3465,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".NoAction") action NoAction_225() { } @name(".rmac_hit") action rmac_hit_1() { - meta._l3_metadata_rmac_hit97 = 1w1; + meta._l3_metadata_rmac_hit91 = 1w1; } @name(".rmac_miss") action rmac_miss() { - meta._l3_metadata_rmac_hit97 = 1w0; + meta._l3_metadata_rmac_hit91 = 1w0; } @name(".rmac") table rmac_0 { actions = { @@ -3487,8 +3477,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_148(); } key = { - meta._l3_metadata_rmac_group96: exact @name("l3_metadata.rmac_group") ; - meta._l2_metadata_lkp_mac_da72: exact @name("l2_metadata.lkp_mac_da") ; + meta._l3_metadata_rmac_group90: exact @name("l3_metadata.rmac_group") ; + meta._l2_metadata_lkp_mac_da66: exact @name("l2_metadata.lkp_mac_da") ; } size = 1024; default_action = NoAction_148(); @@ -3527,52 +3517,52 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta._ingress_metadata_drop_reason44 = drop_reason; } @name(".set_valid_outer_unicast_packet_untagged") action _set_valid_outer_unicast_packet_untagged_0() { - meta._l2_metadata_lkp_pkt_type73 = 3w1; - meta._l2_metadata_lkp_mac_type74 = hdr.ethernet.etherType; + meta._l2_metadata_lkp_pkt_type67 = 3w1; + meta._l2_metadata_lkp_mac_type68 = hdr.ethernet.etherType; } @name(".set_valid_outer_unicast_packet_single_tagged") action _set_valid_outer_unicast_packet_single_tagged_0() { - meta._l2_metadata_lkp_pkt_type73 = 3w1; - meta._l2_metadata_lkp_mac_type74 = hdr.vlan_tag_[0].etherType; + meta._l2_metadata_lkp_pkt_type67 = 3w1; + meta._l2_metadata_lkp_mac_type68 = hdr.vlan_tag_[0].etherType; } @name(".set_valid_outer_unicast_packet_double_tagged") action _set_valid_outer_unicast_packet_double_tagged_0() { - meta._l2_metadata_lkp_pkt_type73 = 3w1; - meta._l2_metadata_lkp_mac_type74 = hdr.vlan_tag_[1].etherType; + meta._l2_metadata_lkp_pkt_type67 = 3w1; + meta._l2_metadata_lkp_mac_type68 = hdr.vlan_tag_[1].etherType; } @name(".set_valid_outer_unicast_packet_qinq_tagged") action _set_valid_outer_unicast_packet_qinq_tagged_0() { - meta._l2_metadata_lkp_pkt_type73 = 3w1; - meta._l2_metadata_lkp_mac_type74 = hdr.ethernet.etherType; + meta._l2_metadata_lkp_pkt_type67 = 3w1; + meta._l2_metadata_lkp_mac_type68 = hdr.ethernet.etherType; } @name(".set_valid_outer_multicast_packet_untagged") action _set_valid_outer_multicast_packet_untagged_0() { - meta._l2_metadata_lkp_pkt_type73 = 3w2; - meta._l2_metadata_lkp_mac_type74 = hdr.ethernet.etherType; + meta._l2_metadata_lkp_pkt_type67 = 3w2; + meta._l2_metadata_lkp_mac_type68 = hdr.ethernet.etherType; } @name(".set_valid_outer_multicast_packet_single_tagged") action _set_valid_outer_multicast_packet_single_tagged_0() { - meta._l2_metadata_lkp_pkt_type73 = 3w2; - meta._l2_metadata_lkp_mac_type74 = hdr.vlan_tag_[0].etherType; + meta._l2_metadata_lkp_pkt_type67 = 3w2; + meta._l2_metadata_lkp_mac_type68 = hdr.vlan_tag_[0].etherType; } @name(".set_valid_outer_multicast_packet_double_tagged") action _set_valid_outer_multicast_packet_double_tagged_0() { - meta._l2_metadata_lkp_pkt_type73 = 3w2; - meta._l2_metadata_lkp_mac_type74 = hdr.vlan_tag_[1].etherType; + meta._l2_metadata_lkp_pkt_type67 = 3w2; + meta._l2_metadata_lkp_mac_type68 = hdr.vlan_tag_[1].etherType; } @name(".set_valid_outer_multicast_packet_qinq_tagged") action _set_valid_outer_multicast_packet_qinq_tagged_0() { - meta._l2_metadata_lkp_pkt_type73 = 3w2; - meta._l2_metadata_lkp_mac_type74 = hdr.ethernet.etherType; + meta._l2_metadata_lkp_pkt_type67 = 3w2; + meta._l2_metadata_lkp_mac_type68 = hdr.ethernet.etherType; } @name(".set_valid_outer_broadcast_packet_untagged") action _set_valid_outer_broadcast_packet_untagged_0() { - meta._l2_metadata_lkp_pkt_type73 = 3w4; - meta._l2_metadata_lkp_mac_type74 = hdr.ethernet.etherType; + meta._l2_metadata_lkp_pkt_type67 = 3w4; + meta._l2_metadata_lkp_mac_type68 = hdr.ethernet.etherType; } @name(".set_valid_outer_broadcast_packet_single_tagged") action _set_valid_outer_broadcast_packet_single_tagged_0() { - meta._l2_metadata_lkp_pkt_type73 = 3w4; - meta._l2_metadata_lkp_mac_type74 = hdr.vlan_tag_[0].etherType; + meta._l2_metadata_lkp_pkt_type67 = 3w4; + meta._l2_metadata_lkp_mac_type68 = hdr.vlan_tag_[0].etherType; } @name(".set_valid_outer_broadcast_packet_double_tagged") action _set_valid_outer_broadcast_packet_double_tagged_0() { - meta._l2_metadata_lkp_pkt_type73 = 3w4; - meta._l2_metadata_lkp_mac_type74 = hdr.vlan_tag_[1].etherType; + meta._l2_metadata_lkp_pkt_type67 = 3w4; + meta._l2_metadata_lkp_mac_type68 = hdr.vlan_tag_[1].etherType; } @name(".set_valid_outer_broadcast_packet_qinq_tagged") action _set_valid_outer_broadcast_packet_qinq_tagged_0() { - meta._l2_metadata_lkp_pkt_type73 = 3w4; - meta._l2_metadata_lkp_mac_type74 = hdr.ethernet.etherType; + meta._l2_metadata_lkp_pkt_type67 = 3w4; + meta._l2_metadata_lkp_mac_type68 = hdr.ethernet.etherType; } @name(".validate_outer_ethernet") table _validate_outer_ethernet { actions = { @@ -3601,9 +3591,9 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ default_action = NoAction_151(); } @name(".set_valid_outer_ipv4_packet") action _set_valid_outer_ipv4_packet() { - meta._l3_metadata_lkp_ip_type86 = 2w1; - meta._l3_metadata_lkp_ip_tc89 = hdr.ipv4.diffserv; - meta._l3_metadata_lkp_ip_version87 = hdr.ipv4.version; + meta._l3_metadata_lkp_ip_type80 = 2w1; + meta._l3_metadata_lkp_ip_tc83 = hdr.ipv4.diffserv; + meta._l3_metadata_lkp_ip_version81 = hdr.ipv4.version; } @name(".set_malformed_outer_ipv4_packet") action _set_malformed_outer_ipv4_packet(bit<8> drop_reason) { meta._ingress_metadata_drop_flag43 = 1w1; @@ -3624,9 +3614,9 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ default_action = NoAction_152(); } @name(".set_valid_outer_ipv6_packet") action _set_valid_outer_ipv6_packet() { - meta._l3_metadata_lkp_ip_type86 = 2w2; - meta._l3_metadata_lkp_ip_tc89 = hdr.ipv6.trafficClass; - meta._l3_metadata_lkp_ip_version87 = hdr.ipv6.version; + meta._l3_metadata_lkp_ip_type80 = 2w2; + meta._l3_metadata_lkp_ip_tc83 = hdr.ipv6.trafficClass; + meta._l3_metadata_lkp_ip_version81 = hdr.ipv6.version; } @name(".set_malformed_outer_ipv6_packet") action _set_malformed_outer_ipv6_packet(bit<8> drop_reason) { meta._ingress_metadata_drop_flag43 = 1w1; @@ -3647,16 +3637,16 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ default_action = NoAction_153(); } @name(".set_valid_mpls_label1") action _set_valid_mpls_label1() { - meta._tunnel_metadata_mpls_label150 = hdr.mpls[0].label; - meta._tunnel_metadata_mpls_exp151 = hdr.mpls[0].exp; + meta._tunnel_metadata_mpls_label140 = hdr.mpls[0].label; + meta._tunnel_metadata_mpls_exp141 = hdr.mpls[0].exp; } @name(".set_valid_mpls_label2") action _set_valid_mpls_label2() { - meta._tunnel_metadata_mpls_label150 = hdr.mpls[1].label; - meta._tunnel_metadata_mpls_exp151 = hdr.mpls[1].exp; + meta._tunnel_metadata_mpls_label140 = hdr.mpls[1].label; + meta._tunnel_metadata_mpls_exp141 = hdr.mpls[1].exp; } @name(".set_valid_mpls_label3") action _set_valid_mpls_label3() { - meta._tunnel_metadata_mpls_label150 = hdr.mpls[2].label; - meta._tunnel_metadata_mpls_exp151 = hdr.mpls[2].exp; + meta._tunnel_metadata_mpls_label140 = hdr.mpls[2].label; + meta._tunnel_metadata_mpls_exp141 = hdr.mpls[2].exp; } @name(".validate_mpls_packet") table _validate_mpls_packet_0 { actions = { @@ -3680,9 +3670,9 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ default_action = NoAction_154(); } @name(".set_config_parameters") action _set_config_parameters_0(bit<8> enable_dod) { - meta._i2e_metadata_ingress_tstamp35 = (bit<32>)meta._intrinsic_metadata_ingress_global_timestamp57; + meta._i2e_metadata_ingress_tstamp35 = (bit<32>)standard_metadata.ingress_global_timestamp; meta._ingress_metadata_ingress_port37 = standard_metadata.ingress_port; - meta._l2_metadata_same_if_check85 = meta._ingress_metadata_ifindex38; + meta._l2_metadata_same_if_check79 = meta._ingress_metadata_ifindex38; standard_metadata.egress_spec = 9w511; random>(meta._ingress_metadata_sflow_take_sample47, 32w0, 32w0x7fffffff); } @@ -3698,27 +3688,27 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta._ingress_metadata_bd42 = bd; meta._ingress_metadata_outer_bd41 = bd; meta._acl_metadata_bd_label10 = bd_label; - meta._l2_metadata_stp_group80 = stp_group; - meta._l2_metadata_bd_stats_idx82 = stats_idx; - meta._l2_metadata_learning_enabled83 = learning_enabled; - meta._l3_metadata_vrf95 = vrf; - meta._ipv4_metadata_ipv4_unicast_enabled64 = ipv4_unicast_enabled; - meta._ipv6_metadata_ipv6_unicast_enabled68 = ipv6_unicast_enabled; - meta._ipv4_metadata_ipv4_urpf_mode65 = ipv4_urpf_mode; - meta._ipv6_metadata_ipv6_urpf_mode70 = ipv6_urpf_mode; - meta._l3_metadata_rmac_group96 = rmac_group; - meta._multicast_metadata_igmp_snooping_enabled124 = igmp_snooping_enabled; - meta._multicast_metadata_mld_snooping_enabled125 = mld_snooping_enabled; - meta._multicast_metadata_ipv4_multicast_enabled122 = ipv4_multicast_enabled; - meta._multicast_metadata_ipv6_multicast_enabled123 = ipv6_multicast_enabled; - meta._multicast_metadata_bd_mrpf_group126 = mrpf_group; - meta._multicast_metadata_ipv4_mcast_key_type114 = ipv4_mcast_key_type; - meta._multicast_metadata_ipv4_mcast_key115 = ipv4_mcast_key; - meta._multicast_metadata_ipv6_mcast_key_type116 = ipv6_mcast_key_type; - meta._multicast_metadata_ipv6_mcast_key117 = ipv6_mcast_key; + meta._l2_metadata_stp_group74 = stp_group; + meta._l2_metadata_bd_stats_idx76 = stats_idx; + meta._l2_metadata_learning_enabled77 = learning_enabled; + meta._l3_metadata_vrf89 = vrf; + meta._ipv4_metadata_ipv4_unicast_enabled58 = ipv4_unicast_enabled; + meta._ipv6_metadata_ipv6_unicast_enabled62 = ipv6_unicast_enabled; + meta._ipv4_metadata_ipv4_urpf_mode59 = ipv4_urpf_mode; + meta._ipv6_metadata_ipv6_urpf_mode64 = ipv6_urpf_mode; + meta._l3_metadata_rmac_group90 = rmac_group; + meta._multicast_metadata_igmp_snooping_enabled118 = igmp_snooping_enabled; + meta._multicast_metadata_mld_snooping_enabled119 = mld_snooping_enabled; + meta._multicast_metadata_ipv4_multicast_enabled116 = ipv4_multicast_enabled; + meta._multicast_metadata_ipv6_multicast_enabled117 = ipv6_multicast_enabled; + meta._multicast_metadata_bd_mrpf_group120 = mrpf_group; + meta._multicast_metadata_ipv4_mcast_key_type108 = ipv4_mcast_key_type; + meta._multicast_metadata_ipv4_mcast_key109 = ipv4_mcast_key; + meta._multicast_metadata_ipv6_mcast_key_type110 = ipv6_mcast_key_type; + meta._multicast_metadata_ipv6_mcast_key111 = ipv6_mcast_key; } @name(".port_vlan_mapping_miss") action _port_vlan_mapping_miss_0() { - meta._l2_metadata_port_vlan_mapping_miss84 = 1w1; + meta._l2_metadata_port_vlan_mapping_miss78 = 1w1; } @name(".port_vlan_mapping") table _port_vlan_mapping { actions = { @@ -3738,7 +3728,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ default_action = NoAction_156(); } @name(".set_stp_state") action _set_stp_state_0(bit<3> stp_state) { - meta._l2_metadata_stp_state81 = stp_state; + meta._l2_metadata_stp_state75 = stp_state; } @name(".spanning_tree") table _spanning_tree { actions = { @@ -3747,7 +3737,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } key = { meta._ingress_metadata_ifindex38: exact @name("ingress_metadata.ifindex") ; - meta._l2_metadata_stp_group80 : exact @name("l2_metadata.stp_group") ; + meta._l2_metadata_stp_group74 : exact @name("l2_metadata.stp_group") ; } size = 1024; default_action = NoAction_157(); @@ -3755,7 +3745,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".on_miss") action _on_miss() { } @name(".ipsg_miss") action _ipsg_miss_0() { - meta._security_metadata_ipsg_check_fail145 = 1w1; + meta._security_metadata_ipsg_check_fail135 = 1w1; } @name(".ipsg") table _ipsg { actions = { @@ -3765,8 +3755,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ key = { meta._ingress_metadata_ifindex38 : exact @name("ingress_metadata.ifindex") ; meta._ingress_metadata_bd42 : exact @name("ingress_metadata.bd") ; - meta._l2_metadata_lkp_mac_sa71 : exact @name("l2_metadata.lkp_mac_sa") ; - meta._ipv4_metadata_lkp_ipv4_sa62: exact @name("ipv4_metadata.lkp_ipv4_sa") ; + meta._l2_metadata_lkp_mac_sa65 : exact @name("l2_metadata.lkp_mac_sa") ; + meta._ipv4_metadata_lkp_ipv4_sa56: exact @name("ipv4_metadata.lkp_ipv4_sa") ; } size = 1024; default_action = NoAction_158(); @@ -3777,9 +3767,9 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_159(); } key = { - meta._l3_metadata_lkp_ip_proto88 : ternary @name("l3_metadata.lkp_ip_proto") ; - meta._l3_metadata_lkp_l4_dport92 : ternary @name("l3_metadata.lkp_l4_dport") ; - meta._ipv4_metadata_lkp_ipv4_da63: ternary @name("ipv4_metadata.lkp_ipv4_da") ; + meta._l3_metadata_lkp_ip_proto82 : ternary @name("l3_metadata.lkp_ip_proto") ; + meta._l3_metadata_lkp_l4_dport86 : ternary @name("l3_metadata.lkp_l4_dport") ; + meta._ipv4_metadata_lkp_ipv4_da57: ternary @name("ipv4_metadata.lkp_ipv4_da") ; } size = 512; default_action = NoAction_159(); @@ -3855,8 +3845,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ key = { hdr.int_header.isValid() : exact @name("int_header.$valid$") ; hdr.ipv4.isValid() : exact @name("ipv4.$valid$") ; - meta._ipv4_metadata_lkp_ipv4_da63: ternary @name("ipv4_metadata.lkp_ipv4_da") ; - meta._ipv4_metadata_lkp_ipv4_sa62: ternary @name("ipv4_metadata.lkp_ipv4_sa") ; + meta._ipv4_metadata_lkp_ipv4_da57: ternary @name("ipv4_metadata.lkp_ipv4_da") ; + meta._ipv4_metadata_lkp_ipv4_sa56: ternary @name("ipv4_metadata.lkp_ipv4_sa") ; hdr.inner_ipv4.isValid() : exact @name("inner_ipv4.$valid$") ; hdr.inner_ipv4.dstAddr : ternary @name("inner_ipv4.dstAddr") ; hdr.inner_ipv4.srcAddr : ternary @name("inner_ipv4.srcAddr") ; @@ -3874,7 +3864,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ hdr.int_header.isValid() : exact @name("int_header.$valid$") ; hdr.vxlan_gpe_int_header.isValid(): exact @name("vxlan_gpe_int_header.$valid$") ; hdr.ipv4.isValid() : exact @name("ipv4.$valid$") ; - meta._ipv4_metadata_lkp_ipv4_da63 : ternary @name("ipv4_metadata.lkp_ipv4_da") ; + meta._ipv4_metadata_lkp_ipv4_da57 : ternary @name("ipv4_metadata.lkp_ipv4_da") ; hdr.inner_ipv4.isValid() : exact @name("inner_ipv4.$valid$") ; hdr.inner_ipv4.dstAddr : ternary @name("inner_ipv4.dstAddr") ; } @@ -3884,141 +3874,141 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".on_miss") action _on_miss_0() { } @name(".outer_rmac_hit") action _outer_rmac_hit_0() { - meta._l3_metadata_rmac_hit97 = 1w1; + meta._l3_metadata_rmac_hit91 = 1w1; } @name(".nop") action _nop_59() { } @name(".tunnel_lookup_miss") action _tunnel_lookup_miss_0() { } @name(".terminate_tunnel_inner_non_ip") action _terminate_tunnel_inner_non_ip_0(bit<16> bd, bit<16> bd_label, bit<16> stats_idx) { - meta._tunnel_metadata_tunnel_terminate160 = 1w1; + meta._tunnel_metadata_tunnel_terminate150 = 1w1; meta._ingress_metadata_bd42 = bd; meta._acl_metadata_bd_label10 = bd_label; - meta._l2_metadata_bd_stats_idx82 = stats_idx; - meta._l3_metadata_lkp_ip_type86 = 2w0; - meta._l2_metadata_lkp_mac_type74 = hdr.inner_ethernet.etherType; + meta._l2_metadata_bd_stats_idx76 = stats_idx; + meta._l3_metadata_lkp_ip_type80 = 2w0; + meta._l2_metadata_lkp_mac_type68 = hdr.inner_ethernet.etherType; } @name(".terminate_tunnel_inner_ethernet_ipv4") action _terminate_tunnel_inner_ethernet_ipv4_0(bit<16> bd, bit<16> vrf, bit<10> rmac_group, bit<16> bd_label, bit<1> ipv4_unicast_enabled, bit<2> ipv4_urpf_mode, bit<1> igmp_snooping_enabled, bit<16> stats_idx, bit<1> ipv4_multicast_enabled, bit<16> mrpf_group) { - meta._tunnel_metadata_tunnel_terminate160 = 1w1; + meta._tunnel_metadata_tunnel_terminate150 = 1w1; meta._ingress_metadata_bd42 = bd; - meta._l3_metadata_vrf95 = vrf; - meta._qos_metadata_outer_dscp135 = meta._l3_metadata_lkp_ip_tc89; - meta._ipv4_metadata_ipv4_unicast_enabled64 = ipv4_unicast_enabled; - meta._ipv4_metadata_ipv4_urpf_mode65 = ipv4_urpf_mode; - meta._l3_metadata_rmac_group96 = rmac_group; + meta._l3_metadata_vrf89 = vrf; + meta._qos_metadata_outer_dscp129 = meta._l3_metadata_lkp_ip_tc83; + meta._ipv4_metadata_ipv4_unicast_enabled58 = ipv4_unicast_enabled; + meta._ipv4_metadata_ipv4_urpf_mode59 = ipv4_urpf_mode; + meta._l3_metadata_rmac_group90 = rmac_group; meta._acl_metadata_bd_label10 = bd_label; - meta._l2_metadata_bd_stats_idx82 = stats_idx; - meta._l3_metadata_lkp_ip_type86 = 2w1; - meta._l2_metadata_lkp_mac_type74 = hdr.inner_ethernet.etherType; - meta._l3_metadata_lkp_ip_version87 = hdr.inner_ipv4.version; - meta._l3_metadata_lkp_ip_tc89 = hdr.inner_ipv4.diffserv; - meta._multicast_metadata_igmp_snooping_enabled124 = igmp_snooping_enabled; - meta._multicast_metadata_ipv4_multicast_enabled122 = ipv4_multicast_enabled; - meta._multicast_metadata_bd_mrpf_group126 = mrpf_group; + meta._l2_metadata_bd_stats_idx76 = stats_idx; + meta._l3_metadata_lkp_ip_type80 = 2w1; + meta._l2_metadata_lkp_mac_type68 = hdr.inner_ethernet.etherType; + meta._l3_metadata_lkp_ip_version81 = hdr.inner_ipv4.version; + meta._l3_metadata_lkp_ip_tc83 = hdr.inner_ipv4.diffserv; + meta._multicast_metadata_igmp_snooping_enabled118 = igmp_snooping_enabled; + meta._multicast_metadata_ipv4_multicast_enabled116 = ipv4_multicast_enabled; + meta._multicast_metadata_bd_mrpf_group120 = mrpf_group; } @name(".terminate_tunnel_inner_ipv4") action _terminate_tunnel_inner_ipv4_0(bit<16> vrf, bit<10> rmac_group, bit<2> ipv4_urpf_mode, bit<1> ipv4_unicast_enabled, bit<1> ipv4_multicast_enabled, bit<16> mrpf_group) { - meta._tunnel_metadata_tunnel_terminate160 = 1w1; - meta._l3_metadata_vrf95 = vrf; - meta._qos_metadata_outer_dscp135 = meta._l3_metadata_lkp_ip_tc89; - meta._ipv4_metadata_ipv4_unicast_enabled64 = ipv4_unicast_enabled; - meta._ipv4_metadata_ipv4_urpf_mode65 = ipv4_urpf_mode; - meta._l3_metadata_rmac_group96 = rmac_group; - meta._l2_metadata_lkp_mac_sa71 = hdr.ethernet.srcAddr; - meta._l2_metadata_lkp_mac_da72 = hdr.ethernet.dstAddr; - meta._l3_metadata_lkp_ip_type86 = 2w1; - meta._l3_metadata_lkp_ip_version87 = hdr.inner_ipv4.version; - meta._l3_metadata_lkp_ip_tc89 = hdr.inner_ipv4.diffserv; - meta._multicast_metadata_bd_mrpf_group126 = mrpf_group; - meta._multicast_metadata_ipv4_multicast_enabled122 = ipv4_multicast_enabled; + meta._tunnel_metadata_tunnel_terminate150 = 1w1; + meta._l3_metadata_vrf89 = vrf; + meta._qos_metadata_outer_dscp129 = meta._l3_metadata_lkp_ip_tc83; + meta._ipv4_metadata_ipv4_unicast_enabled58 = ipv4_unicast_enabled; + meta._ipv4_metadata_ipv4_urpf_mode59 = ipv4_urpf_mode; + meta._l3_metadata_rmac_group90 = rmac_group; + meta._l2_metadata_lkp_mac_sa65 = hdr.ethernet.srcAddr; + meta._l2_metadata_lkp_mac_da66 = hdr.ethernet.dstAddr; + meta._l3_metadata_lkp_ip_type80 = 2w1; + meta._l3_metadata_lkp_ip_version81 = hdr.inner_ipv4.version; + meta._l3_metadata_lkp_ip_tc83 = hdr.inner_ipv4.diffserv; + meta._multicast_metadata_bd_mrpf_group120 = mrpf_group; + meta._multicast_metadata_ipv4_multicast_enabled116 = ipv4_multicast_enabled; } @name(".terminate_tunnel_inner_ethernet_ipv6") action _terminate_tunnel_inner_ethernet_ipv6_0(bit<16> bd, bit<16> vrf, bit<10> rmac_group, bit<16> bd_label, bit<1> ipv6_unicast_enabled, bit<2> ipv6_urpf_mode, bit<1> mld_snooping_enabled, bit<16> stats_idx, bit<1> ipv6_multicast_enabled, bit<16> mrpf_group) { - meta._tunnel_metadata_tunnel_terminate160 = 1w1; + meta._tunnel_metadata_tunnel_terminate150 = 1w1; meta._ingress_metadata_bd42 = bd; - meta._l3_metadata_vrf95 = vrf; - meta._qos_metadata_outer_dscp135 = meta._l3_metadata_lkp_ip_tc89; - meta._ipv6_metadata_ipv6_unicast_enabled68 = ipv6_unicast_enabled; - meta._ipv6_metadata_ipv6_urpf_mode70 = ipv6_urpf_mode; - meta._l3_metadata_rmac_group96 = rmac_group; + meta._l3_metadata_vrf89 = vrf; + meta._qos_metadata_outer_dscp129 = meta._l3_metadata_lkp_ip_tc83; + meta._ipv6_metadata_ipv6_unicast_enabled62 = ipv6_unicast_enabled; + meta._ipv6_metadata_ipv6_urpf_mode64 = ipv6_urpf_mode; + meta._l3_metadata_rmac_group90 = rmac_group; meta._acl_metadata_bd_label10 = bd_label; - meta._l2_metadata_bd_stats_idx82 = stats_idx; - meta._l3_metadata_lkp_ip_type86 = 2w2; - meta._l2_metadata_lkp_mac_type74 = hdr.inner_ethernet.etherType; - meta._l3_metadata_lkp_ip_version87 = hdr.inner_ipv6.version; - meta._l3_metadata_lkp_ip_tc89 = hdr.inner_ipv6.trafficClass; - meta._multicast_metadata_bd_mrpf_group126 = mrpf_group; - meta._multicast_metadata_ipv6_multicast_enabled123 = ipv6_multicast_enabled; - meta._multicast_metadata_mld_snooping_enabled125 = mld_snooping_enabled; + meta._l2_metadata_bd_stats_idx76 = stats_idx; + meta._l3_metadata_lkp_ip_type80 = 2w2; + meta._l2_metadata_lkp_mac_type68 = hdr.inner_ethernet.etherType; + meta._l3_metadata_lkp_ip_version81 = hdr.inner_ipv6.version; + meta._l3_metadata_lkp_ip_tc83 = hdr.inner_ipv6.trafficClass; + meta._multicast_metadata_bd_mrpf_group120 = mrpf_group; + meta._multicast_metadata_ipv6_multicast_enabled117 = ipv6_multicast_enabled; + meta._multicast_metadata_mld_snooping_enabled119 = mld_snooping_enabled; } @name(".terminate_tunnel_inner_ipv6") action _terminate_tunnel_inner_ipv6_0(bit<16> vrf, bit<10> rmac_group, bit<1> ipv6_unicast_enabled, bit<2> ipv6_urpf_mode, bit<1> ipv6_multicast_enabled, bit<16> mrpf_group) { - meta._tunnel_metadata_tunnel_terminate160 = 1w1; - meta._l3_metadata_vrf95 = vrf; - meta._qos_metadata_outer_dscp135 = meta._l3_metadata_lkp_ip_tc89; - meta._ipv6_metadata_ipv6_unicast_enabled68 = ipv6_unicast_enabled; - meta._ipv6_metadata_ipv6_urpf_mode70 = ipv6_urpf_mode; - meta._l3_metadata_rmac_group96 = rmac_group; - meta._l2_metadata_lkp_mac_sa71 = hdr.ethernet.srcAddr; - meta._l2_metadata_lkp_mac_da72 = hdr.ethernet.dstAddr; - meta._l3_metadata_lkp_ip_type86 = 2w2; - meta._ipv6_metadata_lkp_ipv6_sa66 = hdr.inner_ipv6.srcAddr; - meta._ipv6_metadata_lkp_ipv6_da67 = hdr.inner_ipv6.dstAddr; - meta._l3_metadata_lkp_ip_version87 = hdr.inner_ipv6.version; - meta._l3_metadata_lkp_ip_tc89 = hdr.inner_ipv6.trafficClass; - meta._multicast_metadata_bd_mrpf_group126 = mrpf_group; - meta._multicast_metadata_ipv6_multicast_enabled123 = ipv6_multicast_enabled; + meta._tunnel_metadata_tunnel_terminate150 = 1w1; + meta._l3_metadata_vrf89 = vrf; + meta._qos_metadata_outer_dscp129 = meta._l3_metadata_lkp_ip_tc83; + meta._ipv6_metadata_ipv6_unicast_enabled62 = ipv6_unicast_enabled; + meta._ipv6_metadata_ipv6_urpf_mode64 = ipv6_urpf_mode; + meta._l3_metadata_rmac_group90 = rmac_group; + meta._l2_metadata_lkp_mac_sa65 = hdr.ethernet.srcAddr; + meta._l2_metadata_lkp_mac_da66 = hdr.ethernet.dstAddr; + meta._l3_metadata_lkp_ip_type80 = 2w2; + meta._ipv6_metadata_lkp_ipv6_sa60 = hdr.inner_ipv6.srcAddr; + meta._ipv6_metadata_lkp_ipv6_da61 = hdr.inner_ipv6.dstAddr; + meta._l3_metadata_lkp_ip_version81 = hdr.inner_ipv6.version; + meta._l3_metadata_lkp_ip_tc83 = hdr.inner_ipv6.trafficClass; + meta._multicast_metadata_bd_mrpf_group120 = mrpf_group; + meta._multicast_metadata_ipv6_multicast_enabled117 = ipv6_multicast_enabled; } @name(".non_ip_tunnel_lookup_miss") action _non_ip_tunnel_lookup_miss_0() { - meta._l2_metadata_lkp_mac_sa71 = hdr.ethernet.srcAddr; - meta._l2_metadata_lkp_mac_da72 = hdr.ethernet.dstAddr; - meta._intrinsic_metadata_mcast_grp58 = 16w0; + meta._l2_metadata_lkp_mac_sa65 = hdr.ethernet.srcAddr; + meta._l2_metadata_lkp_mac_da66 = hdr.ethernet.dstAddr; + standard_metadata.mcast_grp = 16w0; } @name(".non_ip_tunnel_lookup_miss") action _non_ip_tunnel_lookup_miss_2() { - meta._l2_metadata_lkp_mac_sa71 = hdr.ethernet.srcAddr; - meta._l2_metadata_lkp_mac_da72 = hdr.ethernet.dstAddr; - meta._intrinsic_metadata_mcast_grp58 = 16w0; + meta._l2_metadata_lkp_mac_sa65 = hdr.ethernet.srcAddr; + meta._l2_metadata_lkp_mac_da66 = hdr.ethernet.dstAddr; + standard_metadata.mcast_grp = 16w0; } @name(".ipv4_tunnel_lookup_miss") action _ipv4_tunnel_lookup_miss_0() { - meta._l2_metadata_lkp_mac_sa71 = hdr.ethernet.srcAddr; - meta._l2_metadata_lkp_mac_da72 = hdr.ethernet.dstAddr; - meta._ipv4_metadata_lkp_ipv4_sa62 = hdr.ipv4.srcAddr; - meta._ipv4_metadata_lkp_ipv4_da63 = hdr.ipv4.dstAddr; - meta._l3_metadata_lkp_ip_proto88 = hdr.ipv4.protocol; - meta._l3_metadata_lkp_ip_ttl90 = hdr.ipv4.ttl; - meta._l3_metadata_lkp_l4_sport91 = meta._l3_metadata_lkp_outer_l4_sport93; - meta._l3_metadata_lkp_l4_dport92 = meta._l3_metadata_lkp_outer_l4_dport94; - meta._intrinsic_metadata_mcast_grp58 = 16w0; + meta._l2_metadata_lkp_mac_sa65 = hdr.ethernet.srcAddr; + meta._l2_metadata_lkp_mac_da66 = hdr.ethernet.dstAddr; + meta._ipv4_metadata_lkp_ipv4_sa56 = hdr.ipv4.srcAddr; + meta._ipv4_metadata_lkp_ipv4_da57 = hdr.ipv4.dstAddr; + meta._l3_metadata_lkp_ip_proto82 = hdr.ipv4.protocol; + meta._l3_metadata_lkp_ip_ttl84 = hdr.ipv4.ttl; + meta._l3_metadata_lkp_l4_sport85 = meta._l3_metadata_lkp_outer_l4_sport87; + meta._l3_metadata_lkp_l4_dport86 = meta._l3_metadata_lkp_outer_l4_dport88; + standard_metadata.mcast_grp = 16w0; } @name(".ipv4_tunnel_lookup_miss") action _ipv4_tunnel_lookup_miss_2() { - meta._l2_metadata_lkp_mac_sa71 = hdr.ethernet.srcAddr; - meta._l2_metadata_lkp_mac_da72 = hdr.ethernet.dstAddr; - meta._ipv4_metadata_lkp_ipv4_sa62 = hdr.ipv4.srcAddr; - meta._ipv4_metadata_lkp_ipv4_da63 = hdr.ipv4.dstAddr; - meta._l3_metadata_lkp_ip_proto88 = hdr.ipv4.protocol; - meta._l3_metadata_lkp_ip_ttl90 = hdr.ipv4.ttl; - meta._l3_metadata_lkp_l4_sport91 = meta._l3_metadata_lkp_outer_l4_sport93; - meta._l3_metadata_lkp_l4_dport92 = meta._l3_metadata_lkp_outer_l4_dport94; - meta._intrinsic_metadata_mcast_grp58 = 16w0; + meta._l2_metadata_lkp_mac_sa65 = hdr.ethernet.srcAddr; + meta._l2_metadata_lkp_mac_da66 = hdr.ethernet.dstAddr; + meta._ipv4_metadata_lkp_ipv4_sa56 = hdr.ipv4.srcAddr; + meta._ipv4_metadata_lkp_ipv4_da57 = hdr.ipv4.dstAddr; + meta._l3_metadata_lkp_ip_proto82 = hdr.ipv4.protocol; + meta._l3_metadata_lkp_ip_ttl84 = hdr.ipv4.ttl; + meta._l3_metadata_lkp_l4_sport85 = meta._l3_metadata_lkp_outer_l4_sport87; + meta._l3_metadata_lkp_l4_dport86 = meta._l3_metadata_lkp_outer_l4_dport88; + standard_metadata.mcast_grp = 16w0; } @name(".ipv6_tunnel_lookup_miss") action _ipv6_tunnel_lookup_miss_0() { - meta._l2_metadata_lkp_mac_sa71 = hdr.ethernet.srcAddr; - meta._l2_metadata_lkp_mac_da72 = hdr.ethernet.dstAddr; - meta._ipv6_metadata_lkp_ipv6_sa66 = hdr.ipv6.srcAddr; - meta._ipv6_metadata_lkp_ipv6_da67 = hdr.ipv6.dstAddr; - meta._l3_metadata_lkp_ip_proto88 = hdr.ipv6.nextHdr; - meta._l3_metadata_lkp_ip_ttl90 = hdr.ipv6.hopLimit; - meta._l3_metadata_lkp_l4_sport91 = meta._l3_metadata_lkp_outer_l4_sport93; - meta._l3_metadata_lkp_l4_dport92 = meta._l3_metadata_lkp_outer_l4_dport94; - meta._intrinsic_metadata_mcast_grp58 = 16w0; + meta._l2_metadata_lkp_mac_sa65 = hdr.ethernet.srcAddr; + meta._l2_metadata_lkp_mac_da66 = hdr.ethernet.dstAddr; + meta._ipv6_metadata_lkp_ipv6_sa60 = hdr.ipv6.srcAddr; + meta._ipv6_metadata_lkp_ipv6_da61 = hdr.ipv6.dstAddr; + meta._l3_metadata_lkp_ip_proto82 = hdr.ipv6.nextHdr; + meta._l3_metadata_lkp_ip_ttl84 = hdr.ipv6.hopLimit; + meta._l3_metadata_lkp_l4_sport85 = meta._l3_metadata_lkp_outer_l4_sport87; + meta._l3_metadata_lkp_l4_dport86 = meta._l3_metadata_lkp_outer_l4_dport88; + standard_metadata.mcast_grp = 16w0; } @name(".ipv6_tunnel_lookup_miss") action _ipv6_tunnel_lookup_miss_2() { - meta._l2_metadata_lkp_mac_sa71 = hdr.ethernet.srcAddr; - meta._l2_metadata_lkp_mac_da72 = hdr.ethernet.dstAddr; - meta._ipv6_metadata_lkp_ipv6_sa66 = hdr.ipv6.srcAddr; - meta._ipv6_metadata_lkp_ipv6_da67 = hdr.ipv6.dstAddr; - meta._l3_metadata_lkp_ip_proto88 = hdr.ipv6.nextHdr; - meta._l3_metadata_lkp_ip_ttl90 = hdr.ipv6.hopLimit; - meta._l3_metadata_lkp_l4_sport91 = meta._l3_metadata_lkp_outer_l4_sport93; - meta._l3_metadata_lkp_l4_dport92 = meta._l3_metadata_lkp_outer_l4_dport94; - meta._intrinsic_metadata_mcast_grp58 = 16w0; + meta._l2_metadata_lkp_mac_sa65 = hdr.ethernet.srcAddr; + meta._l2_metadata_lkp_mac_da66 = hdr.ethernet.dstAddr; + meta._ipv6_metadata_lkp_ipv6_sa60 = hdr.ipv6.srcAddr; + meta._ipv6_metadata_lkp_ipv6_da61 = hdr.ipv6.dstAddr; + meta._l3_metadata_lkp_ip_proto82 = hdr.ipv6.nextHdr; + meta._l3_metadata_lkp_ip_ttl84 = hdr.ipv6.hopLimit; + meta._l3_metadata_lkp_l4_sport85 = meta._l3_metadata_lkp_outer_l4_sport87; + meta._l3_metadata_lkp_l4_dport86 = meta._l3_metadata_lkp_outer_l4_dport88; + standard_metadata.mcast_grp = 16w0; } @name(".outer_rmac") table _outer_rmac { actions = { @@ -4027,7 +4017,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_163(); } key = { - meta._l3_metadata_rmac_group96: exact @name("l3_metadata.rmac_group") ; + meta._l3_metadata_rmac_group90: exact @name("l3_metadata.rmac_group") ; hdr.ethernet.dstAddr : exact @name("ethernet.dstAddr") ; } size = 1024; @@ -4045,8 +4035,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_164(); } key = { - meta._tunnel_metadata_tunnel_vni148 : exact @name("tunnel_metadata.tunnel_vni") ; - meta._tunnel_metadata_ingress_tunnel_type147: exact @name("tunnel_metadata.ingress_tunnel_type") ; + meta._tunnel_metadata_tunnel_vni138 : exact @name("tunnel_metadata.tunnel_vni") ; + meta._tunnel_metadata_ingress_tunnel_type137: exact @name("tunnel_metadata.ingress_tunnel_type") ; hdr.inner_ipv4.isValid() : exact @name("inner_ipv4.$valid$") ; hdr.inner_ipv6.isValid() : exact @name("inner_ipv6.$valid$") ; } @@ -4098,11 +4088,11 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } @name(".terminate_fabric_unicast_packet") action _terminate_fabric_unicast_packet() { standard_metadata.egress_spec = (bit<9>)hdr.fabric_header.dstPortOrGroup; - meta._tunnel_metadata_tunnel_terminate160 = hdr.fabric_header_unicast.tunnelTerminate; - meta._tunnel_metadata_ingress_tunnel_type147 = hdr.fabric_header_unicast.ingressTunnelType; - meta._l3_metadata_nexthop_index106 = hdr.fabric_header_unicast.nexthopIndex; - meta._l3_metadata_routed107 = hdr.fabric_header_unicast.routed; - meta._l3_metadata_outer_routed108 = hdr.fabric_header_unicast.outerRouted; + meta._tunnel_metadata_tunnel_terminate150 = hdr.fabric_header_unicast.tunnelTerminate; + meta._tunnel_metadata_ingress_tunnel_type137 = hdr.fabric_header_unicast.ingressTunnelType; + meta._l3_metadata_nexthop_index100 = hdr.fabric_header_unicast.nexthopIndex; + meta._l3_metadata_routed101 = hdr.fabric_header_unicast.routed; + meta._l3_metadata_outer_routed102 = hdr.fabric_header_unicast.outerRouted; hdr.ethernet.etherType = hdr.fabric_payload_header.etherType; hdr.fabric_header.setInvalid(); hdr.fabric_header_unicast.setInvalid(); @@ -4110,15 +4100,15 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } @name(".switch_fabric_multicast_packet") action _switch_fabric_multicast_packet() { meta._fabric_metadata_fabric_header_present27 = 1w1; - meta._intrinsic_metadata_mcast_grp58 = hdr.fabric_header.dstPortOrGroup; + standard_metadata.mcast_grp = hdr.fabric_header.dstPortOrGroup; } @name(".terminate_fabric_multicast_packet") action _terminate_fabric_multicast_packet() { - meta._tunnel_metadata_tunnel_terminate160 = hdr.fabric_header_multicast.tunnelTerminate; - meta._tunnel_metadata_ingress_tunnel_type147 = hdr.fabric_header_multicast.ingressTunnelType; - meta._l3_metadata_nexthop_index106 = 16w0; - meta._l3_metadata_routed107 = hdr.fabric_header_multicast.routed; - meta._l3_metadata_outer_routed108 = hdr.fabric_header_multicast.outerRouted; - meta._intrinsic_metadata_mcast_grp58 = hdr.fabric_header_multicast.mcastGrp; + meta._tunnel_metadata_tunnel_terminate150 = hdr.fabric_header_multicast.tunnelTerminate; + meta._tunnel_metadata_ingress_tunnel_type137 = hdr.fabric_header_multicast.ingressTunnelType; + meta._l3_metadata_nexthop_index100 = 16w0; + meta._l3_metadata_routed101 = hdr.fabric_header_multicast.routed; + meta._l3_metadata_outer_routed102 = hdr.fabric_header_multicast.outerRouted; + standard_metadata.mcast_grp = hdr.fabric_header_multicast.mcastGrp; hdr.ethernet.etherType = hdr.fabric_payload_header.etherType; hdr.fabric_header.setInvalid(); hdr.fabric_header_multicast.setInvalid(); @@ -4127,27 +4117,27 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".set_ingress_ifindex_properties") action _set_ingress_ifindex_properties() { } @name(".non_ip_over_fabric") action _non_ip_over_fabric() { - meta._l2_metadata_lkp_mac_sa71 = hdr.ethernet.srcAddr; - meta._l2_metadata_lkp_mac_da72 = hdr.ethernet.dstAddr; - meta._l2_metadata_lkp_mac_type74 = hdr.ethernet.etherType; + meta._l2_metadata_lkp_mac_sa65 = hdr.ethernet.srcAddr; + meta._l2_metadata_lkp_mac_da66 = hdr.ethernet.dstAddr; + meta._l2_metadata_lkp_mac_type68 = hdr.ethernet.etherType; } @name(".ipv4_over_fabric") action _ipv4_over_fabric() { - meta._l2_metadata_lkp_mac_sa71 = hdr.ethernet.srcAddr; - meta._l2_metadata_lkp_mac_da72 = hdr.ethernet.dstAddr; - meta._ipv4_metadata_lkp_ipv4_sa62 = hdr.ipv4.srcAddr; - meta._ipv4_metadata_lkp_ipv4_da63 = hdr.ipv4.dstAddr; - meta._l3_metadata_lkp_ip_proto88 = hdr.ipv4.protocol; - meta._l3_metadata_lkp_l4_sport91 = meta._l3_metadata_lkp_outer_l4_sport93; - meta._l3_metadata_lkp_l4_dport92 = meta._l3_metadata_lkp_outer_l4_dport94; + meta._l2_metadata_lkp_mac_sa65 = hdr.ethernet.srcAddr; + meta._l2_metadata_lkp_mac_da66 = hdr.ethernet.dstAddr; + meta._ipv4_metadata_lkp_ipv4_sa56 = hdr.ipv4.srcAddr; + meta._ipv4_metadata_lkp_ipv4_da57 = hdr.ipv4.dstAddr; + meta._l3_metadata_lkp_ip_proto82 = hdr.ipv4.protocol; + meta._l3_metadata_lkp_l4_sport85 = meta._l3_metadata_lkp_outer_l4_sport87; + meta._l3_metadata_lkp_l4_dport86 = meta._l3_metadata_lkp_outer_l4_dport88; } @name(".ipv6_over_fabric") action _ipv6_over_fabric() { - meta._l2_metadata_lkp_mac_sa71 = hdr.ethernet.srcAddr; - meta._l2_metadata_lkp_mac_da72 = hdr.ethernet.dstAddr; - meta._ipv6_metadata_lkp_ipv6_sa66 = hdr.ipv6.srcAddr; - meta._ipv6_metadata_lkp_ipv6_da67 = hdr.ipv6.dstAddr; - meta._l3_metadata_lkp_ip_proto88 = hdr.ipv6.nextHdr; - meta._l3_metadata_lkp_l4_sport91 = meta._l3_metadata_lkp_outer_l4_sport93; - meta._l3_metadata_lkp_l4_dport92 = meta._l3_metadata_lkp_outer_l4_dport94; + meta._l2_metadata_lkp_mac_sa65 = hdr.ethernet.srcAddr; + meta._l2_metadata_lkp_mac_da66 = hdr.ethernet.dstAddr; + meta._ipv6_metadata_lkp_ipv6_sa60 = hdr.ipv6.srcAddr; + meta._ipv6_metadata_lkp_ipv6_da61 = hdr.ipv6.dstAddr; + meta._l3_metadata_lkp_ip_proto82 = hdr.ipv6.nextHdr; + meta._l3_metadata_lkp_l4_sport85 = meta._l3_metadata_lkp_outer_l4_sport87; + meta._l3_metadata_lkp_l4_dport86 = meta._l3_metadata_lkp_outer_l4_dport88; } @name(".fabric_ingress_dst_lkp") table _fabric_ingress_dst_lkp_0 { actions = { @@ -4197,33 +4187,33 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".on_miss") action _on_miss_1() { } @name(".outer_multicast_route_s_g_hit") action _outer_multicast_route_s_g_hit(bit<16> mc_index, bit<16> mcast_rpf_group) { - meta._intrinsic_metadata_mcast_grp58 = mc_index; - meta._multicast_metadata_outer_mcast_route_hit118 = 1w1; - meta._multicast_metadata_mcast_rpf_group127 = mcast_rpf_group ^ meta._multicast_metadata_bd_mrpf_group126; + standard_metadata.mcast_grp = mc_index; + meta._multicast_metadata_outer_mcast_route_hit112 = 1w1; + meta._multicast_metadata_mcast_rpf_group121 = mcast_rpf_group ^ meta._multicast_metadata_bd_mrpf_group120; meta._fabric_metadata_dst_device29 = 8w127; } @name(".outer_multicast_bridge_s_g_hit") action _outer_multicast_bridge_s_g_hit(bit<16> mc_index) { - meta._intrinsic_metadata_mcast_grp58 = mc_index; - meta._tunnel_metadata_tunnel_terminate160 = 1w1; + standard_metadata.mcast_grp = mc_index; + meta._tunnel_metadata_tunnel_terminate150 = 1w1; meta._fabric_metadata_dst_device29 = 8w127; } @name(".outer_multicast_route_sm_star_g_hit") action _outer_multicast_route_sm_star_g_hit(bit<16> mc_index, bit<16> mcast_rpf_group) { - meta._multicast_metadata_outer_mcast_mode119 = 2w1; - meta._intrinsic_metadata_mcast_grp58 = mc_index; - meta._multicast_metadata_outer_mcast_route_hit118 = 1w1; - meta._multicast_metadata_mcast_rpf_group127 = mcast_rpf_group ^ meta._multicast_metadata_bd_mrpf_group126; + meta._multicast_metadata_outer_mcast_mode113 = 2w1; + standard_metadata.mcast_grp = mc_index; + meta._multicast_metadata_outer_mcast_route_hit112 = 1w1; + meta._multicast_metadata_mcast_rpf_group121 = mcast_rpf_group ^ meta._multicast_metadata_bd_mrpf_group120; meta._fabric_metadata_dst_device29 = 8w127; } @name(".outer_multicast_route_bidir_star_g_hit") action _outer_multicast_route_bidir_star_g_hit(bit<16> mc_index, bit<16> mcast_rpf_group) { - meta._multicast_metadata_outer_mcast_mode119 = 2w2; - meta._intrinsic_metadata_mcast_grp58 = mc_index; - meta._multicast_metadata_outer_mcast_route_hit118 = 1w1; - meta._multicast_metadata_mcast_rpf_group127 = mcast_rpf_group | meta._multicast_metadata_bd_mrpf_group126; + meta._multicast_metadata_outer_mcast_mode113 = 2w2; + standard_metadata.mcast_grp = mc_index; + meta._multicast_metadata_outer_mcast_route_hit112 = 1w1; + meta._multicast_metadata_mcast_rpf_group121 = mcast_rpf_group | meta._multicast_metadata_bd_mrpf_group120; meta._fabric_metadata_dst_device29 = 8w127; } @name(".outer_multicast_bridge_star_g_hit") action _outer_multicast_bridge_star_g_hit(bit<16> mc_index) { - meta._intrinsic_metadata_mcast_grp58 = mc_index; - meta._tunnel_metadata_tunnel_terminate160 = 1w1; + standard_metadata.mcast_grp = mc_index; + meta._tunnel_metadata_tunnel_terminate150 = 1w1; meta._fabric_metadata_dst_device29 = 8w127; } @name(".outer_ipv4_multicast") table _outer_ipv4_multicast_0 { @@ -4235,8 +4225,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_170(); } key = { - meta._multicast_metadata_ipv4_mcast_key_type114: exact @name("multicast_metadata.ipv4_mcast_key_type") ; - meta._multicast_metadata_ipv4_mcast_key115 : exact @name("multicast_metadata.ipv4_mcast_key") ; + meta._multicast_metadata_ipv4_mcast_key_type108: exact @name("multicast_metadata.ipv4_mcast_key_type") ; + meta._multicast_metadata_ipv4_mcast_key109 : exact @name("multicast_metadata.ipv4_mcast_key") ; hdr.ipv4.srcAddr : exact @name("ipv4.srcAddr") ; hdr.ipv4.dstAddr : exact @name("ipv4.dstAddr") ; } @@ -4252,8 +4242,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_171(); } key = { - meta._multicast_metadata_ipv4_mcast_key_type114: exact @name("multicast_metadata.ipv4_mcast_key_type") ; - meta._multicast_metadata_ipv4_mcast_key115 : exact @name("multicast_metadata.ipv4_mcast_key") ; + meta._multicast_metadata_ipv4_mcast_key_type108: exact @name("multicast_metadata.ipv4_mcast_key_type") ; + meta._multicast_metadata_ipv4_mcast_key109 : exact @name("multicast_metadata.ipv4_mcast_key") ; hdr.ipv4.dstAddr : ternary @name("ipv4.dstAddr") ; } size = 512; @@ -4266,33 +4256,33 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".on_miss") action _on_miss_2() { } @name(".outer_multicast_route_s_g_hit") action _outer_multicast_route_s_g_hit_0(bit<16> mc_index, bit<16> mcast_rpf_group) { - meta._intrinsic_metadata_mcast_grp58 = mc_index; - meta._multicast_metadata_outer_mcast_route_hit118 = 1w1; - meta._multicast_metadata_mcast_rpf_group127 = mcast_rpf_group ^ meta._multicast_metadata_bd_mrpf_group126; + standard_metadata.mcast_grp = mc_index; + meta._multicast_metadata_outer_mcast_route_hit112 = 1w1; + meta._multicast_metadata_mcast_rpf_group121 = mcast_rpf_group ^ meta._multicast_metadata_bd_mrpf_group120; meta._fabric_metadata_dst_device29 = 8w127; } @name(".outer_multicast_bridge_s_g_hit") action _outer_multicast_bridge_s_g_hit_0(bit<16> mc_index) { - meta._intrinsic_metadata_mcast_grp58 = mc_index; - meta._tunnel_metadata_tunnel_terminate160 = 1w1; + standard_metadata.mcast_grp = mc_index; + meta._tunnel_metadata_tunnel_terminate150 = 1w1; meta._fabric_metadata_dst_device29 = 8w127; } @name(".outer_multicast_route_sm_star_g_hit") action _outer_multicast_route_sm_star_g_hit_0(bit<16> mc_index, bit<16> mcast_rpf_group) { - meta._multicast_metadata_outer_mcast_mode119 = 2w1; - meta._intrinsic_metadata_mcast_grp58 = mc_index; - meta._multicast_metadata_outer_mcast_route_hit118 = 1w1; - meta._multicast_metadata_mcast_rpf_group127 = mcast_rpf_group ^ meta._multicast_metadata_bd_mrpf_group126; + meta._multicast_metadata_outer_mcast_mode113 = 2w1; + standard_metadata.mcast_grp = mc_index; + meta._multicast_metadata_outer_mcast_route_hit112 = 1w1; + meta._multicast_metadata_mcast_rpf_group121 = mcast_rpf_group ^ meta._multicast_metadata_bd_mrpf_group120; meta._fabric_metadata_dst_device29 = 8w127; } @name(".outer_multicast_route_bidir_star_g_hit") action _outer_multicast_route_bidir_star_g_hit_0(bit<16> mc_index, bit<16> mcast_rpf_group) { - meta._multicast_metadata_outer_mcast_mode119 = 2w2; - meta._intrinsic_metadata_mcast_grp58 = mc_index; - meta._multicast_metadata_outer_mcast_route_hit118 = 1w1; - meta._multicast_metadata_mcast_rpf_group127 = mcast_rpf_group | meta._multicast_metadata_bd_mrpf_group126; + meta._multicast_metadata_outer_mcast_mode113 = 2w2; + standard_metadata.mcast_grp = mc_index; + meta._multicast_metadata_outer_mcast_route_hit112 = 1w1; + meta._multicast_metadata_mcast_rpf_group121 = mcast_rpf_group | meta._multicast_metadata_bd_mrpf_group120; meta._fabric_metadata_dst_device29 = 8w127; } @name(".outer_multicast_bridge_star_g_hit") action _outer_multicast_bridge_star_g_hit_0(bit<16> mc_index) { - meta._intrinsic_metadata_mcast_grp58 = mc_index; - meta._tunnel_metadata_tunnel_terminate160 = 1w1; + standard_metadata.mcast_grp = mc_index; + meta._tunnel_metadata_tunnel_terminate150 = 1w1; meta._fabric_metadata_dst_device29 = 8w127; } @name(".outer_ipv6_multicast") table _outer_ipv6_multicast_0 { @@ -4304,8 +4294,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_172(); } key = { - meta._multicast_metadata_ipv6_mcast_key_type116: exact @name("multicast_metadata.ipv6_mcast_key_type") ; - meta._multicast_metadata_ipv6_mcast_key117 : exact @name("multicast_metadata.ipv6_mcast_key") ; + meta._multicast_metadata_ipv6_mcast_key_type110: exact @name("multicast_metadata.ipv6_mcast_key_type") ; + meta._multicast_metadata_ipv6_mcast_key111 : exact @name("multicast_metadata.ipv6_mcast_key") ; hdr.ipv6.srcAddr : exact @name("ipv6.srcAddr") ; hdr.ipv6.dstAddr : exact @name("ipv6.dstAddr") ; } @@ -4321,8 +4311,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_173(); } key = { - meta._multicast_metadata_ipv6_mcast_key_type116: exact @name("multicast_metadata.ipv6_mcast_key_type") ; - meta._multicast_metadata_ipv6_mcast_key117 : exact @name("multicast_metadata.ipv6_mcast_key") ; + meta._multicast_metadata_ipv6_mcast_key_type110: exact @name("multicast_metadata.ipv6_mcast_key_type") ; + meta._multicast_metadata_ipv6_mcast_key111 : exact @name("multicast_metadata.ipv6_mcast_key") ; hdr.ipv6.dstAddr : ternary @name("ipv6.dstAddr") ; } size = 512; @@ -4331,11 +4321,11 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".nop") action _nop_66() { } @name(".set_tunnel_termination_flag") action _set_tunnel_termination_flag() { - meta._tunnel_metadata_tunnel_terminate160 = 1w1; + meta._tunnel_metadata_tunnel_terminate150 = 1w1; } @name(".set_tunnel_vni_and_termination_flag") action _set_tunnel_vni_and_termination_flag(bit<24> tunnel_vni) { - meta._tunnel_metadata_tunnel_vni148 = tunnel_vni; - meta._tunnel_metadata_tunnel_terminate160 = 1w1; + meta._tunnel_metadata_tunnel_vni138 = tunnel_vni; + meta._tunnel_metadata_tunnel_terminate150 = 1w1; } @name(".on_miss") action _on_miss_3() { } @@ -4350,9 +4340,9 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_174(); } key = { - meta._l3_metadata_vrf95 : exact @name("l3_metadata.vrf") ; + meta._l3_metadata_vrf89 : exact @name("l3_metadata.vrf") ; hdr.ipv4.dstAddr : exact @name("ipv4.dstAddr") ; - meta._tunnel_metadata_ingress_tunnel_type147: exact @name("tunnel_metadata.ingress_tunnel_type") ; + meta._tunnel_metadata_ingress_tunnel_type137: exact @name("tunnel_metadata.ingress_tunnel_type") ; } size = 1024; default_action = NoAction_174(); @@ -4364,9 +4354,9 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_175(); } key = { - meta._l3_metadata_vrf95 : exact @name("l3_metadata.vrf") ; + meta._l3_metadata_vrf89 : exact @name("l3_metadata.vrf") ; hdr.ipv4.srcAddr : exact @name("ipv4.srcAddr") ; - meta._tunnel_metadata_ingress_tunnel_type147: exact @name("tunnel_metadata.ingress_tunnel_type") ; + meta._tunnel_metadata_ingress_tunnel_type137: exact @name("tunnel_metadata.ingress_tunnel_type") ; } size = 1024; default_action = NoAction_175(); @@ -4374,11 +4364,11 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".nop") action _nop_67() { } @name(".set_tunnel_termination_flag") action _set_tunnel_termination_flag_0() { - meta._tunnel_metadata_tunnel_terminate160 = 1w1; + meta._tunnel_metadata_tunnel_terminate150 = 1w1; } @name(".set_tunnel_vni_and_termination_flag") action _set_tunnel_vni_and_termination_flag_0(bit<24> tunnel_vni) { - meta._tunnel_metadata_tunnel_vni148 = tunnel_vni; - meta._tunnel_metadata_tunnel_terminate160 = 1w1; + meta._tunnel_metadata_tunnel_vni138 = tunnel_vni; + meta._tunnel_metadata_tunnel_terminate150 = 1w1; } @name(".on_miss") action _on_miss_4() { } @@ -4393,9 +4383,9 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_176(); } key = { - meta._l3_metadata_vrf95 : exact @name("l3_metadata.vrf") ; + meta._l3_metadata_vrf89 : exact @name("l3_metadata.vrf") ; hdr.ipv6.dstAddr : exact @name("ipv6.dstAddr") ; - meta._tunnel_metadata_ingress_tunnel_type147: exact @name("tunnel_metadata.ingress_tunnel_type") ; + meta._tunnel_metadata_ingress_tunnel_type137: exact @name("tunnel_metadata.ingress_tunnel_type") ; } size = 1024; default_action = NoAction_176(); @@ -4407,58 +4397,58 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_177(); } key = { - meta._l3_metadata_vrf95 : exact @name("l3_metadata.vrf") ; + meta._l3_metadata_vrf89 : exact @name("l3_metadata.vrf") ; hdr.ipv6.srcAddr : exact @name("ipv6.srcAddr") ; - meta._tunnel_metadata_ingress_tunnel_type147: exact @name("tunnel_metadata.ingress_tunnel_type") ; + meta._tunnel_metadata_ingress_tunnel_type137: exact @name("tunnel_metadata.ingress_tunnel_type") ; } size = 1024; default_action = NoAction_177(); } @name(".terminate_eompls") action _terminate_eompls(bit<16> bd, bit<5> tunnel_type) { - meta._tunnel_metadata_tunnel_terminate160 = 1w1; - meta._tunnel_metadata_ingress_tunnel_type147 = tunnel_type; + meta._tunnel_metadata_tunnel_terminate150 = 1w1; + meta._tunnel_metadata_ingress_tunnel_type137 = tunnel_type; meta._ingress_metadata_bd42 = bd; - meta._l2_metadata_lkp_mac_type74 = hdr.inner_ethernet.etherType; + meta._l2_metadata_lkp_mac_type68 = hdr.inner_ethernet.etherType; } @name(".terminate_vpls") action _terminate_vpls(bit<16> bd, bit<5> tunnel_type) { - meta._tunnel_metadata_tunnel_terminate160 = 1w1; - meta._tunnel_metadata_ingress_tunnel_type147 = tunnel_type; + meta._tunnel_metadata_tunnel_terminate150 = 1w1; + meta._tunnel_metadata_ingress_tunnel_type137 = tunnel_type; meta._ingress_metadata_bd42 = bd; - meta._l2_metadata_lkp_mac_type74 = hdr.inner_ethernet.etherType; + meta._l2_metadata_lkp_mac_type68 = hdr.inner_ethernet.etherType; } @name(".terminate_ipv4_over_mpls") action _terminate_ipv4_over_mpls(bit<16> vrf, bit<5> tunnel_type) { - meta._tunnel_metadata_tunnel_terminate160 = 1w1; - meta._tunnel_metadata_ingress_tunnel_type147 = tunnel_type; - meta._l3_metadata_vrf95 = vrf; - meta._l2_metadata_lkp_mac_sa71 = hdr.ethernet.srcAddr; - meta._l2_metadata_lkp_mac_da72 = hdr.ethernet.dstAddr; - meta._l3_metadata_lkp_ip_type86 = 2w1; - meta._l2_metadata_lkp_mac_type74 = hdr.inner_ethernet.etherType; - meta._l3_metadata_lkp_ip_version87 = hdr.inner_ipv4.version; - meta._l3_metadata_lkp_ip_tc89 = hdr.inner_ipv4.diffserv; + meta._tunnel_metadata_tunnel_terminate150 = 1w1; + meta._tunnel_metadata_ingress_tunnel_type137 = tunnel_type; + meta._l3_metadata_vrf89 = vrf; + meta._l2_metadata_lkp_mac_sa65 = hdr.ethernet.srcAddr; + meta._l2_metadata_lkp_mac_da66 = hdr.ethernet.dstAddr; + meta._l3_metadata_lkp_ip_type80 = 2w1; + meta._l2_metadata_lkp_mac_type68 = hdr.inner_ethernet.etherType; + meta._l3_metadata_lkp_ip_version81 = hdr.inner_ipv4.version; + meta._l3_metadata_lkp_ip_tc83 = hdr.inner_ipv4.diffserv; } @name(".terminate_ipv6_over_mpls") action _terminate_ipv6_over_mpls(bit<16> vrf, bit<5> tunnel_type) { - meta._tunnel_metadata_tunnel_terminate160 = 1w1; - meta._tunnel_metadata_ingress_tunnel_type147 = tunnel_type; - meta._l3_metadata_vrf95 = vrf; - meta._l2_metadata_lkp_mac_sa71 = hdr.ethernet.srcAddr; - meta._l2_metadata_lkp_mac_da72 = hdr.ethernet.dstAddr; - meta._l3_metadata_lkp_ip_type86 = 2w2; - meta._l2_metadata_lkp_mac_type74 = hdr.inner_ethernet.etherType; - meta._l3_metadata_lkp_ip_version87 = hdr.inner_ipv6.version; - meta._l3_metadata_lkp_ip_tc89 = hdr.inner_ipv6.trafficClass; + meta._tunnel_metadata_tunnel_terminate150 = 1w1; + meta._tunnel_metadata_ingress_tunnel_type137 = tunnel_type; + meta._l3_metadata_vrf89 = vrf; + meta._l2_metadata_lkp_mac_sa65 = hdr.ethernet.srcAddr; + meta._l2_metadata_lkp_mac_da66 = hdr.ethernet.dstAddr; + meta._l3_metadata_lkp_ip_type80 = 2w2; + meta._l2_metadata_lkp_mac_type68 = hdr.inner_ethernet.etherType; + meta._l3_metadata_lkp_ip_version81 = hdr.inner_ipv6.version; + meta._l3_metadata_lkp_ip_tc83 = hdr.inner_ipv6.trafficClass; } @name(".terminate_pw") action _terminate_pw(bit<16> ifindex) { meta._ingress_metadata_egress_ifindex39 = ifindex; - meta._l2_metadata_lkp_mac_sa71 = hdr.ethernet.srcAddr; - meta._l2_metadata_lkp_mac_da72 = hdr.ethernet.dstAddr; + meta._l2_metadata_lkp_mac_sa65 = hdr.ethernet.srcAddr; + meta._l2_metadata_lkp_mac_da66 = hdr.ethernet.dstAddr; } @name(".forward_mpls") action _forward_mpls(bit<16> nexthop_index) { - meta._l3_metadata_fib_nexthop103 = nexthop_index; - meta._l3_metadata_fib_nexthop_type104 = 1w0; - meta._l3_metadata_fib_hit102 = 1w1; - meta._l2_metadata_lkp_mac_sa71 = hdr.ethernet.srcAddr; - meta._l2_metadata_lkp_mac_da72 = hdr.ethernet.dstAddr; + meta._l3_metadata_fib_nexthop97 = nexthop_index; + meta._l3_metadata_fib_nexthop_type98 = 1w0; + meta._l3_metadata_fib_hit96 = 1w1; + meta._l2_metadata_lkp_mac_sa65 = hdr.ethernet.srcAddr; + meta._l2_metadata_lkp_mac_da66 = hdr.ethernet.dstAddr; } @name(".mpls") table _mpls_0 { actions = { @@ -4471,7 +4461,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_178(); } key = { - meta._tunnel_metadata_mpls_label150: exact @name("tunnel_metadata.mpls_label") ; + meta._tunnel_metadata_mpls_label140: exact @name("tunnel_metadata.mpls_label") ; hdr.inner_ipv4.isValid() : exact @name("inner_ipv4.$valid$") ; hdr.inner_ipv6.isValid() : exact @name("inner_ipv6.$valid$") ; } @@ -4483,7 +4473,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } @name(".sflow_ing_session_enable") action _sflow_ing_session_enable_0(bit<32> rate_thr, bit<16> session_id) { meta._ingress_metadata_sflow_take_sample47 = rate_thr |+| meta._ingress_metadata_sflow_take_sample47; - meta._sflow_metadata_sflow_session_id146 = session_id; + meta._sflow_metadata_sflow_session_id136 = session_id; } @name(".nop") action _nop_69() { _sflow_ingress_session_pkt_counter.count(); @@ -4492,7 +4482,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ _sflow_ingress_session_pkt_counter.count(); meta._fabric_metadata_reason_code28 = reason_code; meta._i2e_metadata_mirror_session_id36 = (bit<16>)sflow_i2e_mirror_id; - clone3(CloneType.I2E, sflow_i2e_mirror_id, { { meta._ingress_metadata_bd42, meta._ingress_metadata_ifindex38, reason_code, meta._ingress_metadata_ingress_port37 }, meta._sflow_metadata_sflow_session_id146, (bit<16>)sflow_i2e_mirror_id }); + clone3(CloneType.I2E, sflow_i2e_mirror_id, { { meta._ingress_metadata_bd42, meta._ingress_metadata_ifindex38, reason_code, meta._ingress_metadata_ingress_port37 }, meta._sflow_metadata_sflow_session_id136, (bit<16>)sflow_i2e_mirror_id }); } @name(".sflow_ing_take_sample") table _sflow_ing_take_sample { actions = { @@ -4502,7 +4492,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } key = { meta._ingress_metadata_sflow_take_sample47: ternary @name("ingress_metadata.sflow_take_sample") ; - meta._sflow_metadata_sflow_session_id146 : exact @name("sflow_metadata.sflow_session_id") ; + meta._sflow_metadata_sflow_session_id136 : exact @name("sflow_metadata.sflow_session_id") ; } counters = _sflow_ingress_session_pkt_counter; default_action = NoAction_179(); @@ -4515,8 +4505,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } key = { meta._ingress_metadata_ifindex38 : ternary @name("ingress_metadata.ifindex") ; - meta._ipv4_metadata_lkp_ipv4_sa62: ternary @name("ipv4_metadata.lkp_ipv4_sa") ; - meta._ipv4_metadata_lkp_ipv4_da63: ternary @name("ipv4_metadata.lkp_ipv4_da") ; + meta._ipv4_metadata_lkp_ipv4_sa56: ternary @name("ipv4_metadata.lkp_ipv4_sa") ; + meta._ipv4_metadata_lkp_ipv4_da57: ternary @name("ipv4_metadata.lkp_ipv4_da") ; hdr.sflow.isValid() : exact @name("sflow.$valid$") ; } size = 512; @@ -4526,8 +4516,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".nop") action _nop_70() { } @name(".set_storm_control_meter") action _set_storm_control_meter_0(bit<32> meter_idx) { - _storm_control_meter.execute_meter>(meter_idx, meta._meter_metadata_meter_color112); - meta._meter_metadata_meter_index113 = (bit<16>)meter_idx; + _storm_control_meter.execute_meter>(meter_idx, meta._meter_metadata_meter_color106); + meta._meter_metadata_meter_index107 = (bit<16>)meter_idx; } @name(".storm_control") table _storm_control { actions = { @@ -4537,7 +4527,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } key = { standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; - meta._l2_metadata_lkp_pkt_type73: ternary @name("l2_metadata.lkp_pkt_type") ; + meta._l2_metadata_lkp_pkt_type67: ternary @name("l2_metadata.lkp_pkt_type") ; } size = 512; default_action = NoAction_181(); @@ -4545,24 +4535,24 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".nop") action _nop_71() { } @name(".set_unicast") action _set_unicast_0() { - meta._l2_metadata_lkp_pkt_type73 = 3w1; + meta._l2_metadata_lkp_pkt_type67 = 3w1; } @name(".set_unicast_and_ipv6_src_is_link_local") action _set_unicast_and_ipv6_src_is_link_local_0() { - meta._l2_metadata_lkp_pkt_type73 = 3w1; - meta._ipv6_metadata_ipv6_src_is_link_local69 = 1w1; + meta._l2_metadata_lkp_pkt_type67 = 3w1; + meta._ipv6_metadata_ipv6_src_is_link_local63 = 1w1; } @name(".set_multicast") action _set_multicast_0() { - meta._l2_metadata_lkp_pkt_type73 = 3w2; - meta._l2_metadata_bd_stats_idx82 = meta._l2_metadata_bd_stats_idx82 + 16w1; + meta._l2_metadata_lkp_pkt_type67 = 3w2; + meta._l2_metadata_bd_stats_idx76 = meta._l2_metadata_bd_stats_idx76 + 16w1; } @name(".set_multicast_and_ipv6_src_is_link_local") action _set_multicast_and_ipv6_src_is_link_local_0() { - meta._l2_metadata_lkp_pkt_type73 = 3w2; - meta._ipv6_metadata_ipv6_src_is_link_local69 = 1w1; - meta._l2_metadata_bd_stats_idx82 = meta._l2_metadata_bd_stats_idx82 + 16w1; + meta._l2_metadata_lkp_pkt_type67 = 3w2; + meta._ipv6_metadata_ipv6_src_is_link_local63 = 1w1; + meta._l2_metadata_bd_stats_idx76 = meta._l2_metadata_bd_stats_idx76 + 16w1; } @name(".set_broadcast") action _set_broadcast_0() { - meta._l2_metadata_lkp_pkt_type73 = 3w4; - meta._l2_metadata_bd_stats_idx82 = meta._l2_metadata_bd_stats_idx82 + 16w2; + meta._l2_metadata_lkp_pkt_type67 = 3w4; + meta._l2_metadata_bd_stats_idx76 = meta._l2_metadata_bd_stats_idx76 + 16w2; } @name(".set_malformed_packet") action _set_malformed_packet_0(bit<8> drop_reason) { meta._ingress_metadata_drop_flag43 = 1w1; @@ -4580,13 +4570,13 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_182(); } key = { - meta._l2_metadata_lkp_mac_sa71[40:40] : ternary @name("l2_metadata.lkp_mac_sa") ; - meta._l2_metadata_lkp_mac_da72 : ternary @name("l2_metadata.lkp_mac_da") ; - meta._l3_metadata_lkp_ip_type86 : ternary @name("l3_metadata.lkp_ip_type") ; - meta._l3_metadata_lkp_ip_ttl90 : ternary @name("l3_metadata.lkp_ip_ttl") ; - meta._l3_metadata_lkp_ip_version87 : ternary @name("l3_metadata.lkp_ip_version") ; - meta._ipv4_metadata_lkp_ipv4_sa62[31:24] : ternary @name("ipv4_metadata.lkp_ipv4_sa") ; - meta._ipv6_metadata_lkp_ipv6_sa66[127:112]: ternary @name("ipv6_metadata.lkp_ipv6_sa") ; + meta._l2_metadata_lkp_mac_sa65[40:40] : ternary @name("l2_metadata.lkp_mac_sa") ; + meta._l2_metadata_lkp_mac_da66 : ternary @name("l2_metadata.lkp_mac_da") ; + meta._l3_metadata_lkp_ip_type80 : ternary @name("l3_metadata.lkp_ip_type") ; + meta._l3_metadata_lkp_ip_ttl84 : ternary @name("l3_metadata.lkp_ip_ttl") ; + meta._l3_metadata_lkp_ip_version81 : ternary @name("l3_metadata.lkp_ip_version") ; + meta._ipv4_metadata_lkp_ipv4_sa56[31:24] : ternary @name("ipv4_metadata.lkp_ipv4_sa") ; + meta._ipv6_metadata_lkp_ipv6_sa60[127:112]: ternary @name("ipv6_metadata.lkp_ipv6_sa") ; } size = 512; default_action = NoAction_182(); @@ -4597,10 +4587,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } @name(".dmac_hit") action _dmac_hit_0(bit<16> ifindex) { meta._ingress_metadata_egress_ifindex39 = ifindex; - meta._l2_metadata_same_if_check85 = meta._l2_metadata_same_if_check85 ^ ifindex; + meta._l2_metadata_same_if_check79 = meta._l2_metadata_same_if_check79 ^ ifindex; } @name(".dmac_multicast_hit") action _dmac_multicast_hit_0(bit<16> mc_index) { - meta._intrinsic_metadata_mcast_grp58 = mc_index; + standard_metadata.mcast_grp = mc_index; meta._fabric_metadata_dst_device29 = 8w127; } @name(".dmac_miss") action _dmac_miss_0() { @@ -4608,23 +4598,23 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta._fabric_metadata_dst_device29 = 8w127; } @name(".dmac_redirect_nexthop") action _dmac_redirect_nexthop_0(bit<16> nexthop_index) { - meta._l2_metadata_l2_redirect77 = 1w1; - meta._l2_metadata_l2_nexthop75 = nexthop_index; - meta._l2_metadata_l2_nexthop_type76 = 1w0; + meta._l2_metadata_l2_redirect71 = 1w1; + meta._l2_metadata_l2_nexthop69 = nexthop_index; + meta._l2_metadata_l2_nexthop_type70 = 1w0; } @name(".dmac_redirect_ecmp") action _dmac_redirect_ecmp_0(bit<16> ecmp_index) { - meta._l2_metadata_l2_redirect77 = 1w1; - meta._l2_metadata_l2_nexthop75 = ecmp_index; - meta._l2_metadata_l2_nexthop_type76 = 1w1; + meta._l2_metadata_l2_redirect71 = 1w1; + meta._l2_metadata_l2_nexthop69 = ecmp_index; + meta._l2_metadata_l2_nexthop_type70 = 1w1; } @name(".dmac_drop") action _dmac_drop_0() { mark_to_drop(standard_metadata); } @name(".smac_miss") action _smac_miss_0() { - meta._l2_metadata_l2_src_miss78 = 1w1; + meta._l2_metadata_l2_src_miss72 = 1w1; } @name(".smac_hit") action _smac_hit_0(bit<16> ifindex) { - meta._l2_metadata_l2_src_move79 = meta._ingress_metadata_ifindex38 ^ ifindex; + meta._l2_metadata_l2_src_move73 = meta._ingress_metadata_ifindex38 ^ ifindex; } @name(".dmac") table _dmac { support_timeout = true; @@ -4640,7 +4630,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } key = { meta._ingress_metadata_bd42 : exact @name("ingress_metadata.bd") ; - meta._l2_metadata_lkp_mac_da72: exact @name("l2_metadata.lkp_mac_da") ; + meta._l2_metadata_lkp_mac_da66: exact @name("l2_metadata.lkp_mac_da") ; } size = 1024; default_action = NoAction_183(); @@ -4654,7 +4644,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } key = { meta._ingress_metadata_bd42 : exact @name("ingress_metadata.bd") ; - meta._l2_metadata_lkp_mac_sa71: exact @name("l2_metadata.lkp_mac_sa") ; + meta._l2_metadata_lkp_mac_sa65: exact @name("l2_metadata.lkp_mac_sa") ; } size = 1024; default_action = NoAction_184(); @@ -4664,29 +4654,29 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".acl_deny") action _acl_deny_1(bit<14> acl_stats_index, bit<16> acl_meter_index, bit<1> acl_copy, bit<16> acl_copy_reason) { meta._acl_metadata_acl_deny0 = 1w1; meta._acl_metadata_acl_stats_index11 = acl_stats_index; - meta._meter_metadata_meter_index113 = acl_meter_index; + meta._meter_metadata_meter_index107 = acl_meter_index; meta._acl_metadata_acl_copy1 = acl_copy; meta._fabric_metadata_reason_code28 = acl_copy_reason; } @name(".acl_permit") action _acl_permit_1(bit<14> acl_stats_index, bit<16> acl_meter_index, bit<1> acl_copy, bit<16> acl_copy_reason) { meta._acl_metadata_acl_stats_index11 = acl_stats_index; - meta._meter_metadata_meter_index113 = acl_meter_index; + meta._meter_metadata_meter_index107 = acl_meter_index; meta._acl_metadata_acl_copy1 = acl_copy; meta._fabric_metadata_reason_code28 = acl_copy_reason; } @name(".acl_mirror") action _acl_mirror_1(bit<32> session_id, bit<14> acl_stats_index, bit<16> acl_meter_index) { meta._i2e_metadata_mirror_session_id36 = (bit<16>)session_id; - meta._i2e_metadata_ingress_tstamp35 = (bit<32>)meta._intrinsic_metadata_ingress_global_timestamp57; - clone3(CloneType.I2E, session_id, { (bit<32>)meta._intrinsic_metadata_ingress_global_timestamp57, (bit<16>)session_id }); + meta._i2e_metadata_ingress_tstamp35 = (bit<32>)standard_metadata.ingress_global_timestamp; + clone3(CloneType.I2E, session_id, { (bit<32>)standard_metadata.ingress_global_timestamp, (bit<16>)session_id }); meta._acl_metadata_acl_stats_index11 = acl_stats_index; - meta._meter_metadata_meter_index113 = acl_meter_index; + meta._meter_metadata_meter_index107 = acl_meter_index; } @name(".acl_redirect_nexthop") action _acl_redirect_nexthop_1(bit<16> nexthop_index, bit<14> acl_stats_index, bit<16> acl_meter_index, bit<1> acl_copy, bit<16> acl_copy_reason) { meta._acl_metadata_acl_redirect7 = 1w1; meta._acl_metadata_acl_nexthop3 = nexthop_index; meta._acl_metadata_acl_nexthop_type5 = 1w0; meta._acl_metadata_acl_stats_index11 = acl_stats_index; - meta._meter_metadata_meter_index113 = acl_meter_index; + meta._meter_metadata_meter_index107 = acl_meter_index; meta._acl_metadata_acl_copy1 = acl_copy; meta._fabric_metadata_reason_code28 = acl_copy_reason; } @@ -4695,7 +4685,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta._acl_metadata_acl_nexthop3 = ecmp_index; meta._acl_metadata_acl_nexthop_type5 = 1w1; meta._acl_metadata_acl_stats_index11 = acl_stats_index; - meta._meter_metadata_meter_index113 = acl_meter_index; + meta._meter_metadata_meter_index107 = acl_meter_index; meta._acl_metadata_acl_copy1 = acl_copy; meta._fabric_metadata_reason_code28 = acl_copy_reason; } @@ -4712,9 +4702,9 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ key = { meta._acl_metadata_if_label9 : ternary @name("acl_metadata.if_label") ; meta._acl_metadata_bd_label10 : ternary @name("acl_metadata.bd_label") ; - meta._l2_metadata_lkp_mac_sa71 : ternary @name("l2_metadata.lkp_mac_sa") ; - meta._l2_metadata_lkp_mac_da72 : ternary @name("l2_metadata.lkp_mac_da") ; - meta._l2_metadata_lkp_mac_type74: ternary @name("l2_metadata.lkp_mac_type") ; + meta._l2_metadata_lkp_mac_sa65 : ternary @name("l2_metadata.lkp_mac_sa") ; + meta._l2_metadata_lkp_mac_da66 : ternary @name("l2_metadata.lkp_mac_da") ; + meta._l2_metadata_lkp_mac_type68: ternary @name("l2_metadata.lkp_mac_type") ; } size = 512; default_action = NoAction_185(); @@ -4726,49 +4716,49 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".acl_deny") action _acl_deny_2(bit<14> acl_stats_index, bit<16> acl_meter_index, bit<1> acl_copy, bit<16> acl_copy_reason) { meta._acl_metadata_acl_deny0 = 1w1; meta._acl_metadata_acl_stats_index11 = acl_stats_index; - meta._meter_metadata_meter_index113 = acl_meter_index; + meta._meter_metadata_meter_index107 = acl_meter_index; meta._acl_metadata_acl_copy1 = acl_copy; meta._fabric_metadata_reason_code28 = acl_copy_reason; } @name(".acl_deny") action _acl_deny_4(bit<14> acl_stats_index, bit<16> acl_meter_index, bit<1> acl_copy, bit<16> acl_copy_reason) { meta._acl_metadata_acl_deny0 = 1w1; meta._acl_metadata_acl_stats_index11 = acl_stats_index; - meta._meter_metadata_meter_index113 = acl_meter_index; + meta._meter_metadata_meter_index107 = acl_meter_index; meta._acl_metadata_acl_copy1 = acl_copy; meta._fabric_metadata_reason_code28 = acl_copy_reason; } @name(".acl_permit") action _acl_permit_2(bit<14> acl_stats_index, bit<16> acl_meter_index, bit<1> acl_copy, bit<16> acl_copy_reason) { meta._acl_metadata_acl_stats_index11 = acl_stats_index; - meta._meter_metadata_meter_index113 = acl_meter_index; + meta._meter_metadata_meter_index107 = acl_meter_index; meta._acl_metadata_acl_copy1 = acl_copy; meta._fabric_metadata_reason_code28 = acl_copy_reason; } @name(".acl_permit") action _acl_permit_4(bit<14> acl_stats_index, bit<16> acl_meter_index, bit<1> acl_copy, bit<16> acl_copy_reason) { meta._acl_metadata_acl_stats_index11 = acl_stats_index; - meta._meter_metadata_meter_index113 = acl_meter_index; + meta._meter_metadata_meter_index107 = acl_meter_index; meta._acl_metadata_acl_copy1 = acl_copy; meta._fabric_metadata_reason_code28 = acl_copy_reason; } @name(".acl_mirror") action _acl_mirror_2(bit<32> session_id, bit<14> acl_stats_index, bit<16> acl_meter_index) { meta._i2e_metadata_mirror_session_id36 = (bit<16>)session_id; - meta._i2e_metadata_ingress_tstamp35 = (bit<32>)meta._intrinsic_metadata_ingress_global_timestamp57; - clone3(CloneType.I2E, session_id, { (bit<32>)meta._intrinsic_metadata_ingress_global_timestamp57, (bit<16>)session_id }); + meta._i2e_metadata_ingress_tstamp35 = (bit<32>)standard_metadata.ingress_global_timestamp; + clone3(CloneType.I2E, session_id, { (bit<32>)standard_metadata.ingress_global_timestamp, (bit<16>)session_id }); meta._acl_metadata_acl_stats_index11 = acl_stats_index; - meta._meter_metadata_meter_index113 = acl_meter_index; + meta._meter_metadata_meter_index107 = acl_meter_index; } @name(".acl_mirror") action _acl_mirror_4(bit<32> session_id, bit<14> acl_stats_index, bit<16> acl_meter_index) { meta._i2e_metadata_mirror_session_id36 = (bit<16>)session_id; - meta._i2e_metadata_ingress_tstamp35 = (bit<32>)meta._intrinsic_metadata_ingress_global_timestamp57; - clone3(CloneType.I2E, session_id, { (bit<32>)meta._intrinsic_metadata_ingress_global_timestamp57, (bit<16>)session_id }); + meta._i2e_metadata_ingress_tstamp35 = (bit<32>)standard_metadata.ingress_global_timestamp; + clone3(CloneType.I2E, session_id, { (bit<32>)standard_metadata.ingress_global_timestamp, (bit<16>)session_id }); meta._acl_metadata_acl_stats_index11 = acl_stats_index; - meta._meter_metadata_meter_index113 = acl_meter_index; + meta._meter_metadata_meter_index107 = acl_meter_index; } @name(".acl_redirect_nexthop") action _acl_redirect_nexthop_2(bit<16> nexthop_index, bit<14> acl_stats_index, bit<16> acl_meter_index, bit<1> acl_copy, bit<16> acl_copy_reason) { meta._acl_metadata_acl_redirect7 = 1w1; meta._acl_metadata_acl_nexthop3 = nexthop_index; meta._acl_metadata_acl_nexthop_type5 = 1w0; meta._acl_metadata_acl_stats_index11 = acl_stats_index; - meta._meter_metadata_meter_index113 = acl_meter_index; + meta._meter_metadata_meter_index107 = acl_meter_index; meta._acl_metadata_acl_copy1 = acl_copy; meta._fabric_metadata_reason_code28 = acl_copy_reason; } @@ -4777,7 +4767,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta._acl_metadata_acl_nexthop3 = nexthop_index; meta._acl_metadata_acl_nexthop_type5 = 1w0; meta._acl_metadata_acl_stats_index11 = acl_stats_index; - meta._meter_metadata_meter_index113 = acl_meter_index; + meta._meter_metadata_meter_index107 = acl_meter_index; meta._acl_metadata_acl_copy1 = acl_copy; meta._fabric_metadata_reason_code28 = acl_copy_reason; } @@ -4786,7 +4776,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta._acl_metadata_acl_nexthop3 = ecmp_index; meta._acl_metadata_acl_nexthop_type5 = 1w1; meta._acl_metadata_acl_stats_index11 = acl_stats_index; - meta._meter_metadata_meter_index113 = acl_meter_index; + meta._meter_metadata_meter_index107 = acl_meter_index; meta._acl_metadata_acl_copy1 = acl_copy; meta._fabric_metadata_reason_code28 = acl_copy_reason; } @@ -4795,7 +4785,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ meta._acl_metadata_acl_nexthop3 = ecmp_index; meta._acl_metadata_acl_nexthop_type5 = 1w1; meta._acl_metadata_acl_stats_index11 = acl_stats_index; - meta._meter_metadata_meter_index113 = acl_meter_index; + meta._meter_metadata_meter_index107 = acl_meter_index; meta._acl_metadata_acl_copy1 = acl_copy; meta._fabric_metadata_reason_code28 = acl_copy_reason; } @@ -4812,13 +4802,13 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ key = { meta._acl_metadata_if_label9 : ternary @name("acl_metadata.if_label") ; meta._acl_metadata_bd_label10 : ternary @name("acl_metadata.bd_label") ; - meta._ipv4_metadata_lkp_ipv4_sa62: ternary @name("ipv4_metadata.lkp_ipv4_sa") ; - meta._ipv4_metadata_lkp_ipv4_da63: ternary @name("ipv4_metadata.lkp_ipv4_da") ; - meta._l3_metadata_lkp_ip_proto88 : ternary @name("l3_metadata.lkp_ip_proto") ; - meta._l3_metadata_lkp_l4_sport91 : ternary @name("l3_metadata.lkp_l4_sport") ; - meta._l3_metadata_lkp_l4_dport92 : ternary @name("l3_metadata.lkp_l4_dport") ; + meta._ipv4_metadata_lkp_ipv4_sa56: ternary @name("ipv4_metadata.lkp_ipv4_sa") ; + meta._ipv4_metadata_lkp_ipv4_da57: ternary @name("ipv4_metadata.lkp_ipv4_da") ; + meta._l3_metadata_lkp_ip_proto82 : ternary @name("l3_metadata.lkp_ip_proto") ; + meta._l3_metadata_lkp_l4_sport85 : ternary @name("l3_metadata.lkp_l4_sport") ; + meta._l3_metadata_lkp_l4_dport86 : ternary @name("l3_metadata.lkp_l4_dport") ; hdr.tcp.flags : ternary @name("tcp.flags") ; - meta._l3_metadata_lkp_ip_ttl90 : ternary @name("l3_metadata.lkp_ip_ttl") ; + meta._l3_metadata_lkp_ip_ttl84 : ternary @name("l3_metadata.lkp_ip_ttl") ; } size = 512; default_action = NoAction_186(); @@ -4836,13 +4826,13 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ key = { meta._acl_metadata_if_label9 : ternary @name("acl_metadata.if_label") ; meta._acl_metadata_bd_label10 : ternary @name("acl_metadata.bd_label") ; - meta._ipv6_metadata_lkp_ipv6_sa66: ternary @name("ipv6_metadata.lkp_ipv6_sa") ; - meta._ipv6_metadata_lkp_ipv6_da67: ternary @name("ipv6_metadata.lkp_ipv6_da") ; - meta._l3_metadata_lkp_ip_proto88 : ternary @name("l3_metadata.lkp_ip_proto") ; - meta._l3_metadata_lkp_l4_sport91 : ternary @name("l3_metadata.lkp_l4_sport") ; - meta._l3_metadata_lkp_l4_dport92 : ternary @name("l3_metadata.lkp_l4_dport") ; + meta._ipv6_metadata_lkp_ipv6_sa60: ternary @name("ipv6_metadata.lkp_ipv6_sa") ; + meta._ipv6_metadata_lkp_ipv6_da61: ternary @name("ipv6_metadata.lkp_ipv6_da") ; + meta._l3_metadata_lkp_ip_proto82 : ternary @name("l3_metadata.lkp_ip_proto") ; + meta._l3_metadata_lkp_l4_sport85 : ternary @name("l3_metadata.lkp_l4_sport") ; + meta._l3_metadata_lkp_l4_dport86 : ternary @name("l3_metadata.lkp_l4_dport") ; hdr.tcp.flags : ternary @name("tcp.flags") ; - meta._l3_metadata_lkp_ip_ttl90 : ternary @name("l3_metadata.lkp_ip_ttl") ; + meta._l3_metadata_lkp_ip_ttl84 : ternary @name("l3_metadata.lkp_ip_ttl") ; } size = 512; default_action = NoAction_187(); @@ -4850,13 +4840,13 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".nop") action _nop_94() { } @name(".apply_cos_marking") action _apply_cos_marking_0(bit<3> cos) { - meta._qos_metadata_marked_cos136 = cos; + meta._qos_metadata_marked_cos130 = cos; } @name(".apply_dscp_marking") action _apply_dscp_marking_0(bit<8> dscp) { - meta._qos_metadata_marked_dscp137 = dscp; + meta._qos_metadata_marked_dscp131 = dscp; } @name(".apply_tc_marking") action _apply_tc_marking_0(bit<3> tc) { - meta._qos_metadata_marked_exp138 = tc; + meta._qos_metadata_marked_exp132 = tc; } @name(".qos") table _qos { actions = { @@ -4868,12 +4858,12 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } key = { meta._acl_metadata_if_label9 : ternary @name("acl_metadata.if_label") ; - meta._ipv4_metadata_lkp_ipv4_sa62: ternary @name("ipv4_metadata.lkp_ipv4_sa") ; - meta._ipv4_metadata_lkp_ipv4_da63: ternary @name("ipv4_metadata.lkp_ipv4_da") ; - meta._l3_metadata_lkp_ip_proto88 : ternary @name("l3_metadata.lkp_ip_proto") ; - meta._l3_metadata_lkp_ip_tc89 : ternary @name("l3_metadata.lkp_ip_tc") ; - meta._tunnel_metadata_mpls_exp151: ternary @name("tunnel_metadata.mpls_exp") ; - meta._qos_metadata_outer_dscp135 : ternary @name("qos_metadata.outer_dscp") ; + meta._ipv4_metadata_lkp_ipv4_sa56: ternary @name("ipv4_metadata.lkp_ipv4_sa") ; + meta._ipv4_metadata_lkp_ipv4_da57: ternary @name("ipv4_metadata.lkp_ipv4_da") ; + meta._l3_metadata_lkp_ip_proto82 : ternary @name("l3_metadata.lkp_ip_proto") ; + meta._l3_metadata_lkp_ip_tc83 : ternary @name("l3_metadata.lkp_ip_tc") ; + meta._tunnel_metadata_mpls_exp141: ternary @name("tunnel_metadata.mpls_exp") ; + meta._qos_metadata_outer_dscp129 : ternary @name("qos_metadata.outer_dscp") ; } size = 512; default_action = NoAction_188(); @@ -4883,14 +4873,14 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".on_miss") action _on_miss_5() { } @name(".multicast_bridge_s_g_hit") action _multicast_bridge_s_g_hit(bit<16> mc_index) { - meta._multicast_metadata_multicast_bridge_mc_index130 = mc_index; - meta._multicast_metadata_mcast_bridge_hit121 = 1w1; + meta._multicast_metadata_multicast_bridge_mc_index124 = mc_index; + meta._multicast_metadata_mcast_bridge_hit115 = 1w1; } @name(".nop") action _nop_95() { } @name(".multicast_bridge_star_g_hit") action _multicast_bridge_star_g_hit(bit<16> mc_index) { - meta._multicast_metadata_multicast_bridge_mc_index130 = mc_index; - meta._multicast_metadata_mcast_bridge_hit121 = 1w1; + meta._multicast_metadata_multicast_bridge_mc_index124 = mc_index; + meta._multicast_metadata_mcast_bridge_hit115 = 1w1; } @name(".ipv4_multicast_bridge") table _ipv4_multicast_bridge_0 { actions = { @@ -4900,8 +4890,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } key = { meta._ingress_metadata_bd42 : exact @name("ingress_metadata.bd") ; - meta._ipv4_metadata_lkp_ipv4_sa62: exact @name("ipv4_metadata.lkp_ipv4_sa") ; - meta._ipv4_metadata_lkp_ipv4_da63: exact @name("ipv4_metadata.lkp_ipv4_da") ; + meta._ipv4_metadata_lkp_ipv4_sa56: exact @name("ipv4_metadata.lkp_ipv4_sa") ; + meta._ipv4_metadata_lkp_ipv4_da57: exact @name("ipv4_metadata.lkp_ipv4_da") ; } size = 1024; default_action = NoAction_189(); @@ -4914,7 +4904,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } key = { meta._ingress_metadata_bd42 : exact @name("ingress_metadata.bd") ; - meta._ipv4_metadata_lkp_ipv4_da63: exact @name("ipv4_metadata.lkp_ipv4_da") ; + meta._ipv4_metadata_lkp_ipv4_da57: exact @name("ipv4_metadata.lkp_ipv4_da") ; } size = 1024; default_action = NoAction_190(); @@ -4924,10 +4914,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } @name(".multicast_route_s_g_hit") action _multicast_route_s_g_hit(bit<16> mc_index, bit<16> mcast_rpf_group) { _ipv4_multicast_route_s_g_stats_0.count(); - meta._multicast_metadata_multicast_route_mc_index129 = mc_index; - meta._multicast_metadata_mcast_mode128 = 2w1; - meta._multicast_metadata_mcast_route_hit120 = 1w1; - meta._multicast_metadata_mcast_rpf_group127 = mcast_rpf_group ^ meta._multicast_metadata_bd_mrpf_group126; + meta._multicast_metadata_multicast_route_mc_index123 = mc_index; + meta._multicast_metadata_mcast_mode122 = 2w1; + meta._multicast_metadata_mcast_route_hit114 = 1w1; + meta._multicast_metadata_mcast_rpf_group121 = mcast_rpf_group ^ meta._multicast_metadata_bd_mrpf_group120; } @name(".ipv4_multicast_route") table _ipv4_multicast_route_0 { actions = { @@ -4936,9 +4926,9 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_191(); } key = { - meta._l3_metadata_vrf95 : exact @name("l3_metadata.vrf") ; - meta._ipv4_metadata_lkp_ipv4_sa62: exact @name("ipv4_metadata.lkp_ipv4_sa") ; - meta._ipv4_metadata_lkp_ipv4_da63: exact @name("ipv4_metadata.lkp_ipv4_da") ; + meta._l3_metadata_vrf89 : exact @name("l3_metadata.vrf") ; + meta._ipv4_metadata_lkp_ipv4_sa56: exact @name("ipv4_metadata.lkp_ipv4_sa") ; + meta._ipv4_metadata_lkp_ipv4_da57: exact @name("ipv4_metadata.lkp_ipv4_da") ; } size = 1024; counters = _ipv4_multicast_route_s_g_stats_0; @@ -4946,21 +4936,21 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } @name(".multicast_route_star_g_miss") action _multicast_route_star_g_miss() { _ipv4_multicast_route_star_g_stats_0.count(); - meta._l3_metadata_l3_copy110 = 1w1; + meta._l3_metadata_l3_copy104 = 1w1; } @name(".multicast_route_sm_star_g_hit") action _multicast_route_sm_star_g_hit(bit<16> mc_index, bit<16> mcast_rpf_group) { _ipv4_multicast_route_star_g_stats_0.count(); - meta._multicast_metadata_mcast_mode128 = 2w1; - meta._multicast_metadata_multicast_route_mc_index129 = mc_index; - meta._multicast_metadata_mcast_route_hit120 = 1w1; - meta._multicast_metadata_mcast_rpf_group127 = mcast_rpf_group ^ meta._multicast_metadata_bd_mrpf_group126; + meta._multicast_metadata_mcast_mode122 = 2w1; + meta._multicast_metadata_multicast_route_mc_index123 = mc_index; + meta._multicast_metadata_mcast_route_hit114 = 1w1; + meta._multicast_metadata_mcast_rpf_group121 = mcast_rpf_group ^ meta._multicast_metadata_bd_mrpf_group120; } @name(".multicast_route_bidir_star_g_hit") action _multicast_route_bidir_star_g_hit(bit<16> mc_index, bit<16> mcast_rpf_group) { _ipv4_multicast_route_star_g_stats_0.count(); - meta._multicast_metadata_mcast_mode128 = 2w2; - meta._multicast_metadata_multicast_route_mc_index129 = mc_index; - meta._multicast_metadata_mcast_route_hit120 = 1w1; - meta._multicast_metadata_mcast_rpf_group127 = mcast_rpf_group | meta._multicast_metadata_bd_mrpf_group126; + meta._multicast_metadata_mcast_mode122 = 2w2; + meta._multicast_metadata_multicast_route_mc_index123 = mc_index; + meta._multicast_metadata_mcast_route_hit114 = 1w1; + meta._multicast_metadata_mcast_rpf_group121 = mcast_rpf_group | meta._multicast_metadata_bd_mrpf_group120; } @name(".ipv4_multicast_route_star_g") table _ipv4_multicast_route_star_g_0 { actions = { @@ -4970,8 +4960,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_192(); } key = { - meta._l3_metadata_vrf95 : exact @name("l3_metadata.vrf") ; - meta._ipv4_metadata_lkp_ipv4_da63: exact @name("ipv4_metadata.lkp_ipv4_da") ; + meta._l3_metadata_vrf89 : exact @name("l3_metadata.vrf") ; + meta._ipv4_metadata_lkp_ipv4_da57: exact @name("ipv4_metadata.lkp_ipv4_da") ; } size = 1024; counters = _ipv4_multicast_route_star_g_stats_0; @@ -4982,14 +4972,14 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".on_miss") action _on_miss_7() { } @name(".multicast_bridge_s_g_hit") action _multicast_bridge_s_g_hit_0(bit<16> mc_index) { - meta._multicast_metadata_multicast_bridge_mc_index130 = mc_index; - meta._multicast_metadata_mcast_bridge_hit121 = 1w1; + meta._multicast_metadata_multicast_bridge_mc_index124 = mc_index; + meta._multicast_metadata_mcast_bridge_hit115 = 1w1; } @name(".nop") action _nop_96() { } @name(".multicast_bridge_star_g_hit") action _multicast_bridge_star_g_hit_0(bit<16> mc_index) { - meta._multicast_metadata_multicast_bridge_mc_index130 = mc_index; - meta._multicast_metadata_mcast_bridge_hit121 = 1w1; + meta._multicast_metadata_multicast_bridge_mc_index124 = mc_index; + meta._multicast_metadata_mcast_bridge_hit115 = 1w1; } @name(".ipv6_multicast_bridge") table _ipv6_multicast_bridge_0 { actions = { @@ -4999,8 +4989,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } key = { meta._ingress_metadata_bd42 : exact @name("ingress_metadata.bd") ; - meta._ipv6_metadata_lkp_ipv6_sa66: exact @name("ipv6_metadata.lkp_ipv6_sa") ; - meta._ipv6_metadata_lkp_ipv6_da67: exact @name("ipv6_metadata.lkp_ipv6_da") ; + meta._ipv6_metadata_lkp_ipv6_sa60: exact @name("ipv6_metadata.lkp_ipv6_sa") ; + meta._ipv6_metadata_lkp_ipv6_da61: exact @name("ipv6_metadata.lkp_ipv6_da") ; } size = 1024; default_action = NoAction_193(); @@ -5013,7 +5003,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } key = { meta._ingress_metadata_bd42 : exact @name("ingress_metadata.bd") ; - meta._ipv6_metadata_lkp_ipv6_da67: exact @name("ipv6_metadata.lkp_ipv6_da") ; + meta._ipv6_metadata_lkp_ipv6_da61: exact @name("ipv6_metadata.lkp_ipv6_da") ; } size = 1024; default_action = NoAction_194(); @@ -5023,10 +5013,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } @name(".multicast_route_s_g_hit") action _multicast_route_s_g_hit_0(bit<16> mc_index, bit<16> mcast_rpf_group) { _ipv6_multicast_route_s_g_stats_0.count(); - meta._multicast_metadata_multicast_route_mc_index129 = mc_index; - meta._multicast_metadata_mcast_mode128 = 2w1; - meta._multicast_metadata_mcast_route_hit120 = 1w1; - meta._multicast_metadata_mcast_rpf_group127 = mcast_rpf_group ^ meta._multicast_metadata_bd_mrpf_group126; + meta._multicast_metadata_multicast_route_mc_index123 = mc_index; + meta._multicast_metadata_mcast_mode122 = 2w1; + meta._multicast_metadata_mcast_route_hit114 = 1w1; + meta._multicast_metadata_mcast_rpf_group121 = mcast_rpf_group ^ meta._multicast_metadata_bd_mrpf_group120; } @name(".ipv6_multicast_route") table _ipv6_multicast_route_0 { actions = { @@ -5035,9 +5025,9 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_195(); } key = { - meta._l3_metadata_vrf95 : exact @name("l3_metadata.vrf") ; - meta._ipv6_metadata_lkp_ipv6_sa66: exact @name("ipv6_metadata.lkp_ipv6_sa") ; - meta._ipv6_metadata_lkp_ipv6_da67: exact @name("ipv6_metadata.lkp_ipv6_da") ; + meta._l3_metadata_vrf89 : exact @name("l3_metadata.vrf") ; + meta._ipv6_metadata_lkp_ipv6_sa60: exact @name("ipv6_metadata.lkp_ipv6_sa") ; + meta._ipv6_metadata_lkp_ipv6_da61: exact @name("ipv6_metadata.lkp_ipv6_da") ; } size = 1024; counters = _ipv6_multicast_route_s_g_stats_0; @@ -5045,21 +5035,21 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } @name(".multicast_route_star_g_miss") action _multicast_route_star_g_miss_0() { _ipv6_multicast_route_star_g_stats_0.count(); - meta._l3_metadata_l3_copy110 = 1w1; + meta._l3_metadata_l3_copy104 = 1w1; } @name(".multicast_route_sm_star_g_hit") action _multicast_route_sm_star_g_hit_0(bit<16> mc_index, bit<16> mcast_rpf_group) { _ipv6_multicast_route_star_g_stats_0.count(); - meta._multicast_metadata_mcast_mode128 = 2w1; - meta._multicast_metadata_multicast_route_mc_index129 = mc_index; - meta._multicast_metadata_mcast_route_hit120 = 1w1; - meta._multicast_metadata_mcast_rpf_group127 = mcast_rpf_group ^ meta._multicast_metadata_bd_mrpf_group126; + meta._multicast_metadata_mcast_mode122 = 2w1; + meta._multicast_metadata_multicast_route_mc_index123 = mc_index; + meta._multicast_metadata_mcast_route_hit114 = 1w1; + meta._multicast_metadata_mcast_rpf_group121 = mcast_rpf_group ^ meta._multicast_metadata_bd_mrpf_group120; } @name(".multicast_route_bidir_star_g_hit") action _multicast_route_bidir_star_g_hit_0(bit<16> mc_index, bit<16> mcast_rpf_group) { _ipv6_multicast_route_star_g_stats_0.count(); - meta._multicast_metadata_mcast_mode128 = 2w2; - meta._multicast_metadata_multicast_route_mc_index129 = mc_index; - meta._multicast_metadata_mcast_route_hit120 = 1w1; - meta._multicast_metadata_mcast_rpf_group127 = mcast_rpf_group | meta._multicast_metadata_bd_mrpf_group126; + meta._multicast_metadata_mcast_mode122 = 2w2; + meta._multicast_metadata_multicast_route_mc_index123 = mc_index; + meta._multicast_metadata_mcast_route_hit114 = 1w1; + meta._multicast_metadata_mcast_rpf_group121 = mcast_rpf_group | meta._multicast_metadata_bd_mrpf_group120; } @name(".ipv6_multicast_route_star_g") table _ipv6_multicast_route_star_g_0 { actions = { @@ -5069,8 +5059,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_196(); } key = { - meta._l3_metadata_vrf95 : exact @name("l3_metadata.vrf") ; - meta._ipv6_metadata_lkp_ipv6_da67: exact @name("ipv6_metadata.lkp_ipv6_da") ; + meta._l3_metadata_vrf89 : exact @name("l3_metadata.vrf") ; + meta._ipv6_metadata_lkp_ipv6_da61: exact @name("ipv6_metadata.lkp_ipv6_da") ; } size = 1024; counters = _ipv6_multicast_route_star_g_stats_0; @@ -5116,11 +5106,11 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } key = { meta._acl_metadata_bd_label10 : ternary @name("acl_metadata.bd_label") ; - meta._ipv4_metadata_lkp_ipv4_sa62: ternary @name("ipv4_metadata.lkp_ipv4_sa") ; - meta._ipv4_metadata_lkp_ipv4_da63: ternary @name("ipv4_metadata.lkp_ipv4_da") ; - meta._l3_metadata_lkp_ip_proto88 : ternary @name("l3_metadata.lkp_ip_proto") ; - meta._l3_metadata_lkp_l4_sport91 : ternary @name("l3_metadata.lkp_l4_sport") ; - meta._l3_metadata_lkp_l4_dport92 : ternary @name("l3_metadata.lkp_l4_dport") ; + meta._ipv4_metadata_lkp_ipv4_sa56: ternary @name("ipv4_metadata.lkp_ipv4_sa") ; + meta._ipv4_metadata_lkp_ipv4_da57: ternary @name("ipv4_metadata.lkp_ipv4_da") ; + meta._l3_metadata_lkp_ip_proto82 : ternary @name("l3_metadata.lkp_ip_proto") ; + meta._l3_metadata_lkp_l4_sport85 : ternary @name("l3_metadata.lkp_l4_sport") ; + meta._l3_metadata_lkp_l4_dport86 : ternary @name("l3_metadata.lkp_l4_dport") ; } size = 512; default_action = NoAction_197(); @@ -5128,17 +5118,17 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".on_miss") action _on_miss_23() { } @name(".ipv4_urpf_hit") action _ipv4_urpf_hit_0(bit<16> urpf_bd_group) { - meta._l3_metadata_urpf_hit99 = 1w1; - meta._l3_metadata_urpf_bd_group101 = urpf_bd_group; - meta._l3_metadata_urpf_mode98 = meta._ipv4_metadata_ipv4_urpf_mode65; + meta._l3_metadata_urpf_hit93 = 1w1; + meta._l3_metadata_urpf_bd_group95 = urpf_bd_group; + meta._l3_metadata_urpf_mode92 = meta._ipv4_metadata_ipv4_urpf_mode59; } @name(".ipv4_urpf_hit") action _ipv4_urpf_hit_2(bit<16> urpf_bd_group) { - meta._l3_metadata_urpf_hit99 = 1w1; - meta._l3_metadata_urpf_bd_group101 = urpf_bd_group; - meta._l3_metadata_urpf_mode98 = meta._ipv4_metadata_ipv4_urpf_mode65; + meta._l3_metadata_urpf_hit93 = 1w1; + meta._l3_metadata_urpf_bd_group95 = urpf_bd_group; + meta._l3_metadata_urpf_mode92 = meta._ipv4_metadata_ipv4_urpf_mode59; } @name(".urpf_miss") action _urpf_miss_1() { - meta._l3_metadata_urpf_check_fail100 = 1w1; + meta._l3_metadata_urpf_check_fail94 = 1w1; } @name(".ipv4_urpf") table _ipv4_urpf { actions = { @@ -5147,8 +5137,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_198(); } key = { - meta._l3_metadata_vrf95 : exact @name("l3_metadata.vrf") ; - meta._ipv4_metadata_lkp_ipv4_sa62: exact @name("ipv4_metadata.lkp_ipv4_sa") ; + meta._l3_metadata_vrf89 : exact @name("l3_metadata.vrf") ; + meta._ipv4_metadata_lkp_ipv4_sa56: exact @name("ipv4_metadata.lkp_ipv4_sa") ; } size = 1024; default_action = NoAction_198(); @@ -5160,8 +5150,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_199(); } key = { - meta._l3_metadata_vrf95 : exact @name("l3_metadata.vrf") ; - meta._ipv4_metadata_lkp_ipv4_sa62: lpm @name("ipv4_metadata.lkp_ipv4_sa") ; + meta._l3_metadata_vrf89 : exact @name("l3_metadata.vrf") ; + meta._ipv4_metadata_lkp_ipv4_sa56: lpm @name("ipv4_metadata.lkp_ipv4_sa") ; } size = 512; default_action = NoAction_199(); @@ -5171,24 +5161,24 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".on_miss") action _on_miss_25() { } @name(".fib_hit_nexthop") action _fib_hit_nexthop_1(bit<16> nexthop_index) { - meta._l3_metadata_fib_hit102 = 1w1; - meta._l3_metadata_fib_nexthop103 = nexthop_index; - meta._l3_metadata_fib_nexthop_type104 = 1w0; + meta._l3_metadata_fib_hit96 = 1w1; + meta._l3_metadata_fib_nexthop97 = nexthop_index; + meta._l3_metadata_fib_nexthop_type98 = 1w0; } @name(".fib_hit_nexthop") action _fib_hit_nexthop_2(bit<16> nexthop_index) { - meta._l3_metadata_fib_hit102 = 1w1; - meta._l3_metadata_fib_nexthop103 = nexthop_index; - meta._l3_metadata_fib_nexthop_type104 = 1w0; + meta._l3_metadata_fib_hit96 = 1w1; + meta._l3_metadata_fib_nexthop97 = nexthop_index; + meta._l3_metadata_fib_nexthop_type98 = 1w0; } @name(".fib_hit_ecmp") action _fib_hit_ecmp_1(bit<16> ecmp_index) { - meta._l3_metadata_fib_hit102 = 1w1; - meta._l3_metadata_fib_nexthop103 = ecmp_index; - meta._l3_metadata_fib_nexthop_type104 = 1w1; + meta._l3_metadata_fib_hit96 = 1w1; + meta._l3_metadata_fib_nexthop97 = ecmp_index; + meta._l3_metadata_fib_nexthop_type98 = 1w1; } @name(".fib_hit_ecmp") action _fib_hit_ecmp_2(bit<16> ecmp_index) { - meta._l3_metadata_fib_hit102 = 1w1; - meta._l3_metadata_fib_nexthop103 = ecmp_index; - meta._l3_metadata_fib_nexthop_type104 = 1w1; + meta._l3_metadata_fib_hit96 = 1w1; + meta._l3_metadata_fib_nexthop97 = ecmp_index; + meta._l3_metadata_fib_nexthop_type98 = 1w1; } @name(".ipv4_fib") table _ipv4_fib { actions = { @@ -5198,8 +5188,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_200(); } key = { - meta._l3_metadata_vrf95 : exact @name("l3_metadata.vrf") ; - meta._ipv4_metadata_lkp_ipv4_da63: exact @name("ipv4_metadata.lkp_ipv4_da") ; + meta._l3_metadata_vrf89 : exact @name("l3_metadata.vrf") ; + meta._ipv4_metadata_lkp_ipv4_da57: exact @name("ipv4_metadata.lkp_ipv4_da") ; } size = 1024; default_action = NoAction_200(); @@ -5212,8 +5202,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_201(); } key = { - meta._l3_metadata_vrf95 : exact @name("l3_metadata.vrf") ; - meta._ipv4_metadata_lkp_ipv4_da63: lpm @name("ipv4_metadata.lkp_ipv4_da") ; + meta._l3_metadata_vrf89 : exact @name("l3_metadata.vrf") ; + meta._ipv4_metadata_lkp_ipv4_da57: lpm @name("ipv4_metadata.lkp_ipv4_da") ; } size = 512; default_action = NoAction_201(); @@ -5258,11 +5248,11 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } key = { meta._acl_metadata_bd_label10 : ternary @name("acl_metadata.bd_label") ; - meta._ipv6_metadata_lkp_ipv6_sa66: ternary @name("ipv6_metadata.lkp_ipv6_sa") ; - meta._ipv6_metadata_lkp_ipv6_da67: ternary @name("ipv6_metadata.lkp_ipv6_da") ; - meta._l3_metadata_lkp_ip_proto88 : ternary @name("l3_metadata.lkp_ip_proto") ; - meta._l3_metadata_lkp_l4_sport91 : ternary @name("l3_metadata.lkp_l4_sport") ; - meta._l3_metadata_lkp_l4_dport92 : ternary @name("l3_metadata.lkp_l4_dport") ; + meta._ipv6_metadata_lkp_ipv6_sa60: ternary @name("ipv6_metadata.lkp_ipv6_sa") ; + meta._ipv6_metadata_lkp_ipv6_da61: ternary @name("ipv6_metadata.lkp_ipv6_da") ; + meta._l3_metadata_lkp_ip_proto82 : ternary @name("l3_metadata.lkp_ip_proto") ; + meta._l3_metadata_lkp_l4_sport85 : ternary @name("l3_metadata.lkp_l4_sport") ; + meta._l3_metadata_lkp_l4_dport86 : ternary @name("l3_metadata.lkp_l4_dport") ; } size = 512; default_action = NoAction_202(); @@ -5270,17 +5260,17 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".on_miss") action _on_miss_26() { } @name(".ipv6_urpf_hit") action _ipv6_urpf_hit_0(bit<16> urpf_bd_group) { - meta._l3_metadata_urpf_hit99 = 1w1; - meta._l3_metadata_urpf_bd_group101 = urpf_bd_group; - meta._l3_metadata_urpf_mode98 = meta._ipv6_metadata_ipv6_urpf_mode70; + meta._l3_metadata_urpf_hit93 = 1w1; + meta._l3_metadata_urpf_bd_group95 = urpf_bd_group; + meta._l3_metadata_urpf_mode92 = meta._ipv6_metadata_ipv6_urpf_mode64; } @name(".ipv6_urpf_hit") action _ipv6_urpf_hit_2(bit<16> urpf_bd_group) { - meta._l3_metadata_urpf_hit99 = 1w1; - meta._l3_metadata_urpf_bd_group101 = urpf_bd_group; - meta._l3_metadata_urpf_mode98 = meta._ipv6_metadata_ipv6_urpf_mode70; + meta._l3_metadata_urpf_hit93 = 1w1; + meta._l3_metadata_urpf_bd_group95 = urpf_bd_group; + meta._l3_metadata_urpf_mode92 = meta._ipv6_metadata_ipv6_urpf_mode64; } @name(".urpf_miss") action _urpf_miss_2() { - meta._l3_metadata_urpf_check_fail100 = 1w1; + meta._l3_metadata_urpf_check_fail94 = 1w1; } @name(".ipv6_urpf") table _ipv6_urpf { actions = { @@ -5289,8 +5279,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_203(); } key = { - meta._l3_metadata_vrf95 : exact @name("l3_metadata.vrf") ; - meta._ipv6_metadata_lkp_ipv6_sa66: exact @name("ipv6_metadata.lkp_ipv6_sa") ; + meta._l3_metadata_vrf89 : exact @name("l3_metadata.vrf") ; + meta._ipv6_metadata_lkp_ipv6_sa60: exact @name("ipv6_metadata.lkp_ipv6_sa") ; } size = 1024; default_action = NoAction_203(); @@ -5302,8 +5292,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_204(); } key = { - meta._l3_metadata_vrf95 : exact @name("l3_metadata.vrf") ; - meta._ipv6_metadata_lkp_ipv6_sa66: lpm @name("ipv6_metadata.lkp_ipv6_sa") ; + meta._l3_metadata_vrf89 : exact @name("l3_metadata.vrf") ; + meta._ipv6_metadata_lkp_ipv6_sa60: lpm @name("ipv6_metadata.lkp_ipv6_sa") ; } size = 512; default_action = NoAction_204(); @@ -5313,24 +5303,24 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".on_miss") action _on_miss_30() { } @name(".fib_hit_nexthop") action _fib_hit_nexthop_5(bit<16> nexthop_index) { - meta._l3_metadata_fib_hit102 = 1w1; - meta._l3_metadata_fib_nexthop103 = nexthop_index; - meta._l3_metadata_fib_nexthop_type104 = 1w0; + meta._l3_metadata_fib_hit96 = 1w1; + meta._l3_metadata_fib_nexthop97 = nexthop_index; + meta._l3_metadata_fib_nexthop_type98 = 1w0; } @name(".fib_hit_nexthop") action _fib_hit_nexthop_6(bit<16> nexthop_index) { - meta._l3_metadata_fib_hit102 = 1w1; - meta._l3_metadata_fib_nexthop103 = nexthop_index; - meta._l3_metadata_fib_nexthop_type104 = 1w0; + meta._l3_metadata_fib_hit96 = 1w1; + meta._l3_metadata_fib_nexthop97 = nexthop_index; + meta._l3_metadata_fib_nexthop_type98 = 1w0; } @name(".fib_hit_ecmp") action _fib_hit_ecmp_5(bit<16> ecmp_index) { - meta._l3_metadata_fib_hit102 = 1w1; - meta._l3_metadata_fib_nexthop103 = ecmp_index; - meta._l3_metadata_fib_nexthop_type104 = 1w1; + meta._l3_metadata_fib_hit96 = 1w1; + meta._l3_metadata_fib_nexthop97 = ecmp_index; + meta._l3_metadata_fib_nexthop_type98 = 1w1; } @name(".fib_hit_ecmp") action _fib_hit_ecmp_6(bit<16> ecmp_index) { - meta._l3_metadata_fib_hit102 = 1w1; - meta._l3_metadata_fib_nexthop103 = ecmp_index; - meta._l3_metadata_fib_nexthop_type104 = 1w1; + meta._l3_metadata_fib_hit96 = 1w1; + meta._l3_metadata_fib_nexthop97 = ecmp_index; + meta._l3_metadata_fib_nexthop_type98 = 1w1; } @name(".ipv6_fib") table _ipv6_fib { actions = { @@ -5340,8 +5330,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_205(); } key = { - meta._l3_metadata_vrf95 : exact @name("l3_metadata.vrf") ; - meta._ipv6_metadata_lkp_ipv6_da67: exact @name("ipv6_metadata.lkp_ipv6_da") ; + meta._l3_metadata_vrf89 : exact @name("l3_metadata.vrf") ; + meta._ipv6_metadata_lkp_ipv6_da61: exact @name("ipv6_metadata.lkp_ipv6_da") ; } size = 1024; default_action = NoAction_205(); @@ -5354,8 +5344,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_206(); } key = { - meta._l3_metadata_vrf95 : exact @name("l3_metadata.vrf") ; - meta._ipv6_metadata_lkp_ipv6_da67: lpm @name("ipv6_metadata.lkp_ipv6_da") ; + meta._l3_metadata_vrf89 : exact @name("l3_metadata.vrf") ; + meta._ipv6_metadata_lkp_ipv6_da61: lpm @name("ipv6_metadata.lkp_ipv6_da") ; } size = 512; default_action = NoAction_206(); @@ -5363,7 +5353,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".nop") action _nop_99() { } @name(".urpf_bd_miss") action _urpf_bd_miss_0() { - meta._l3_metadata_urpf_check_fail100 = 1w1; + meta._l3_metadata_urpf_check_fail94 = 1w1; } @name(".urpf_bd") table _urpf_bd { actions = { @@ -5372,15 +5362,15 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_207(); } key = { - meta._l3_metadata_urpf_bd_group101: exact @name("l3_metadata.urpf_bd_group") ; - meta._ingress_metadata_bd42 : exact @name("ingress_metadata.bd") ; + meta._l3_metadata_urpf_bd_group95: exact @name("l3_metadata.urpf_bd_group") ; + meta._ingress_metadata_bd42 : exact @name("ingress_metadata.bd") ; } size = 1024; default_action = NoAction_207(); } @name(".meter_index") direct_meter>(MeterType.bytes) _meter_index; @name(".nop") action _nop_100() { - _meter_index.read(meta._meter_metadata_meter_color112); + _meter_index.read(meta._meter_metadata_meter_color106); } @name(".meter_index") table _meter_index_0 { actions = { @@ -5388,22 +5378,22 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_208(); } key = { - meta._meter_metadata_meter_index113: exact @name("meter_metadata.meter_index") ; + meta._meter_metadata_meter_index107: exact @name("meter_metadata.meter_index") ; } size = 1024; meters = _meter_index; default_action = NoAction_208(); } @name(".compute_lkp_ipv4_hash") action _compute_lkp_ipv4_hash_0() { - hash, bit<16>, tuple_4, bit<32>>(meta._hash_metadata_hash132, HashAlgorithm.crc16, 16w0, { meta._ipv4_metadata_lkp_ipv4_sa62, meta._ipv4_metadata_lkp_ipv4_da63, meta._l3_metadata_lkp_ip_proto88, meta._l3_metadata_lkp_l4_sport91, meta._l3_metadata_lkp_l4_dport92 }, 32w65536); - hash, bit<16>, tuple_5, bit<32>>(meta._hash_metadata_hash233, HashAlgorithm.crc16, 16w0, { meta._l2_metadata_lkp_mac_sa71, meta._l2_metadata_lkp_mac_da72, meta._ipv4_metadata_lkp_ipv4_sa62, meta._ipv4_metadata_lkp_ipv4_da63, meta._l3_metadata_lkp_ip_proto88, meta._l3_metadata_lkp_l4_sport91, meta._l3_metadata_lkp_l4_dport92 }, 32w65536); + hash, bit<16>, tuple_4, bit<32>>(meta._hash_metadata_hash132, HashAlgorithm.crc16, 16w0, { meta._ipv4_metadata_lkp_ipv4_sa56, meta._ipv4_metadata_lkp_ipv4_da57, meta._l3_metadata_lkp_ip_proto82, meta._l3_metadata_lkp_l4_sport85, meta._l3_metadata_lkp_l4_dport86 }, 32w65536); + hash, bit<16>, tuple_5, bit<32>>(meta._hash_metadata_hash233, HashAlgorithm.crc16, 16w0, { meta._l2_metadata_lkp_mac_sa65, meta._l2_metadata_lkp_mac_da66, meta._ipv4_metadata_lkp_ipv4_sa56, meta._ipv4_metadata_lkp_ipv4_da57, meta._l3_metadata_lkp_ip_proto82, meta._l3_metadata_lkp_l4_sport85, meta._l3_metadata_lkp_l4_dport86 }, 32w65536); } @name(".compute_lkp_ipv6_hash") action _compute_lkp_ipv6_hash_0() { - hash, bit<16>, tuple_6, bit<32>>(meta._hash_metadata_hash132, HashAlgorithm.crc16, 16w0, { meta._ipv6_metadata_lkp_ipv6_sa66, meta._ipv6_metadata_lkp_ipv6_da67, meta._l3_metadata_lkp_ip_proto88, meta._l3_metadata_lkp_l4_sport91, meta._l3_metadata_lkp_l4_dport92 }, 32w65536); - hash, bit<16>, tuple_7, bit<32>>(meta._hash_metadata_hash233, HashAlgorithm.crc16, 16w0, { meta._l2_metadata_lkp_mac_sa71, meta._l2_metadata_lkp_mac_da72, meta._ipv6_metadata_lkp_ipv6_sa66, meta._ipv6_metadata_lkp_ipv6_da67, meta._l3_metadata_lkp_ip_proto88, meta._l3_metadata_lkp_l4_sport91, meta._l3_metadata_lkp_l4_dport92 }, 32w65536); + hash, bit<16>, tuple_6, bit<32>>(meta._hash_metadata_hash132, HashAlgorithm.crc16, 16w0, { meta._ipv6_metadata_lkp_ipv6_sa60, meta._ipv6_metadata_lkp_ipv6_da61, meta._l3_metadata_lkp_ip_proto82, meta._l3_metadata_lkp_l4_sport85, meta._l3_metadata_lkp_l4_dport86 }, 32w65536); + hash, bit<16>, tuple_7, bit<32>>(meta._hash_metadata_hash233, HashAlgorithm.crc16, 16w0, { meta._l2_metadata_lkp_mac_sa65, meta._l2_metadata_lkp_mac_da66, meta._ipv6_metadata_lkp_ipv6_sa60, meta._ipv6_metadata_lkp_ipv6_da61, meta._l3_metadata_lkp_ip_proto82, meta._l3_metadata_lkp_l4_sport85, meta._l3_metadata_lkp_l4_dport86 }, 32w65536); } @name(".compute_lkp_non_ip_hash") action _compute_lkp_non_ip_hash_0() { - hash, bit<16>, tuple_8, bit<32>>(meta._hash_metadata_hash233, HashAlgorithm.crc16, 16w0, { meta._ingress_metadata_ifindex38, meta._l2_metadata_lkp_mac_sa71, meta._l2_metadata_lkp_mac_da72, meta._l2_metadata_lkp_mac_type74 }, 32w65536); + hash, bit<16>, tuple_8, bit<32>>(meta._hash_metadata_hash233, HashAlgorithm.crc16, 16w0, { meta._ingress_metadata_ifindex38, meta._l2_metadata_lkp_mac_sa65, meta._l2_metadata_lkp_mac_da66, meta._l2_metadata_lkp_mac_type68 }, 32w65536); } @name(".computed_two_hashes") action _computed_two_hashes_0() { meta._hash_metadata_entropy_hash34 = meta._hash_metadata_hash233; @@ -5468,8 +5458,8 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_213(); } key = { - meta._meter_metadata_meter_color112: exact @name("meter_metadata.meter_color") ; - meta._meter_metadata_meter_index113: exact @name("meter_metadata.meter_index") ; + meta._meter_metadata_meter_color106: exact @name("meter_metadata.meter_color") ; + meta._meter_metadata_meter_index107: exact @name("meter_metadata.meter_index") ; } size = 1024; counters = _meter_stats; @@ -5477,7 +5467,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } @min_width(32) @name(".ingress_bd_stats_count") counter(32w1024, CounterType.packets_and_bytes) _ingress_bd_stats_count; @name(".update_ingress_bd_stats") action _update_ingress_bd_stats_0() { - _ingress_bd_stats_count.count((bit<32>)meta._l2_metadata_bd_stats_idx82); + _ingress_bd_stats_count.count((bit<32>)meta._l2_metadata_bd_stats_idx76); } @name(".ingress_bd_stats") table _ingress_bd_stats { actions = { @@ -5509,7 +5499,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_216(); } key = { - meta._meter_metadata_meter_color112: exact @name("meter_metadata.meter_color") ; + meta._meter_metadata_meter_color106: exact @name("meter_metadata.meter_color") ; standard_metadata.ingress_port : exact @name("standard_metadata.ingress_port") ; } size = 1024; @@ -5519,53 +5509,53 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".nop") action _nop_102() { } @name(".set_l2_redirect_action") action _set_l2_redirect_action_0() { - meta._l3_metadata_nexthop_index106 = meta._l2_metadata_l2_nexthop75; - meta._nexthop_metadata_nexthop_type134 = meta._l2_metadata_l2_nexthop_type76; + meta._l3_metadata_nexthop_index100 = meta._l2_metadata_l2_nexthop69; + meta._nexthop_metadata_nexthop_type128 = meta._l2_metadata_l2_nexthop_type70; meta._ingress_metadata_egress_ifindex39 = 16w0; - meta._intrinsic_metadata_mcast_grp58 = 16w0; + standard_metadata.mcast_grp = 16w0; meta._fabric_metadata_dst_device29 = 8w0; } @name(".set_fib_redirect_action") action _set_fib_redirect_action_0() { - meta._l3_metadata_nexthop_index106 = meta._l3_metadata_fib_nexthop103; - meta._nexthop_metadata_nexthop_type134 = meta._l3_metadata_fib_nexthop_type104; - meta._l3_metadata_routed107 = 1w1; - meta._intrinsic_metadata_mcast_grp58 = 16w0; + meta._l3_metadata_nexthop_index100 = meta._l3_metadata_fib_nexthop97; + meta._nexthop_metadata_nexthop_type128 = meta._l3_metadata_fib_nexthop_type98; + meta._l3_metadata_routed101 = 1w1; + standard_metadata.mcast_grp = 16w0; meta._fabric_metadata_reason_code28 = 16w0x217; meta._fabric_metadata_dst_device29 = 8w0; } @name(".set_cpu_redirect_action") action _set_cpu_redirect_action_0() { - meta._l3_metadata_routed107 = 1w0; - meta._intrinsic_metadata_mcast_grp58 = 16w0; + meta._l3_metadata_routed101 = 1w0; + standard_metadata.mcast_grp = 16w0; standard_metadata.egress_spec = 9w64; meta._ingress_metadata_egress_ifindex39 = 16w0; meta._fabric_metadata_dst_device29 = 8w0; } @name(".set_acl_redirect_action") action _set_acl_redirect_action_0() { - meta._l3_metadata_nexthop_index106 = meta._acl_metadata_acl_nexthop3; - meta._nexthop_metadata_nexthop_type134 = meta._acl_metadata_acl_nexthop_type5; + meta._l3_metadata_nexthop_index100 = meta._acl_metadata_acl_nexthop3; + meta._nexthop_metadata_nexthop_type128 = meta._acl_metadata_acl_nexthop_type5; meta._ingress_metadata_egress_ifindex39 = 16w0; - meta._intrinsic_metadata_mcast_grp58 = 16w0; + standard_metadata.mcast_grp = 16w0; meta._fabric_metadata_dst_device29 = 8w0; } @name(".set_racl_redirect_action") action _set_racl_redirect_action_0() { - meta._l3_metadata_nexthop_index106 = meta._acl_metadata_racl_nexthop4; - meta._nexthop_metadata_nexthop_type134 = meta._acl_metadata_racl_nexthop_type6; - meta._l3_metadata_routed107 = 1w1; + meta._l3_metadata_nexthop_index100 = meta._acl_metadata_racl_nexthop4; + meta._nexthop_metadata_nexthop_type128 = meta._acl_metadata_racl_nexthop_type6; + meta._l3_metadata_routed101 = 1w1; meta._ingress_metadata_egress_ifindex39 = 16w0; - meta._intrinsic_metadata_mcast_grp58 = 16w0; + standard_metadata.mcast_grp = 16w0; meta._fabric_metadata_dst_device29 = 8w0; } @name(".set_multicast_route_action") action _set_multicast_route_action_0() { meta._fabric_metadata_dst_device29 = 8w127; meta._ingress_metadata_egress_ifindex39 = 16w0; - meta._intrinsic_metadata_mcast_grp58 = meta._multicast_metadata_multicast_route_mc_index129; - meta._l3_metadata_routed107 = 1w1; - meta._l3_metadata_same_bd_check105 = 16w0xffff; + standard_metadata.mcast_grp = meta._multicast_metadata_multicast_route_mc_index123; + meta._l3_metadata_routed101 = 1w1; + meta._l3_metadata_same_bd_check99 = 16w0xffff; } @name(".set_multicast_bridge_action") action _set_multicast_bridge_action_0() { meta._fabric_metadata_dst_device29 = 8w127; meta._ingress_metadata_egress_ifindex39 = 16w0; - meta._intrinsic_metadata_mcast_grp58 = meta._multicast_metadata_multicast_bridge_mc_index130; + standard_metadata.mcast_grp = meta._multicast_metadata_multicast_bridge_mc_index124; } @name(".set_multicast_flood") action _set_multicast_flood_0() { meta._fabric_metadata_dst_device29 = 8w127; @@ -5590,19 +5580,19 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_217(); } key = { - meta._l2_metadata_l2_redirect77 : ternary @name("l2_metadata.l2_redirect") ; + meta._l2_metadata_l2_redirect71 : ternary @name("l2_metadata.l2_redirect") ; meta._acl_metadata_acl_redirect7 : ternary @name("acl_metadata.acl_redirect") ; meta._acl_metadata_racl_redirect8 : ternary @name("acl_metadata.racl_redirect") ; - meta._l3_metadata_rmac_hit97 : ternary @name("l3_metadata.rmac_hit") ; - meta._l3_metadata_fib_hit102 : ternary @name("l3_metadata.fib_hit") ; - meta._l2_metadata_lkp_pkt_type73 : ternary @name("l2_metadata.lkp_pkt_type") ; - meta._l3_metadata_lkp_ip_type86 : ternary @name("l3_metadata.lkp_ip_type") ; - meta._multicast_metadata_igmp_snooping_enabled124: ternary @name("multicast_metadata.igmp_snooping_enabled") ; - meta._multicast_metadata_mld_snooping_enabled125 : ternary @name("multicast_metadata.mld_snooping_enabled") ; - meta._multicast_metadata_mcast_route_hit120 : ternary @name("multicast_metadata.mcast_route_hit") ; - meta._multicast_metadata_mcast_bridge_hit121 : ternary @name("multicast_metadata.mcast_bridge_hit") ; - meta._multicast_metadata_mcast_rpf_group127 : ternary @name("multicast_metadata.mcast_rpf_group") ; - meta._multicast_metadata_mcast_mode128 : ternary @name("multicast_metadata.mcast_mode") ; + meta._l3_metadata_rmac_hit91 : ternary @name("l3_metadata.rmac_hit") ; + meta._l3_metadata_fib_hit96 : ternary @name("l3_metadata.fib_hit") ; + meta._l2_metadata_lkp_pkt_type67 : ternary @name("l2_metadata.lkp_pkt_type") ; + meta._l3_metadata_lkp_ip_type80 : ternary @name("l3_metadata.lkp_ip_type") ; + meta._multicast_metadata_igmp_snooping_enabled118: ternary @name("multicast_metadata.igmp_snooping_enabled") ; + meta._multicast_metadata_mld_snooping_enabled119 : ternary @name("multicast_metadata.mld_snooping_enabled") ; + meta._multicast_metadata_mcast_route_hit114 : ternary @name("multicast_metadata.mcast_route_hit") ; + meta._multicast_metadata_mcast_bridge_hit115 : ternary @name("multicast_metadata.mcast_bridge_hit") ; + meta._multicast_metadata_mcast_rpf_group121 : ternary @name("multicast_metadata.mcast_rpf_group") ; + meta._multicast_metadata_mcast_mode122 : ternary @name("multicast_metadata.mcast_mode") ; } size = 512; default_action = NoAction_217(); @@ -5613,28 +5603,28 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } @name(".set_ecmp_nexthop_details") action _set_ecmp_nexthop_details_0(bit<16> ifindex, bit<16> bd, bit<16> nhop_index, bit<1> tunnel) { meta._ingress_metadata_egress_ifindex39 = ifindex; - meta._l3_metadata_nexthop_index106 = nhop_index; - meta._l3_metadata_same_bd_check105 = meta._ingress_metadata_bd42 ^ bd; - meta._l2_metadata_same_if_check85 = meta._l2_metadata_same_if_check85 ^ ifindex; - meta._tunnel_metadata_tunnel_if_check161 = meta._tunnel_metadata_tunnel_terminate160 ^ tunnel; + meta._l3_metadata_nexthop_index100 = nhop_index; + meta._l3_metadata_same_bd_check99 = meta._ingress_metadata_bd42 ^ bd; + meta._l2_metadata_same_if_check79 = meta._l2_metadata_same_if_check79 ^ ifindex; + meta._tunnel_metadata_tunnel_if_check151 = meta._tunnel_metadata_tunnel_terminate150 ^ tunnel; } @name(".set_ecmp_nexthop_details_for_post_routed_flood") action _set_ecmp_nexthop_details_for_post_routed_flood_0(bit<16> bd, bit<16> uuc_mc_index, bit<16> nhop_index) { - meta._intrinsic_metadata_mcast_grp58 = uuc_mc_index; - meta._l3_metadata_nexthop_index106 = nhop_index; + standard_metadata.mcast_grp = uuc_mc_index; + meta._l3_metadata_nexthop_index100 = nhop_index; meta._ingress_metadata_egress_ifindex39 = 16w0; - meta._l3_metadata_same_bd_check105 = meta._ingress_metadata_bd42 ^ bd; + meta._l3_metadata_same_bd_check99 = meta._ingress_metadata_bd42 ^ bd; meta._fabric_metadata_dst_device29 = 8w127; } @name(".set_nexthop_details") action _set_nexthop_details_0(bit<16> ifindex, bit<16> bd, bit<1> tunnel) { meta._ingress_metadata_egress_ifindex39 = ifindex; - meta._l3_metadata_same_bd_check105 = meta._ingress_metadata_bd42 ^ bd; - meta._l2_metadata_same_if_check85 = meta._l2_metadata_same_if_check85 ^ ifindex; - meta._tunnel_metadata_tunnel_if_check161 = meta._tunnel_metadata_tunnel_terminate160 ^ tunnel; + meta._l3_metadata_same_bd_check99 = meta._ingress_metadata_bd42 ^ bd; + meta._l2_metadata_same_if_check79 = meta._l2_metadata_same_if_check79 ^ ifindex; + meta._tunnel_metadata_tunnel_if_check151 = meta._tunnel_metadata_tunnel_terminate150 ^ tunnel; } @name(".set_nexthop_details_for_post_routed_flood") action _set_nexthop_details_for_post_routed_flood_0(bit<16> bd, bit<16> uuc_mc_index) { - meta._intrinsic_metadata_mcast_grp58 = uuc_mc_index; + standard_metadata.mcast_grp = uuc_mc_index; meta._ingress_metadata_egress_ifindex39 = 16w0; - meta._l3_metadata_same_bd_check105 = meta._ingress_metadata_bd42 ^ bd; + meta._l3_metadata_same_bd_check99 = meta._ingress_metadata_bd42 ^ bd; meta._fabric_metadata_dst_device29 = 8w127; } @name(".ecmp_group") table _ecmp_group { @@ -5645,7 +5635,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_218(); } key = { - meta._l3_metadata_nexthop_index106: exact @name("l3_metadata.nexthop_index") ; + meta._l3_metadata_nexthop_index100: exact @name("l3_metadata.nexthop_index") ; meta._hash_metadata_hash132 : selector @name("hash_metadata.hash1") ; } size = 1024; @@ -5660,7 +5650,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_219(); } key = { - meta._l3_metadata_nexthop_index106: exact @name("l3_metadata.nexthop_index") ; + meta._l3_metadata_nexthop_index100: exact @name("l3_metadata.nexthop_index") ; } size = 1024; default_action = NoAction_219(); @@ -5668,7 +5658,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".nop") action _nop_105() { } @name(".set_bd_flood_mc_index") action _set_bd_flood_mc_index_0(bit<16> mc_index) { - meta._intrinsic_metadata_mcast_grp58 = mc_index; + standard_metadata.mcast_grp = mc_index; } @name(".bd_flood") table _bd_flood { actions = { @@ -5678,7 +5668,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } key = { meta._ingress_metadata_bd42 : exact @name("ingress_metadata.bd") ; - meta._l2_metadata_lkp_pkt_type73: exact @name("l2_metadata.lkp_pkt_type") ; + meta._l2_metadata_lkp_pkt_type67: exact @name("l2_metadata.lkp_pkt_type") ; } size = 1024; default_action = NoAction_220(); @@ -5710,7 +5700,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @name(".nop") action _nop_106() { } @name(".generate_learn_notify") action _generate_learn_notify_0() { - digest(32w1024, {meta._ingress_metadata_bd42,meta._l2_metadata_lkp_mac_sa71,meta._ingress_metadata_ifindex38}); + digest(32w1024, {meta._ingress_metadata_bd42,meta._l2_metadata_lkp_mac_sa65,meta._ingress_metadata_ifindex38}); } @name(".learn_notify") table _learn_notify { actions = { @@ -5719,9 +5709,9 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ @defaultonly NoAction_222(); } key = { - meta._l2_metadata_l2_src_miss78: ternary @name("l2_metadata.l2_src_miss") ; - meta._l2_metadata_l2_src_move79: ternary @name("l2_metadata.l2_src_move") ; - meta._l2_metadata_stp_state81 : ternary @name("l2_metadata.stp_state") ; + meta._l2_metadata_l2_src_miss72: ternary @name("l2_metadata.l2_src_miss") ; + meta._l2_metadata_l2_src_move73: ternary @name("l2_metadata.l2_src_move") ; + meta._l2_metadata_stp_state75 : ternary @name("l2_metadata.stp_state") ; } size = 512; default_action = NoAction_222(); @@ -5732,7 +5722,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ standard_metadata.egress_spec = port; } @name(".set_fabric_multicast") action _set_fabric_multicast_0(bit<8> fabric_mgid) { - meta._multicast_metadata_mcast_grp133 = meta._intrinsic_metadata_mcast_grp58; + meta._multicast_metadata_mcast_grp127 = standard_metadata.mcast_grp; } @name(".fabric_lag") table _fabric_lag { actions = { @@ -5801,30 +5791,30 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ key = { meta._acl_metadata_if_label9 : ternary @name("acl_metadata.if_label") ; meta._acl_metadata_bd_label10 : ternary @name("acl_metadata.bd_label") ; - meta._l2_metadata_lkp_mac_sa71 : ternary @name("l2_metadata.lkp_mac_sa") ; - meta._l2_metadata_lkp_mac_da72 : ternary @name("l2_metadata.lkp_mac_da") ; - meta._l2_metadata_lkp_mac_type74 : ternary @name("l2_metadata.lkp_mac_type") ; + meta._l2_metadata_lkp_mac_sa65 : ternary @name("l2_metadata.lkp_mac_sa") ; + meta._l2_metadata_lkp_mac_da66 : ternary @name("l2_metadata.lkp_mac_da") ; + meta._l2_metadata_lkp_mac_type68 : ternary @name("l2_metadata.lkp_mac_type") ; meta._ingress_metadata_ifindex38 : ternary @name("ingress_metadata.ifindex") ; - meta._l2_metadata_port_vlan_mapping_miss84 : ternary @name("l2_metadata.port_vlan_mapping_miss") ; - meta._security_metadata_ipsg_check_fail145 : ternary @name("security_metadata.ipsg_check_fail") ; - meta._security_metadata_storm_control_color143: ternary @name("security_metadata.storm_control_color") ; + meta._l2_metadata_port_vlan_mapping_miss78 : ternary @name("l2_metadata.port_vlan_mapping_miss") ; + meta._security_metadata_ipsg_check_fail135 : ternary @name("security_metadata.ipsg_check_fail") ; + meta._security_metadata_storm_control_color133: ternary @name("security_metadata.storm_control_color") ; meta._acl_metadata_acl_deny0 : ternary @name("acl_metadata.acl_deny") ; meta._acl_metadata_racl_deny2 : ternary @name("acl_metadata.racl_deny") ; - meta._l3_metadata_urpf_check_fail100 : ternary @name("l3_metadata.urpf_check_fail") ; + meta._l3_metadata_urpf_check_fail94 : ternary @name("l3_metadata.urpf_check_fail") ; meta._ingress_metadata_drop_flag43 : ternary @name("ingress_metadata.drop_flag") ; meta._acl_metadata_acl_copy1 : ternary @name("acl_metadata.acl_copy") ; - meta._l3_metadata_l3_copy110 : ternary @name("l3_metadata.l3_copy") ; - meta._l3_metadata_rmac_hit97 : ternary @name("l3_metadata.rmac_hit") ; - meta._l3_metadata_routed107 : ternary @name("l3_metadata.routed") ; - meta._ipv6_metadata_ipv6_src_is_link_local69 : ternary @name("ipv6_metadata.ipv6_src_is_link_local") ; - meta._l2_metadata_same_if_check85 : ternary @name("l2_metadata.same_if_check") ; - meta._tunnel_metadata_tunnel_if_check161 : ternary @name("tunnel_metadata.tunnel_if_check") ; - meta._l3_metadata_same_bd_check105 : ternary @name("l3_metadata.same_bd_check") ; - meta._l3_metadata_lkp_ip_ttl90 : ternary @name("l3_metadata.lkp_ip_ttl") ; - meta._l2_metadata_stp_state81 : ternary @name("l2_metadata.stp_state") ; + meta._l3_metadata_l3_copy104 : ternary @name("l3_metadata.l3_copy") ; + meta._l3_metadata_rmac_hit91 : ternary @name("l3_metadata.rmac_hit") ; + meta._l3_metadata_routed101 : ternary @name("l3_metadata.routed") ; + meta._ipv6_metadata_ipv6_src_is_link_local63 : ternary @name("ipv6_metadata.ipv6_src_is_link_local") ; + meta._l2_metadata_same_if_check79 : ternary @name("l2_metadata.same_if_check") ; + meta._tunnel_metadata_tunnel_if_check151 : ternary @name("tunnel_metadata.tunnel_if_check") ; + meta._l3_metadata_same_bd_check99 : ternary @name("l3_metadata.same_bd_check") ; + meta._l3_metadata_lkp_ip_ttl84 : ternary @name("l3_metadata.lkp_ip_ttl") ; + meta._l2_metadata_stp_state75 : ternary @name("l2_metadata.stp_state") ; meta._ingress_metadata_control_frame45 : ternary @name("ingress_metadata.control_frame") ; - meta._ipv4_metadata_ipv4_unicast_enabled64 : ternary @name("ipv4_metadata.ipv4_unicast_enabled") ; - meta._ipv6_metadata_ipv6_unicast_enabled68 : ternary @name("ipv6_metadata.ipv6_unicast_enabled") ; + meta._ipv4_metadata_ipv4_unicast_enabled58 : ternary @name("ipv4_metadata.ipv4_unicast_enabled") ; + meta._ipv6_metadata_ipv6_unicast_enabled62 : ternary @name("ipv6_metadata.ipv6_unicast_enabled") ; meta._ingress_metadata_egress_ifindex39 : ternary @name("ingress_metadata.egress_ifindex") ; } size = 512; @@ -5850,9 +5840,9 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ _switch_config_params.apply(); _port_vlan_mapping.apply(); - if (meta._ingress_metadata_port_type40 == 2w0 && meta._l2_metadata_stp_group80 != 10w0) + if (meta._ingress_metadata_port_type40 == 2w0 && meta._l2_metadata_stp_group74 != 10w0) _spanning_tree.apply(); - if (meta._ingress_metadata_port_type40 == 2w0 && meta._security_metadata_ipsg_enabled144 == 1w1) + if (meta._ingress_metadata_port_type40 == 2w0 && meta._security_metadata_ipsg_enabled134 == 1w1) switch (_ipsg.apply().action_run) { _on_miss: { _ipsg_permit_special.apply(); @@ -5870,11 +5860,11 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ if (meta._ingress_metadata_port_type40 == 2w1) { if (hdr.fabric_header_multicast.isValid()) _fabric_ingress_src_lkp_0.apply(); - if (meta._tunnel_metadata_tunnel_terminate160 == 1w0) + if (meta._tunnel_metadata_tunnel_terminate150 == 1w0) _native_packet_over_fabric_0.apply(); } } - if (meta._tunnel_metadata_ingress_tunnel_type147 != 5w0) + if (meta._tunnel_metadata_ingress_tunnel_type137 != 5w0) switch (_outer_rmac.apply().action_run) { _on_miss_0: { if (hdr.ipv4.isValid()) @@ -5915,7 +5905,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } } - if (meta._tunnel_metadata_tunnel_terminate160 == 1w1 || meta._multicast_metadata_outer_mcast_route_hit118 == 1w1 && (meta._multicast_metadata_outer_mcast_mode119 == 2w1 && meta._multicast_metadata_mcast_rpf_group127 == 16w0 || meta._multicast_metadata_outer_mcast_mode119 == 2w2 && meta._multicast_metadata_mcast_rpf_group127 != 16w0)) + if (meta._tunnel_metadata_tunnel_terminate150 == 1w1 || meta._multicast_metadata_outer_mcast_route_hit112 == 1w1 && (meta._multicast_metadata_outer_mcast_mode113 == 2w1 && meta._multicast_metadata_mcast_rpf_group121 == 16w0 || meta._multicast_metadata_outer_mcast_mode113 == 2w2 && meta._multicast_metadata_mcast_rpf_group121 != 16w0)) switch (_tunnel.apply().action_run) { _tunnel_lookup_miss_0: { _tunnel_lookup_miss_1.apply(); @@ -5929,27 +5919,27 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ if (meta._ingress_metadata_port_type40 == 2w0) _storm_control.apply(); if (meta._ingress_metadata_port_type40 != 2w1) - if (!(hdr.mpls[0].isValid() && meta._l3_metadata_fib_hit102 == 1w1)) { + if (!(hdr.mpls[0].isValid() && meta._l3_metadata_fib_hit96 == 1w1)) { if (meta._ingress_metadata_drop_flag43 == 1w0) _validate_packet.apply(); if (meta._ingress_metadata_port_type40 == 2w0) _smac.apply(); if (meta._ingress_metadata_bypass_lookups46 & 16w0x1 == 16w0) _dmac.apply(); - if (meta._l3_metadata_lkp_ip_type86 == 2w0) + if (meta._l3_metadata_lkp_ip_type80 == 2w0) if (meta._ingress_metadata_bypass_lookups46 & 16w0x4 == 16w0) _mac_acl.apply(); else if (meta._ingress_metadata_bypass_lookups46 & 16w0x4 == 16w0) - if (meta._l3_metadata_lkp_ip_type86 == 2w1) + if (meta._l3_metadata_lkp_ip_type80 == 2w1) _ip_acl.apply(); else - if (meta._l3_metadata_lkp_ip_type86 == 2w2) + if (meta._l3_metadata_lkp_ip_type80 == 2w2) _ipv6_acl.apply(); _qos.apply(); switch (rmac_0.apply().action_run) { rmac_miss: { - if (meta._l3_metadata_lkp_ip_type86 == 2w1) { + if (meta._l3_metadata_lkp_ip_type80 == 2w1) { if (meta._ingress_metadata_bypass_lookups46 & 16w0x1 == 16w0) switch (_ipv4_multicast_bridge_0.apply().action_run) { _on_miss_5: { @@ -5957,7 +5947,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } } - if (meta._ingress_metadata_bypass_lookups46 & 16w0x2 == 16w0 && meta._multicast_metadata_ipv4_multicast_enabled122 == 1w1) + if (meta._ingress_metadata_bypass_lookups46 & 16w0x2 == 16w0 && meta._multicast_metadata_ipv4_multicast_enabled116 == 1w1) switch (_ipv4_multicast_route_0.apply().action_run) { _on_miss_6: { _ipv4_multicast_route_star_g_0.apply(); @@ -5966,7 +5956,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } else - if (meta._l3_metadata_lkp_ip_type86 == 2w2) { + if (meta._l3_metadata_lkp_ip_type80 == 2w2) { if (meta._ingress_metadata_bypass_lookups46 & 16w0x1 == 16w0) switch (_ipv6_multicast_bridge_0.apply().action_run) { _on_miss_7: { @@ -5974,7 +5964,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } } - if (meta._ingress_metadata_bypass_lookups46 & 16w0x2 == 16w0 && meta._multicast_metadata_ipv6_multicast_enabled123 == 1w1) + if (meta._ingress_metadata_bypass_lookups46 & 16w0x2 == 16w0 && meta._multicast_metadata_ipv6_multicast_enabled117 == 1w1) switch (_ipv6_multicast_route_0.apply().action_run) { _on_miss_8: { _ipv6_multicast_route_star_g_0.apply(); @@ -5985,9 +5975,9 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } default: { if (meta._ingress_metadata_bypass_lookups46 & 16w0x2 == 16w0) { - if (meta._l3_metadata_lkp_ip_type86 == 2w1 && meta._ipv4_metadata_ipv4_unicast_enabled64 == 1w1) { + if (meta._l3_metadata_lkp_ip_type80 == 2w1 && meta._ipv4_metadata_ipv4_unicast_enabled58 == 1w1) { _ipv4_racl.apply(); - if (meta._ipv4_metadata_ipv4_urpf_mode65 != 2w0) + if (meta._ipv4_metadata_ipv4_urpf_mode59 != 2w0) switch (_ipv4_urpf.apply().action_run) { _on_miss_23: { _ipv4_urpf_lpm.apply(); @@ -6002,9 +5992,9 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } else - if (meta._l3_metadata_lkp_ip_type86 == 2w2 && meta._ipv6_metadata_ipv6_unicast_enabled68 == 1w1) { + if (meta._l3_metadata_lkp_ip_type80 == 2w2 && meta._ipv6_metadata_ipv6_unicast_enabled62 == 1w1) { _ipv6_racl.apply(); - if (meta._ipv6_metadata_ipv6_urpf_mode70 != 2w0) + if (meta._ipv6_metadata_ipv6_urpf_mode64 != 2w0) switch (_ipv6_urpf.apply().action_run) { _on_miss_26: { _ipv6_urpf_lpm.apply(); @@ -6018,7 +6008,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } } - if (meta._l3_metadata_urpf_mode98 == 2w2 && meta._l3_metadata_urpf_hit99 == 1w1) + if (meta._l3_metadata_urpf_mode92 == 2w2 && meta._l3_metadata_urpf_hit93 == 1w1) _urpf_bd.apply(); } } @@ -6027,10 +6017,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ } if (meta._ingress_metadata_bypass_lookups46 & 16w0x10 == 16w0) _meter_index_0.apply(); - if (meta._tunnel_metadata_tunnel_terminate160 == 1w0 && hdr.ipv4.isValid() || meta._tunnel_metadata_tunnel_terminate160 == 1w1 && hdr.inner_ipv4.isValid()) + if (meta._tunnel_metadata_tunnel_terminate150 == 1w0 && hdr.ipv4.isValid() || meta._tunnel_metadata_tunnel_terminate150 == 1w1 && hdr.inner_ipv4.isValid()) _compute_ipv4_hashes.apply(); else - if (meta._tunnel_metadata_tunnel_terminate160 == 1w0 && hdr.ipv6.isValid() || meta._tunnel_metadata_tunnel_terminate160 == 1w1 && hdr.inner_ipv6.isValid()) + if (meta._tunnel_metadata_tunnel_terminate150 == 1w0 && hdr.ipv6.isValid() || meta._tunnel_metadata_tunnel_terminate150 == 1w1 && hdr.inner_ipv6.isValid()) _compute_ipv6_hashes.apply(); else _compute_non_ip_hashes.apply(); @@ -6043,7 +6033,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ _storm_control_stats_0.apply(); if (meta._ingress_metadata_bypass_lookups46 != 16w0xffff) _fwd_result.apply(); - if (meta._nexthop_metadata_nexthop_type134 == 1w1) + if (meta._nexthop_metadata_nexthop_type128 == 1w1) _ecmp_group.apply(); else _nexthop.apply(); @@ -6051,7 +6041,7 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ _bd_flood.apply(); else _lag_group.apply(); - if (meta._l2_metadata_learning_enabled83 == 1w1) + if (meta._l2_metadata_learning_enabled77 == 1w1) _learn_notify.apply(); } _fabric_lag.apply(); diff --git a/testdata/p4_14_samples_outputs/switch_20160512/switch.p4 b/testdata/p4_14_samples_outputs/switch_20160512/switch.p4 index 31bce803bf4..cf45ebb16b8 100644 --- a/testdata/p4_14_samples_outputs/switch_20160512/switch.p4 +++ b/testdata/p4_14_samples_outputs/switch_20160512/switch.p4 @@ -642,51 +642,47 @@ header vlan_tag_t { struct metadata { @name(".acl_metadata") - acl_metadata_t acl_metadata; + acl_metadata_t acl_metadata; @name(".egress_filter_metadata") - egress_filter_metadata_t egress_filter_metadata; + egress_filter_metadata_t egress_filter_metadata; @name(".egress_metadata") - egress_metadata_t egress_metadata; + egress_metadata_t egress_metadata; @name(".fabric_metadata") - fabric_metadata_t fabric_metadata; + fabric_metadata_t fabric_metadata; @name(".global_config_metadata") - global_config_metadata_t global_config_metadata; + global_config_metadata_t global_config_metadata; @name(".hash_metadata") - hash_metadata_t hash_metadata; + hash_metadata_t hash_metadata; @name(".i2e_metadata") - i2e_metadata_t i2e_metadata; + i2e_metadata_t i2e_metadata; @name(".ingress_metadata") - ingress_metadata_t ingress_metadata; + ingress_metadata_t ingress_metadata; @name(".int_metadata") - int_metadata_t int_metadata; + int_metadata_t int_metadata; @name(".int_metadata_i2e") - int_metadata_i2e_t int_metadata_i2e; - @name(".intrinsic_metadata") - ingress_intrinsic_metadata_t intrinsic_metadata; + int_metadata_i2e_t int_metadata_i2e; @name(".ipv4_metadata") - ipv4_metadata_t ipv4_metadata; + ipv4_metadata_t ipv4_metadata; @name(".ipv6_metadata") - ipv6_metadata_t ipv6_metadata; + ipv6_metadata_t ipv6_metadata; @name(".l2_metadata") - l2_metadata_t l2_metadata; + l2_metadata_t l2_metadata; @name(".l3_metadata") - l3_metadata_t l3_metadata; + l3_metadata_t l3_metadata; @name(".meter_metadata") - meter_metadata_t meter_metadata; + meter_metadata_t meter_metadata; @name(".multicast_metadata") - multicast_metadata_t multicast_metadata; + multicast_metadata_t multicast_metadata; @name(".nexthop_metadata") - nexthop_metadata_t nexthop_metadata; + nexthop_metadata_t nexthop_metadata; @name(".qos_metadata") - qos_metadata_t qos_metadata; - @name(".queueing_metadata") - queueing_metadata_t queueing_metadata; + qos_metadata_t qos_metadata; @name(".security_metadata") - security_metadata_t security_metadata; + security_metadata_t security_metadata; @name(".sflow_metadata") - sflow_meta_t sflow_metadata; + sflow_meta_t sflow_metadata; @name(".tunnel_metadata") - tunnel_metadata_t tunnel_metadata; + tunnel_metadata_t tunnel_metadata; } struct headers { @@ -1170,15 +1166,15 @@ parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout transition accept; } @name(".parse_set_prio_high") state parse_set_prio_high { - meta.intrinsic_metadata.priority = 3w5; + standard_metadata.priority = 3w5; transition accept; } @name(".parse_set_prio_max") state parse_set_prio_max { - meta.intrinsic_metadata.priority = 3w7; + standard_metadata.priority = 3w7; transition accept; } @name(".parse_set_prio_med") state parse_set_prio_med { - meta.intrinsic_metadata.priority = 3w3; + standard_metadata.priority = 3w3; transition accept; } @name(".parse_sflow") state parse_sflow { @@ -1338,12 +1334,12 @@ control process_replication(inout headers hdr, inout metadata meta, inout standa inner_replica_from_rid; } key = { - meta.intrinsic_metadata.egress_rid: exact; + standard_metadata.egress_rid: exact; } size = 1024; } apply { - if (meta.intrinsic_metadata.egress_rid != 16w0) { + if (standard_metadata.egress_rid != 16w0) { rid.apply(); replica_type.apply(); } @@ -1951,14 +1947,14 @@ control process_int_insertion(inout headers hdr, inout metadata meta, inout stan @name(".int_set_header_3") action int_set_header_3() { hdr.int_q_occupancy_header.setValid(); hdr.int_q_occupancy_header.q_occupancy1 = 7w0; - hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)meta.queueing_metadata.enq_qdepth; + hdr.int_q_occupancy_header.q_occupancy0 = (bit<24>)standard_metadata.enq_qdepth; } @name(".int_set_header_0003_i1") action int_set_header_0003_i1() { int_set_header_3(); } @name(".int_set_header_2") action int_set_header_2() { hdr.int_hop_latency_header.setValid(); - hdr.int_hop_latency_header.hop_latency = (bit<31>)meta.queueing_metadata.deq_timedelta; + hdr.int_hop_latency_header.hop_latency = (bit<31>)standard_metadata.deq_timedelta; } @name(".int_set_header_0003_i2") action int_set_header_0003_i2() { int_set_header_2(); @@ -3280,7 +3276,7 @@ control process_global_params(inout headers hdr, inout metadata meta, inout stan } @name(".set_config_parameters") action set_config_parameters(bit<8> enable_dod) { deflect_on_drop(enable_dod); - meta.i2e_metadata.ingress_tstamp = (bit<32>)meta.intrinsic_metadata.ingress_global_timestamp; + meta.i2e_metadata.ingress_tstamp = (bit<32>)standard_metadata.ingress_global_timestamp; meta.ingress_metadata.ingress_port = standard_metadata.ingress_port; meta.l2_metadata.same_if_check = meta.ingress_metadata.ifindex; standard_metadata.egress_spec = 9w511; @@ -3542,7 +3538,7 @@ control process_ingress_fabric(inout headers hdr, inout metadata meta, inout sta } @name(".switch_fabric_multicast_packet") action switch_fabric_multicast_packet() { meta.fabric_metadata.fabric_header_present = 1w1; - meta.intrinsic_metadata.mcast_grp = hdr.fabric_header.dstPortOrGroup; + standard_metadata.mcast_grp = hdr.fabric_header.dstPortOrGroup; } @name(".terminate_fabric_multicast_packet") action terminate_fabric_multicast_packet() { meta.tunnel_metadata.tunnel_terminate = hdr.fabric_header_multicast.tunnelTerminate; @@ -3550,7 +3546,7 @@ control process_ingress_fabric(inout headers hdr, inout metadata meta, inout sta meta.l3_metadata.nexthop_index = 16w0; meta.l3_metadata.routed = hdr.fabric_header_multicast.routed; meta.l3_metadata.outer_routed = hdr.fabric_header_multicast.outerRouted; - meta.intrinsic_metadata.mcast_grp = hdr.fabric_header_multicast.mcastGrp; + standard_metadata.mcast_grp = hdr.fabric_header_multicast.mcastGrp; hdr.ethernet.etherType = hdr.fabric_payload_header.etherType; hdr.fabric_header.setInvalid(); hdr.fabric_header_multicast.setInvalid(); @@ -3637,32 +3633,32 @@ control process_outer_ipv4_multicast(inout headers hdr, inout metadata meta, ino @name(".on_miss") action on_miss() { } @name(".outer_multicast_route_s_g_hit") action outer_multicast_route_s_g_hit(bit<16> mc_index, bit<16> mcast_rpf_group) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.multicast_metadata.outer_mcast_route_hit = 1w1; meta.multicast_metadata.mcast_rpf_group = mcast_rpf_group ^ meta.multicast_metadata.bd_mrpf_group; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_bridge_s_g_hit") action outer_multicast_bridge_s_g_hit(bit<16> mc_index) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.tunnel_metadata.tunnel_terminate = 1w1; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_route_sm_star_g_hit") action outer_multicast_route_sm_star_g_hit(bit<16> mc_index, bit<16> mcast_rpf_group) { meta.multicast_metadata.outer_mcast_mode = 2w1; - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.multicast_metadata.outer_mcast_route_hit = 1w1; meta.multicast_metadata.mcast_rpf_group = mcast_rpf_group ^ meta.multicast_metadata.bd_mrpf_group; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_route_bidir_star_g_hit") action outer_multicast_route_bidir_star_g_hit(bit<16> mc_index, bit<16> mcast_rpf_group) { meta.multicast_metadata.outer_mcast_mode = 2w2; - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.multicast_metadata.outer_mcast_route_hit = 1w1; meta.multicast_metadata.mcast_rpf_group = mcast_rpf_group | meta.multicast_metadata.bd_mrpf_group; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_bridge_star_g_hit") action outer_multicast_bridge_star_g_hit(bit<16> mc_index) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.tunnel_metadata.tunnel_terminate = 1w1; meta.fabric_metadata.dst_device = 8w127; } @@ -3711,32 +3707,32 @@ control process_outer_ipv6_multicast(inout headers hdr, inout metadata meta, ino @name(".on_miss") action on_miss() { } @name(".outer_multicast_route_s_g_hit") action outer_multicast_route_s_g_hit(bit<16> mc_index, bit<16> mcast_rpf_group) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.multicast_metadata.outer_mcast_route_hit = 1w1; meta.multicast_metadata.mcast_rpf_group = mcast_rpf_group ^ meta.multicast_metadata.bd_mrpf_group; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_bridge_s_g_hit") action outer_multicast_bridge_s_g_hit(bit<16> mc_index) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.tunnel_metadata.tunnel_terminate = 1w1; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_route_sm_star_g_hit") action outer_multicast_route_sm_star_g_hit(bit<16> mc_index, bit<16> mcast_rpf_group) { meta.multicast_metadata.outer_mcast_mode = 2w1; - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.multicast_metadata.outer_mcast_route_hit = 1w1; meta.multicast_metadata.mcast_rpf_group = mcast_rpf_group ^ meta.multicast_metadata.bd_mrpf_group; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_route_bidir_star_g_hit") action outer_multicast_route_bidir_star_g_hit(bit<16> mc_index, bit<16> mcast_rpf_group) { meta.multicast_metadata.outer_mcast_mode = 2w2; - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.multicast_metadata.outer_mcast_route_hit = 1w1; meta.multicast_metadata.mcast_rpf_group = mcast_rpf_group | meta.multicast_metadata.bd_mrpf_group; meta.fabric_metadata.dst_device = 8w127; } @name(".outer_multicast_bridge_star_g_hit") action outer_multicast_bridge_star_g_hit(bit<16> mc_index) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.tunnel_metadata.tunnel_terminate = 1w1; meta.fabric_metadata.dst_device = 8w127; } @@ -4058,7 +4054,7 @@ control process_tunnel(inout headers hdr, inout metadata meta, inout standard_me @name(".non_ip_tunnel_lookup_miss") action non_ip_tunnel_lookup_miss() { meta.l2_metadata.lkp_mac_sa = hdr.ethernet.srcAddr; meta.l2_metadata.lkp_mac_da = hdr.ethernet.dstAddr; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; } @name(".ipv4_tunnel_lookup_miss") action ipv4_tunnel_lookup_miss() { meta.l2_metadata.lkp_mac_sa = hdr.ethernet.srcAddr; @@ -4069,7 +4065,7 @@ control process_tunnel(inout headers hdr, inout metadata meta, inout standard_me meta.l3_metadata.lkp_ip_ttl = hdr.ipv4.ttl; meta.l3_metadata.lkp_l4_sport = meta.l3_metadata.lkp_outer_l4_sport; meta.l3_metadata.lkp_l4_dport = meta.l3_metadata.lkp_outer_l4_dport; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; } @name(".ipv6_tunnel_lookup_miss") action ipv6_tunnel_lookup_miss() { meta.l2_metadata.lkp_mac_sa = hdr.ethernet.srcAddr; @@ -4080,7 +4076,7 @@ control process_tunnel(inout headers hdr, inout metadata meta, inout standard_me meta.l3_metadata.lkp_ip_ttl = hdr.ipv6.hopLimit; meta.l3_metadata.lkp_l4_sport = meta.l3_metadata.lkp_outer_l4_sport; meta.l3_metadata.lkp_l4_dport = meta.l3_metadata.lkp_outer_l4_dport; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; } @name(".outer_rmac") table outer_rmac { actions = { @@ -4318,7 +4314,7 @@ control process_mac(inout headers hdr, inout metadata meta, inout standard_metad meta.l2_metadata.same_if_check = meta.l2_metadata.same_if_check ^ ifindex; } @name(".dmac_multicast_hit") action dmac_multicast_hit(bit<16> mc_index) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; meta.fabric_metadata.dst_device = 8w127; } @name(".dmac_miss") action dmac_miss() { @@ -4401,7 +4397,7 @@ control process_mac_acl(inout headers hdr, inout metadata meta, inout standard_m } @name(".acl_mirror") action acl_mirror(bit<32> session_id, bit<14> acl_stats_index, bit<16> acl_meter_index) { meta.i2e_metadata.mirror_session_id = (bit<16>)session_id; - meta.i2e_metadata.ingress_tstamp = (bit<32>)meta.intrinsic_metadata.ingress_global_timestamp; + meta.i2e_metadata.ingress_tstamp = (bit<32>)standard_metadata.ingress_global_timestamp; clone3(CloneType.I2E, (bit<32>)session_id, { meta.i2e_metadata.ingress_tstamp, meta.i2e_metadata.mirror_session_id }); meta.acl_metadata.acl_stats_index = acl_stats_index; meta.meter_metadata.meter_index = acl_meter_index; @@ -4467,7 +4463,7 @@ control process_ip_acl(inout headers hdr, inout metadata meta, inout standard_me } @name(".acl_mirror") action acl_mirror(bit<32> session_id, bit<14> acl_stats_index, bit<16> acl_meter_index) { meta.i2e_metadata.mirror_session_id = (bit<16>)session_id; - meta.i2e_metadata.ingress_tstamp = (bit<32>)meta.intrinsic_metadata.ingress_global_timestamp; + meta.i2e_metadata.ingress_tstamp = (bit<32>)standard_metadata.ingress_global_timestamp; clone3(CloneType.I2E, (bit<32>)session_id, { meta.i2e_metadata.ingress_tstamp, meta.i2e_metadata.mirror_session_id }); meta.acl_metadata.acl_stats_index = acl_stats_index; meta.meter_metadata.meter_index = acl_meter_index; @@ -5372,20 +5368,20 @@ control process_fwd_results(inout headers hdr, inout metadata meta, inout standa meta.l3_metadata.nexthop_index = meta.l2_metadata.l2_nexthop; meta.nexthop_metadata.nexthop_type = meta.l2_metadata.l2_nexthop_type; meta.ingress_metadata.egress_ifindex = 16w0; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; meta.fabric_metadata.dst_device = 8w0; } @name(".set_fib_redirect_action") action set_fib_redirect_action() { meta.l3_metadata.nexthop_index = meta.l3_metadata.fib_nexthop; meta.nexthop_metadata.nexthop_type = meta.l3_metadata.fib_nexthop_type; meta.l3_metadata.routed = 1w1; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; meta.fabric_metadata.reason_code = 16w0x217; meta.fabric_metadata.dst_device = 8w0; } @name(".set_cpu_redirect_action") action set_cpu_redirect_action() { meta.l3_metadata.routed = 1w0; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; standard_metadata.egress_spec = 9w64; meta.ingress_metadata.egress_ifindex = 16w0; meta.fabric_metadata.dst_device = 8w0; @@ -5394,7 +5390,7 @@ control process_fwd_results(inout headers hdr, inout metadata meta, inout standa meta.l3_metadata.nexthop_index = meta.acl_metadata.acl_nexthop; meta.nexthop_metadata.nexthop_type = meta.acl_metadata.acl_nexthop_type; meta.ingress_metadata.egress_ifindex = 16w0; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; meta.fabric_metadata.dst_device = 8w0; } @name(".set_racl_redirect_action") action set_racl_redirect_action() { @@ -5402,20 +5398,20 @@ control process_fwd_results(inout headers hdr, inout metadata meta, inout standa meta.nexthop_metadata.nexthop_type = meta.acl_metadata.racl_nexthop_type; meta.l3_metadata.routed = 1w1; meta.ingress_metadata.egress_ifindex = 16w0; - meta.intrinsic_metadata.mcast_grp = 16w0; + standard_metadata.mcast_grp = 16w0; meta.fabric_metadata.dst_device = 8w0; } @name(".set_multicast_route_action") action set_multicast_route_action() { meta.fabric_metadata.dst_device = 8w127; meta.ingress_metadata.egress_ifindex = 16w0; - meta.intrinsic_metadata.mcast_grp = meta.multicast_metadata.multicast_route_mc_index; + standard_metadata.mcast_grp = meta.multicast_metadata.multicast_route_mc_index; meta.l3_metadata.routed = 1w1; meta.l3_metadata.same_bd_check = 16w0xffff; } @name(".set_multicast_bridge_action") action set_multicast_bridge_action() { meta.fabric_metadata.dst_device = 8w127; meta.ingress_metadata.egress_ifindex = 16w0; - meta.intrinsic_metadata.mcast_grp = meta.multicast_metadata.multicast_bridge_mc_index; + standard_metadata.mcast_grp = meta.multicast_metadata.multicast_bridge_mc_index; } @name(".set_multicast_flood") action set_multicast_flood() { meta.fabric_metadata.dst_device = 8w127; @@ -5473,7 +5469,7 @@ control process_nexthop(inout headers hdr, inout metadata meta, inout standard_m meta.tunnel_metadata.tunnel_if_check = meta.tunnel_metadata.tunnel_terminate ^ tunnel; } @name(".set_ecmp_nexthop_details_for_post_routed_flood") action set_ecmp_nexthop_details_for_post_routed_flood(bit<16> bd, bit<16> uuc_mc_index, bit<16> nhop_index) { - meta.intrinsic_metadata.mcast_grp = uuc_mc_index; + standard_metadata.mcast_grp = uuc_mc_index; meta.l3_metadata.nexthop_index = nhop_index; meta.ingress_metadata.egress_ifindex = 16w0; meta.l3_metadata.same_bd_check = meta.ingress_metadata.bd ^ bd; @@ -5486,7 +5482,7 @@ control process_nexthop(inout headers hdr, inout metadata meta, inout standard_m meta.tunnel_metadata.tunnel_if_check = meta.tunnel_metadata.tunnel_terminate ^ tunnel; } @name(".set_nexthop_details_for_post_routed_flood") action set_nexthop_details_for_post_routed_flood(bit<16> bd, bit<16> uuc_mc_index) { - meta.intrinsic_metadata.mcast_grp = uuc_mc_index; + standard_metadata.mcast_grp = uuc_mc_index; meta.ingress_metadata.egress_ifindex = 16w0; meta.l3_metadata.same_bd_check = meta.ingress_metadata.bd ^ bd; meta.fabric_metadata.dst_device = 8w127; @@ -5529,7 +5525,7 @@ control process_multicast_flooding(inout headers hdr, inout metadata meta, inout @name(".nop") action nop() { } @name(".set_bd_flood_mc_index") action set_bd_flood_mc_index(bit<16> mc_index) { - meta.intrinsic_metadata.mcast_grp = mc_index; + standard_metadata.mcast_grp = mc_index; } @name(".bd_flood") table bd_flood { actions = { @@ -5613,7 +5609,7 @@ control process_fabric_lag(inout headers hdr, inout metadata meta, inout standar standard_metadata.egress_spec = port; } @name(".set_fabric_multicast") action set_fabric_multicast(bit<8> fabric_mgid) { - meta.multicast_metadata.mcast_grp = meta.intrinsic_metadata.mcast_grp; + meta.multicast_metadata.mcast_grp = standard_metadata.mcast_grp; } @name(".fabric_lag") table fabric_lag { actions = { diff --git a/testdata/p4_14_samples_outputs/wide_action2-first.p4 b/testdata/p4_14_samples_outputs/wide_action2-first.p4 deleted file mode 100644 index ff6699d65f6..00000000000 --- a/testdata/p4_14_samples_outputs/wide_action2-first.p4 +++ /dev/null @@ -1,109 +0,0 @@ -#include -#include - -struct ingress_metadata_t { - bit<16> bd; - bit<12> vrf; - bit<1> ipv4_unicast_enabled; - bit<1> ipv6_unicast_enabled; - bit<2> ipv4_multicast_mode; - bit<2> ipv6_multicast_mode; - bit<1> igmp_snooping_enabled; - bit<1> mld_snooping_enabled; - bit<2> ipv4_urpf_mode; - bit<2> ipv6_urpf_mode; - bit<10> rmac_group; - bit<16> bd_mrpf_group; - bit<16> uuc_mc_index; - bit<16> umc_mc_index; - bit<16> bcast_mc_index; - bit<16> bd_label; -} - -struct intrinsic_metadata_t { - bit<16> exclusion_id1; -} - -header data_t { - bit<16> f1; - bit<16> f2; -} - -struct metadata { - @name(".ingress_metadata") - ingress_metadata_t ingress_metadata; - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; -} - -struct headers { - @name(".data") - data_t data; -} - -parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { - @name(".start") state start { - packet.extract(hdr.data); - meta.ingress_metadata.bd = hdr.data.f2; - transition accept; - } -} - -control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { - @name(".set_bd_info") action set_bd_info(bit<12> vrf, bit<10> rmac_group, bit<16> mrpf_group, bit<16> bd_label, bit<16> uuc_mc_index, bit<16> bcast_mc_index, bit<16> umc_mc_index, bit<1> ipv4_unicast_enabled, bit<1> ipv6_unicast_enabled, bit<2> ipv4_multicast_mode, bit<2> ipv6_multicast_mode, bit<1> igmp_snooping_enabled, bit<1> mld_snooping_enabled, bit<2> ipv4_urpf_mode, bit<2> ipv6_urpf_mode, bit<16> exclusion_id) { - meta.ingress_metadata.vrf = vrf; - meta.ingress_metadata.ipv4_unicast_enabled = ipv4_unicast_enabled; - meta.ingress_metadata.ipv6_unicast_enabled = ipv6_unicast_enabled; - meta.ingress_metadata.ipv4_multicast_mode = ipv4_multicast_mode; - meta.ingress_metadata.ipv6_multicast_mode = ipv6_multicast_mode; - meta.ingress_metadata.igmp_snooping_enabled = igmp_snooping_enabled; - meta.ingress_metadata.mld_snooping_enabled = mld_snooping_enabled; - meta.ingress_metadata.ipv4_urpf_mode = ipv4_urpf_mode; - meta.ingress_metadata.ipv6_urpf_mode = ipv6_urpf_mode; - meta.ingress_metadata.rmac_group = rmac_group; - meta.ingress_metadata.bd_mrpf_group = mrpf_group; - meta.ingress_metadata.uuc_mc_index = uuc_mc_index; - meta.ingress_metadata.umc_mc_index = umc_mc_index; - meta.ingress_metadata.bcast_mc_index = bcast_mc_index; - meta.ingress_metadata.bd_label = bd_label; - meta.intrinsic_metadata.exclusion_id1 = exclusion_id; - } - @name(".bd") table bd { - actions = { - set_bd_info(); - @defaultonly NoAction(); - } - key = { - meta.ingress_metadata.bd: exact @name("ingress_metadata.bd") ; - } - size = 16384; - default_action = NoAction(); - } - apply { - bd.apply(); - } -} - -control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { - apply { - } -} - -control DeparserImpl(packet_out packet, in headers hdr) { - apply { - packet.emit(hdr.data); - } -} - -control verifyChecksum(inout headers hdr, inout metadata meta) { - apply { - } -} - -control computeChecksum(inout headers hdr, inout metadata meta) { - apply { - } -} - -V1Switch(ParserImpl(), verifyChecksum(), ingress(), egress(), computeChecksum(), DeparserImpl()) main; - diff --git a/testdata/p4_14_samples_outputs/wide_action2-frontend.p4 b/testdata/p4_14_samples_outputs/wide_action2-frontend.p4 deleted file mode 100644 index 7060dc00b70..00000000000 --- a/testdata/p4_14_samples_outputs/wide_action2-frontend.p4 +++ /dev/null @@ -1,111 +0,0 @@ -#include -#include - -struct ingress_metadata_t { - bit<16> bd; - bit<12> vrf; - bit<1> ipv4_unicast_enabled; - bit<1> ipv6_unicast_enabled; - bit<2> ipv4_multicast_mode; - bit<2> ipv6_multicast_mode; - bit<1> igmp_snooping_enabled; - bit<1> mld_snooping_enabled; - bit<2> ipv4_urpf_mode; - bit<2> ipv6_urpf_mode; - bit<10> rmac_group; - bit<16> bd_mrpf_group; - bit<16> uuc_mc_index; - bit<16> umc_mc_index; - bit<16> bcast_mc_index; - bit<16> bd_label; -} - -struct intrinsic_metadata_t { - bit<16> exclusion_id1; -} - -header data_t { - bit<16> f1; - bit<16> f2; -} - -struct metadata { - @name(".ingress_metadata") - ingress_metadata_t ingress_metadata; - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; -} - -struct headers { - @name(".data") - data_t data; -} - -parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { - @name(".start") state start { - packet.extract(hdr.data); - meta.ingress_metadata.bd = hdr.data.f2; - transition accept; - } -} - -control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { - @name(".NoAction") action NoAction_0() { - } - @name(".set_bd_info") action set_bd_info(bit<12> vrf, bit<10> rmac_group, bit<16> mrpf_group, bit<16> bd_label, bit<16> uuc_mc_index, bit<16> bcast_mc_index, bit<16> umc_mc_index, bit<1> ipv4_unicast_enabled, bit<1> ipv6_unicast_enabled, bit<2> ipv4_multicast_mode, bit<2> ipv6_multicast_mode, bit<1> igmp_snooping_enabled, bit<1> mld_snooping_enabled, bit<2> ipv4_urpf_mode, bit<2> ipv6_urpf_mode, bit<16> exclusion_id) { - meta.ingress_metadata.vrf = vrf; - meta.ingress_metadata.ipv4_unicast_enabled = ipv4_unicast_enabled; - meta.ingress_metadata.ipv6_unicast_enabled = ipv6_unicast_enabled; - meta.ingress_metadata.ipv4_multicast_mode = ipv4_multicast_mode; - meta.ingress_metadata.ipv6_multicast_mode = ipv6_multicast_mode; - meta.ingress_metadata.igmp_snooping_enabled = igmp_snooping_enabled; - meta.ingress_metadata.mld_snooping_enabled = mld_snooping_enabled; - meta.ingress_metadata.ipv4_urpf_mode = ipv4_urpf_mode; - meta.ingress_metadata.ipv6_urpf_mode = ipv6_urpf_mode; - meta.ingress_metadata.rmac_group = rmac_group; - meta.ingress_metadata.bd_mrpf_group = mrpf_group; - meta.ingress_metadata.uuc_mc_index = uuc_mc_index; - meta.ingress_metadata.umc_mc_index = umc_mc_index; - meta.ingress_metadata.bcast_mc_index = bcast_mc_index; - meta.ingress_metadata.bd_label = bd_label; - meta.intrinsic_metadata.exclusion_id1 = exclusion_id; - } - @name(".bd") table bd_0 { - actions = { - set_bd_info(); - @defaultonly NoAction_0(); - } - key = { - meta.ingress_metadata.bd: exact @name("ingress_metadata.bd") ; - } - size = 16384; - default_action = NoAction_0(); - } - apply { - bd_0.apply(); - } -} - -control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { - apply { - } -} - -control DeparserImpl(packet_out packet, in headers hdr) { - apply { - packet.emit(hdr.data); - } -} - -control verifyChecksum(inout headers hdr, inout metadata meta) { - apply { - } -} - -control computeChecksum(inout headers hdr, inout metadata meta) { - apply { - } -} - -V1Switch(ParserImpl(), verifyChecksum(), ingress(), egress(), computeChecksum(), DeparserImpl()) main; - diff --git a/testdata/p4_14_samples_outputs/wide_action2.p4 b/testdata/p4_14_samples_outputs/wide_action2.p4 deleted file mode 100644 index 568d2e4f16c..00000000000 --- a/testdata/p4_14_samples_outputs/wide_action2.p4 +++ /dev/null @@ -1,107 +0,0 @@ -#include -#include - -struct ingress_metadata_t { - bit<16> bd; - bit<12> vrf; - bit<1> ipv4_unicast_enabled; - bit<1> ipv6_unicast_enabled; - bit<2> ipv4_multicast_mode; - bit<2> ipv6_multicast_mode; - bit<1> igmp_snooping_enabled; - bit<1> mld_snooping_enabled; - bit<2> ipv4_urpf_mode; - bit<2> ipv6_urpf_mode; - bit<10> rmac_group; - bit<16> bd_mrpf_group; - bit<16> uuc_mc_index; - bit<16> umc_mc_index; - bit<16> bcast_mc_index; - bit<16> bd_label; -} - -struct intrinsic_metadata_t { - bit<16> exclusion_id1; -} - -header data_t { - bit<16> f1; - bit<16> f2; -} - -struct metadata { - @name(".ingress_metadata") - ingress_metadata_t ingress_metadata; - @name(".intrinsic_metadata") - intrinsic_metadata_t intrinsic_metadata; -} - -struct headers { - @name(".data") - data_t data; -} - -parser ParserImpl(packet_in packet, out headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { - @name(".start") state start { - packet.extract(hdr.data); - meta.ingress_metadata.bd = hdr.data.f2; - transition accept; - } -} - -control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { - @name(".set_bd_info") action set_bd_info(bit<12> vrf, bit<10> rmac_group, bit<16> mrpf_group, bit<16> bd_label, bit<16> uuc_mc_index, bit<16> bcast_mc_index, bit<16> umc_mc_index, bit<1> ipv4_unicast_enabled, bit<1> ipv6_unicast_enabled, bit<2> ipv4_multicast_mode, bit<2> ipv6_multicast_mode, bit<1> igmp_snooping_enabled, bit<1> mld_snooping_enabled, bit<2> ipv4_urpf_mode, bit<2> ipv6_urpf_mode, bit<16> exclusion_id) { - meta.ingress_metadata.vrf = vrf; - meta.ingress_metadata.ipv4_unicast_enabled = ipv4_unicast_enabled; - meta.ingress_metadata.ipv6_unicast_enabled = ipv6_unicast_enabled; - meta.ingress_metadata.ipv4_multicast_mode = ipv4_multicast_mode; - meta.ingress_metadata.ipv6_multicast_mode = ipv6_multicast_mode; - meta.ingress_metadata.igmp_snooping_enabled = igmp_snooping_enabled; - meta.ingress_metadata.mld_snooping_enabled = mld_snooping_enabled; - meta.ingress_metadata.ipv4_urpf_mode = ipv4_urpf_mode; - meta.ingress_metadata.ipv6_urpf_mode = ipv6_urpf_mode; - meta.ingress_metadata.rmac_group = rmac_group; - meta.ingress_metadata.bd_mrpf_group = mrpf_group; - meta.ingress_metadata.uuc_mc_index = uuc_mc_index; - meta.ingress_metadata.umc_mc_index = umc_mc_index; - meta.ingress_metadata.bcast_mc_index = bcast_mc_index; - meta.ingress_metadata.bd_label = bd_label; - meta.intrinsic_metadata.exclusion_id1 = exclusion_id; - } - @name(".bd") table bd { - actions = { - set_bd_info; - } - key = { - meta.ingress_metadata.bd: exact; - } - size = 16384; - } - apply { - bd.apply(); - } -} - -control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata) { - apply { - } -} - -control DeparserImpl(packet_out packet, in headers hdr) { - apply { - packet.emit(hdr.data); - } -} - -control verifyChecksum(inout headers hdr, inout metadata meta) { - apply { - } -} - -control computeChecksum(inout headers hdr, inout metadata meta) { - apply { - } -} - -V1Switch(ParserImpl(), verifyChecksum(), ingress(), egress(), computeChecksum(), DeparserImpl()) main; - diff --git a/testdata/p4_16_errors_outputs/issue1541.p4-stderr b/testdata/p4_16_errors_outputs/issue1541.p4-stderr index 7f47f726b11..b0c19a62a96 100644 --- a/testdata/p4_16_errors_outputs/issue1541.p4-stderr +++ b/testdata/p4_16_errors_outputs/issue1541.p4-stderr @@ -1,7 +1,7 @@ issue1541.p4(25): [--Wwarn=shadow] warning: hash shadows hash action hash() { ^^^^ -v1model.p4(301) +v1model.p4(321) extern void hash(out O result, in HashAlgorithm algo, in T base, in D data, in M max); ^^^^ issue1541.p4(26): [--Werror=type-error] error: hash: Recursive action call diff --git a/testdata/p4_16_errors_outputs/issue513.p4-stderr b/testdata/p4_16_errors_outputs/issue513.p4-stderr index 3de13f57354..7751272ffb4 100644 --- a/testdata/p4_16_errors_outputs/issue513.p4-stderr +++ b/testdata/p4_16_errors_outputs/issue513.p4-stderr @@ -1,7 +1,7 @@ issue513.p4(60): [--Wwarn=deprecated] warning: mark_to_drop: Using deprecated feature mark_to_drop. Please use mark_to_drop(standard_metadata) instead. mark_to_drop(); ^^^^^^^^^^^^ -v1model.p4(269) +v1model.p4(289) extern void mark_to_drop(); ^^^^^^^^^^^^ issue513.p4(60): [--Werror=legacy] error: MethodCallStatement: Conditional execution in actions is not supported on this target diff --git a/testdata/p4_16_samples_outputs/drop-bmv2-midend.p4 b/testdata/p4_16_samples_outputs/drop-bmv2-midend.p4 index 542d98fe426..184d4f416f2 100644 --- a/testdata/p4_16_samples_outputs/drop-bmv2-midend.p4 +++ b/testdata/p4_16_samples_outputs/drop-bmv2-midend.p4 @@ -34,9 +34,10 @@ control IngressI(inout H hdr, inout M meta, inout standard_metadata_t smeta) { smeta_1.mcast_grp = smeta.mcast_grp; smeta_1.resubmit_flag = smeta.resubmit_flag; smeta_1.egress_rid = smeta.egress_rid; - smeta_1.checksum_error = smeta.checksum_error; smeta_1.recirculate_flag = smeta.recirculate_flag; + smeta_1.checksum_error = smeta.checksum_error; smeta_1.parser_error = smeta.parser_error; + smeta_1.priority = smeta.priority; mark_to_drop(smeta_1); smeta.ingress_port = smeta_1.ingress_port; smeta.egress_spec = smeta_1.egress_spec; @@ -56,9 +57,10 @@ control IngressI(inout H hdr, inout M meta, inout standard_metadata_t smeta) { smeta.mcast_grp = smeta_1.mcast_grp; smeta.resubmit_flag = smeta_1.resubmit_flag; smeta.egress_rid = smeta_1.egress_rid; - smeta.checksum_error = smeta_1.checksum_error; smeta.recirculate_flag = smeta_1.recirculate_flag; + smeta.checksum_error = smeta_1.checksum_error; smeta.parser_error = smeta_1.parser_error; + smeta.priority = smeta_1.priority; } @name("IngressI.forward") table forward_0 { key = { diff --git a/testdata/p4_16_samples_outputs/issue1538-midend.p4 b/testdata/p4_16_samples_outputs/issue1538-midend.p4 index 28d430eac99..ae8095c47ea 100644 --- a/testdata/p4_16_samples_outputs/issue1538-midend.p4 +++ b/testdata/p4_16_samples_outputs/issue1538-midend.p4 @@ -45,9 +45,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ smeta.mcast_grp = standard_metadata.mcast_grp; smeta.resubmit_flag = standard_metadata.resubmit_flag; smeta.egress_rid = standard_metadata.egress_rid; - smeta.checksum_error = standard_metadata.checksum_error; smeta.recirculate_flag = standard_metadata.recirculate_flag; + smeta.checksum_error = standard_metadata.checksum_error; smeta.parser_error = standard_metadata.parser_error; + smeta.priority = standard_metadata.priority; mark_to_drop(smeta); standard_metadata.ingress_port = smeta.ingress_port; standard_metadata.egress_spec = smeta.egress_spec; @@ -67,9 +68,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ standard_metadata.mcast_grp = smeta.mcast_grp; standard_metadata.resubmit_flag = smeta.resubmit_flag; standard_metadata.egress_rid = smeta.egress_rid; - standard_metadata.checksum_error = smeta.checksum_error; standard_metadata.recirculate_flag = smeta.recirculate_flag; + standard_metadata.checksum_error = smeta.checksum_error; standard_metadata.parser_error = smeta.parser_error; + standard_metadata.priority = smeta.priority; } @name("ingress.set_port") action set_port(bit<9> output_port) { standard_metadata.egress_spec = output_port; diff --git a/testdata/p4_16_samples_outputs/issue1544-1-bmv2-midend.p4 b/testdata/p4_16_samples_outputs/issue1544-1-bmv2-midend.p4 index 6828b476be8..ee79cc7ea36 100644 --- a/testdata/p4_16_samples_outputs/issue1544-1-bmv2-midend.p4 +++ b/testdata/p4_16_samples_outputs/issue1544-1-bmv2-midend.p4 @@ -43,9 +43,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ smeta.mcast_grp = standard_metadata.mcast_grp; smeta.resubmit_flag = standard_metadata.resubmit_flag; smeta.egress_rid = standard_metadata.egress_rid; - smeta.checksum_error = standard_metadata.checksum_error; smeta.recirculate_flag = standard_metadata.recirculate_flag; + smeta.checksum_error = standard_metadata.checksum_error; smeta.parser_error = standard_metadata.parser_error; + smeta.priority = standard_metadata.priority; mark_to_drop(smeta); standard_metadata.ingress_port = smeta.ingress_port; standard_metadata.egress_spec = smeta.egress_spec; @@ -65,9 +66,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ standard_metadata.mcast_grp = smeta.mcast_grp; standard_metadata.resubmit_flag = smeta.resubmit_flag; standard_metadata.egress_rid = smeta.egress_rid; - standard_metadata.checksum_error = smeta.checksum_error; standard_metadata.recirculate_flag = smeta.recirculate_flag; + standard_metadata.checksum_error = smeta.checksum_error; standard_metadata.parser_error = smeta.parser_error; + standard_metadata.priority = smeta.priority; } @name("ingress.set_port") action set_port(bit<9> output_port) { standard_metadata.egress_spec = output_port; diff --git a/testdata/p4_16_samples_outputs/issue1544-2-bmv2-midend.p4 b/testdata/p4_16_samples_outputs/issue1544-2-bmv2-midend.p4 index dd7d12d164e..d3ea969fda1 100644 --- a/testdata/p4_16_samples_outputs/issue1544-2-bmv2-midend.p4 +++ b/testdata/p4_16_samples_outputs/issue1544-2-bmv2-midend.p4 @@ -43,9 +43,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ smeta.mcast_grp = standard_metadata.mcast_grp; smeta.resubmit_flag = standard_metadata.resubmit_flag; smeta.egress_rid = standard_metadata.egress_rid; - smeta.checksum_error = standard_metadata.checksum_error; smeta.recirculate_flag = standard_metadata.recirculate_flag; + smeta.checksum_error = standard_metadata.checksum_error; smeta.parser_error = standard_metadata.parser_error; + smeta.priority = standard_metadata.priority; mark_to_drop(smeta); standard_metadata.ingress_port = smeta.ingress_port; standard_metadata.egress_spec = smeta.egress_spec; @@ -65,9 +66,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ standard_metadata.mcast_grp = smeta.mcast_grp; standard_metadata.resubmit_flag = smeta.resubmit_flag; standard_metadata.egress_rid = smeta.egress_rid; - standard_metadata.checksum_error = smeta.checksum_error; standard_metadata.recirculate_flag = smeta.recirculate_flag; + standard_metadata.checksum_error = smeta.checksum_error; standard_metadata.parser_error = smeta.parser_error; + standard_metadata.priority = smeta.priority; } @name("ingress.set_port") action set_port(bit<9> output_port) { standard_metadata.egress_spec = output_port; diff --git a/testdata/p4_16_samples_outputs/issue1544-bmv2-midend.p4 b/testdata/p4_16_samples_outputs/issue1544-bmv2-midend.p4 index 6658f75b8a4..51cc332a99d 100644 --- a/testdata/p4_16_samples_outputs/issue1544-bmv2-midend.p4 +++ b/testdata/p4_16_samples_outputs/issue1544-bmv2-midend.p4 @@ -43,9 +43,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ smeta.mcast_grp = standard_metadata.mcast_grp; smeta.resubmit_flag = standard_metadata.resubmit_flag; smeta.egress_rid = standard_metadata.egress_rid; - smeta.checksum_error = standard_metadata.checksum_error; smeta.recirculate_flag = standard_metadata.recirculate_flag; + smeta.checksum_error = standard_metadata.checksum_error; smeta.parser_error = standard_metadata.parser_error; + smeta.priority = standard_metadata.priority; mark_to_drop(smeta); standard_metadata.ingress_port = smeta.ingress_port; standard_metadata.egress_spec = smeta.egress_spec; @@ -65,9 +66,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ standard_metadata.mcast_grp = smeta.mcast_grp; standard_metadata.resubmit_flag = smeta.resubmit_flag; standard_metadata.egress_rid = smeta.egress_rid; - standard_metadata.checksum_error = smeta.checksum_error; standard_metadata.recirculate_flag = smeta.recirculate_flag; + standard_metadata.checksum_error = smeta.checksum_error; standard_metadata.parser_error = smeta.parser_error; + standard_metadata.priority = smeta.priority; } @name("ingress.set_port") action set_port(bit<9> output_port) { standard_metadata.egress_spec = output_port; diff --git a/testdata/p4_16_samples_outputs/issue1739-bmv2-midend.p4 b/testdata/p4_16_samples_outputs/issue1739-bmv2-midend.p4 index 0535653ba30..30ca252b7bf 100644 --- a/testdata/p4_16_samples_outputs/issue1739-bmv2-midend.p4 +++ b/testdata/p4_16_samples_outputs/issue1739-bmv2-midend.p4 @@ -71,9 +71,10 @@ control ingress(inout headers_t hdr, inout meta_t meta, inout standard_metadata_ smeta.mcast_grp = standard_metadata.mcast_grp; smeta.resubmit_flag = standard_metadata.resubmit_flag; smeta.egress_rid = standard_metadata.egress_rid; - smeta.checksum_error = standard_metadata.checksum_error; smeta.recirculate_flag = standard_metadata.recirculate_flag; + smeta.checksum_error = standard_metadata.checksum_error; smeta.parser_error = standard_metadata.parser_error; + smeta.priority = standard_metadata.priority; mark_to_drop(smeta); standard_metadata.ingress_port = smeta.ingress_port; standard_metadata.egress_spec = smeta.egress_spec; @@ -93,9 +94,10 @@ control ingress(inout headers_t hdr, inout meta_t meta, inout standard_metadata_ standard_metadata.mcast_grp = smeta.mcast_grp; standard_metadata.resubmit_flag = smeta.resubmit_flag; standard_metadata.egress_rid = smeta.egress_rid; - standard_metadata.checksum_error = smeta.checksum_error; standard_metadata.recirculate_flag = smeta.recirculate_flag; + standard_metadata.checksum_error = smeta.checksum_error; standard_metadata.parser_error = smeta.parser_error; + standard_metadata.priority = smeta.priority; } @name(".my_drop") action my_drop_0() { smeta_1.ingress_port = standard_metadata.ingress_port; @@ -116,9 +118,10 @@ control ingress(inout headers_t hdr, inout meta_t meta, inout standard_metadata_ smeta_1.mcast_grp = standard_metadata.mcast_grp; smeta_1.resubmit_flag = standard_metadata.resubmit_flag; smeta_1.egress_rid = standard_metadata.egress_rid; - smeta_1.checksum_error = standard_metadata.checksum_error; smeta_1.recirculate_flag = standard_metadata.recirculate_flag; + smeta_1.checksum_error = standard_metadata.checksum_error; smeta_1.parser_error = standard_metadata.parser_error; + smeta_1.priority = standard_metadata.priority; mark_to_drop(smeta_1); standard_metadata.ingress_port = smeta_1.ingress_port; standard_metadata.egress_spec = smeta_1.egress_spec; @@ -138,9 +141,10 @@ control ingress(inout headers_t hdr, inout meta_t meta, inout standard_metadata_ standard_metadata.mcast_grp = smeta_1.mcast_grp; standard_metadata.resubmit_flag = smeta_1.resubmit_flag; standard_metadata.egress_rid = smeta_1.egress_rid; - standard_metadata.checksum_error = smeta_1.checksum_error; standard_metadata.recirculate_flag = smeta_1.recirculate_flag; + standard_metadata.checksum_error = smeta_1.checksum_error; standard_metadata.parser_error = smeta_1.parser_error; + standard_metadata.priority = smeta_1.priority; } @name(".NoAction") action NoAction_0() { } diff --git a/testdata/p4_16_samples_outputs/issue461-bmv2-midend.p4 b/testdata/p4_16_samples_outputs/issue461-bmv2-midend.p4 index ceb28055440..be2374c5cc8 100644 --- a/testdata/p4_16_samples_outputs/issue461-bmv2-midend.p4 +++ b/testdata/p4_16_samples_outputs/issue461-bmv2-midend.p4 @@ -72,9 +72,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ smeta.mcast_grp = standard_metadata.mcast_grp; smeta.resubmit_flag = standard_metadata.resubmit_flag; smeta.egress_rid = standard_metadata.egress_rid; - smeta.checksum_error = standard_metadata.checksum_error; smeta.recirculate_flag = standard_metadata.recirculate_flag; + smeta.checksum_error = standard_metadata.checksum_error; smeta.parser_error = standard_metadata.parser_error; + smeta.priority = standard_metadata.priority; mark_to_drop(smeta); standard_metadata.ingress_port = smeta.ingress_port; standard_metadata.egress_spec = smeta.egress_spec; @@ -94,9 +95,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ standard_metadata.mcast_grp = smeta.mcast_grp; standard_metadata.resubmit_flag = smeta.resubmit_flag; standard_metadata.egress_rid = smeta.egress_rid; - standard_metadata.checksum_error = smeta.checksum_error; standard_metadata.recirculate_flag = smeta.recirculate_flag; + standard_metadata.checksum_error = smeta.checksum_error; standard_metadata.parser_error = smeta.parser_error; + standard_metadata.priority = smeta.priority; } @name("ingress.ipv4_da_lpm_stats") direct_counter(CounterType.packets) ipv4_da_lpm_stats_0; @name("ingress.set_l2ptr") action set_l2ptr(bit<32> l2ptr) { @@ -161,9 +163,10 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t smeta_1.mcast_grp = standard_metadata.mcast_grp; smeta_1.resubmit_flag = standard_metadata.resubmit_flag; smeta_1.egress_rid = standard_metadata.egress_rid; - smeta_1.checksum_error = standard_metadata.checksum_error; smeta_1.recirculate_flag = standard_metadata.recirculate_flag; + smeta_1.checksum_error = standard_metadata.checksum_error; smeta_1.parser_error = standard_metadata.parser_error; + smeta_1.priority = standard_metadata.priority; mark_to_drop(smeta_1); standard_metadata.ingress_port = smeta_1.ingress_port; standard_metadata.egress_spec = smeta_1.egress_spec; @@ -183,9 +186,10 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata.mcast_grp = smeta_1.mcast_grp; standard_metadata.resubmit_flag = smeta_1.resubmit_flag; standard_metadata.egress_rid = smeta_1.egress_rid; - standard_metadata.checksum_error = smeta_1.checksum_error; standard_metadata.recirculate_flag = smeta_1.recirculate_flag; + standard_metadata.checksum_error = smeta_1.checksum_error; standard_metadata.parser_error = smeta_1.parser_error; + standard_metadata.priority = smeta_1.priority; } @name("egress.rewrite_mac") action rewrite_mac(bit<48> smac) { hdr.ethernet.srcAddr = smac; diff --git a/testdata/p4_16_samples_outputs/issue561-bmv2-midend.p4 b/testdata/p4_16_samples_outputs/issue561-bmv2-midend.p4 index 0d2ed6d8d6b..4728a170e0e 100644 --- a/testdata/p4_16_samples_outputs/issue561-bmv2-midend.p4 +++ b/testdata/p4_16_samples_outputs/issue561-bmv2-midend.p4 @@ -256,9 +256,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ smeta.mcast_grp = standard_metadata.mcast_grp; smeta.resubmit_flag = standard_metadata.resubmit_flag; smeta.egress_rid = standard_metadata.egress_rid; - smeta.checksum_error = standard_metadata.checksum_error; smeta.recirculate_flag = standard_metadata.recirculate_flag; + smeta.checksum_error = standard_metadata.checksum_error; smeta.parser_error = standard_metadata.parser_error; + smeta.priority = standard_metadata.priority; mark_to_drop(smeta); standard_metadata.ingress_port = smeta.ingress_port; standard_metadata.egress_spec = smeta.egress_spec; @@ -278,9 +279,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ standard_metadata.mcast_grp = smeta.mcast_grp; standard_metadata.resubmit_flag = smeta.resubmit_flag; standard_metadata.egress_rid = smeta.egress_rid; - standard_metadata.checksum_error = smeta.checksum_error; standard_metadata.recirculate_flag = smeta.recirculate_flag; + standard_metadata.checksum_error = smeta.checksum_error; standard_metadata.parser_error = smeta.parser_error; + standard_metadata.priority = smeta.priority; } @name(".my_drop") action my_drop_0() { smeta_1.ingress_port = standard_metadata.ingress_port; @@ -301,9 +303,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ smeta_1.mcast_grp = standard_metadata.mcast_grp; smeta_1.resubmit_flag = standard_metadata.resubmit_flag; smeta_1.egress_rid = standard_metadata.egress_rid; - smeta_1.checksum_error = standard_metadata.checksum_error; smeta_1.recirculate_flag = standard_metadata.recirculate_flag; + smeta_1.checksum_error = standard_metadata.checksum_error; smeta_1.parser_error = standard_metadata.parser_error; + smeta_1.priority = standard_metadata.priority; mark_to_drop(smeta_1); standard_metadata.ingress_port = smeta_1.ingress_port; standard_metadata.egress_spec = smeta_1.egress_spec; @@ -323,9 +326,10 @@ control ingress(inout headers hdr, inout metadata meta, inout standard_metadata_ standard_metadata.mcast_grp = smeta_1.mcast_grp; standard_metadata.resubmit_flag = smeta_1.resubmit_flag; standard_metadata.egress_rid = smeta_1.egress_rid; - standard_metadata.checksum_error = smeta_1.checksum_error; standard_metadata.recirculate_flag = smeta_1.recirculate_flag; + standard_metadata.checksum_error = smeta_1.checksum_error; standard_metadata.parser_error = smeta_1.parser_error; + standard_metadata.priority = smeta_1.priority; } @name("ingress.set_l2ptr") action set_l2ptr(bit<32> l2ptr) { meta._fwd_metadata_l2ptr0 = l2ptr; @@ -383,9 +387,10 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t smeta_2.mcast_grp = standard_metadata.mcast_grp; smeta_2.resubmit_flag = standard_metadata.resubmit_flag; smeta_2.egress_rid = standard_metadata.egress_rid; - smeta_2.checksum_error = standard_metadata.checksum_error; smeta_2.recirculate_flag = standard_metadata.recirculate_flag; + smeta_2.checksum_error = standard_metadata.checksum_error; smeta_2.parser_error = standard_metadata.parser_error; + smeta_2.priority = standard_metadata.priority; mark_to_drop(smeta_2); standard_metadata.ingress_port = smeta_2.ingress_port; standard_metadata.egress_spec = smeta_2.egress_spec; @@ -405,9 +410,10 @@ control egress(inout headers hdr, inout metadata meta, inout standard_metadata_t standard_metadata.mcast_grp = smeta_2.mcast_grp; standard_metadata.resubmit_flag = smeta_2.resubmit_flag; standard_metadata.egress_rid = smeta_2.egress_rid; - standard_metadata.checksum_error = smeta_2.checksum_error; standard_metadata.recirculate_flag = smeta_2.recirculate_flag; + standard_metadata.checksum_error = smeta_2.checksum_error; standard_metadata.parser_error = smeta_2.parser_error; + standard_metadata.priority = smeta_2.priority; } @name("egress.rewrite_mac") action rewrite_mac(bit<48> smac) { hdr.ethernet.srcAddr = smac; diff --git a/testdata/p4_16_samples_outputs/issue841.p4-stderr b/testdata/p4_16_samples_outputs/issue841.p4-stderr index 33abc9d42a2..b4d077335a1 100644 --- a/testdata/p4_16_samples_outputs/issue841.p4-stderr +++ b/testdata/p4_16_samples_outputs/issue841.p4-stderr @@ -1,6 +1,6 @@ issue841.p4(39): [--Wwarn=deprecated] warning: Checksum16: Using deprecated feature Checksum16. Please use verify_checksum/update_checksum instead. Checksum16() checksum; ^^^^^^^^^^ -v1model.p4(313) +v1model.p4(333) extern Checksum16 { ^^^^^^^^^^ diff --git a/testdata/p4_16_samples_outputs/v1model-special-ops-bmv2-midend.p4 b/testdata/p4_16_samples_outputs/v1model-special-ops-bmv2-midend.p4 index 11ff20fab73..8cbe24c9ab7 100644 --- a/testdata/p4_16_samples_outputs/v1model-special-ops-bmv2-midend.p4 +++ b/testdata/p4_16_samples_outputs/v1model-special-ops-bmv2-midend.p4 @@ -82,9 +82,10 @@ control ingress(inout headers_t hdr, inout meta_t meta, inout standard_metadata_ smeta.mcast_grp = standard_metadata.mcast_grp; smeta.resubmit_flag = standard_metadata.resubmit_flag; smeta.egress_rid = standard_metadata.egress_rid; - smeta.checksum_error = standard_metadata.checksum_error; smeta.recirculate_flag = standard_metadata.recirculate_flag; + smeta.checksum_error = standard_metadata.checksum_error; smeta.parser_error = standard_metadata.parser_error; + smeta.priority = standard_metadata.priority; mark_to_drop(smeta); standard_metadata.ingress_port = smeta.ingress_port; standard_metadata.egress_spec = smeta.egress_spec; @@ -104,9 +105,10 @@ control ingress(inout headers_t hdr, inout meta_t meta, inout standard_metadata_ standard_metadata.mcast_grp = smeta.mcast_grp; standard_metadata.resubmit_flag = smeta.resubmit_flag; standard_metadata.egress_rid = smeta.egress_rid; - standard_metadata.checksum_error = smeta.checksum_error; standard_metadata.recirculate_flag = smeta.recirculate_flag; + standard_metadata.checksum_error = smeta.checksum_error; standard_metadata.parser_error = smeta.parser_error; + standard_metadata.priority = smeta.priority; } @name(".my_drop") action my_drop_0() { smeta_1.ingress_port = standard_metadata.ingress_port; @@ -127,9 +129,10 @@ control ingress(inout headers_t hdr, inout meta_t meta, inout standard_metadata_ smeta_1.mcast_grp = standard_metadata.mcast_grp; smeta_1.resubmit_flag = standard_metadata.resubmit_flag; smeta_1.egress_rid = standard_metadata.egress_rid; - smeta_1.checksum_error = standard_metadata.checksum_error; smeta_1.recirculate_flag = standard_metadata.recirculate_flag; + smeta_1.checksum_error = standard_metadata.checksum_error; smeta_1.parser_error = standard_metadata.parser_error; + smeta_1.priority = standard_metadata.priority; mark_to_drop(smeta_1); standard_metadata.ingress_port = smeta_1.ingress_port; standard_metadata.egress_spec = smeta_1.egress_spec; @@ -149,9 +152,10 @@ control ingress(inout headers_t hdr, inout meta_t meta, inout standard_metadata_ standard_metadata.mcast_grp = smeta_1.mcast_grp; standard_metadata.resubmit_flag = smeta_1.resubmit_flag; standard_metadata.egress_rid = smeta_1.egress_rid; - standard_metadata.checksum_error = smeta_1.checksum_error; standard_metadata.recirculate_flag = smeta_1.recirculate_flag; + standard_metadata.checksum_error = smeta_1.checksum_error; standard_metadata.parser_error = smeta_1.parser_error; + standard_metadata.priority = smeta_1.priority; } @name("ingress.set_l2ptr") action set_l2ptr(bit<32> l2ptr) { meta._fwd_l2ptr0 = l2ptr; @@ -254,9 +258,10 @@ control egress(inout headers_t hdr, inout meta_t meta, inout standard_metadata_t smeta_2.mcast_grp = standard_metadata.mcast_grp; smeta_2.resubmit_flag = standard_metadata.resubmit_flag; smeta_2.egress_rid = standard_metadata.egress_rid; - smeta_2.checksum_error = standard_metadata.checksum_error; smeta_2.recirculate_flag = standard_metadata.recirculate_flag; + smeta_2.checksum_error = standard_metadata.checksum_error; smeta_2.parser_error = standard_metadata.parser_error; + smeta_2.priority = standard_metadata.priority; mark_to_drop(smeta_2); standard_metadata.ingress_port = smeta_2.ingress_port; standard_metadata.egress_spec = smeta_2.egress_spec; @@ -276,9 +281,10 @@ control egress(inout headers_t hdr, inout meta_t meta, inout standard_metadata_t standard_metadata.mcast_grp = smeta_2.mcast_grp; standard_metadata.resubmit_flag = smeta_2.resubmit_flag; standard_metadata.egress_rid = smeta_2.egress_rid; - standard_metadata.checksum_error = smeta_2.checksum_error; standard_metadata.recirculate_flag = smeta_2.recirculate_flag; + standard_metadata.checksum_error = smeta_2.checksum_error; standard_metadata.parser_error = smeta_2.parser_error; + standard_metadata.priority = smeta_2.priority; } @name("egress.set_out_bd") action set_out_bd(bit<24> bd) { meta._fwd_out_bd1 = bd;