On Mon, 17 Oct 2022 04:42:54 +0000 Sridhar Pothuganti <[email protected]> wrote:
> Hello All, > > I am trying to use the "dpdk-pdump" application to capture the packets. The > pdump library is registering the RX/TX callbacks, but the callback pointer is > getting NULL in the RX/TX function during packet transmission. > > The callbacks are set using the function "rte_eth_add_tx_callback" and the > code is using GCC atomic built-in "__atomic_store_n" with memory order > "__ATOMIC_RELEASE". > > In the "rte_eth_tx_burst" the same pointer is being read using > "__atomic_load_n" with memory order "__ATOMIC_RELAXED". > > I have gone through the code, and the "pre_tx_burst_cbs" is not being cleared > no where else except "rte_eth_remove_tx_callback". But this function is not > being called till the termination of pdump application. > > Can someone please point me to where am I missing? > > Regards, > Sridhar > Are you using primary/secondary process model for pdump? Can you run your application under gdb? If so, check the callback after pdump sets it up. Then add memory watchpoint to see where it gets cleared.
