XDP ( eXpress Data Path ) is an eBPF -based high-performance data path used to send and receive network packets at high rates by bypassing most of the operating system networking stack . It is merged in the Linux kernel since version 4.8. This implementation is licensed under GPL . Large technology firms including Amazon, Google and Intel support its development. Microsoft released their free and open source implementation XDP for Windows in May 2022. It is licensed under MIT License .
5-457: XDP may refer to: eXpress Data Path , high-performance data path merged into the Linux kernel XML Data Package , XML file format created by Adobe Systems in 2003 X-linked dystonia parkinsonism , rare x-linked progressive movement disorder Topics referred to by the same term [REDACTED] This disambiguation page lists articles associated with
10-529: A generic implementation, which performs the eBPF processing in the network stack, though with slower performance. XDP has infrastructure to offload the eBPF program to a network interface controller which supports it, reducing the CPU load. In 2023, only Netronome cards support it. Microsoft is partnering with other companies and adding support for XDP in its MsQuic implementation of the QUIC protocol. Along with XDP,
15-476: A preverifier test before being loaded, to avoid executing malicious code in kernel space. The preverifier checks that the program contains no out-of-bounds accesses, loops or global variables. The program is allowed to edit the packet data and, after the eBPF program returns, an action code determines what to do with the packet: XDP requires support in the NIC driver but, as not all drivers support it, it can fallback to
20-530: Is to add an early hook in the RX path of the kernel, and let a user supplied eBPF program decide the fate of the packet. The hook is placed in the network interface controller (NIC) driver just after the interrupt processing, and before any memory allocation needed by the network stack itself, because memory allocation can be an expensive operation. Due to this design, XDP can drop 26 million packets per second per core with commodity hardware. The eBPF program must pass
25-461: The title XDP . If an internal link led you here, you may wish to change the link to point directly to the intended article. Retrieved from " https://en.wikipedia.org/w/index.php?title=XDP&oldid=897194912 " Category : Disambiguation pages Hidden categories: Short description is different from Wikidata All article disambiguation pages All disambiguation pages Express Data Path The idea behind XDP
#230769