[PATCH] examples/l3fwd: fix compilation when DP debug on
Andrei-Niculae Petre
p31andrei at gmail.com
Tue Apr 14 04:51:37 CEST 2026
Previously, l3fwd example app would fail to compile ([1]) if one would
put RTE_LOG_DP_LEVEL=RTE_LOG_DEBUG in config/rte_config.h and try to
compile dpdk; this path was not enabled via compiling debug build
(--buildtype=debug) alone, but needed the data path to be at debug
level.
[1] https://bugs.dpdk.org/show_bug.cgi?id=1318
Bugzilla ID: 1318
Fixes: 6de0ea50e9b9 ("examples/l3fwd: merge l3fwd-acl example")
Cc: stable at dpdk.org
Cc: sean.morrissey at intel.com
Signed-off-by: Andrei-Niculae Petre <p31andrei at gmail.com>
---
.mailmap | 1 +
MAINTAINERS | 2 ++
examples/l3fwd/l3fwd_acl.c | 27 ++++++++++++++-------------
examples/l3fwd/l3fwd_acl.h | 6 ------
4 files changed, 17 insertions(+), 19 deletions(-)
diff --git a/.mailmap b/.mailmap
index cdaa471715..df999d00d8 100644
--- a/.mailmap
+++ b/.mailmap
@@ -106,6 +106,7 @@ Andre Muezerie <andremue at linux.microsoft.com> <andremue at microsoft.com>
Andre Richter <andre.o.richter at gmail.com>
Andrea Arcangeli <aarcange at redhat.com>
Andrea Grandi <andrea.grandi at intel.com>
+Andrei-Niculae Petre <p31andrei at gmail.com>
Andrew Bailey <abailey at iol.unh.edu>
Andrew Boyer <andrew.boyer at amd.com> <aboyer at pensando.io>
Andrew Harvey <agh at cisco.com>
diff --git a/MAINTAINERS b/MAINTAINERS
index 5683b87e4a..501f312ba1 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1740,6 +1740,8 @@ F: lib/acl/
F: doc/guides/prog_guide/packet_classif_access_ctrl.rst
F: app/test-acl/
F: app/test/test_acl.*
+F: examples/l3fwd/l3fwd_acl*
+F: doc/guides/sample_app_ug/l3_forward.rst
EFD
M: Byron Marohn <byron.marohn at intel.com>
diff --git a/examples/l3fwd/l3fwd_acl.c b/examples/l3fwd/l3fwd_acl.c
index a1275e18bc..8e24f1c599 100644
--- a/examples/l3fwd/l3fwd_acl.c
+++ b/examples/l3fwd/l3fwd_acl.c
@@ -235,6 +235,9 @@ enum {
RTE_ACL_RULE_DEF(acl4_rule, RTE_DIM(ipv4_defs));
RTE_ACL_RULE_DEF(acl6_rule, RTE_DIM(ipv6_defs));
+/* Must be included before acl_config definition to enable L3FWDACL_DEBUG */
+#include "l3fwd_acl.h"
+
static struct {
struct rte_acl_ctx *acx_ipv4[NB_SOCKETS];
struct rte_acl_ctx *acx_ipv6[NB_SOCKETS];
@@ -251,8 +254,6 @@ static struct rte_acl_rule *acl_base_ipv4, *route_base_ipv4,
static unsigned int acl_num_ipv4, route_num_ipv4,
acl_num_ipv6, route_num_ipv6;
-#include "l3fwd_acl.h"
-
#include "l3fwd_acl_scalar.h"
/*
@@ -773,7 +774,7 @@ read_config_files_acl(void)
}
}
-void
+static void
print_one_ipv4_rule(struct acl4_rule *rule, int extra)
{
char abuf[INET6_ADDRSTRLEN];
@@ -800,7 +801,7 @@ print_one_ipv4_rule(struct acl4_rule *rule, int extra)
rule->data.userdata);
}
-void
+static void
print_one_ipv6_rule(struct acl6_rule *rule, int extra)
{
unsigned char a, b, c, d;
@@ -855,17 +856,17 @@ print_one_ipv6_rule(struct acl6_rule *rule, int extra)
#ifdef L3FWDACL_DEBUG
static inline void
-dump_acl4_rule(struct rte_mbuf *m, uint32_t sig)
+dump_acl4_rule(const struct rte_mbuf *m, uint32_t sig)
{
- char abuf[INET6_ADDRSTRLEN];
+ char abuf[INET_ADDRSTRLEN];
uint32_t offset = sig & ~ACL_DENY_SIGNATURE;
struct rte_ipv4_hdr *ipv4_hdr =
rte_pktmbuf_mtod_offset(m, struct rte_ipv4_hdr *,
sizeof(struct rte_ether_hdr));
- printf("Packet Src:%s ", inet_ntop(AF_INET, ipv4_hdr->src_addr,
+ printf("Packet Src:%s ", inet_ntop(AF_INET, &ipv4_hdr->src_addr,
abuf, sizeof(abuf)));
- printf("Dst:%s ", inet_ntop(AF_INET, ipv4_hdr->dst_addr,
+ printf("Dst:%s ", inet_ntop(AF_INET, &ipv4_hdr->dst_addr,
abuf, sizeof(abuf)));
printf("Src port:%hu,Dst port:%hu ",
@@ -879,7 +880,7 @@ dump_acl4_rule(struct rte_mbuf *m, uint32_t sig)
}
static inline void
-dump_acl6_rule(struct rte_mbuf *m, uint32_t sig)
+dump_acl6_rule(const struct rte_mbuf *m, uint32_t sig)
{
char abuf[INET6_ADDRSTRLEN];
uint32_t offset = sig & ~ACL_DENY_SIGNATURE;
@@ -888,10 +889,10 @@ dump_acl6_rule(struct rte_mbuf *m, uint32_t sig)
sizeof(struct rte_ether_hdr));
printf("Packet Src");
- printf("%s", inet_ntop(AF_INET6, ipv6_hdr->src_addr,
+ printf("%s", inet_ntop(AF_INET6, &ipv6_hdr->src_addr,
abuf, sizeof(abuf)));
printf("\nDst");
- printf("%s", inet_ntop(AF_INET6, ipv6_hdr->dst_addr,
+ printf("%s", inet_ntop(AF_INET6, &ipv6_hdr->dst_addr,
abuf, sizeof(abuf)));
printf("\nSrc port:%hu,Dst port:%hu ",
@@ -984,8 +985,8 @@ dump_denied_pkt(const struct rte_mbuf *pkt, uint32_t res)
if ((res & ACL_DENY_SIGNATURE) != 0) {
if (RTE_ETH_IS_IPV4_HDR(pkt->packet_type))
dump_acl4_rule(pkt, res);
- else if (RTE_ETH_IS_IPV6_HDR(pkt[i]->packet_type))
- dump_acl6_rule(pkt[i], res[i]);
+ else if (RTE_ETH_IS_IPV6_HDR(pkt->packet_type))
+ dump_acl6_rule(pkt, res);
}
#else
RTE_SET_USED(pkt);
diff --git a/examples/l3fwd/l3fwd_acl.h b/examples/l3fwd/l3fwd_acl.h
index 05af62fe10..a34a08eb7f 100644
--- a/examples/l3fwd/l3fwd_acl.h
+++ b/examples/l3fwd/l3fwd_acl.h
@@ -48,10 +48,4 @@
*/
#define FWD_PORT_SHIFT 1
-void
-print_one_ipv4_rule(struct acl4_rule *rule, int extra);
-
-void
-print_one_ipv6_rule(struct acl6_rule *rule, int extra);
-
#endif /* L3FWD_ACL_H */
--
2.39.5
More information about the dev
mailing list