Setting acl will clear the acl config of other sockets, which
will result in core dump.

This commit will no longer clear the acl config when setting acl.

Fixes: 6de0ea50e9b9 ("examples/l3fwd: merge l3fwd-acl example")
Cc: sta...@dpdk.org

Signed-off-by: Kaiwen Deng <kaiwenx.d...@intel.com>
---
 examples/l3fwd/l3fwd_acl.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/examples/l3fwd/l3fwd_acl.c b/examples/l3fwd/l3fwd_acl.c
index 401692bcec..c8958f59fc 100644
--- a/examples/l3fwd/l3fwd_acl.c
+++ b/examples/l3fwd/l3fwd_acl.c
@@ -962,8 +962,6 @@ setup_acl(const int socket_id)
        acl_log("IPv6 ACL entries %u:\n", acl_num_ipv6);
        dump_ipv6_rules((struct acl6_rule *)acl_base_ipv6, acl_num_ipv6, 1);
 
-       memset(&acl_config, 0, sizeof(acl_config));
-
        /* Check sockets a context should be created on */
        if (socket_id >= NB_SOCKETS) {
                acl_log("Socket %d is out "
@@ -973,6 +971,9 @@ setup_acl(const int socket_id)
                return;
        }
 
+       rte_acl_free(acl_config.acx_ipv4[socket_id]);
+       rte_acl_free(acl_config.acx_ipv6[socket_id]);
+
        acl_config.acx_ipv4[socket_id] = app_acl_init(route_base_ipv4,
                acl_base_ipv4, route_num_ipv4, acl_num_ipv4,
                0, socket_id);
-- 
2.34.1

Reply via email to