When tx_free_thresh + tx_rs_thresh > nb_desc, it is possible that an outdated DD status be checked as tx_next_dd, then segment fault happen due to free a NULL mbuf pointer.
The issue usually happens with an aggresive tx_free_thresh, for example: ./testpmd -c 0x3 -n 4 -- -i --rxq=16 --txq=16 --rxd=1024 --txd=1024 --txfreet=1020 The patchset fix this issue on i40e, ixgbe and ice. Qi Zhang (3): net/i40e: fix invalid Tx threshold setup net/ice: fix invalid Tx threshold setup net/ixgbe: fix invalid Tx threshold setup drivers/net/i40e/i40e_rxtx.c | 19 +++++++++++++++++-- drivers/net/ice/ice_rxtx.c | 21 ++++++++++++++++++--- drivers/net/ixgbe/ixgbe_rxtx.c | 19 +++++++++++++++++-- 3 files changed, 52 insertions(+), 7 deletions(-) -- 2.13.6