# Performance Measurements of Linux, DanOS, VYOS, VPP, and Linux XDP at 100GE

<p class="callout danger">Tests still being performed - VPP Still as yet untested</p>

#### Results:

Table below represent Millions of Packets Per Second (MPPS) send for forwarding via the router software vs packetloss of the end destination of expected packets.  
*Note:*  
*- droptest % represents the % of loss of the legitimate packets*  
*- some higher rates not tested once significant loss was demonstrated at lower levels*  
*- no optimisations performed on these routers unless otherwise noted below*

***Single traffic flow Test, 50 firewall policies**  
\- Single destination IP, single protocol, same src/dst port  
\- 50 Firewall Policies  
\- % indicates forwarding packetloss - VYOSXDP is <span style="text-decoration: underline;">not</span> running any firewall policies as firewall not supported  
\- LinXDP running custom firewall + 802.1Q*

<table border="0" cellspacing="0" id="bkmrk-mpps-0.45-0.75-1.5-3" style="width: 100%;"><colgroup span="13" width="107"></colgroup><tbody><tr><td align="left" bgcolor="#000000" height="21" style="width: 11.8636%;"><span style="color: #ffffff; font-family: Liberation Serif;">MPPS</span></td><td align="right" bgcolor="#000000" style="width: 7.16757%;"><span style="color: #ffffff; font-family: Liberation Serif;">0.45</span></td><td align="right" bgcolor="#000000" style="width: 6.54968%;"><span style="color: #ffffff; font-family: Liberation Serif;">0.75</span></td><td align="right" bgcolor="#000000" style="width: 7.04399%;"><span style="color: #ffffff; font-family: Liberation Serif;">1.5</span></td><td align="right" bgcolor="#000000" style="width: 6.79635%;"><span style="color: #ffffff; font-family: Liberation Serif;">3</span></td><td align="right" bgcolor="#000000" style="width: 6.79732%;"><span style="color: #ffffff; font-family: Liberation Serif;">4.5</span></td><td align="right" bgcolor="#000000" style="width: 7.66189%;"><span style="color: #ffffff; font-family: Liberation Serif;">6</span></td><td align="right" bgcolor="#000000" style="width: 7.66189%;"><span style="color: #ffffff; font-family: Liberation Serif;">7.5</span></td><td align="right" bgcolor="#000000" style="width: 7.66189%;"><span style="color: #ffffff; font-family: Liberation Serif;">9</span></td><td align="right" bgcolor="#000000" style="width: 7.66189%;"><span style="color: #ffffff; font-family: Liberation Serif;">10</span></td><td align="right" bgcolor="#000000" style="width: 7.66189%;"><span style="color: #ffffff; font-family: Liberation Serif;">12</span></td><td align="right" bgcolor="#000000" style="width: 7.66189%;"><span style="color: #ffffff; font-family: Liberation Serif;">15</span></td><td align="right" bgcolor="#000000" style="width: 7.41473%;"><span style="color: #ffffff; font-family: Liberation Serif;">18</span></td></tr><tr><td align="left" bgcolor="#000000" height="21" style="width: 11.8636%;"><span style="color: #ffffff; font-family: Liberation Serif;">Danos</span></td><td align="right" bgcolor="#AFD095" style="width: 7.16757%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 6.54968%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 7.04399%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 6.79635%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#FFE994" style="width: 6.79732%;"><span style="font-family: Liberation Serif;">0.1%</span></td><td align="right" bgcolor="#FFE994" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">0.1%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">13.7%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">31.1%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">40.3%</span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.66189%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.66189%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.41473%;"><span style="font-family: Liberation Serif;"> </span></td></tr><tr><td align="left" bgcolor="#000000" height="21" style="width: 11.8636%;"><span style="color: #ffffff; font-family: Liberation Serif;">LinXDP</span></td><td align="right" bgcolor="#AFD095" style="width: 7.16757%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 6.54968%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 7.04399%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#FFE994" style="width: 6.79635%;"><span style="font-family: Liberation Serif;">0.5%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 6.79732%;"><span style="font-family: Liberation Serif;">28.2%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">46.2%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">57.3%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">65.1%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">70.1%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">74.4%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">80.2%</span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.41473%;"><span style="font-family: Liberation Serif;"> </span></td></tr><tr><td align="left" bgcolor="#000000" height="21" style="width: 11.8636%;"><span style="color: #ffffff; font-family: Liberation Serif;">VYOS</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.16757%;"><span style="font-family: Liberation Serif;">21.7%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 6.54968%;"><span style="font-family: Liberation Serif;">53.1%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.04399%;"><span style="font-family: Liberation Serif;">63.9%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 6.79635%;"><span style="font-family: Liberation Serif;">88.3%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 6.79732%;"><span style="font-family: Liberation Serif;">92.2%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">94.1%</span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.66189%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.66189%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.66189%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.66189%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.66189%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.41473%;"><span style="font-family: Liberation Serif;"> </span></td></tr><tr><td align="left" bgcolor="#000000" height="21" style="width: 11.8636%;"><span style="color: #ffffff; font-family: Liberation Serif;">VYOSXDP \*</span></td><td align="right" bgcolor="#AFD095" style="width: 7.16757%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 6.54968%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 7.04399%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#FFE994" style="width: 6.79635%;"><span style="font-family: Liberation Serif;">2.7%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 6.79732%;"><span style="font-family: Liberation Serif;">35.5%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">51.7%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">61.7%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">68.1%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">73.0%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">76.3%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">81.5%</span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.41473%;"><span style="font-family: Liberation Serif;"> </span></td></tr></tbody></table>

