UDPTX is BrandMeister-own UDP transmission library, used to transmit outgoing UDP traffic fast.
At this moment BrandMeister provides several backends (options) to send outgoing UDP:
This is standard default backend that uses Berkley sockets for sending a traffic. It tries to send the data in non-blocking mode and has special retransmisson thread to re-send failed packets.
transmitter = "socket";
This is fast forwarding backend that uses RAW (PACKET_MMAP) socket of Ethernet interface for sending a traffic. It allows to save up to 40% CPU time.
transmitter = "raw:<interface name>";
transmitter = "raw:eth0";
This is fastest forwarding backend that uses kernel-bypass NIC driver for sending a traffic. It allows to save much more CPU time due to direct poll communications to the NIC and CRC offload features of some NIC models. List of supported models can be found here.
DPDK:<reference interface> <EAL parameters>
DPDK:eth0 -w 0000:af:00.0 --file-prefix bm --huge-unlink