On Jun 18, 2018, at 6:08 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote:

nfq_set_mode(qh, NFQNL_COPY_PACKET, 0xffff)

->

nfq_set_mode(qh, NFQNL_COPY_PACKET, 128); // assuming you want to inspect headers

Thanks for that. I see flat RTTs, and a sometimes significant increase in throughputs. Unexpectedly, nfq with GSO throughputs are higher than without nfq at all.

ping mean (min-max) RTTs:

APU2, nfq without GSO: 80 us -> 82 us
APU2, nfq with GSO: 85 us -> 83 us
2011 MBP, nfq without GSO: 13 us -> 14 us
2011 MBP, nfq with GSO: 14 us -> 13 us

iperf3 throughputs:

APU2, nfq without GSO: 391 -> 415 Mbps
APU2, nfq with GSO: 3.35 -> 6.07 Gbps [higher than no nfqueue, 5.55 -> 6.07]
2011 MBP, nfq without GSO: 1.48 Gbps -> 2.73 Gbps
2011 MBP, nfq with GSO: 38.0 Gbps -> 45.5 Gbps [higher than no nfqueue, 39.2 -> 45.5]