From ca28d6765c83319a1f2ba55b0743fbfb884166ec Mon Sep 17 00:00:00 2001 From: Alfredo Cardigliano Date: Thu, 11 Apr 2024 10:58:51 +0200 Subject: [PATCH] Define flow_unlearn_rule --- kernel/linux/pf_ring.h | 3 ++- userland/examples/pfflow_offload.c | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/kernel/linux/pf_ring.h b/kernel/linux/pf_ring.h index be0911dbe..71192e683 100644 --- a/kernel/linux/pf_ring.h +++ b/kernel/linux/pf_ring.h @@ -589,7 +589,8 @@ typedef enum { flow_drop_rule, flow_mark_rule, flow_pass_rule, - flow_steer_rule + flow_steer_rule, + flow_unlearn_rule } generic_flow_rule_action_type; /* Deprecated (Accolade) */ diff --git a/userland/examples/pfflow_offload.c b/userland/examples/pfflow_offload.c index 031c9f04a..fafb74c5c 100644 --- a/userland/examples/pfflow_offload.c +++ b/userland/examples/pfflow_offload.c @@ -131,13 +131,16 @@ void processPacket(const struct pfring_pkthdr *h, r->action = flow_drop_rule; /* flow_pass_rule / flow_drop_rule */ r->flow_id = flow_id++; + r->ip_version = h->extended_hdr.parsed_pkt.ip_version; r->src_ip.v4 = h->extended_hdr.parsed_pkt.ipv4_src; r->dst_ip.v4 = h->extended_hdr.parsed_pkt.ipv4_dst; r->src_port = h->extended_hdr.parsed_pkt.l4_src_port; r->dst_port = h->extended_hdr.parsed_pkt.l4_dst_port; r->protocol = h->extended_hdr.parsed_pkt.l3_proto; - pfring_add_hw_rule(pd, &rule); + if (pfring_add_hw_rule(pd, &rule) < 0) { + fprintf(stderr, "pfring_add_hw_rule failure\n"); + } } }