***GRE Test, multiple flows, GRE encapsulations received on other end, fragmentation off**  
\- Random Destination IPs within single /24, multiple src/dst ports, all packets GRE encap  
\- 50 Firewall policies  
\- % indicates forwarding packetloss - LinXDP running custom firewall / GRE tunnel code + 802.1Q*

<table border="0" cellspacing="0" id="bkmrk-mpps-0.45-0.75-1.5-3-0" style="width: 100%;"><colgroup span="13" width="107"></colgroup><tbody><tr><td align="left" bgcolor="#000000" height="21" style="width: 10.5042%;"><span style="color: #ffffff; font-family: Liberation Serif;">MPPS</span></td><td align="right" bgcolor="#000000" style="width: 6.91846%;"><span style="color: #ffffff; font-family: Liberation Serif;">0.45</span></td><td align="right" bgcolor="#000000" style="width: 5.68658%;"><span style="color: #ffffff; font-family: Liberation Serif;">0.75</span></td><td align="right" bgcolor="#000000" style="width: 7.66189%;"><span style="color: #ffffff; font-family: Liberation Serif;">1.5</span></td><td align="right" bgcolor="#000000" style="width: 7.66189%;"><span style="color: #ffffff; font-family: Liberation Serif;">3</span></td><td align="right" bgcolor="#000000" style="width: 7.66189%;"><span style="color: #ffffff; font-family: Liberation Serif;">4.5</span></td><td align="right" bgcolor="#000000" style="width: 7.66189%;"><span style="color: #ffffff; font-family: Liberation Serif;">6</span></td><td align="right" bgcolor="#000000" style="width: 7.66189%;"><span style="color: #ffffff; font-family: Liberation Serif;">7.5</span></td><td align="right" bgcolor="#000000" style="width: 7.66189%;"><span style="color: #ffffff; font-family: Liberation Serif;">9</span></td><td align="right" bgcolor="#000000" style="width: 7.66189%;"><span style="color: #ffffff; font-family: Liberation Serif;">10</span></td><td align="right" bgcolor="#000000" style="width: 7.66189%;"><span style="color: #ffffff; font-family: Liberation Serif;">12</span></td><td align="right" bgcolor="#000000" style="width: 7.66189%;"><span style="color: #ffffff; font-family: Liberation Serif;">15</span></td><td align="right" bgcolor="#000000" style="width: 7.66189%;"><span style="color: #ffffff; font-family: Liberation Serif;">18</span></td></tr><tr><td align="left" bgcolor="#000000" height="21" style="width: 10.5042%;"><span style="color: #ffffff; font-family: Liberation Serif;">Danos</span></td><td align="right" bgcolor="#AFD095" style="width: 6.91846%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 5.68658%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">10.8%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">34.3%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">47.8%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">56.7%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">63.1%</span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.66189%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.66189%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.66189%;"><span style="font-family: Liberation Serif;"> </span></td></tr><tr><td align="left" bgcolor="#000000" height="21" style="width: 10.5042%;"><span style="color: #ffffff; font-family: Liberation Serif;">Linux</span></td><td align="right" bgcolor="#AFD095" style="width: 6.91846%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 5.68658%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">34.7%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">55.7%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">66.5%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">73.5%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">77.7%</span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.66189%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.66189%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.66189%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.66189%;"><span style="font-family: Liberation Serif;"> </span></td></tr><tr><td align="left" bgcolor="#000000" height="21" style="width: 10.5042%;"><span style="color: #ffffff; font-family: Liberation Serif;">LinXDP</span></td><td align="right" bgcolor="#AFD095" style="width: 6.91846%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 5.68658%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#FFE994" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">2.2%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">10.1%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">30.9%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">42.3%</span></td></tr><tr><td align="left" bgcolor="#000000" height="21" style="width: 10.5042%;"><span style="color: #ffffff; font-family: Liberation Serif;">VYOS</span></td><td align="right" bgcolor="#AFD095" style="width: 6.91846%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 5.68658%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">7.2%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">36.7%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 7.66189%;"><span style="font-family: Liberation Serif;">51.3%</span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.66189%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.66189%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.66189%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.66189%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.66189%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 7.66189%;"> </td></tr></tbody></table>

