> > 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
Ok, so you do that inside your signal handler, correct? Do you synchronize this context updates with your data-processing threads somehow? Konstantin > ... > > 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