Hi Konstantin, Thank you for your questions. Please find below a sample of my code:
After the program has started, I send sighup signals to update the acl context, like this: if (signup == SIGHUP) use_acl_ctx_swap = 1; ... During the SIGHUP processes I create a new/swap acl ctx and data structures using the app_acl_init, add_rules and setup_acl functions ... main_loop() ... if (use_acl_ctx_swap) { if (acl_search.num_ipv4) { rte_acl_classify( acl_config.swap_acx_ipv4[socketid], //use swap acl ctx acl_search.data_ipv4, acl_search.res_ipv4, acl_search.num_ipv4, DEFAULT_MAX_CATEGORIES); send_packets(acl_search.m_ipv4, acl_search.res_ipv4, acl_search.num_ipv4); } else { if (acl_search.num_ipv4) { rte_acl_classify( acl_config.acx_ipv4[socketid], acl_search.data_ipv4, acl_search.res_ipv4, acl_search.num_ipv4, DEFAULT_MAX_CATEGORIES); send_packets(acl_search.m_ipv4, acl_search.res_ipv4, acl_search.num_ipv4); } } When I update the acl ctx, rarely the program doesn't crash, mainly when I just increase de rules. Is there a another way to add new/remove rules in the acl ctx instead of sighup or control variables? thanks Victor On Mon, Mar 27, 2017 at 6:23 AM, Ananyev, Konstantin < konstantin.anan...@intel.com> wrote: > Hi Victor, > > > hello, > > > > I'm running l3fwd-acl example as a daemon and trying to update acl > context > > with as a "swap" acl context, but the program stops with a segment fault > > statement. Even using variables to direct which acl context the main loop > > has to use, the program breaks. > > > > I have noticed that even when I update only the swap acl context, the acl > > structures are updated and the segment fault also happens. > > > > please, someone knows why this segment fault? > > As I remembers, l3fwd-acl doesn't support updating ACL ctx on the fly. > Could you explain a bit more what are you trying to do, or even better > provide some code example to reproduce the issue? > > Konstantin > >