***900K Route Test, multiple flows**  
\- Random Destination IPs within single /24, multiple src/dst ports  
\- 50 Firewall Policies  
\- % indicates forwarding packetloss  
\- LinXDP running custom firewall + 802.1Q  
\- VYOSXDP is <span style="text-decoration: underline;">not</span> running any firewall policies as firewall not supported  
\- 900k routes loaded into routing table*

<table border="0" cellspacing="0" id="bkmrk-mpps-3-4.5-6-7.5-9-1" style="width: 100%;"><colgroup span="12" width="107"></colgroup><tbody><tr><td align="left" bgcolor="#000000" height="21" style="width: 12.3573%;"><span style="color: #ffffff; font-family: Liberation Serif;">MPPS</span></td><td align="right" bgcolor="#000000" style="width: 4.44945%;"><span style="color: #ffffff; font-family: Liberation Serif;">3</span></td><td align="right" bgcolor="#000000" style="width: 8.27978%;"><span style="color: #ffffff; font-family: Liberation Serif;">4.5</span></td><td align="right" bgcolor="#000000" style="width: 8.27978%;"><span style="color: #ffffff; font-family: Liberation Serif;">6</span></td><td align="right" bgcolor="#000000" style="width: 8.27978%;"><span style="color: #ffffff; font-family: Liberation Serif;">7.5</span></td><td align="right" bgcolor="#000000" style="width: 8.27978%;"><span style="color: #ffffff; font-family: Liberation Serif;">9</span></td><td align="right" bgcolor="#000000" style="width: 8.27978%;"><span style="color: #ffffff; font-family: Liberation Serif;">10</span></td><td align="right" bgcolor="#000000" style="width: 8.27978%;"><span style="color: #ffffff; font-family: Liberation Serif;">12</span></td><td align="right" bgcolor="#000000" style="width: 8.27978%;"><span style="color: #ffffff; font-family: Liberation Serif;">15</span></td><td align="right" bgcolor="#000000" style="width: 8.27978%;"><span style="color: #ffffff; font-family: Liberation Serif;">18</span></td><td align="right" bgcolor="#000000" style="width: 8.27978%;"><span style="color: #ffffff; font-family: Liberation Serif;">20</span></td><td align="right" bgcolor="#000000" style="width: 8.27978%;"><span style="color: #ffffff; font-family: Liberation Serif;">30</span></td></tr><tr><td align="left" bgcolor="#000000" height="21" style="width: 12.3573%;"><span style="color: #ffffff; font-family: Liberation Serif;">Danos</span></td><td align="right" bgcolor="#AFD095" style="width: 4.44945%;"><span style="font-family: Liberation Serif;">0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#FFE994" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.1%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">15.1%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">27.0%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">49.2%</span></td></tr><tr><td align="left" bgcolor="#000000" height="21" style="width: 12.3573%;"><span style="color: #ffffff; font-family: Liberation Serif;">LinXDP</span></td><td align="right" bgcolor="#AFD095" style="width: 4.44945%;"><span style="font-family: Liberation Serif;">0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#FFE994" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.1%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">12.7%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">24.9%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">30.0%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">43.4%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">59.1%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">65.1%</span></td></tr><tr><td align="left" bgcolor="#000000" height="21" style="width: 12.3573%;"><span style="color: #ffffff; font-family: Liberation Serif;">VYOS</span></td><td align="right" bgcolor="#AFD095" style="width: 4.44945%;"><span style="font-family: Liberation Serif;">0%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">9.2%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">28.9%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">43.2%</span></td><td align="left" bgcolor="#B2B2B2" style="width: 8.27978%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 8.27978%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 8.27978%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 8.27978%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 8.27978%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 8.27978%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 8.27978%;"><span style="font-family: Liberation Serif;"> </span></td></tr><tr><td align="left" bgcolor="#000000" height="21" style="width: 12.3573%;"><span style="color: #ffffff; font-family: Liberation Serif;">VYOSXDP\*\*</span></td><td align="right" bgcolor="#AFD095" style="width: 4.44945%;"><span style="font-family: Liberation Serif;">0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#FFE994" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.1%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">21.0%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">28.9%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">42.6%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">48.8%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">64.5%</span></td></tr></tbody></table>

