On Mon, Jan 13, 2020 at 06:04:11PM +0100, Jesper Dangaard Brouer wrote: > On Mon, 13 Jan 2020 10:28:00 -0500 > Ryan Goodfellow <rgoodfel@xxxxxxx> wrote: > > > On Mon, Jan 13, 2020 at 12:41:34PM +0100, Jesper Dangaard Brouer wrote: > > > On Mon, 13 Jan 2020 00:18:36 +0000 > > > Ryan Goodfellow <rgoodfel@xxxxxxx> wrote: > > > > > > > The numbers that I have been able to achive with this code are the following. MTU > > > > is 1500 in all cases. > > > > > > > > mlx5: pps ~ 2.4 Mpps, 29 Gbps (driver mode, zero-copy) > > > > i40e: pps ~ 700 Kpps, 8 Gbps (skb mode, copy) > > > > virtio: pps ~ 200 Kpps, 2.4 Gbps (skb mode, copy, all qemu/kvm VMs) > > > > > > > > Are these numbers in the ballpark of what's expected? > > > > > > I would say they are too slow / low. > > > > > > Have you remembered to do bulking? > > > > > > > I am using a batch size of 256. > > Hmm... > > Maybe you can test with xdp_redirect_map program in samples/bpf/ and > compare the performance on this hardware? Hi Jesper, I tried to use this program, however it does not seem to work for bidirectional traffic across the two interfaces? Now that I have an i40e card that is working here is an update to the numbers. At 1500 MTU the i40e runs at 9.7 GBPS (using the X710-DA4 10G interface), with approx 800 Kpps. Dropping the MSS size down to 700 in iperf3 yields similar near-line rate performance at 1.6 Mpps. This appears to be the limit as dropping the MSS further results in degraded performance at similar packet rates (could be an iperf3 artifact). -- ~ ry