diff --git a/backends/tc/ebpfCodeGen.cpp b/backends/tc/ebpfCodeGen.cpp index aebf28ccda..22e87123df 100644 --- a/backends/tc/ebpfCodeGen.cpp +++ b/backends/tc/ebpfCodeGen.cpp @@ -485,6 +485,9 @@ void TCIngressPipelinePNA::emitGlobalMetadataInitializer(EBPF::CodeBuilder *buil builder->emitIndent(); builder->append("compiler_meta__->recirculate = false;"); builder->newline(); + builder->emitIndent(); + builder->append("compiler_meta__->egress_port = 0;"); + builder->newline(); // workaround to make TC protocol-independent, DO NOT REMOVE builder->emitIndent(); diff --git a/testdata/p4tc_samples_outputs/add_entry_1_example_control_blocks.c b/testdata/p4tc_samples_outputs/add_entry_1_example_control_blocks.c index 6ce8b43842..13eed6fe99 100644 --- a/testdata/p4tc_samples_outputs/add_entry_1_example_control_blocks.c +++ b/testdata/p4tc_samples_outputs/add_entry_1_example_control_blocks.c @@ -318,6 +318,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/add_entry_3_example_control_blocks.c b/testdata/p4tc_samples_outputs/add_entry_3_example_control_blocks.c index 860a3bb6aa..3067c948db 100644 --- a/testdata/p4tc_samples_outputs/add_entry_3_example_control_blocks.c +++ b/testdata/p4tc_samples_outputs/add_entry_3_example_control_blocks.c @@ -318,6 +318,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/add_entry_example_control_blocks.c b/testdata/p4tc_samples_outputs/add_entry_example_control_blocks.c index 478d2a8795..d28ee13aa2 100644 --- a/testdata/p4tc_samples_outputs/add_entry_example_control_blocks.c +++ b/testdata/p4tc_samples_outputs/add_entry_example_control_blocks.c @@ -391,6 +391,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/calculator_control_blocks.c b/testdata/p4tc_samples_outputs/calculator_control_blocks.c index 077fe234bd..4fddd63742 100644 --- a/testdata/p4tc_samples_outputs/calculator_control_blocks.c +++ b/testdata/p4tc_samples_outputs/calculator_control_blocks.c @@ -333,6 +333,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/checksum_control_blocks.c b/testdata/p4tc_samples_outputs/checksum_control_blocks.c index 1194c3c452..e42627ae70 100644 --- a/testdata/p4tc_samples_outputs/checksum_control_blocks.c +++ b/testdata/p4tc_samples_outputs/checksum_control_blocks.c @@ -289,6 +289,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/const_entries_range_mask_control_blocks.c b/testdata/p4tc_samples_outputs/const_entries_range_mask_control_blocks.c index f62b393e18..634df42f27 100644 --- a/testdata/p4tc_samples_outputs/const_entries_range_mask_control_blocks.c +++ b/testdata/p4tc_samples_outputs/const_entries_range_mask_control_blocks.c @@ -154,6 +154,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/default_action_example_01_control_blocks.c b/testdata/p4tc_samples_outputs/default_action_example_01_control_blocks.c index 16c4eca24c..d370c2b17c 100644 --- a/testdata/p4tc_samples_outputs/default_action_example_01_control_blocks.c +++ b/testdata/p4tc_samples_outputs/default_action_example_01_control_blocks.c @@ -347,6 +347,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/default_action_example_control_blocks.c b/testdata/p4tc_samples_outputs/default_action_example_control_blocks.c index 029834b4d9..475eaa5936 100644 --- a/testdata/p4tc_samples_outputs/default_action_example_control_blocks.c +++ b/testdata/p4tc_samples_outputs/default_action_example_control_blocks.c @@ -367,6 +367,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/default_action_with_param_01_control_blocks.c b/testdata/p4tc_samples_outputs/default_action_with_param_01_control_blocks.c index 54a46a6d54..df0431b5f2 100644 --- a/testdata/p4tc_samples_outputs/default_action_with_param_01_control_blocks.c +++ b/testdata/p4tc_samples_outputs/default_action_with_param_01_control_blocks.c @@ -367,6 +367,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/default_action_with_param_control_blocks.c b/testdata/p4tc_samples_outputs/default_action_with_param_control_blocks.c index 55736013b7..c39e72e909 100644 --- a/testdata/p4tc_samples_outputs/default_action_with_param_control_blocks.c +++ b/testdata/p4tc_samples_outputs/default_action_with_param_control_blocks.c @@ -367,6 +367,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/default_hit_const_example_control_blocks.c b/testdata/p4tc_samples_outputs/default_hit_const_example_control_blocks.c index 2f89d874b1..f415ad2f82 100644 --- a/testdata/p4tc_samples_outputs/default_hit_const_example_control_blocks.c +++ b/testdata/p4tc_samples_outputs/default_hit_const_example_control_blocks.c @@ -213,6 +213,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/digest_01_control_blocks.c b/testdata/p4tc_samples_outputs/digest_01_control_blocks.c index 35d7da76d4..6be779b37d 100644 --- a/testdata/p4tc_samples_outputs/digest_01_control_blocks.c +++ b/testdata/p4tc_samples_outputs/digest_01_control_blocks.c @@ -310,6 +310,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/digest_control_blocks.c b/testdata/p4tc_samples_outputs/digest_control_blocks.c index cd2c8602d2..2914282306 100644 --- a/testdata/p4tc_samples_outputs/digest_control_blocks.c +++ b/testdata/p4tc_samples_outputs/digest_control_blocks.c @@ -311,6 +311,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/digest_parser_meta_control_blocks.c b/testdata/p4tc_samples_outputs/digest_parser_meta_control_blocks.c index 244d2c36c6..a67cc6006c 100644 --- a/testdata/p4tc_samples_outputs/digest_parser_meta_control_blocks.c +++ b/testdata/p4tc_samples_outputs/digest_parser_meta_control_blocks.c @@ -306,6 +306,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/direct_counter_example_control_blocks.c b/testdata/p4tc_samples_outputs/direct_counter_example_control_blocks.c index ff56e5bf4f..c7685b87a0 100644 --- a/testdata/p4tc_samples_outputs/direct_counter_example_control_blocks.c +++ b/testdata/p4tc_samples_outputs/direct_counter_example_control_blocks.c @@ -300,6 +300,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/direct_meter_color_control_blocks.c b/testdata/p4tc_samples_outputs/direct_meter_color_control_blocks.c index 4d48cfae14..4d710d536f 100644 --- a/testdata/p4tc_samples_outputs/direct_meter_color_control_blocks.c +++ b/testdata/p4tc_samples_outputs/direct_meter_color_control_blocks.c @@ -302,6 +302,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/direct_meter_control_blocks.c b/testdata/p4tc_samples_outputs/direct_meter_control_blocks.c index 08b74f801d..4024b9e53b 100644 --- a/testdata/p4tc_samples_outputs/direct_meter_control_blocks.c +++ b/testdata/p4tc_samples_outputs/direct_meter_control_blocks.c @@ -296,6 +296,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/drop_packet_example_control_blocks.c b/testdata/p4tc_samples_outputs/drop_packet_example_control_blocks.c index 5495fc60de..5d72342264 100644 --- a/testdata/p4tc_samples_outputs/drop_packet_example_control_blocks.c +++ b/testdata/p4tc_samples_outputs/drop_packet_example_control_blocks.c @@ -290,6 +290,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/global_action_example_01_control_blocks.c b/testdata/p4tc_samples_outputs/global_action_example_01_control_blocks.c index c02fa7e3f3..528f6f8f8d 100644 --- a/testdata/p4tc_samples_outputs/global_action_example_01_control_blocks.c +++ b/testdata/p4tc_samples_outputs/global_action_example_01_control_blocks.c @@ -362,6 +362,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/global_action_example_02_control_blocks.c b/testdata/p4tc_samples_outputs/global_action_example_02_control_blocks.c index d28dc8d9e2..80f2e61812 100644 --- a/testdata/p4tc_samples_outputs/global_action_example_02_control_blocks.c +++ b/testdata/p4tc_samples_outputs/global_action_example_02_control_blocks.c @@ -364,6 +364,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/hash1_control_blocks.c b/testdata/p4tc_samples_outputs/hash1_control_blocks.c index 5798c1db47..345720b412 100644 --- a/testdata/p4tc_samples_outputs/hash1_control_blocks.c +++ b/testdata/p4tc_samples_outputs/hash1_control_blocks.c @@ -187,6 +187,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/hash_control_blocks.c b/testdata/p4tc_samples_outputs/hash_control_blocks.c index b7cf73a081..758ffab8ff 100644 --- a/testdata/p4tc_samples_outputs/hash_control_blocks.c +++ b/testdata/p4tc_samples_outputs/hash_control_blocks.c @@ -191,6 +191,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/indirect_counter_01_example_control_blocks.c b/testdata/p4tc_samples_outputs/indirect_counter_01_example_control_blocks.c index 11fb71c6cb..13485139b4 100644 --- a/testdata/p4tc_samples_outputs/indirect_counter_01_example_control_blocks.c +++ b/testdata/p4tc_samples_outputs/indirect_counter_01_example_control_blocks.c @@ -306,6 +306,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/internetchecksum_01_control_blocks.c b/testdata/p4tc_samples_outputs/internetchecksum_01_control_blocks.c index 601eceda79..ef344ecc21 100644 --- a/testdata/p4tc_samples_outputs/internetchecksum_01_control_blocks.c +++ b/testdata/p4tc_samples_outputs/internetchecksum_01_control_blocks.c @@ -475,6 +475,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/ipip_control_blocks.c b/testdata/p4tc_samples_outputs/ipip_control_blocks.c index 01a0af462b..c5ebb7b266 100644 --- a/testdata/p4tc_samples_outputs/ipip_control_blocks.c +++ b/testdata/p4tc_samples_outputs/ipip_control_blocks.c @@ -413,6 +413,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/is_host_port_control_blocks.c b/testdata/p4tc_samples_outputs/is_host_port_control_blocks.c index 1df59aabda..b2dfb7b028 100644 --- a/testdata/p4tc_samples_outputs/is_host_port_control_blocks.c +++ b/testdata/p4tc_samples_outputs/is_host_port_control_blocks.c @@ -303,6 +303,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/is_net_port_control_blocks.c b/testdata/p4tc_samples_outputs/is_net_port_control_blocks.c index 2d9910324f..1c259f3a06 100644 --- a/testdata/p4tc_samples_outputs/is_net_port_control_blocks.c +++ b/testdata/p4tc_samples_outputs/is_net_port_control_blocks.c @@ -303,6 +303,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/matchtype_control_blocks.c b/testdata/p4tc_samples_outputs/matchtype_control_blocks.c index 14c5c1d82f..3273132275 100644 --- a/testdata/p4tc_samples_outputs/matchtype_control_blocks.c +++ b/testdata/p4tc_samples_outputs/matchtype_control_blocks.c @@ -515,6 +515,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/meter_color_control_blocks.c b/testdata/p4tc_samples_outputs/meter_color_control_blocks.c index 98427ea6b9..ce6b557e2b 100644 --- a/testdata/p4tc_samples_outputs/meter_color_control_blocks.c +++ b/testdata/p4tc_samples_outputs/meter_color_control_blocks.c @@ -303,6 +303,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/meter_control_blocks.c b/testdata/p4tc_samples_outputs/meter_control_blocks.c index e6b9b3f1a1..a43f2d8b04 100644 --- a/testdata/p4tc_samples_outputs/meter_control_blocks.c +++ b/testdata/p4tc_samples_outputs/meter_control_blocks.c @@ -301,6 +301,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/mix_matchtype_example_control_blocks.c b/testdata/p4tc_samples_outputs/mix_matchtype_example_control_blocks.c index 14c7cda07e..e87236af49 100644 --- a/testdata/p4tc_samples_outputs/mix_matchtype_example_control_blocks.c +++ b/testdata/p4tc_samples_outputs/mix_matchtype_example_control_blocks.c @@ -521,6 +521,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/multiple_tables_example_01_control_blocks.c b/testdata/p4tc_samples_outputs/multiple_tables_example_01_control_blocks.c index d15e730fdd..caad29bc02 100644 --- a/testdata/p4tc_samples_outputs/multiple_tables_example_01_control_blocks.c +++ b/testdata/p4tc_samples_outputs/multiple_tables_example_01_control_blocks.c @@ -772,6 +772,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/multiple_tables_example_02_control_blocks.c b/testdata/p4tc_samples_outputs/multiple_tables_example_02_control_blocks.c index 3a8f88430d..ececfc15a8 100644 --- a/testdata/p4tc_samples_outputs/multiple_tables_example_02_control_blocks.c +++ b/testdata/p4tc_samples_outputs/multiple_tables_example_02_control_blocks.c @@ -772,6 +772,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/name_annotation_example_control_blocks.c b/testdata/p4tc_samples_outputs/name_annotation_example_control_blocks.c index ffa46414af..68a7fb0579 100644 --- a/testdata/p4tc_samples_outputs/name_annotation_example_control_blocks.c +++ b/testdata/p4tc_samples_outputs/name_annotation_example_control_blocks.c @@ -365,6 +365,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/no_table_example_control_blocks.c b/testdata/p4tc_samples_outputs/no_table_example_control_blocks.c index d947fcbe2f..7109ece56a 100644 --- a/testdata/p4tc_samples_outputs/no_table_example_control_blocks.c +++ b/testdata/p4tc_samples_outputs/no_table_example_control_blocks.c @@ -257,6 +257,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/noaction_example_01_control_blocks.c b/testdata/p4tc_samples_outputs/noaction_example_01_control_blocks.c index 3cd0e3fe5c..d54dc68c7e 100644 --- a/testdata/p4tc_samples_outputs/noaction_example_01_control_blocks.c +++ b/testdata/p4tc_samples_outputs/noaction_example_01_control_blocks.c @@ -365,6 +365,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/noaction_example_02_control_blocks.c b/testdata/p4tc_samples_outputs/noaction_example_02_control_blocks.c index b03bb7c4cf..4cd975c41f 100644 --- a/testdata/p4tc_samples_outputs/noaction_example_02_control_blocks.c +++ b/testdata/p4tc_samples_outputs/noaction_example_02_control_blocks.c @@ -341,6 +341,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/nummask_annotation_example_control_blocks.c b/testdata/p4tc_samples_outputs/nummask_annotation_example_control_blocks.c index c5db3ca55e..be9e1e485e 100644 --- a/testdata/p4tc_samples_outputs/nummask_annotation_example_control_blocks.c +++ b/testdata/p4tc_samples_outputs/nummask_annotation_example_control_blocks.c @@ -209,6 +209,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/send_to_port_example_control_blocks.c b/testdata/p4tc_samples_outputs/send_to_port_example_control_blocks.c index 13077bb288..b9e1a0291b 100644 --- a/testdata/p4tc_samples_outputs/send_to_port_example_control_blocks.c +++ b/testdata/p4tc_samples_outputs/send_to_port_example_control_blocks.c @@ -320,6 +320,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/set_entry_timer_example_control_blocks.c b/testdata/p4tc_samples_outputs/set_entry_timer_example_control_blocks.c index 166f4cc837..6649d2d2f8 100644 --- a/testdata/p4tc_samples_outputs/set_entry_timer_example_control_blocks.c +++ b/testdata/p4tc_samples_outputs/set_entry_timer_example_control_blocks.c @@ -375,6 +375,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/simple_exact_example_control_blocks.c b/testdata/p4tc_samples_outputs/simple_exact_example_control_blocks.c index 32acfaa8f4..087421eaf7 100644 --- a/testdata/p4tc_samples_outputs/simple_exact_example_control_blocks.c +++ b/testdata/p4tc_samples_outputs/simple_exact_example_control_blocks.c @@ -291,6 +291,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/simple_extern_example_control_blocks.c b/testdata/p4tc_samples_outputs/simple_extern_example_control_blocks.c index 308ab06578..4a81ca51c3 100644 --- a/testdata/p4tc_samples_outputs/simple_extern_example_control_blocks.c +++ b/testdata/p4tc_samples_outputs/simple_extern_example_control_blocks.c @@ -342,6 +342,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/simple_lpm_example_control_blocks.c b/testdata/p4tc_samples_outputs/simple_lpm_example_control_blocks.c index c96a227db3..c864d10055 100644 --- a/testdata/p4tc_samples_outputs/simple_lpm_example_control_blocks.c +++ b/testdata/p4tc_samples_outputs/simple_lpm_example_control_blocks.c @@ -289,6 +289,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/simple_ternary_example_control_blocks.c b/testdata/p4tc_samples_outputs/simple_ternary_example_control_blocks.c index 5fbf99edaa..7033a4f752 100644 --- a/testdata/p4tc_samples_outputs/simple_ternary_example_control_blocks.c +++ b/testdata/p4tc_samples_outputs/simple_ternary_example_control_blocks.c @@ -295,6 +295,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/size_param_example_control_blocks.c b/testdata/p4tc_samples_outputs/size_param_example_control_blocks.c index 3674ff0dbe..da7c20cf70 100644 --- a/testdata/p4tc_samples_outputs/size_param_example_control_blocks.c +++ b/testdata/p4tc_samples_outputs/size_param_example_control_blocks.c @@ -365,6 +365,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/skb_meta_control_blocks.c b/testdata/p4tc_samples_outputs/skb_meta_control_blocks.c index dc827f92df..733a681506 100644 --- a/testdata/p4tc_samples_outputs/skb_meta_control_blocks.c +++ b/testdata/p4tc_samples_outputs/skb_meta_control_blocks.c @@ -314,6 +314,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/tc_may_override_example_01_control_blocks.c b/testdata/p4tc_samples_outputs/tc_may_override_example_01_control_blocks.c index 554fbd23c1..ad183b4aae 100644 --- a/testdata/p4tc_samples_outputs/tc_may_override_example_01_control_blocks.c +++ b/testdata/p4tc_samples_outputs/tc_may_override_example_01_control_blocks.c @@ -385,6 +385,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/tc_may_override_example_02_control_blocks.c b/testdata/p4tc_samples_outputs/tc_may_override_example_02_control_blocks.c index f1cee7d3d8..c1d7d08b7e 100644 --- a/testdata/p4tc_samples_outputs/tc_may_override_example_02_control_blocks.c +++ b/testdata/p4tc_samples_outputs/tc_may_override_example_02_control_blocks.c @@ -367,6 +367,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/tc_may_override_example_03_control_blocks.c b/testdata/p4tc_samples_outputs/tc_may_override_example_03_control_blocks.c index a9b5ae5591..26d5f79de7 100644 --- a/testdata/p4tc_samples_outputs/tc_may_override_example_03_control_blocks.c +++ b/testdata/p4tc_samples_outputs/tc_may_override_example_03_control_blocks.c @@ -367,6 +367,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/tc_may_override_example_04_control_blocks.c b/testdata/p4tc_samples_outputs/tc_may_override_example_04_control_blocks.c index cfd2a32561..40de0416c5 100644 --- a/testdata/p4tc_samples_outputs/tc_may_override_example_04_control_blocks.c +++ b/testdata/p4tc_samples_outputs/tc_may_override_example_04_control_blocks.c @@ -379,6 +379,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/tc_may_override_example_05_control_blocks.c b/testdata/p4tc_samples_outputs/tc_may_override_example_05_control_blocks.c index 8e9e944d96..61a7cc0f17 100644 --- a/testdata/p4tc_samples_outputs/tc_may_override_example_05_control_blocks.c +++ b/testdata/p4tc_samples_outputs/tc_may_override_example_05_control_blocks.c @@ -376,6 +376,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/tc_may_override_example_06_control_blocks.c b/testdata/p4tc_samples_outputs/tc_may_override_example_06_control_blocks.c index 72afdd4c38..aac1c81c72 100644 --- a/testdata/p4tc_samples_outputs/tc_may_override_example_06_control_blocks.c +++ b/testdata/p4tc_samples_outputs/tc_may_override_example_06_control_blocks.c @@ -385,6 +385,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/tc_may_override_example_07_control_blocks.c b/testdata/p4tc_samples_outputs/tc_may_override_example_07_control_blocks.c index 0896089c00..7e6e0c85e2 100644 --- a/testdata/p4tc_samples_outputs/tc_may_override_example_07_control_blocks.c +++ b/testdata/p4tc_samples_outputs/tc_may_override_example_07_control_blocks.c @@ -394,6 +394,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/tc_may_override_example_08_control_blocks.c b/testdata/p4tc_samples_outputs/tc_may_override_example_08_control_blocks.c index 281ea22ba8..200c6070fd 100644 --- a/testdata/p4tc_samples_outputs/tc_may_override_example_08_control_blocks.c +++ b/testdata/p4tc_samples_outputs/tc_may_override_example_08_control_blocks.c @@ -394,6 +394,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/tc_may_override_example_09_control_blocks.c b/testdata/p4tc_samples_outputs/tc_may_override_example_09_control_blocks.c index 8b1456419e..59c7c110f3 100644 --- a/testdata/p4tc_samples_outputs/tc_may_override_example_09_control_blocks.c +++ b/testdata/p4tc_samples_outputs/tc_may_override_example_09_control_blocks.c @@ -385,6 +385,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/tc_type_annotation_example_control_blocks.c b/testdata/p4tc_samples_outputs/tc_type_annotation_example_control_blocks.c index 3e82fd8609..7bbce2ecbe 100644 --- a/testdata/p4tc_samples_outputs/tc_type_annotation_example_control_blocks.c +++ b/testdata/p4tc_samples_outputs/tc_type_annotation_example_control_blocks.c @@ -341,6 +341,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta; diff --git a/testdata/p4tc_samples_outputs/test_ipv6_example_control_blocks.c b/testdata/p4tc_samples_outputs/test_ipv6_example_control_blocks.c index 8f8a7c46be..ef967bc9bc 100644 --- a/testdata/p4tc_samples_outputs/test_ipv6_example_control_blocks.c +++ b/testdata/p4tc_samples_outputs/test_ipv6_example_control_blocks.c @@ -305,6 +305,7 @@ int tc_ingress_func(struct __sk_buff *skb) { struct pna_global_metadata *compiler_meta__ = (struct pna_global_metadata *) skb->cb; compiler_meta__->drop = false; compiler_meta__->recirculate = false; + compiler_meta__->egress_port = 0; if (!compiler_meta__->recirculated) { compiler_meta__->mark = 153; struct internal_metadata *md = (struct internal_metadata *)(unsigned long)skb->data_meta;