***DDoS Drop Test (50% traffic dropped)**  
\- Random Destination IPs within single /24, UDP traffic, multiple src/dst ports  
\- 50 Firewall Policies  
\- % indicates forwarding packetloss of packets that were not supposed to be dropped  
\- LinuxXDP running custom firewall + 802.1Q  
\- VYOSXDP not tested because it has no firewall capability  
\- 900k routes loaded into routing table*

<table border="0" cellspacing="0" id="bkmrk-mpps-3-4.5-6-7.5-9-1-0" style="width: 100%;"><colgroup span="12" width="107"></colgroup><tbody><tr><td align="left" bgcolor="#000000" height="21" style="width: 10.749%;"><span style="color: #ffffff; font-family: Liberation Serif;">MPPS</span></td><td align="right" bgcolor="#000000" style="width: 5.9341%;"><span style="color: #ffffff; font-family: Liberation Serif;">3</span></td><td align="right" bgcolor="#000000" style="width: 8.27978%;"><span style="color: #ffffff; font-family: Liberation Serif;">4.5</span></td><td align="right" bgcolor="#000000" style="width: 8.27978%;"><span style="color: #ffffff; font-family: Liberation Serif;">6</span></td><td align="right" bgcolor="#000000" style="width: 8.27978%;"><span style="color: #ffffff; font-family: Liberation Serif;">7.5</span></td><td align="right" bgcolor="#000000" style="width: 8.27978%;"><span style="color: #ffffff; font-family: Liberation Serif;">9</span></td><td align="right" bgcolor="#000000" style="width: 8.27978%;"><span style="color: #ffffff; font-family: Liberation Serif;">10</span></td><td align="right" bgcolor="#000000" style="width: 8.27978%;"><span style="color: #ffffff; font-family: Liberation Serif;">12</span></td><td align="right" bgcolor="#000000" style="width: 8.27978%;"><span style="color: #ffffff; font-family: Liberation Serif;">15</span></td><td align="right" bgcolor="#000000" style="width: 8.27978%;"><span style="color: #ffffff; font-family: Liberation Serif;">18</span></td><td align="right" bgcolor="#000000" style="width: 8.27978%;"><span style="color: #ffffff; font-family: Liberation Serif;">20</span></td><td align="right" bgcolor="#000000" style="width: 8.27978%;"><span style="color: #ffffff; font-family: Liberation Serif;">30</span></td></tr><tr><td align="left" bgcolor="#000000" height="21" style="width: 10.749%;"><span style="color: #ffffff; font-family: Liberation Serif;">Danos</span></td><td align="right" bgcolor="#AFD095" style="width: 5.9341%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">10.6%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">22.5%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">47.2%</span></td></tr><tr><td align="left" bgcolor="#000000" height="21" style="width: 10.749%;"><span style="color: #ffffff; font-family: Liberation Serif;">LinuxXDP</span></td><td align="right" bgcolor="#AFD095" style="width: 5.9341%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#AFD095" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#FFE994" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">0.2%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">30.4%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">37.2%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">45.1%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">65.6%</span></td></tr><tr><td align="left" bgcolor="#000000" height="21" style="width: 10.749%;"><span style="color: #ffffff; font-family: Liberation Serif;">VYOS</span></td><td align="right" bgcolor="#AFD095" style="width: 5.9341%;"><span style="font-family: Liberation Serif;">0.0%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">8.7%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">26.7%</span></td><td align="right" bgcolor="#FFA6A6" style="width: 8.27978%;"><span style="font-family: Liberation Serif;">39.5%</span></td><td align="left" bgcolor="#B2B2B2" style="width: 8.27978%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 8.27978%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 8.27978%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 8.27978%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 8.27978%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 8.27978%;"><span style="font-family: Liberation Serif;"> </span></td><td align="left" bgcolor="#B2B2B2" style="width: 8.27978%;"> </td></tr></tbody></table>

