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