APIs, concepts, guides, and more

◆ RSINetworkInterfaceType

enum class RSINetworkInterfaceType
strong
Description:
Identifies how the RMP transmits and receives EtherCAT frames on the host NIC. On Linux, the default path is AF_PACKET (raw sockets). For lower-latency operation, AF_XDP (eXpress Data Path) bypasses most of the kernel networking stack, delivering frames directly between user space and the NIC driver via a shared UMEM ring buffer.
Enabling AF_XDP:
AF_XDP is not auto-detected. Enable it by adding <UseAfXdp/> to the <Settings> block in CustomNodeInfo.xml. See NodeInfo & CustomNodeInfo files for file details.
Fail-Closed Design:
If AF_XDP setup fails at network start, the RMP does not silently fall back to AF_PACKET. Instead it reports RSINetworkStartError::RSINetworkStartErrorAF_XDP_SETUP_FAILED (error 23) and the network will not start. This is intentional — a silent fallback would hide a misconfiguration and forfeit the latency benefit.
Runtime Check:
After a successful network start, call NetworkStatusGet and inspect the InterfaceType field to confirm which path is active.

For AF_XDP setup requirements, validated hardware, and troubleshooting, see RMP PC hardware and performance requirements.

See also
NodeInfo & CustomNodeInfo files
RMP PC hardware and performance requirements
Enumerator
RSINetworkInterfaceTypeINTIME_HPE2 

INtime HPE2 real-time network interface path for EtherCAT frame transmit/receive. Windows only.

RSINetworkInterfaceTypeLINUX_AF_PACKET 

Linux AF_PACKET raw socket path (packet socket) for EtherCAT frame transmit/receive. This is the default on Linux.

RSINetworkInterfaceTypeLINUX_AF_XDP 

Linux AF_XDP socket path. Bypasses the kernel networking stack for lower-latency EtherCAT I/O. Requires <UseAfXdp/> in CustomNodeInfo.xml. See NodeInfo & CustomNodeInfo files.

RSINetworkInterfaceTypeLINUX_AF_XDP_ZERO_COPY 

Linux AF_XDP zero-copy path. Like AF_XDP but eliminates the kernel-to-UMEM copy when the NIC driver supports it (e.g., Intel igc). Requires <UseAfXdp/> in CustomNodeInfo.xml.

Definition at line 1434 of file rsienums.h.