#### Test Environment &amp; pktgen tool

Network Card:

mlx5\_core 0000:3b:00.1: firmware version: 16.27.6120  
mlx5\_core 0000:3b:00.1: 126.016 Gb/s available PCIe bandwidth, limited by 8.0 GT/s PCIe x16 link at 0000:3a:00.0 (capable of 252.048 Gb/s with 16.0 GT/s PCIe x16 link)

We wont go into building pktgen as there's plenty of doco out there on this. Just for reference purposes on how we ran pktgen:

```shell
LD_LIBRARY_PATH=/usr/local/lib64/ /root/pktgen-dpdk/usr/local/bin/pktgen -l 2,4,6 -n 2 -a 3b:00.1 -d librte_net_mlx5.so  -- -p 0x1 -P -m "[4:6].0"
```

**Traffic generated:**  
Static destination MAC (The test Target)  
pktgen:

```
set 0 rate 10   (This is % of 100GE, adjusted accordingly at 1% = 1.5MPPS)<br></br>set 0 size 64<br></br>set 0 count 50000000<br></br>set 0 proto udp<br></br>set 0 dst ip 10.22.23.102<br></br>set 0 src ip 10.22.22.101/24<br></br>set 0 dst mac XX:XX:XX:XX:d1:7b<br></br>set 0 src mac XX:XX:XX:XX:36:75<br></br>set 0 type ipv4
```

**Single flow:**  
Single target IP address  
UDP traffic, 64 bytes per packet, same src/dst ports  
No firewall policies

**Single flow, 5 firewall policies:**  
Single target IP address  
UDP traffic, 64 bytes per packet, same src/dst ports  
5 firewall policies

**Single flow, 50 firewall policies:**  
Single target IP address  
UDP traffic, 64 bytes per packet, same src/dst ports  
50 firewall policies

**Single flow, GRE tunnel:**  
Single target IP address  
UDP traffic, 64 bytes per packet, same src/dst ports  
50 firewall policies  
GRE encap traffic and forward to static destination

**Multiple flow:**  
254 destination IP addresses (multi-flow)  
UDP traffic, 64 bytes per packet, random src ports (multi-flow)  
50 firewall policies  
pktgen:

```shell
range 0 src port 53 53 1000 1<br></br>range 0 dst ip 10.22.23.1 10.22.23.1 10.22.23.254 0.0.0.1<br></br>range 0 src ip 10.22.22.101 10.22.22.101 10.22.22.101 0.0.0.0<br></br>range 0 src mac XX:XX:XX:XX:36:75 XX:XX:XX:XX:36:75 XX:XX:XX:XX:36:75 00:00:00:00:00:00<br></br>range 0 dst mac XX:XX:XX:XX:d1:7b XX:XX:XX:XX:d1:7b XX:XX:XX:XX:d1:7b 00:00:00:00:00:00<br></br>enable 0 range
```

**900K Route Test:** 254 destination IP addresses  
UDP traffic, 64 bytes per packet, random src/dst ports  
50 firewall policies  
900K loaded route table  
 **Drop Test:**  
