The eXpress Data Path: Fast Programmable Packet Processing in the Operating System Kernel
Proceedings of the 14th International Conference on emerging Networking EXperiments and Technologies, 2018 · paper · Computer science
Presents the eXpress Data Path (XDP), which runs custom packet-processing programs safely inside the Linux kernel instead of bypassing it. It reports up to 24 million packets per second on one core and demonstrates routing, DDoS protection and load balancing.
Checked: PDF from courses.grainger.illinois.edu, fetched 4 Oct 2026. Page numbers are those of that PDF.
1 finding
Wording Section 5.1 says "feasible to run a software router with a full BGP table at line rate on a 10 Gbps link using a single core (using a conservative estimate of an average packet size of 300 bytes)", but the Figure 6 'XDP (full table)' bar ends at about 3.4–3.5 Mpps, below the about 4.17 Mpps that 10 Gbps needs at 300-byte packets.
- p. 10 Section 5.1, last paragraph
This makes it feasible to run a software router with a full BGP table at line rate on a 10 Gbps link using a single core
- p. 10 Figure 6, XDP (full table) bar
XDP (full table)
- p. 10 Section 5.1, final paragraph
This makes it feasible to run a software router with a full BGP table at line rate on a 10 Gbps link using a single core (using a conservative estimate of an average packet size of 300 bytes).
- p. 10 Section 5.1, last paragraph
feasible to run a software router with a full BGP table at line rate on a 10 Gbps link using a single core (using a conservative estimate of an average packet size of 300 bytes)
Only the authors can say what is right here.
Judge's note: On the full page 10 image, the XDP (full table) bar ends at about 3.45 on an axis from 0 to 5 Mpps, clearly below 4. At 300 bytes, 10 Gbps requires about 4.17 Mpps, and 3.45 Mpps is about 8.3 Gbps. Text and figure do not agree for the stated packet size. The authors should say which rate or packet size is meant.
Second check: another model agreed
Report a problem with this finding
14 minor (typos and the like; most checked by the judge only)
Reference or label Ref [20] gives "Proceedings of the 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI '12)"; ref [5] gives "Operating System Design and Implementation (OSDI '14)" (singular 'System', inconsistent with [20]).
- p. 13 Reference [5]
Operating System Design and Implementation (OSDI ’14)
- p. 13 Reference [20]
Operating Systems Design and Implementation
- p. 13 Reference [20]
Proceedings of the 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI ’12)
Only the authors can say what is right here.
Judge's note: Rests on outside knowledge: that OSDI '12 was the 10th OSDI (OSDI was biennial at the time, so it would be one before ref [5]'s '11th ... OSDI '14'). The page 13 crops confirm both printed strings. The singular 'System' in [5] versus 'Systems' in [20] is an internal inconsistency that is purely cosmetic. Within the paper, '8th' in 2012 sits awkwardly next to '11th' in 2014, but only the authors and the source can settle the ordinal.
Second check: another model agreed
Report a problem with this finding
Wording Section 5.3 reads "XDP offers a performance gain of 4.3x over IPVS", but in Table 2 the ratio is 4.3 only at 1 core; at 2–6 cores it is about 3.9–4.2.
- p. 11 Section 5.3, last sentence
XDP offers a performance gain of 4.3x over IPVS
- p. 11 Table 2
5.2 10.1 14.6 19.5 23.4 29.3
- p. 11 Table 2
23.4
- p. 11 Sec 5.3
shows linear scaling with the number of CPUs, and that XDP offers a performance gain of 4.3x
Judge's note: Table 2 on page 11 reads Katran 5.2/10.1/14.6/19.5/23.4/29.3 and IPVS 1.2/2.4/3.7/4.8/6.0/7.3. The single figure 4.3x is the best case (1 core) and is not labelled as such. Some reviewers suggested the 5-core value 23.4 is a transcription error. That cannot be verified from the files, so this verdict does not confirm it.
Second check: another model agreed
Report a problem with this finding
Typo Section 2 reads "The DataPlane Development Kit (DPDK) [16]", but the Introduction and reference [16] read "Data Plane Development Kit".
- p. 2 Section 2, DPDK paragraph
The DataPlane Development Kit (DPDK) [16]
- p. 1 Introduction
Data Plane Development
- p. 1 Section 1, first paragraph
Data Plane Development Kit (DPDK) [16]
Judge's note: The page 2 crop shows 'DataPlane' run together. The text layer has 'Data Plane Development Kit' at line 77 (Introduction) and in reference [16]. The spelling is inconsistent, but the meaning is unchanged.
Second check: none (judge only)
Report a problem with this finding
Typo Section 2 reads "named-based forwarding [28]"; it should read "name-based forwarding".
- p. 2 Section 2, first paragraph
named-based forwarding [28]
Judge's note: The page 2 image (crop C001-a) shows 'named-based forwarding [28]' in the Related Work paragraph. This is a word-form slip.
Second check: none (judge only)
Report a problem with this finding
Typo Section 2 reads "(including, incidently, an XDP backend [51])"; it should read "incidentally".
- p. 3 Section 2, paragraph on programmable hardware
incidently, an XDP backend [51]
- p. 3 Section 2, P4 paragraph
incidently, an XDP backend
- p. 2 Section 2
named-based forwarding [28]
- p. 3 Section 2
incidently
Judge's note: The page 3 image (crop C003-a) shows 'incidently'. This cluster also quotes 'named-based', which is judged under C001.
Second check: none (judge only)
Report a problem with this finding
Typo "Pointers to the start and end of the packet data is read from the context object" should read "are read".
- p. 6 Section 3.5, second bullet
Pointers to the start and end of the packet data is read
Judge's note: The page 6 crop confirms the plural subject takes a singular verb.
Second check: none (judge only)
Report a problem with this finding
Typo Section 4.1 reads "This is not shown on the figure, asthe difference is too small to be legible"; a space is missing between 'as' and 'the'.
- p. 8 Section 4.1, end of last paragraph
asthe difference is too small to be legible
- p. 8 Section 4.1, last paragraph
This is not shown on the figure, asthe difference is too small
Judge's note: The page 8 image (crop C006-a) shows 'asthe' with no space, so this is not an extraction artefact.
Second check: none (judge only)
Report a problem with this finding
Typo Section 4.1 reads "other than updating packets counters"; it should read "packet counters".
- p. 8 Section 4.1, last paragraph
other than updating packets counters and passing the packet on
Judge's note: Seen in the page 8 crop C006-a.
Second check: none (judge only)
Report a problem with this finding
Typo "The results of this is shown in Figure 4." (p. 8) and "The results of this is shown in Figure 7." (p. 10) should read "are shown".
- p. 8 Section 4.2
The results of this is shown in Figure 4.
- p. 10 Section 5.2
The results of this is shown in Figure 7.
Judge's note: Both instances are visible in the page images (crop C006-a for page 8 and crop C009-b for page 10).
Second check: none (judge only)
Report a problem with this finding
Typo The Table 1 caption reads "with high and low packet rates (100 pps and 1 Mpps)", which lists the rates in the opposite order to the words high and low.
- p. 9 Table 1 caption
with high and low packet rates (100 pps and 1 Mpps)
Judge's note: The page 9 crop confirms the caption. The table columns make the meaning clear, so this is cosmetic.
Second check: none (judge only)
Report a problem with this finding
Typo Section 5.2 writes "35.000 TCP transactions per second" and "28.500 transactions per second" with a period as the thousands separator, while the same page writes "752,138 distinct routes" and the paper uses '.' as the decimal point throughout.
- p. 10 Section 5.2
baseline load of 35.000 TCP
- p. 10 Section 5.2
28.500 transactions per second
- p. 10 Section 5.2
35.000 TCP transactions per second
Judge's note: Seen in the page 10 image (crop C009-b and the full page). The thousands separator is used inconsistently and the figures are open to misreading as 35 and 28.5.
Second check: none (judge only)
Report a problem with this finding
Typo Section 5.1 reads "make sure we exercise the full table.³.", with a full stop both before and after footnote marker 3.
- p. 10 Section 5.1, end of third paragraph
make sure we exercise the full table.
- p. 10 Section 5.1
exercise the full table.3.
Judge's note: The page 10 image (crop C009-b and the full page) shows a period before and after the superscript 3.
Second check: none (judge only)
Report a problem with this finding
Typo Sec 6.7: "This places some constrains on the memory handling of the network device" should read "constraints".
- p. 12 Section 6.7
This places some constrains on the memory han-
- p. 12 Section 6.7
This places some constrains on the memory han-dling of the network device
Judge's note: The page 12 crop shows 'constrains' used as a noun after 'some'. The noun 'constraints' is needed. This is a typo.
Second check: none (judge only)
Report a problem with this finding
Typo Ref [25]: "User-level TCP Stack for Multicore Systems.. In Proceedings" has a doubled period.
- p. 13 Reference [25]
Multicore Systems..
Judge's note: The page 13 crop shows two periods after 'Systems'. This is cosmetic punctuation.
Second check: none (judge only)