AF_XDP not transmitting frames immediately

Jesper Dangaard Brouer <[email protected]>
Newsgroups org.kernel.vger.xdp-newbies
Message-ID <[email protected]>
Hi Magnus and Bjørn,

I'm coding on an AF_XDP program[1] that need to send (a bulk of packets)
in a short time-window (related to Time-Triggered Ethernet).

My observations are that AF_XDP doesn't send the frames immediately.
And yes, I do call sendto() to trigger a TX kick.
In zero-copy mode this is particular bad.  My program want to send 4
packets in a burst, but I'm observing 8 packets grouped together on the
receiving host.

Is the a known property of AF_XDP?

How can I get AF_XDP to "flush" TX packets when calling sendto()?
Should we add another flag than the current MSG_DONTWAIT?

--Jesper

Hint, I'm using tcpdump hardware timestamping on receiving hist via cmdline:

  tcpdump -vv -s0 -ni eth1 -j adapter_unsynced 
--time-stamp-precision=nano  -w af_xdp_tx_cyclic.dump42

Notice[1] on specific branch:
  [1] 
https://github.com/xdp-project/bpf-examples/tree/vestas03_AF_XDP_example/AF_XDP-interaction
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.