Skip to content

Commit

Permalink
Small fixes for p4tc (#5097)
Browse files Browse the repository at this point in the history
Signed-off-by: Victor Nogueira <victor@mojatatu.com>
  • Loading branch information
vbnogueira authored Jan 23, 2025
1 parent 591f24e commit e583d22
Show file tree
Hide file tree
Showing 59 changed files with 181 additions and 120 deletions.
8 changes: 6 additions & 2 deletions backends/tc/ebpfCodeGen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down Expand Up @@ -1260,7 +1263,8 @@ void IngressDeparserPNA::emit(EBPF::CodeBuilder *builder) {
builder->emitIndent();
builder->appendLine("// 0x0800 = IPv4, 0x86dd = IPv6");
builder->emitIndent();
builder->append("if ((skb->protocol != 0x0800) && (skb->protocol != 0x86dd)) ");
builder->append(
"if ((skb->protocol != bpf_htons(0x0800)) && (skb->protocol != bpf_htons(0x86dd))) ");
builder->blockStart();
builder->emitIndent();
builder->appendFormat("saved_proto = skb->protocol");
Expand All @@ -1269,7 +1273,7 @@ void IngressDeparserPNA::emit(EBPF::CodeBuilder *builder) {
builder->appendFormat("have_saved_proto = true");
builder->endOfStatement(true);
builder->emitIndent();
builder->appendFormat("bpf_p4tc_skb_set_protocol(skb, &sa->set, 0x0800)");
builder->appendFormat("bpf_p4tc_skb_set_protocol(skb, &sa->set, bpf_htons(0x0800))");
builder->endOfStatement(true);
builder->emitIndent();
builder->appendFormat("bpf_p4tc_skb_meta_set(skb, &sa->set, sizeof(sa->set))");
Expand Down
8 changes: 4 additions & 4 deletions backends/tc/runtime/pna.h
Original file line number Diff line number Diff line change
Expand Up @@ -114,12 +114,12 @@ struct __attribute__((__packed__)) p4tc_table_entry_act_bpf {

struct p4tc_table_entry_create_bpf_params__local {
struct p4tc_table_entry_act_bpf act_bpf;
u32 profile_id;
u32 pipeid;
u32 tblid;
u32 profile_id;
u32 handle;
u32 classid;
u32 chain;
u32 handle;
u32 chain;
u32 classid;
u16 proto;
u16 prio;
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,10 +162,10 @@ if (/* hdr->ipv4.isValid() */
bool have_saved_proto = false;
// bpf_skb_adjust_room works only when protocol is IPv4 or IPv6
// 0x0800 = IPv4, 0x86dd = IPv6
if ((skb->protocol != 0x0800) && (skb->protocol != 0x86dd)) {
if ((skb->protocol != bpf_htons(0x0800)) && (skb->protocol != bpf_htons(0x86dd))) {
saved_proto = skb->protocol;
have_saved_proto = true;
bpf_p4tc_skb_set_protocol(skb, &sa->set, 0x0800);
bpf_p4tc_skb_set_protocol(skb, &sa->set, bpf_htons(0x0800));
bpf_p4tc_skb_meta_set(skb, &sa->set, sizeof(sa->set));
}
;
Expand Down Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,10 +162,10 @@ if (/* hdr->ipv4.isValid() */
bool have_saved_proto = false;
// bpf_skb_adjust_room works only when protocol is IPv4 or IPv6
// 0x0800 = IPv4, 0x86dd = IPv6
if ((skb->protocol != 0x0800) && (skb->protocol != 0x86dd)) {
if ((skb->protocol != bpf_htons(0x0800)) && (skb->protocol != bpf_htons(0x86dd))) {
saved_proto = skb->protocol;
have_saved_proto = true;
bpf_p4tc_skb_set_protocol(skb, &sa->set, 0x0800);
bpf_p4tc_skb_set_protocol(skb, &sa->set, bpf_htons(0x0800));
bpf_p4tc_skb_meta_set(skb, &sa->set, sizeof(sa->set));
}
;
Expand Down Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -236,10 +236,10 @@ if (/* hdr->ipv4.isValid() */
bool have_saved_proto = false;
// bpf_skb_adjust_room works only when protocol is IPv4 or IPv6
// 0x0800 = IPv4, 0x86dd = IPv6
if ((skb->protocol != 0x0800) && (skb->protocol != 0x86dd)) {
if ((skb->protocol != bpf_htons(0x0800)) && (skb->protocol != bpf_htons(0x86dd))) {
saved_proto = skb->protocol;
have_saved_proto = true;
bpf_p4tc_skb_set_protocol(skb, &sa->set, 0x0800);
bpf_p4tc_skb_set_protocol(skb, &sa->set, bpf_htons(0x0800));
bpf_p4tc_skb_meta_set(skb, &sa->set, sizeof(sa->set));
}
;
Expand Down Expand Up @@ -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;
Expand Down
5 changes: 3 additions & 2 deletions testdata/p4tc_samples_outputs/calculator_control_blocks.c
Original file line number Diff line number Diff line change
Expand Up @@ -200,10 +200,10 @@ if (/* hdr->p4calc.isValid() */
bool have_saved_proto = false;
// bpf_skb_adjust_room works only when protocol is IPv4 or IPv6
// 0x0800 = IPv4, 0x86dd = IPv6
if ((skb->protocol != 0x0800) && (skb->protocol != 0x86dd)) {
if ((skb->protocol != bpf_htons(0x0800)) && (skb->protocol != bpf_htons(0x86dd))) {
saved_proto = skb->protocol;
have_saved_proto = true;
bpf_p4tc_skb_set_protocol(skb, &sa->set, 0x0800);
bpf_p4tc_skb_set_protocol(skb, &sa->set, bpf_htons(0x0800));
bpf_p4tc_skb_meta_set(skb, &sa->set, sizeof(sa->set));
}
;
Expand Down Expand Up @@ -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;
Expand Down
5 changes: 3 additions & 2 deletions testdata/p4tc_samples_outputs/checksum_control_blocks.c
Original file line number Diff line number Diff line change
Expand Up @@ -134,10 +134,10 @@ static __always_inline int process(struct __sk_buff *skb, struct my_ingress_head
bool have_saved_proto = false;
// bpf_skb_adjust_room works only when protocol is IPv4 or IPv6
// 0x0800 = IPv4, 0x86dd = IPv6
if ((skb->protocol != 0x0800) && (skb->protocol != 0x86dd)) {
if ((skb->protocol != bpf_htons(0x0800)) && (skb->protocol != bpf_htons(0x86dd))) {
saved_proto = skb->protocol;
have_saved_proto = true;
bpf_p4tc_skb_set_protocol(skb, &sa->set, 0x0800);
bpf_p4tc_skb_set_protocol(skb, &sa->set, bpf_htons(0x0800));
bpf_p4tc_skb_meta_set(skb, &sa->set, sizeof(sa->set));
}
;
Expand Down Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,10 +119,10 @@ static __always_inline int process(struct __sk_buff *skb, struct Header_t *h, st
bool have_saved_proto = false;
// bpf_skb_adjust_room works only when protocol is IPv4 or IPv6
// 0x0800 = IPv4, 0x86dd = IPv6
if ((skb->protocol != 0x0800) && (skb->protocol != 0x86dd)) {
if ((skb->protocol != bpf_htons(0x0800)) && (skb->protocol != bpf_htons(0x86dd))) {
saved_proto = skb->protocol;
have_saved_proto = true;
bpf_p4tc_skb_set_protocol(skb, &sa->set, 0x0800);
bpf_p4tc_skb_set_protocol(skb, &sa->set, bpf_htons(0x0800));
bpf_p4tc_skb_meta_set(skb, &sa->set, sizeof(sa->set));
}
;
Expand Down Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -190,10 +190,10 @@ if (/* hdr->ipv4.isValid() */
bool have_saved_proto = false;
// bpf_skb_adjust_room works only when protocol is IPv4 or IPv6
// 0x0800 = IPv4, 0x86dd = IPv6
if ((skb->protocol != 0x0800) && (skb->protocol != 0x86dd)) {
if ((skb->protocol != bpf_htons(0x0800)) && (skb->protocol != bpf_htons(0x86dd))) {
saved_proto = skb->protocol;
have_saved_proto = true;
bpf_p4tc_skb_set_protocol(skb, &sa->set, 0x0800);
bpf_p4tc_skb_set_protocol(skb, &sa->set, bpf_htons(0x0800));
bpf_p4tc_skb_meta_set(skb, &sa->set, sizeof(sa->set));
}
;
Expand Down Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -210,10 +210,10 @@ if (/* hdr->ipv4.isValid() */
bool have_saved_proto = false;
// bpf_skb_adjust_room works only when protocol is IPv4 or IPv6
// 0x0800 = IPv4, 0x86dd = IPv6
if ((skb->protocol != 0x0800) && (skb->protocol != 0x86dd)) {
if ((skb->protocol != bpf_htons(0x0800)) && (skb->protocol != bpf_htons(0x86dd))) {
saved_proto = skb->protocol;
have_saved_proto = true;
bpf_p4tc_skb_set_protocol(skb, &sa->set, 0x0800);
bpf_p4tc_skb_set_protocol(skb, &sa->set, bpf_htons(0x0800));
bpf_p4tc_skb_meta_set(skb, &sa->set, sizeof(sa->set));
}
;
Expand Down Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -210,10 +210,10 @@ static __always_inline int process(struct __sk_buff *skb, struct headers_t *hdr,
bool have_saved_proto = false;
// bpf_skb_adjust_room works only when protocol is IPv4 or IPv6
// 0x0800 = IPv4, 0x86dd = IPv6
if ((skb->protocol != 0x0800) && (skb->protocol != 0x86dd)) {
if ((skb->protocol != bpf_htons(0x0800)) && (skb->protocol != bpf_htons(0x86dd))) {
saved_proto = skb->protocol;
have_saved_proto = true;
bpf_p4tc_skb_set_protocol(skb, &sa->set, 0x0800);
bpf_p4tc_skb_set_protocol(skb, &sa->set, bpf_htons(0x0800));
bpf_p4tc_skb_meta_set(skb, &sa->set, sizeof(sa->set));
}
;
Expand Down Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -210,10 +210,10 @@ if (/* hdr->ipv4.isValid() */
bool have_saved_proto = false;
// bpf_skb_adjust_room works only when protocol is IPv4 or IPv6
// 0x0800 = IPv4, 0x86dd = IPv6
if ((skb->protocol != 0x0800) && (skb->protocol != 0x86dd)) {
if ((skb->protocol != bpf_htons(0x0800)) && (skb->protocol != bpf_htons(0x86dd))) {
saved_proto = skb->protocol;
have_saved_proto = true;
bpf_p4tc_skb_set_protocol(skb, &sa->set, 0x0800);
bpf_p4tc_skb_set_protocol(skb, &sa->set, bpf_htons(0x0800));
bpf_p4tc_skb_meta_set(skb, &sa->set, sizeof(sa->set));
}
;
Expand Down Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,10 +135,10 @@ if (/* hdr->ipv4.isValid() */
bool have_saved_proto = false;
// bpf_skb_adjust_room works only when protocol is IPv4 or IPv6
// 0x0800 = IPv4, 0x86dd = IPv6
if ((skb->protocol != 0x0800) && (skb->protocol != 0x86dd)) {
if ((skb->protocol != bpf_htons(0x0800)) && (skb->protocol != bpf_htons(0x86dd))) {
saved_proto = skb->protocol;
have_saved_proto = true;
bpf_p4tc_skb_set_protocol(skb, &sa->set, 0x0800);
bpf_p4tc_skb_set_protocol(skb, &sa->set, bpf_htons(0x0800));
bpf_p4tc_skb_meta_set(skb, &sa->set, sizeof(sa->set));
}
;
Expand Down Expand Up @@ -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;
Expand Down
5 changes: 3 additions & 2 deletions testdata/p4tc_samples_outputs/digest_01_control_blocks.c
Original file line number Diff line number Diff line change
Expand Up @@ -155,10 +155,10 @@ if (meta->send_digest) {
bool have_saved_proto = false;
// bpf_skb_adjust_room works only when protocol is IPv4 or IPv6
// 0x0800 = IPv4, 0x86dd = IPv6
if ((skb->protocol != 0x0800) && (skb->protocol != 0x86dd)) {
if ((skb->protocol != bpf_htons(0x0800)) && (skb->protocol != bpf_htons(0x86dd))) {
saved_proto = skb->protocol;
have_saved_proto = true;
bpf_p4tc_skb_set_protocol(skb, &sa->set, 0x0800);
bpf_p4tc_skb_set_protocol(skb, &sa->set, bpf_htons(0x0800));
bpf_p4tc_skb_meta_set(skb, &sa->set, sizeof(sa->set));
}
;
Expand Down Expand Up @@ -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;
Expand Down
5 changes: 3 additions & 2 deletions testdata/p4tc_samples_outputs/digest_control_blocks.c
Original file line number Diff line number Diff line change
Expand Up @@ -156,10 +156,10 @@ if (meta->send_digest) {
bool have_saved_proto = false;
// bpf_skb_adjust_room works only when protocol is IPv4 or IPv6
// 0x0800 = IPv4, 0x86dd = IPv6
if ((skb->protocol != 0x0800) && (skb->protocol != 0x86dd)) {
if ((skb->protocol != bpf_htons(0x0800)) && (skb->protocol != bpf_htons(0x86dd))) {
saved_proto = skb->protocol;
have_saved_proto = true;
bpf_p4tc_skb_set_protocol(skb, &sa->set, 0x0800);
bpf_p4tc_skb_set_protocol(skb, &sa->set, bpf_htons(0x0800));
bpf_p4tc_skb_meta_set(skb, &sa->set, sizeof(sa->set));
}
;
Expand Down Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,10 +151,10 @@ if (/* hdr->ipv4.isValid() */
bool have_saved_proto = false;
// bpf_skb_adjust_room works only when protocol is IPv4 or IPv6
// 0x0800 = IPv4, 0x86dd = IPv6
if ((skb->protocol != 0x0800) && (skb->protocol != 0x86dd)) {
if ((skb->protocol != bpf_htons(0x0800)) && (skb->protocol != bpf_htons(0x86dd))) {
saved_proto = skb->protocol;
have_saved_proto = true;
bpf_p4tc_skb_set_protocol(skb, &sa->set, 0x0800);
bpf_p4tc_skb_set_protocol(skb, &sa->set, bpf_htons(0x0800));
bpf_p4tc_skb_meta_set(skb, &sa->set, sizeof(sa->set));
}
;
Expand Down Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,10 +143,10 @@ static __always_inline int process(struct __sk_buff *skb, struct my_ingress_head
bool have_saved_proto = false;
// bpf_skb_adjust_room works only when protocol is IPv4 or IPv6
// 0x0800 = IPv4, 0x86dd = IPv6
if ((skb->protocol != 0x0800) && (skb->protocol != 0x86dd)) {
if ((skb->protocol != bpf_htons(0x0800)) && (skb->protocol != bpf_htons(0x86dd))) {
saved_proto = skb->protocol;
have_saved_proto = true;
bpf_p4tc_skb_set_protocol(skb, &sa->set, 0x0800);
bpf_p4tc_skb_set_protocol(skb, &sa->set, bpf_htons(0x0800));
bpf_p4tc_skb_meta_set(skb, &sa->set, sizeof(sa->set));
}
;
Expand Down Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,10 +145,10 @@ static __always_inline int process(struct __sk_buff *skb, struct my_ingress_head
bool have_saved_proto = false;
// bpf_skb_adjust_room works only when protocol is IPv4 or IPv6
// 0x0800 = IPv4, 0x86dd = IPv6
if ((skb->protocol != 0x0800) && (skb->protocol != 0x86dd)) {
if ((skb->protocol != bpf_htons(0x0800)) && (skb->protocol != bpf_htons(0x86dd))) {
saved_proto = skb->protocol;
have_saved_proto = true;
bpf_p4tc_skb_set_protocol(skb, &sa->set, 0x0800);
bpf_p4tc_skb_set_protocol(skb, &sa->set, bpf_htons(0x0800));
bpf_p4tc_skb_meta_set(skb, &sa->set, sizeof(sa->set));
}
;
Expand Down Expand Up @@ -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;
Expand Down
Loading

0 comments on commit e583d22

Please sign in to comment.