Jeff, Beilei, Looking closer at i40e_rxtx_vec_avx2.c, I noticed: 1. i40e_rxq_rearm() uses RTE_I40E_DESCS_PER_LOOP, while all other functions in the file use RTE_I40E_DESCS_PER_LOOP_AVX. It may be correct, but please check. 2. The function descriptions of i40e_recv_pkts_vec_avx2(), i40e_recv_scattered_burst_vec_avx2() and i40e_recv_scattered_pkts_vec_avx2() refer to RTE_I40E_DESCS_PER_LOOP, but they should be referring to RTE_I40E_DESCS_PER_LOOP_AVX. 3. RTE_I40E_DESCS_PER_LOOP_AVX is defined in the file, unlike RTE_I40E_DESCS_PER_LOOP, which is defined in the i40e_rxtx.h header file. Your choice, just mentioning it.
Med venlig hilsen / kind regards - Morten Brørup