1 destination IP addresses, multiple ports (multi-flow)  
UDP traffic, 64 bytes per packet, random src/dst ports  
50 firewall policies, default deny  
900K loaded route table  
Half test traffic configured to be dropped

#### DanOS

Version: 2105  
Built on: Fri Jun 11 11:58:32 UTC 2021  
HW Model: PowerEdge R440  
CPU: Intel Xeon Silver 4210R CPU @ 2.4Ghz

Routing Configuration:  
set protocols static arp 10.22.22.101 hwaddr 'XX:XX:XX:XX:XX:XX'  
set protocols static arp 10.22.22.101 interface dp0p59s0f1  
set protocols static route 10.22.23.0/24 next-hop 10.22.22.101

Firewall policies:  
set security ip-packet-filter group ipv4 ip-version ipv4  
set security ip-packet-filter group ipv4 rule 1 action drop  
set security ip-packet-filter group ipv4 rule 1 match source ipv4 host 1.1.1.1  
set security ip-packet-filter group ipv4 rule 2 action drop  
set security ip-packet-filter group ipv4 rule 2 match source ipv4 host 1.1.2.1  
set security ip-packet-filter group ipv4 rule 3 action drop  
set security ip-packet-filter group ipv4 rule 3 match source ipv4 host 1.1.3.1  
...etc...  
set security ip-packet-filter interface dp0p59s0f1 in ipv4

For GRE test:  
set interfaces tunnel tun0 address 10.90.4.102/24  
set interfaces tunnel tun0 encapsulation gre  
set interfaces tunnel tun0 local-ip 10.22.22.102  
set interfaces tunnel tun0 remote-ip 10.22.22.101  
set protocols static route 10.22.23.0/24 next-hop 10.90.4.101

#### VyOS

$ show system cpu  
CPU Vendor: GenuineIntel  
Model: Intel(R) Xeon(R) Silver 4210R CPU @ 2.40GHz  
Total CPUs: 1,3,5,7,9,11,13,15,17,19  
Sockets: 2  
Cores: 10  
Threads: 1  
Current MHz: 1000.128

$ show system memory  
Total: 62.54 GB  
Free: 61.17 GB  
Used: 1.38 GB

$ show version

Version: VyOS 1.4-rolling-202203150317  
Release train: sagitta

Built by: autobuild@vyos.net  
Built on: Tue 15 Mar 2022 03:17 UTC  
Build UUID: 9da98191-be0b-42e1-937a-97fb016b22ac  
Build commit ID: f2655e2ae72e8c

Architecture: x86\_64  
Boot via: installed image  
System type: bare metal

Hardware vendor: Dell Inc.  
Hardware model: PowerEdge R440  
Hardware S/N: XXXXXXXXX  
Hardware UUID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Copyright: VyOS maintainers and contributors

Routing Configuration:  
set protocols static arp 10.22.22.101 hwaddr 'XX:XX:XX:XX:XX:XX'  
set protocols static route 10.22.23.0/24 next-hop 10.22.22.101

Firewall Policies:  
set firewall name TEST\_IN rule 1 action 'drop'  
set firewall name TEST\_IN rule 1 destination address 1.1.1.1  
set firewall name TEST\_IN rule 2 action 'drop'  
set firewall name TEST\_IN rule 2 destination address 1.1.2.1  
set firewall name TEST\_IN rule 3 action 'drop'  
set firewall name TEST\_IN rule 3 destination address 1.1.3.1  
set firewall name TEST\_IN rule 4 action 'drop'  
set firewall name TEST\_IN rule 4 destination address 1.1.4.1  
set firewall name TEST\_IN rule 5 action 'drop'  
set firewall name TEST\_IN rule 5 destination address 1.1.5.1  
..... etc .....  
set interfaces ethernet eth2 firewall in name TEST\_IN

For GRE test:  
set interfaces tunnel tun0 address '10.90.4.102/24'  
set interfaces tunnel tun0 encapsulation 'gre'  
set interfaces tunnel tun0 remote '10.22.22.101'  
set interfaces tunnel tun0 source-address '10.22.22.102'  
set protocols static route 10.22.23.0/24 next-hop 10.90.4.101