When passing IPsec traffic with DPDK enabled VPP, VPP asserts after a buffer is freed twice (attempt decrement the ref counter when it is already at 0).
The issue is located in the double loop of vnet_interface_output_node_no_flatten() in vnet/vnet/interface_output.c. When speculative enqueue fails and a buffer needs to be moved to a new node queue the original buffer is not correctly removed from the original queue so buffer get send for transmit and encryption at the same time. This issue will only be hit with the double loop so low throughput traffic like pings will not hit the issue. This code path is also only hit when the feature flag is enabled so will not be hit by normal traffic