This task aims at obtaining the best network IO performance we can for the router while keeping with the mainstream Linux APIs.
AF_XDP admits several usage mode, depending on driver capabilities; one of which named zero-copy. We shall attempt to use that if available. This is not necessarily as fast as DPDK, which can map the entire device in use space.
The option of adding a DPDK implementation was considered and rejected for the following reasons:
- XDP is improving and catching up with DPDK, making DPDK obsolete and the efforts wasted.
- DPDK creates complicated build constraints in terms of available libraries, platforms and devices.
- Once the router as support for multiple underlay implementations, a vendor desiring to specialize a SCION implementation for a subset of devices via DPDK can implement a new DPDK underlay. It allows vendors to have some proprietary value-add if they so chose.
This task aims at obtaining the best network IO performance we can for the router while keeping with the mainstream Linux APIs.
AF_XDP admits several usage mode, depending on driver capabilities; one of which named zero-copy. We shall attempt to use that if available. This is not necessarily as fast as DPDK, which can map the entire device in use space.
The option of adding a DPDK implementation was considered and rejected for the following reasons: