els0r/goProbe

Improve flow map / rotation performance

Closed this issue · 1 comments

Based on more detailed profiles obtained on very busy hosts it seems that the dominating path(s) are related to flow map insertion / update and, consequently, flow map rotation. Given that in certain situations we still observe few packet drops both during normal capture and rotation, this can probably be improved substantially. The following items were identified as possible paths for improvements:

  • Add high cardinality benchmark reflecting the situation encountered in the wild
  • Separate IPv4 / IPv6 flow map tracking / hashing: Right now we use 16 bytes per IP address in the EPHash array type no matter if we are handling IPv4 or IPv6 data (for convenience). However, since most traffic is still IPv4 we are not only wasting significant amounts of memory but also increase the duration of all operations pertaining to operations on these arrays, including hashing for map operations.
  • Preempt classification / direction assessment: At present we have to perform map lookups during insertion more that one time on average (because we have to check for the reverse hash). This could probably be alleviated by performing classification earlier (hence making it possible to ascertain the initial flow direction and determine the hash instead of trying both directions.
  • Preempt source port aggregation: If we manage to perform classification early in the process we can also completely remove the source port from the hashing and from flow map(s) (reducing cardinality) because we already know which one is the source and we will aggregate them anyway

For details / annotations, see PR + code comments.

pprof001

Benchmarks / comparisons on two different machines:

                                                                 │ base_pcengines │            new_pcengines             │
                                                                 │     sec/op     │    sec/op     vs base                │
Buffer/fill-3                                                        154.3n ±  6%   116.4n ±  1%  -24.56% (p=0.000 n=15)
Buffer/drain-3                                                      126.40n ±  9%   84.27n ± 10%  -33.33% (p=0.000 n=15)
Rotation/Minimal/pre_add_req-3                                       504.1n ± 11%   464.5n ± 13%        ~ (p=0.116 n=15)
Rotation/Minimal/pre_add_resp-3                                      791.2n ± 12%   510.6n ± 10%  -35.47% (p=0.000 n=15)
Rotation/Minimal/rotation-3                                          1.906m ±  5%   1.828m ±  2%        ~ (p=0.050 n=15)
Rotation/Minimal/post_add_req-3                                      455.2n ± 18%   417.7n ± 11%   -8.24% (p=0.021 n=15)
Rotation/Minimal/post_add_resp-3                                     802.5n ± 10%   443.6n ± 10%  -44.72% (p=0.000 n=15)
Rotation/ManyTalkersFewApplications/pre_add_req-3                    458.4n ± 11%   432.4n ± 18%        ~ (p=0.137 n=15)
Rotation/ManyTalkersFewApplications/pre_add_resp-3                   845.7n ±  6%   466.6n ± 14%  -44.83% (p=0.000 n=15)
Rotation/ManyTalkersFewApplications/rotation-3                       800.3m ± 14%   701.1m ± 15%  -12.39% (p=0.041 n=15)
Rotation/ManyTalkersFewApplications/post_add_req-3                   438.9n ± 11%   402.2n ± 10%   -8.36% (p=0.005 n=15)
Rotation/ManyTalkersFewApplications/post_add_resp-3                  728.7n ± 21%   442.4n ±  6%  -39.29% (p=0.000 n=15)
Rotation/FewTalkersManyPortPairs/pre_add_req-3                       463.0n ± 12%   467.1n ± 14%        ~ (p=0.624 n=15)
Rotation/FewTalkersManyPortPairs/pre_add_resp-3                      790.6n ± 30%   510.8n ± 20%  -35.39% (p=0.000 n=15)
Rotation/FewTalkersManyPortPairs/rotation-3                           1.590 ±  6%    1.294 ± 20%  -18.62% (p=0.016 n=15)
Rotation/FewTalkersManyPortPairs/post_add_req-3                      439.4n ± 11%   394.4n ± 10%        ~ (p=0.050 n=15)
Rotation/FewTalkersManyPortPairs/post_add_resp-3                     727.5n ± 25%   428.9n ± 12%  -41.04% (p=0.000 n=15)
Rotation/FewTalkersManySourcePorts/pre_add_req-3                     449.1n ± 14%   405.5n ±  7%   -9.71% (p=0.003 n=15)
Rotation/FewTalkersManySourcePorts/pre_add_resp-3                    783.6n ± 14%   451.7n ±  9%  -42.36% (p=0.000 n=15)
Rotation/FewTalkersManySourcePorts/rotation-3                        618.3m ± 11%   476.0m ±  8%  -23.02% (p=0.000 n=15)
Rotation/FewTalkersManySourcePorts/post_add_req-3                    457.7n ± 10%   380.6n ± 19%  -16.85% (p=0.019 n=15)
Rotation/FewTalkersManySourcePorts/post_add_resp-3                   786.6n ± 11%   454.9n ± 11%  -42.17% (p=0.000 n=15)
Rotation/FewTalkersManyDestinationPorts/pre_add_req-3                462.2n ± 10%   389.9n ± 25%  -15.64% (p=0.009 n=15)
Rotation/FewTalkersManyDestinationPorts/pre_add_resp-3               793.1n ± 28%   469.0n ±  8%  -40.86% (p=0.000 n=15)
Rotation/FewTalkersManyDestinationPorts/rotation-3                   562.8m ± 11%   535.8m ± 12%        ~ (p=0.098 n=15)
Rotation/FewTalkersManyDestinationPorts/post_add_req-3               467.1n ± 11%   378.9n ± 18%  -18.88% (p=0.015 n=15)
Rotation/FewTalkersManyDestinationPorts/post_add_resp-3              777.0n ± 13%   421.8n ± 21%  -45.71% (p=0.000 n=15)
Rotation/ManyTalkersManySourcePorts/pre_add_req-3                    471.6n ± 13%   401.2n ± 19%  -14.93% (p=0.011 n=15)
Rotation/ManyTalkersManySourcePorts/pre_add_resp-3                   775.3n ± 16%   456.5n ± 14%  -41.12% (p=0.000 n=15)
Rotation/ManyTalkersManySourcePorts/rotation-3                        1.992 ± 12%    1.377 ± 26%  -30.88% (p=0.000 n=15)
Rotation/ManyTalkersManySourcePorts/post_add_req-3                   434.5n ± 13%   390.1n ±  9%  -10.22% (p=0.013 n=15)
Rotation/ManyTalkersManySourcePorts/post_add_resp-3                  755.2n ± 13%   420.3n ± 22%  -44.35% (p=0.000 n=15)
Rotation/ManyTalkersManyDestinationPorts/pre_add_req-3               454.8n ± 12%   471.6n ±  7%        ~ (p=0.389 n=15)
Rotation/ManyTalkersManyDestinationPorts/pre_add_resp-3              807.9n ± 15%   530.9n ±  6%  -34.29% (p=0.000 n=15)
Rotation/ManyTalkersManyDestinationPorts/rotation-3                   6.505 ± 10%    3.275 ± 21%  -49.66% (p=0.000 n=15)
Rotation/ManyTalkersManyDestinationPorts/post_add_req-3              431.3n ± 21%   383.8n ±  8%  -11.01% (p=0.019 n=15)
Rotation/ManyTalkersManyDestinationPorts/post_add_resp-3             847.2n ± 15%   438.9n ± 11%  -48.19% (p=0.000 n=15)
Population/2c04:4000::6ab:0->2c01:2000::3:0_58_80-3                  74.08n ± 12%   61.55n ± 15%  -16.91% (p=0.010 n=15)
Population/2c01:2000::3:0->2c04:4000::6ab:0_58_81-3                  71.90n ± 13%   64.72n ± 12%        ~ (p=0.267 n=15)
Population/fe80::3df3:abbf:3d8d:7f03:0->ff02::2:0_58_86-3            72.42n ± 15%   63.66n ± 13%        ~ (p=0.116 n=15)
Population/10.0.0.1:0->10.0.0.2:0_1_8-3                              77.08n ± 26%   75.93n ± 14%        ~ (p=0.206 n=15)
Population/10.0.0.2:0->10.0.0.1:0_1_0-3                              78.40n ± 27%   75.07n ± 21%        ~ (p=0.161 n=15)
Population/10.0.0.1:37485->10.0.0.2:17500_6_0-3                      94.38n ± 19%   96.47n ± 13%        ~ (p=0.683 n=15)
Population/10.0.0.2:17500->10.0.0.1:34000_6_0-3                      99.17n ± 12%   96.94n ± 11%        ~ (p=0.870 n=15)
Population/2c04:4000::6ab:37485->2c01:2000::3:17500_6_0-3            97.03n ±  9%   82.35n ± 21%        ~ (p=0.087 n=15)
Population/2c01:2000::3:17500->2c04:4000::6ab:34000_6_0-3            97.57n ± 14%   83.72n ± 20%        ~ (p=0.076 n=15)
Population/10.0.0.1:33561->4.5.6.7:444_17_0-3                        115.7n ± 15%   107.0n ± 19%        ~ (p=0.104 n=15)
Population/4.5.6.7:444->10.0.0.1:33561_17_0-3                        115.6n ± 13%   112.4n ± 15%        ~ (p=0.237 n=15)
Population/10.0.0.1:33561->4.5.6.7:33560_17_0-3                     107.90n ± 16%   90.36n ± 27%        ~ (p=0.126 n=15)
Population/4.5.6.7:33560->10.0.0.1:33561_17_0-3                     102.50n ± 15%   98.43n ± 17%        ~ (p=0.480 n=15)
Population/10.0.0.1:445->4.5.6.7:444_17_0-3                          125.2n ± 13%   118.6n ± 23%        ~ (p=0.351 n=15)
Population/4.5.6.7:444->10.0.0.1:445_17_0-3                          127.8n ± 20%   116.6n ± 21%        ~ (p=0.118 n=15)
Population/10.0.0.1:33561->4.5.6.7:33561_17_0-3                     102.50n ± 11%   85.61n ± 15%  -16.48% (p=0.013 n=15)
Population/10.0.0.1:444->4.5.6.7:444_17_0-3                          122.3n ±  7%   119.9n ±  9%        ~ (p=0.310 n=15)
Population/0.0.0.0:68->255.255.255.255:67_17_0-3                     134.4n ± 11%   119.3n ± 24%        ~ (p=0.087 n=15)
Population/10.0.0.1:67->10.0.0.2:68_17_0-3                           137.2n ± 12%   120.1n ±  8%  -12.46% (p=0.001 n=15)
Population/10.0.0.1:0->4.5.6.7:53_17_0-3                             135.5n ± 12%   116.2n ± 13%  -14.24% (p=0.010 n=15)
Population/10.0.0.1:0->4.5.6.7:53_6_0-3                              131.8n ± 14%   116.4n ± 14%        ~ (p=0.050 n=15)
Population/10.0.0.1:0->4.5.6.7:80_6_0-3                              118.6n ± 18%   113.9n ± 20%        ~ (p=0.233 n=15)
Population/10.0.0.1:0->4.5.6.7:443_6_0-3                             121.0n ± 21%   107.0n ± 22%        ~ (p=0.061 n=15)
Population/2c04:4000::6ab:33561->2c04:4000::6ab:33561_17_0-3         91.89n ± 17%   85.58n ± 15%        ~ (p=0.098 n=15)
Population/2c04:4000::6ab:444->2c04:4000::6ab:444_17_0-3             117.3n ± 11%   119.9n ± 12%        ~ (p=0.815 n=15)
Population/2c04:4000::6ab:0->2c04:4000::6ab:53_17_0-3                124.4n ± 11%   106.3n ± 14%  -14.55% (p=0.032 n=15)
Classification/2c04:4000::6ab:0->2c01:2000::3:0_58_80-3              84.53n ± 15%   82.13n ± 14%        ~ (p=0.775 n=15)
Classification/2c01:2000::3:0->2c04:4000::6ab:0_58_81-3              90.44n ± 11%   85.54n ± 15%        ~ (p=0.340 n=15)
Classification/fe80::3df3:abbf:3d8d:7f03:0->ff02::2:0_58_86-3        80.07n ± 10%   81.33n ±  6%        ~ (p=0.943 n=15)
Classification/10.0.0.1:0->10.0.0.2:0_1_8-3                          58.15n ± 14%   52.98n ±  9%        ~ (p=0.148 n=15)
Classification/10.0.0.2:0->10.0.0.1:0_1_0-3                          48.48n ± 11%   50.75n ± 13%        ~ (p=0.902 n=15)
Classification/10.0.0.1:37485->10.0.0.2:17500_6_0-3                 137.40n ± 14%   79.71n ± 27%  -41.99% (p=0.000 n=15)
Classification/10.0.0.2:17500->10.0.0.1:34000_6_0-3                 129.00n ± 34%   83.34n ± 20%  -35.40% (p=0.000 n=15)
Classification/2c04:4000::6ab:37485->2c01:2000::3:17500_6_0-3       129.60n ±  9%   82.49n ± 10%  -36.35% (p=0.000 n=15)
Classification/2c01:2000::3:17500->2c04:4000::6ab:34000_6_0-3       128.40n ± 11%   86.31n ± 15%  -32.78% (p=0.000 n=15)
Classification/10.0.0.1:33561->4.5.6.7:444_17_0-3                   137.60n ± 12%   93.94n ± 15%  -31.73% (p=0.000 n=15)
Classification/4.5.6.7:444->10.0.0.1:33561_17_0-3                   140.50n ± 10%   91.57n ± 11%  -34.83% (p=0.000 n=15)
Classification/10.0.0.1:33561->4.5.6.7:33560_17_0-3                  128.7n ± 20%   102.6n ± 10%  -20.28% (p=0.000 n=15)
Classification/4.5.6.7:33560->10.0.0.1:33561_17_0-3                  127.7n ± 17%   101.1n ± 11%  -20.83% (p=0.000 n=15)
Classification/10.0.0.1:445->4.5.6.7:444_17_0-3                      136.1n ± 21%   116.0n ± 14%  -14.77% (p=0.000 n=15)
Classification/4.5.6.7:444->10.0.0.1:445_17_0-3                     146.00n ± 15%   95.40n ± 18%  -34.66% (p=0.000 n=15)
Classification/10.0.0.1:33561->4.5.6.7:33561_17_0-3                  127.0n ± 20%   103.2n ± 13%  -18.74% (p=0.000 n=15)
Classification/10.0.0.1:444->4.5.6.7:444_17_0-3                      138.0n ± 16%   108.1n ± 13%  -21.67% (p=0.000 n=15)
Classification/0.0.0.0:68->255.255.255.255:67_17_0-3                 85.75n ± 22%   60.60n ±  8%  -29.33% (p=0.000 n=15)
Classification/10.0.0.1:67->10.0.0.2:68_17_0-3                       147.3n ± 14%   104.3n ±  9%  -29.19% (p=0.000 n=15)
Classification/10.0.0.1:0->4.5.6.7:53_17_0-3                         137.9n ± 14%   100.4n ± 11%  -27.19% (p=0.000 n=15)
Classification/10.0.0.1:0->4.5.6.7:53_6_0-3                         147.80n ± 11%   99.19n ± 16%  -32.89% (p=0.000 n=15)
Classification/10.0.0.1:0->4.5.6.7:80_6_0-3                         138.50n ± 10%   95.38n ± 11%  -31.13% (p=0.000 n=15)
Classification/10.0.0.1:0->4.5.6.7:443_6_0-3                        136.60n ±  9%   86.96n ± 17%  -36.34% (p=0.000 n=15)
Classification/2c04:4000::6ab:33561->2c04:4000::6ab:33561_17_0-3     138.6n ± 18%   101.7n ± 20%  -26.62% (p=0.000 n=15)
Classification/2c04:4000::6ab:444->2c04:4000::6ab:444_17_0-3         132.5n ± 19%   110.9n ± 21%  -16.30% (p=0.001 n=15)
Classification/2c04:4000::6ab:0->2c04:4000::6ab:53_17_0-3           124.80n ± 13%   99.45n ±  9%  -20.31% (p=0.000 n=15)
CaptureThroughput/pcap_data                                          469.0n ±  2%   323.0n ±  2%  -31.13% (p=0.000 n=15)
CaptureThroughput/random                                            1029.0n ±  3%   958.0n ±  3%   -6.90% (p=0.000 n=15)
CaptureThroughput/random+return                                     1031.0n ±  1%   956.0n ±  2%   -7.27% (p=0.000 n=15)
CaptureThroughput/non-random                                         473.0n ±  2%   384.0n ±  1%  -18.82% (p=0.000 n=15)
CaptureThroughput/non-random+return                                  586.0n ±  6%   412.0n ±  6%  -29.69% (p=0.000 n=15)
geomean                                                              637.4n         504.2n        -20.89%
                                                                 │    base_x1    │                new_x1                │
                                                                 │    sec/op     │    sec/op     vs base                │
Buffer/fill-4                                                      10.710n ± 11%   8.129n ±  2%  -24.10% (p=0.000 n=15)
Buffer/drain-4                                                     17.110n ±  6%   6.329n ±  0%  -63.01% (p=0.000 n=15)
Rotation/Minimal/pre_add_req-4                                      33.28n ±  8%   28.17n ±  1%  -15.35% (p=0.000 n=15)
Rotation/Minimal/pre_add_resp-4                                     53.44n ±  8%   39.79n ±  2%  -25.54% (p=0.000 n=15)
Rotation/Minimal/rotation-4                                         158.5µ ±  5%   146.9µ ±  1%   -7.30% (p=0.000 n=15)
Rotation/Minimal/post_add_req-4                                     29.78n ± 10%   27.88n ±  2%   -6.38% (p=0.000 n=15)
Rotation/Minimal/post_add_resp-4                                    52.61n ±  8%   38.73n ±  1%  -26.38% (p=0.000 n=15)
Rotation/ManyTalkersFewApplications/pre_add_req-4                   31.87n ±  9%   28.01n ±  2%  -12.11% (p=0.000 n=15)
Rotation/ManyTalkersFewApplications/pre_add_resp-4                  54.22n ±  8%   39.24n ±  2%  -27.63% (p=0.000 n=15)
Rotation/ManyTalkersFewApplications/rotation-4                      73.65m ±  3%   65.68m ±  1%  -10.82% (p=0.000 n=15)
Rotation/ManyTalkersFewApplications/post_add_req-4                  32.20n ±  5%   28.13n ±  2%  -12.64% (p=0.000 n=15)
Rotation/ManyTalkersFewApplications/post_add_resp-4                 54.71n ±  7%   40.31n ±  2%  -26.32% (p=0.000 n=15)
Rotation/FewTalkersManyPortPairs/pre_add_req-4                      36.74n ±  1%   29.70n ±  3%  -19.16% (p=0.000 n=15)
Rotation/FewTalkersManyPortPairs/pre_add_resp-4                     60.44n ±  8%   41.33n ±  2%  -31.62% (p=0.000 n=15)
Rotation/FewTalkersManyPortPairs/rotation-4                         173.1m ±  3%   161.5m ±  2%   -6.71% (p=0.000 n=15)
Rotation/FewTalkersManyPortPairs/post_add_req-4                     32.52n ±  8%   28.67n ±  2%  -11.84% (p=0.000 n=15)
Rotation/FewTalkersManyPortPairs/post_add_resp-4                    53.39n ±  6%   39.00n ±  3%  -26.95% (p=0.000 n=15)
Rotation/FewTalkersManySourcePorts/pre_add_req-4                    37.01n ±  7%   29.90n ±  4%  -19.21% (p=0.000 n=15)
Rotation/FewTalkersManySourcePorts/pre_add_resp-4                   56.19n ±  8%   41.59n ±  3%  -25.98% (p=0.000 n=15)
Rotation/FewTalkersManySourcePorts/rotation-4                       62.72m ±  2%   50.39m ± 38%  -19.66% (p=0.019 n=15)
Rotation/FewTalkersManySourcePorts/post_add_req-4                   32.22n ±  8%   29.27n ±  2%   -9.16% (p=0.002 n=15)
Rotation/FewTalkersManySourcePorts/post_add_resp-4                  56.95n ±  6%   40.87n ±  3%  -28.24% (p=0.000 n=15)
Rotation/FewTalkersManyDestinationPorts/pre_add_req-4               31.63n ±  6%   32.99n ±  4%   +4.30% (p=0.042 n=15)
Rotation/FewTalkersManyDestinationPorts/pre_add_resp-4              53.60n ±  8%   42.30n ±  2%  -21.08% (p=0.000 n=15)
Rotation/FewTalkersManyDestinationPorts/rotation-4                  61.91m ±  2%   50.05m ± 52%  -19.15% (p=0.021 n=15)
Rotation/FewTalkersManyDestinationPorts/post_add_req-4              32.48n ± 10%   29.04n ±  4%  -10.59% (p=0.001 n=15)
Rotation/FewTalkersManyDestinationPorts/post_add_resp-4             58.10n ±  7%   38.89n ±  4%  -33.06% (p=0.000 n=15)
Rotation/ManyTalkersManySourcePorts/pre_add_req-4                   30.87n ±  9%   28.94n ±  3%   -6.25% (p=0.000 n=15)
Rotation/ManyTalkersManySourcePorts/pre_add_resp-4                  53.91n ±  7%   39.79n ±  2%  -26.19% (p=0.000 n=15)
Rotation/ManyTalkersManySourcePorts/rotation-4                      177.9m ±  3%   161.2m ±  1%   -9.42% (p=0.000 n=15)
Rotation/ManyTalkersManySourcePorts/post_add_req-4                  29.80n ±  4%   27.55n ±  5%   -7.55% (p=0.000 n=15)
Rotation/ManyTalkersManySourcePorts/post_add_resp-4                 57.52n ±  7%   39.65n ±  2%  -31.07% (p=0.000 n=15)
Rotation/ManyTalkersManyDestinationPorts/pre_add_req-4              32.99n ±  5%   30.37n ±  6%   -7.94% (p=0.000 n=15)
Rotation/ManyTalkersManyDestinationPorts/pre_add_resp-4             54.87n ±  8%   40.52n ±  4%  -26.15% (p=0.000 n=15)
Rotation/ManyTalkersManyDestinationPorts/rotation-4                 464.7m ±  7%   433.4m ±  2%   -6.74% (p=0.000 n=15)
Rotation/ManyTalkersManyDestinationPorts/post_add_req-4             29.79n ±  8%   29.23n ±  8%   -1.88% (p=0.027 n=15)
Rotation/ManyTalkersManyDestinationPorts/post_add_resp-4            56.17n ±  1%   39.61n ±  4%  -29.48% (p=0.000 n=15)
Population/2c04:4000::6ab:0->2c01:2000::3:0_58_80-4                 4.420n ±  9%   3.852n ±  7%  -12.85% (p=0.001 n=15)
Population/2c01:2000::3:0->2c04:4000::6ab:0_58_81-4                 4.061n ± 11%   4.107n ±  1%        ~ (p=0.493 n=15)
Population/fe80::3df3:abbf:3d8d:7f03:0->ff02::2:0_58_86-4           4.064n ±  9%   4.054n ±  6%   -0.25% (p=0.021 n=15)
Population/10.0.0.1:0->10.0.0.2:0_1_8-4                             4.644n ±  8%   4.291n ±  5%   -7.60% (p=0.006 n=15)
Population/10.0.0.2:0->10.0.0.1:0_1_0-4                             4.284n ± 10%   4.012n ±  8%   -6.35% (p=0.015 n=15)
Population/10.0.0.1:37485->10.0.0.2:17500_6_0-4                     5.921n ±  9%   5.517n ±  6%   -6.82% (p=0.015 n=15)
Population/10.0.0.2:17500->10.0.0.1:34000_6_0-4                     5.922n ±  9%   5.526n ±  7%   -6.69% (p=0.004 n=15)
Population/2c04:4000::6ab:37485->2c01:2000::3:17500_6_0-4           4.963n ± 11%   5.007n ±  7%        ~ (p=0.910 n=15)
Population/2c01:2000::3:17500->2c04:4000::6ab:34000_6_0-4           5.021n ±  9%   5.011n ±  8%        ~ (p=0.467 n=15)
Population/10.0.0.1:33561->4.5.6.7:444_17_0-4                       6.414n ±  8%   5.714n ±  6%  -10.91% (p=0.000 n=15)
Population/4.5.6.7:444->10.0.0.1:33561_17_0-4                       6.369n ± 10%   5.932n ±  7%   -6.86% (p=0.001 n=15)
Population/10.0.0.1:33561->4.5.6.7:33560_17_0-4                     5.918n ±  9%   5.216n ±  8%  -11.86% (p=0.001 n=15)
Population/4.5.6.7:33560->10.0.0.1:33561_17_0-4                     5.558n ±  7%   5.188n ±  8%   -6.66% (p=0.013 n=15)
Population/10.0.0.1:445->4.5.6.7:444_17_0-4                         7.014n ± 10%   6.930n ±  7%   -1.20% (p=0.002 n=15)
Population/4.5.6.7:444->10.0.0.1:445_17_0-4                         7.609n ±  8%   6.470n ±  8%  -14.97% (p=0.000 n=15)
Population/10.0.0.1:33561->4.5.6.7:33561_17_0-4                     5.405n ± 10%   5.160n ± 10%   -4.53% (p=0.004 n=15)
Population/10.0.0.1:444->4.5.6.7:444_17_0-4                         7.023n ±  9%   6.922n ±  7%   -1.44% (p=0.000 n=15)
Population/0.0.0.0:68->255.255.255.255:67_17_0-4                    8.261n ±  7%   6.462n ±  7%  -21.78% (p=0.000 n=15)
Population/10.0.0.1:67->10.0.0.2:68_17_0-4                          7.791n ±  7%   6.986n ±  7%  -10.33% (p=0.000 n=15)
Population/10.0.0.1:0->4.5.6.7:53_17_0-4                            7.717n ±  9%   6.696n ±  6%  -13.23% (p=0.000 n=15)
Population/10.0.0.1:0->4.5.6.7:53_6_0-4                             7.099n ±  9%   6.210n ±  9%  -12.52% (p=0.000 n=15)
Population/10.0.0.1:0->4.5.6.7:80_6_0-4                             7.540n ±  9%   6.259n ±  8%  -16.99% (p=0.000 n=15)
Population/10.0.0.1:0->4.5.6.7:443_6_0-4                            7.492n ±  8%   6.682n ±  7%  -10.81% (p=0.000 n=15)
Population/2c04:4000::6ab:33561->2c04:4000::6ab:33561_17_0-4        4.965n ±  9%   5.347n ±  8%        ~ (p=0.602 n=15)
Population/2c04:4000::6ab:444->2c04:4000::6ab:444_17_0-4            7.020n ±  8%   6.619n ±  9%   -5.71% (p=0.040 n=15)
Population/2c04:4000::6ab:0->2c04:4000::6ab:53_17_0-4               7.402n ±  7%   5.864n ±  9%  -20.78% (p=0.000 n=15)
Classification/2c04:4000::6ab:0->2c01:2000::3:0_58_80-4             5.760n ±  6%   5.058n ±  6%  -12.19% (p=0.000 n=15)
Classification/2c01:2000::3:0->2c04:4000::6ab:0_58_81-4             5.904n ±  7%   5.589n ±  5%   -5.34% (p=0.016 n=15)
Classification/fe80::3df3:abbf:3d8d:7f03:0->ff02::2:0_58_86-4       5.296n ±  7%   4.827n ±  6%   -8.86% (p=0.000 n=15)
Classification/10.0.0.1:0->10.0.0.2:0_1_8-4                         2.397n ± 11%   2.200n ± 10%        ~ (p=0.095 n=15)
Classification/10.0.0.2:0->10.0.0.1:0_1_0-4                         2.174n ± 11%   2.038n ±  7%   -6.26% (p=0.000 n=15)
Classification/10.0.0.1:37485->10.0.0.2:17500_6_0-4                10.250n ±  6%   6.421n ±  5%  -37.36% (p=0.000 n=15)
Classification/10.0.0.2:17500->10.0.0.1:34000_6_0-4                 9.793n ±  5%   6.643n ±  5%  -32.17% (p=0.000 n=15)
Classification/2c04:4000::6ab:37485->2c01:2000::3:17500_6_0-4      10.250n ±  6%   5.312n ±  5%  -48.18% (p=0.000 n=15)
Classification/2c01:2000::3:17500->2c04:4000::6ab:34000_6_0-4      10.200n ±  5%   5.469n ±  7%  -46.38% (p=0.000 n=15)
Classification/10.0.0.1:33561->4.5.6.7:444_17_0-4                  10.290n ±  6%   6.457n ±  5%  -37.25% (p=0.000 n=15)
Classification/4.5.6.7:444->10.0.0.1:33561_17_0-4                  10.270n ±  6%   6.471n ±  4%  -36.99% (p=0.000 n=15)
Classification/10.0.0.1:33561->4.5.6.7:33560_17_0-4                10.510n ±  5%   6.078n ±  6%  -42.17% (p=0.000 n=15)
Classification/4.5.6.7:33560->10.0.0.1:33561_17_0-4                 9.830n ±  7%   6.493n ±  7%  -33.95% (p=0.000 n=15)
Classification/10.0.0.1:445->4.5.6.7:444_17_0-4                    10.510n ±  6%   6.858n ±  6%  -34.75% (p=0.000 n=15)
Classification/4.5.6.7:444->10.0.0.1:445_17_0-4                    10.520n ±  6%   6.517n ±  6%  -38.05% (p=0.000 n=15)
Classification/10.0.0.1:33561->4.5.6.7:33561_17_0-4                10.520n ±  6%   6.671n ±  7%  -36.59% (p=0.000 n=15)
Classification/10.0.0.1:444->4.5.6.7:444_17_0-4                     9.841n ±  7%   6.656n ±  6%  -32.36% (p=0.000 n=15)
Classification/0.0.0.0:68->255.255.255.255:67_17_0-4                6.435n ±  8%   2.879n ±  9%  -55.26% (p=0.000 n=15)
Classification/10.0.0.1:67->10.0.0.2:68_17_0-4                     10.080n ±  6%   6.933n ±  6%  -31.22% (p=0.000 n=15)
Classification/10.0.0.1:0->4.5.6.7:53_17_0-4                        9.740n ±  8%   6.847n ±  6%  -29.70% (p=0.000 n=15)
Classification/10.0.0.1:0->4.5.6.7:53_6_0-4                        10.280n ±  1%   6.583n ±  4%  -35.96% (p=0.000 n=15)
Classification/10.0.0.1:0->4.5.6.7:80_6_0-4                         9.654n ±  7%   6.695n ±  6%  -30.65% (p=0.000 n=15)
Classification/10.0.0.1:0->4.5.6.7:443_6_0-4                       10.280n ±  6%   6.513n ±  5%  -36.64% (p=0.000 n=15)
Classification/2c04:4000::6ab:33561->2c04:4000::6ab:33561_17_0-4   10.490n ±  5%   5.780n ±  8%  -44.90% (p=0.000 n=15)
Classification/2c04:4000::6ab:444->2c04:4000::6ab:444_17_0-4        9.977n ±  5%   6.502n ±  8%  -34.83% (p=0.000 n=15)
Classification/2c04:4000::6ab:0->2c04:4000::6ab:53_17_0-4           9.759n ±  6%   5.788n ±  8%  -40.69% (p=0.000 n=15)
CaptureThroughput/pcap_data                                         61.00n ±  2%   63.00n ±  3%   +3.28% (p=0.004 n=15)
CaptureThroughput/random                                            87.00n ±  1%   85.00n ±  1%   -2.30% (p=0.001 n=15)
CaptureThroughput/random+return                                     87.00n ±  2%   82.00n ±  1%   -5.75% (p=0.000 n=15)
CaptureThroughput/non-random                                        61.00n ±  2%   62.00n ±  2%   +1.64% (p=0.027 n=15)
CaptureThroughput/non-random+return                                 61.00n ±  3%   62.00n ±  2%   +1.64% (p=0.005 n=15)
geomean                                                             44.57n         35.70n        -19.90%

Interesting observation: For the X1 (my rather powerful laptop) there is only little improvement on the synthetic overall benchmarks CaptureThroughput... (while the less powerful device and tests in production show much more significant changes). My guess is that there's just not a lot to gain on that device (showing once more the limits of synthetic benchmarks)...