Skip to content

Instantly share code, notes, and snippets.

@ozaki-r
Last active January 27, 2016 06:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ozaki-r/975b06216a54a084debc to your computer and use it in GitHub Desktop.
Save ozaki-r/975b06216a54a084debc to your computer and use it in GitHub Desktop.
Performance evaluation of softint-based if_input

Setups

H/W

Traffice generator (TG) and DUT

  • Intel(R) Atom(TM) CPU C2558 @ 2.40GHz
  • Intel I210-T1 Ethernet Server Adapter (1 GbE)

Network

  • Connect a TG and a DUT with two Ethernet cables (for IP forwarding)

S/W

Kernel changes

Kernel configs

  • Almost same as amd64/GENERIC
    • DIAGNOSTIC on, DEBUG off
  • Enable GATEWAY when measuring fast forward performance

Mesurement tools

  • ping
  • iperf
  • netmap-based traffic generator
    • running on FreeBSD
    • not publically available yet

Notes

wm(4) utils HW multi-queues and interrupts are delivered to different CPUs by default, however, in the measurements, we adjust all interrupts to go CPU#0.

Measurements

Throughput (IP forwarding)

  • Measure throughput of IPv4 (normal) forwarding
  • netmap-based traffic generator is used to generate traffics
    • Uni-directional UDP packets
  • Offered traffics are ranged from 100 Mbps to 900 Mbps in increments of 100 Mbps
  • The packet size is 46 (fixed)

Throughput (fast forward)

  • Measure throughput of IPv4 fast forwarding (GATEWAY of the kernels is enabled)
  • No difference in measurements from Throughput (IP forwarding) except the GATEWAY option and the packet size
  • The packet size
    • 46 for softint-rx
    • 46/100/200 for vanilla and polling-rx

Throughput (iperf)

  • Measure throughput of packet receiving by using iperf
  • Run iperf as server mode on the DUT and run iperf as client mode on the traffic generator
  • Command: iperf -c 10.0.0.2 -t 30 -i 5

Latency (ping)

  • Measure latency by using ping
  • Command: ping -n -q -c 1000 -i 0.01 10.0.0.2

Results (summary)

See Results (raw data) below if you want to know complete results.

Throughput (IP forwarding)

  • vanilla, softint-rx and softint-rx w/o ip_pktq show similar performance
    • vanilla > softint-rx w/o ip_pktq > softint-rx
      • No surprise
    • They degrade their performance as the offered traffic increases
      • It's because NetBSD doesn't have any mechanisms that cope with overload
  • polling-rx provides stable performance under overload
  • Even polling-rx doesn't achieve comparable performance to fast forward
  • softint-rx-ifq is better than vanilla
    • dunno why...

Throughput (fast forward)

  • vanilla provides stable good performance
  • softint-rx's performance is similar to the normal forward
    • It's very poor to vanilla
  • polling-rx achieves comparable performance for non-small packets
    • On 1 GbE measurements. We may need measurements on 10 GbE or above networks.
  • polling-rx drops 10% of performance from vanilla for small packets (46 and 100)
    • It's still much better than softint-rx
  • softint-rx-ifq is better than softint-rx
    • dunno why...

Throughput (iperf)

  • No visible differences between vanilla and softint-rx
  • The throughputs of softint-rx w/o ip_pktq is unstable
    • No idea why it happens.

Latency (ping)

  • No visible differences between three setups

Results (raw data)

Throughput (IP forwarding)

vanilla

RX/TX =  148809 / 148809 pps,   100M / 100Mbps |######### 100.0%
RX/TX =  240890 / 297619 pps,   162M / 200Mbps |################ 80.9%
RX/TX =  196909 / 446413 pps,   132M / 300Mbps |############# 44.1%
RX/TX =  158769 / 594693 pps,   107M / 400Mbps |########## 26.7%
RX/TX =  127333 / 742134 pps,    86M / 499Mbps |######## 17.2%
RX/TX =   92545 / 864257 pps,    62M / 581Mbps |###### 10.7%
RX/TX =   58893 /1033856 pps,    40M / 695Mbps |### 5.7%
RX/TX =   27824 /1177643 pps,    19M / 791Mbps |# 2.4%
RX/TX =     240 /1322862 pps,     0M / 889Mbps | 0.0%
RX/TX =     205 /1324482 pps,     0M / 890Mbps | 0.0%

softint-rx

RX/TX =  148801 / 148809 pps,   100M / 100Mbps |######### 100.0%
RX/TX =  233736 / 297619 pps,   157M / 200Mbps |############### 78.5%
RX/TX =  180315 / 446375 pps,   121M / 300Mbps |############ 40.4%
RX/TX =  131470 / 594183 pps,    88M / 399Mbps |######## 22.1%
RX/TX =   89461 / 743122 pps,    60M / 499Mbps |###### 12.0%
RX/TX =   47766 / 891361 pps,    32M / 599Mbps |### 5.4%
RX/TX =    1777 /1026788 pps,     1M / 690Mbps | 0.2%
RX/TX =      25 /1136506 pps,     0M / 764Mbps | 0.0%
RX/TX =      24 /1116790 pps,     0M / 750Mbps | 0.0%
RX/TX =      24 /1095990 pps,     0M / 737Mbps | 0.0%

softint-rx w/o ip_pktq

RX/TX =  148809 / 148809 pps,   100M / 100Mbps |######### 100.0%
RX/TX =  231003 / 297619 pps,   155M / 200Mbps |############### 77.6%
RX/TX =  201613 / 483431 pps,   135M / 325Mbps |############# 41.7%
RX/TX =  140213 / 593881 pps,    94M / 399Mbps |######### 23.6%
RX/TX =   99305 / 741738 pps,    67M / 498Mbps |###### 13.4%
RX/TX =   59854 / 885693 pps,    40M / 595Mbps |#### 6.8%
RX/TX =   19949 /1040430 pps,    13M / 699Mbps |# 1.9%
RX/TX =      41 /1169134 pps,     0M / 786Mbps | 0.0%
RX/TX =      44 /1125832 pps,     0M / 757Mbps | 0.0%
RX/TX =      31 /1118004 pps,     0M / 751Mbps | 0.0%

polling-rx w/o ip_pktq

RX/TX =  148809 / 148809 pps,   100M / 100Mbps |######### 100.0%
RX/TX =  253096 / 297597 pps,   170M / 200Mbps |################# 85.0%
RX/TX =  249331 / 446420 pps,   168M / 300Mbps |################ 55.9%
RX/TX =  249139 / 595134 pps,   167M / 400Mbps |################ 41.9%
RX/TX =  249300 / 743957 pps,   168M / 500Mbps |################ 33.5%
RX/TX =  249224 / 888774 pps,   167M / 597Mbps |################ 28.0%
RX/TX =  248720 /1024932 pps,   167M / 689Mbps |################ 24.3%
RX/TX =  248940 /1139081 pps,   167M / 765Mbps |################ 21.9%
RX/TX =  249486 /1246343 pps,   168M / 838Mbps |################ 20.0%
RX/TX =  249456 /1320829 pps,   168M / 888Mbps |################ 18.9%

softint-rx-ifqueue

RX/TX =  148809 / 148809 pps,   100M / 100Mbps |######### 100.0%
RX/TX =  251577 / 297619 pps,   169M / 200Mbps |################ 84.5%
RX/TX =  220755 / 445414 pps,   148M / 299Mbps |############## 49.6%
RX/TX =  191044 / 590019 pps,   128M / 396Mbps |############ 32.4%
RX/TX =  165478 / 741776 pps,   111M / 498Mbps |########### 22.3%
RX/TX =  140775 / 865848 pps,    95M / 582Mbps |######### 16.3%
RX/TX =  115349 /1013551 pps,    78M / 681Mbps |####### 11.4%
RX/TX =   91276 /1160645 pps,    61M / 780Mbps |###### 7.9%
RX/TX =   66339 /1308527 pps,    45M / 879Mbps |#### 5.1%
RX/TX =   37083 /1485810 pps,    25M / 998Mbps |## 2.5%

Throughput (fast forward)

vanilla

---- [pktsize 46] --------------------------------------------------------
RX/TX =  148809 / 148809 pps,   100M / 100Mbps |######### 100.0%
RX/TX =  297619 / 297619 pps,   200M / 200Mbps |################### 100.0%
RX/TX =  446428 / 446428 pps,   300M / 300Mbps |############################# 100.0%
RX/TX =  595167 / 595172 pps,   400M / 400Mbps |####################################### 100.0%
RX/TX =  613226 / 734546 pps,   412M / 494Mbps |######################################### 83.5%
RX/TX =  613543 / 881571 pps,   412M / 592Mbps |######################################### 69.6%
RX/TX =  613300 /1019636 pps,   412M / 685Mbps |######################################### 60.1%
RX/TX =  613346 /1127019 pps,   412M / 757Mbps |######################################### 54.4%
RX/TX =  612778 /1215494 pps,   412M / 817Mbps |######################################### 50.4%
RX/TX =  612676 /1313036 pps,   412M / 882Mbps |######################################### 46.7%
---- [pktsize 100] --------------------------------------------------------
RX/TX =   90579 /  90579 pps,   100M / 100Mbps |######### 100.0%
RX/TX =  181159 / 181159 pps,   200M / 200Mbps |################### 100.0%
RX/TX =  271739 / 271739 pps,   300M / 300Mbps |############################# 100.0%
RX/TX =  362318 / 362318 pps,   400M / 400Mbps |####################################### 100.0%
RX/TX =  452898 / 452898 pps,   500M / 500Mbps |################################################# 100.0%
RX/TX =  543461 / 543475 pps,   600M / 600Mbps |########################################################### 100.0%
RX/TX =  609966 / 631884 pps,   673M / 698Mbps |################################################################### 96.5%
RX/TX =  610692 / 718557 pps,   674M / 793Mbps |################################################################### 85.0%
RX/TX =  609093 / 799642 pps,   672M / 883Mbps |################################################################### 76.2%
RX/TX =  611438 / 838180 pps,   675M / 925Mbps |################################################################### 72.9%
---- [pktsize 200] --------------------------------------------------------
RX/TX =   52503 /  52503 pps,   100M / 100Mbps |######### 100.0%
RX/TX =  105042 / 105042 pps,   200M / 200Mbps |################### 100.0%
RX/TX =  157563 / 157563 pps,   300M / 300Mbps |############################# 100.0%
RX/TX =  210084 / 210084 pps,   400M / 400Mbps |####################################### 100.0%
RX/TX =  262605 / 262605 pps,   500M / 500Mbps |################################################# 100.0%
RX/TX =  315126 / 315126 pps,   600M / 600Mbps |########################################################### 100.0%
RX/TX =  367647 / 367647 pps,   700M / 700Mbps |##################################################################### 100.0%
RX/TX =  420168 / 420168 pps,   800M / 800Mbps |############################################################################### 100.0%
RX/TX =  472597 / 472722 pps,   900M / 900Mbps |######################################################################################### 100.0%
RX/TX =  495351 / 499054 pps,   943M / 950Mbps |############################################################################################## 99.3%

softint-rx

RX/TX =  148795 / 148795 pps,   100M / 100Mbps |######### 100.0%
RX/TX =  265815 / 297619 pps,   179M / 200Mbps |################# 89.3%
RX/TX =  268233 / 446428 pps,   180M / 300Mbps |################## 60.1%
RX/TX =  263222 / 595238 pps,   177M / 400Mbps |################# 44.2%
RX/TX =  258729 / 744047 pps,   174M / 500Mbps |################# 34.8%
RX/TX =  150093 / 892812 pps,   101M / 600Mbps |########## 16.8%
RX/TX =   48293 /1041439 pps,    32M / 700Mbps |### 4.6%
RX/TX =      35 /1144195 pps,     0M / 769Mbps | 0.0%
RX/TX =      30 /1121818 pps,     0M / 754Mbps | 0.0%
RX/TX =      26 /1103597 pps,     0M / 742Mbps | 0.0%

polling-rx

---- [pktsize 46] --------------------------------------------------------
RX/TX =  148809 / 148809 pps,   100M / 100Mbps |######### 100.0%
RX/TX =  297619 / 297619 pps,   200M / 200Mbps |################### 100.0%
RX/TX =  446428 / 446428 pps,   300M / 300Mbps |############################# 100.0%
RX/TX =  575780 / 594290 pps,   387M / 399Mbps |###################################### 96.9%
RX/TX =  576335 / 736012 pps,   387M / 495Mbps |###################################### 78.3%
RX/TX =  576152 / 875523 pps,   387M / 588Mbps |###################################### 65.8%
RX/TX =  576215 /1017037 pps,   387M / 683Mbps |###################################### 56.7%
RX/TX =  578614 /1129188 pps,   389M / 759Mbps |###################################### 51.2%
RX/TX =  580167 /1213327 pps,   390M / 815Mbps |###################################### 47.8%
RX/TX =  582009 /1307906 pps,   391M / 879Mbps |####################################### 44.5%
---- [pktsize 100] --------------------------------------------------------
RX/TX =   90579 /  90579 pps,   100M / 100Mbps |######### 100.0%
RX/TX =  181159 / 181159 pps,   200M / 200Mbps |################### 100.0%
RX/TX =  271739 / 271739 pps,   300M / 300Mbps |############################# 100.0%
RX/TX =  362318 / 362318 pps,   400M / 400Mbps |####################################### 100.0%
RX/TX =  452898 / 452898 pps,   500M / 500Mbps |################################################# 100.0%
RX/TX =  543471 / 543471 pps,   600M / 600Mbps |########################################################### 100.0%
RX/TX =  574167 / 630709 pps,   634M / 696Mbps |############################################################### 91.0%
RX/TX =  574014 / 717473 pps,   634M / 792Mbps |############################################################### 80.0%
RX/TX =  572854 / 798338 pps,   632M / 881Mbps |############################################################### 71.8%
RX/TX =  576296 / 829159 pps,   636M / 915Mbps |############################################################### 69.5%
---- [pktsize 200] --------------------------------------------------------
RX/TX =   52521 /  52521 pps,   100M / 100Mbps |######### 100.0%
RX/TX =  105042 / 105042 pps,   200M / 200Mbps |################### 100.0%
RX/TX =  157563 / 157563 pps,   300M / 300Mbps |############################# 100.0%
RX/TX =  210084 / 210084 pps,   400M / 400Mbps |####################################### 100.0%
RX/TX =  262605 / 262605 pps,   500M / 500Mbps |################################################# 100.0%
RX/TX =  315126 / 315126 pps,   600M / 600Mbps |########################################################### 100.0%
RX/TX =  367647 / 367647 pps,   700M / 700Mbps |##################################################################### 100.0%
RX/TX =  420166 / 420168 pps,   800M / 800Mbps |############################################################################### 100.0%
RX/TX =  472526 / 472628 pps,   900M / 900Mbps |######################################################################################### 100.0%
RX/TX =  494096 / 497666 pps,   941M / 948Mbps |############################################################################################## 99.3%

softint-rx-ifq

RX/TX =  148809 / 148809 pps,   100M / 100Mbps |######### 100.0%
RX/TX =  266358 / 297619 pps,   179M / 200Mbps |################# 89.5%
RX/TX =  332085 / 446428 pps,   223M / 300Mbps |###################### 74.4%
RX/TX =  286900 / 595238 pps,   193M / 400Mbps |################### 48.2%
RX/TX =  455092 / 744047 pps,   306M / 500Mbps |############################## 61.2%
RX/TX =  431025 / 892857 pps,   290M / 600Mbps |############################ 48.3%
RX/TX =  362945 /1040830 pps,   244M / 699Mbps |######################## 34.9%
RX/TX =  302093 /1186974 pps,   203M / 798Mbps |#################### 25.5%
RX/TX =  242670 /1333905 pps,   163M / 896Mbps |################ 18.2%
RX/TX =  174405 /1478412 pps,   117M / 993Mbps |########### 11.8%

Throughput (iperf)

vanilla

root@netmap:~ # iperf -c 10.0.0.2 -t 30 -i 5
------------------------------------------------------------
Client connecting to 10.0.0.2, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.1 port 21882 connected with 10.0.0.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec   561 MBytes   941 Mbits/sec
[  3]  5.0-10.0 sec   561 MBytes   942 Mbits/sec
[  3] 10.0-15.0 sec   561 MBytes   941 Mbits/sec
[  3] 15.0-20.0 sec   561 MBytes   942 Mbits/sec
[  3] 20.0-25.0 sec   561 MBytes   941 Mbits/sec
[  3] 25.0-30.0 sec   561 MBytes   942 Mbits/sec
[  3]  0.0-30.0 sec  3.29 GBytes   941 Mbits/sec
root@netmap:~ # iperf -c 10.0.0.2 -t 30 -i 5
------------------------------------------------------------
Client connecting to 10.0.0.2, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.1 port 34680 connected with 10.0.0.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec   561 MBytes   941 Mbits/sec
[  3]  5.0-10.0 sec   561 MBytes   942 Mbits/sec
[  3] 10.0-15.0 sec   561 MBytes   941 Mbits/sec
[  3] 15.0-20.0 sec   561 MBytes   942 Mbits/sec
[  3] 20.0-25.0 sec   561 MBytes   941 Mbits/sec
[  3] 25.0-30.0 sec   561 MBytes   941 Mbits/sec
[  3]  0.0-30.0 sec  3.29 GBytes   941 Mbits/sec
root@netmap:~ # iperf -c 10.0.0.2 -t 30 -i 5
------------------------------------------------------------
Client connecting to 10.0.0.2, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.1 port 43626 connected with 10.0.0.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec   561 MBytes   941 Mbits/sec
[  3]  5.0-10.0 sec   561 MBytes   942 Mbits/sec
[  3] 10.0-15.0 sec   561 MBytes   941 Mbits/sec
[  3] 15.0-20.0 sec   561 MBytes   941 Mbits/sec
[  3] 20.0-25.0 sec   561 MBytes   942 Mbits/sec
[  3] 25.0-30.0 sec   561 MBytes   941 Mbits/sec
[  3]  0.0-30.1 sec  3.30 GBytes   941 Mbits/sec
root@netmap:~ # iperf -c 10.0.0.2 -t 30 -i 5
------------------------------------------------------------
Client connecting to 10.0.0.2, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.1 port 41075 connected with 10.0.0.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec   561 MBytes   941 Mbits/sec
[  3]  5.0-10.0 sec   561 MBytes   941 Mbits/sec
[  3] 10.0-15.0 sec   561 MBytes   941 Mbits/sec
[  3] 15.0-20.0 sec   561 MBytes   942 Mbits/sec
[  3] 20.0-25.0 sec   561 MBytes   941 Mbits/sec
[  3] 25.0-30.0 sec   561 MBytes   942 Mbits/sec
[  3]  0.0-30.0 sec  3.29 GBytes   941 Mbits/sec

softint-rx

root@netmap:~ # iperf -c 10.0.0.2 -t 30 -i 5
------------------------------------------------------------
Client connecting to 10.0.0.2, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.1 port 63570 connected with 10.0.0.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec   561 MBytes   941 Mbits/sec
[  3]  5.0-10.0 sec   561 MBytes   941 Mbits/sec
[  3] 10.0-15.0 sec   561 MBytes   942 Mbits/sec
[  3] 15.0-20.0 sec   561 MBytes   941 Mbits/sec
[  3] 20.0-25.0 sec   561 MBytes   942 Mbits/sec
[  3] 25.0-30.0 sec   561 MBytes   941 Mbits/sec
[  3]  0.0-30.0 sec  3.29 GBytes   941 Mbits/sec
root@netmap:~ # iperf -c 10.0.0.2 -t 30 -i 5
------------------------------------------------------------
Client connecting to 10.0.0.2, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.1 port 46232 connected with 10.0.0.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec   561 MBytes   941 Mbits/sec
[  3]  5.0-10.0 sec   561 MBytes   942 Mbits/sec
[  3] 10.0-15.0 sec   561 MBytes   941 Mbits/sec
[  3] 15.0-20.0 sec   561 MBytes   941 Mbits/sec
[  3] 20.0-25.0 sec   561 MBytes   942 Mbits/sec
[  3] 25.0-30.0 sec   561 MBytes   941 Mbits/sec
[  3]  0.0-30.0 sec  3.29 GBytes   941 Mbits/sec
root@netmap:~ # iperf -c 10.0.0.2 -t 30 -i 5
------------------------------------------------------------
Client connecting to 10.0.0.2, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.1 port 29108 connected with 10.0.0.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec   561 MBytes   941 Mbits/sec
[  3]  5.0-10.0 sec   561 MBytes   941 Mbits/sec
[  3] 10.0-15.0 sec   561 MBytes   941 Mbits/sec
[  3] 15.0-20.0 sec   561 MBytes   942 Mbits/sec
[  3] 20.0-25.0 sec   561 MBytes   942 Mbits/sec
[  3] 25.0-30.0 sec   561 MBytes   941 Mbits/sec
[  3]  0.0-30.0 sec  3.29 GBytes   941 Mbits/sec
root@netmap:~ # iperf -c 10.0.0.2 -t 30 -i 5
------------------------------------------------------------
Client connecting to 10.0.0.2, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.1 port 18533 connected with 10.0.0.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec   561 MBytes   941 Mbits/sec
[  3]  5.0-10.0 sec   561 MBytes   941 Mbits/sec
[  3] 10.0-15.0 sec   561 MBytes   942 Mbits/sec
[  3] 15.0-20.0 sec   561 MBytes   941 Mbits/sec
[  3] 20.0-25.0 sec   561 MBytes   942 Mbits/sec
[  3] 25.0-30.0 sec   561 MBytes   941 Mbits/sec
[  3]  0.0-30.0 sec  3.29 GBytes   941 Mbits/sec

softint-rx w/o ip_pktq

root@netmap:~ # iperf -c 10.0.0.2 -t 30 -i 5
------------------------------------------------------------
Client connecting to 10.0.0.2, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.1 port 37639 connected with 10.0.0.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec   560 MBytes   940 Mbits/sec
[  3]  5.0-10.0 sec   561 MBytes   941 Mbits/sec
[  3] 10.0-15.0 sec   561 MBytes   941 Mbits/sec
[  3] 15.0-20.0 sec   561 MBytes   941 Mbits/sec
[  3] 20.0-25.0 sec   561 MBytes   941 Mbits/sec
[  3] 25.0-30.0 sec   558 MBytes   937 Mbits/sec
[  3]  0.0-30.0 sec  3.28 GBytes   940 Mbits/sec
root@netmap:~ # iperf -c 10.0.0.2 -t 30 -i 5
root@netmap:~ # iperf -c 10.0.0.2 -t 30 -i 5
------------------------------------------------------------
Client connecting to 10.0.0.2, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.1 port 64975 connected with 10.0.0.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec   552 MBytes   925 Mbits/sec
[  3]  5.0-10.0 sec   540 MBytes   906 Mbits/sec
[  3] 10.0-15.0 sec   542 MBytes   909 Mbits/sec
[  3] 15.0-20.0 sec   543 MBytes   911 Mbits/sec
[  3] 20.0-25.0 sec   543 MBytes   911 Mbits/sec
[  3] 25.0-30.0 sec   542 MBytes   909 Mbits/sec
[  3]  0.0-30.0 sec  3.19 GBytes   912 Mbits/sec
root@netmap:~ # iperf -c 10.0.0.2 -t 30 -i 5
------------------------------------------------------------
Client connecting to 10.0.0.2, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.1 port 43273 connected with 10.0.0.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec   555 MBytes   931 Mbits/sec
[  3]  5.0-10.0 sec   545 MBytes   915 Mbits/sec
[  3] 10.0-15.0 sec   547 MBytes   917 Mbits/sec
[  3] 15.0-20.0 sec   548 MBytes   920 Mbits/sec
[  3] 20.0-25.0 sec   547 MBytes   917 Mbits/sec
[  3] 25.0-30.0 sec   547 MBytes   918 Mbits/sec
[  3]  0.0-30.0 sec  3.21 GBytes   920 Mbits/sec
root@netmap:~ # iperf -c 10.0.0.2 -t 30 -i 5
------------------------------------------------------------
Client connecting to 10.0.0.2, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.1 port 11353 connected with 10.0.0.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec   561 MBytes   941 Mbits/sec
[  3]  5.0-10.0 sec   561 MBytes   942 Mbits/sec
[  3] 10.0-15.0 sec   561 MBytes   941 Mbits/sec
[  3] 15.0-20.0 sec   561 MBytes   942 Mbits/sec
[  3] 20.0-25.0 sec   561 MBytes   941 Mbits/sec
[  3] 25.0-30.0 sec   561 MBytes   942 Mbits/sec
[  3]  0.0-30.0 sec  3.29 GBytes   941 Mbits/sec
root@netmap:~ # iperf -c 10.0.0.2 -t 30 -i 5
------------------------------------------------------------
Client connecting to 10.0.0.2, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.1 port 64076 connected with 10.0.0.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec   553 MBytes   928 Mbits/sec
[  3]  5.0-10.0 sec   555 MBytes   931 Mbits/sec
[  3] 10.0-15.0 sec   553 MBytes   927 Mbits/sec
[  3] 15.0-20.0 sec   552 MBytes   926 Mbits/sec
[  3] 20.0-25.0 sec   554 MBytes   930 Mbits/sec
[  3] 25.0-30.0 sec   554 MBytes   929 Mbits/sec
[  3]  0.0-30.0 sec  3.24 GBytes   928 Mbits/sec
root@netmap:~ # iperf -c 10.0.0.2 -t 30 -i 5
------------------------------------------------------------
Client connecting to 10.0.0.2, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.1 port 15429 connected with 10.0.0.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec   554 MBytes   930 Mbits/sec
[  3]  5.0-10.0 sec   561 MBytes   942 Mbits/sec
[  3] 10.0-15.0 sec   561 MBytes   941 Mbits/sec
[  3] 15.0-20.0 sec   561 MBytes   941 Mbits/sec
[  3] 20.0-25.0 sec   561 MBytes   942 Mbits/sec
[  3] 25.0-30.0 sec   561 MBytes   941 Mbits/sec
[  3]  0.0-30.0 sec  3.28 GBytes   940 Mbits/sec
root@netmap:~ # iperf -c 10.0.0.2 -t 30 -i 5
------------------------------------------------------------
Client connecting to 10.0.0.2, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.1 port 51424 connected with 10.0.0.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec   554 MBytes   929 Mbits/sec
[  3]  5.0-10.0 sec   554 MBytes   929 Mbits/sec
[  3] 10.0-15.0 sec   559 MBytes   937 Mbits/sec
[  3] 15.0-20.0 sec   559 MBytes   937 Mbits/sec
[  3] 20.0-25.0 sec   561 MBytes   941 Mbits/sec
[  3] 25.0-30.0 sec   552 MBytes   925 Mbits/sec
[  3]  0.0-30.0 sec  3.26 GBytes   933 Mbits/sec
root@netmap:~ # iperf -c 10.0.0.2 -t 30 -i 5
------------------------------------------------------------
Client connecting to 10.0.0.2, TCP port 5001
TCP window size: 32.5 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.1 port 12877 connected with 10.0.0.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 5.0 sec   560 MBytes   940 Mbits/sec
[  3]  5.0-10.0 sec   561 MBytes   941 Mbits/sec
[  3] 10.0-15.0 sec   561 MBytes   942 Mbits/sec
[  3] 15.0-20.0 sec   561 MBytes   941 Mbits/sec
[  3] 20.0-25.0 sec   561 MBytes   942 Mbits/sec
[  3] 25.0-30.0 sec   561 MBytes   941 Mbits/sec
[  3]  0.0-30.0 sec  3.29 GBytes   941 Mbits/sec

Latency (ping)

vanilla

root@netmap:~ # ping -n -q -c 1000 -i 0.01 10.0.0.2
PING 10.0.0.2 (10.0.0.2): 56 data bytes
--- 10.0.0.2 ping statistics ---
1000 packets transmitted, 1000 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.042/0.052/0.421/0.022 ms
root@netmap:~ # ping -n -q -c 1000 -i 0.01 10.0.0.2
PING 10.0.0.2 (10.0.0.2): 56 data bytes
--- 10.0.0.2 ping statistics ---
1000 packets transmitted, 1000 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.041/0.052/0.703/0.030 ms
root@netmap:~ # ping -n -q -c 1000 -i 0.01 10.0.0.2
PING 10.0.0.2 (10.0.0.2): 56 data bytes
--- 10.0.0.2 ping statistics ---
1000 packets transmitted, 1000 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.042/0.052/0.446/0.024 ms

softint-rx

root@netmap:~ # ping -n -q -c 1000 -i 0.01 10.0.0.2
PING 10.0.0.2 (10.0.0.2): 56 data bytes
--- 10.0.0.2 ping statistics ---
1000 packets transmitted, 1000 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.042/0.053/0.417/0.024 ms
root@netmap:~ # ping -n -q -c 1000 -i 0.01 10.0.0.2
PING 10.0.0.2 (10.0.0.2): 56 data bytes
--- 10.0.0.2 ping statistics ---
1000 packets transmitted, 1000 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.040/0.054/0.499/0.030 ms
root@netmap:~ # ping -n -q -c 1000 -i 0.01 10.0.0.2
PING 10.0.0.2 (10.0.0.2): 56 data bytes
--- 10.0.0.2 ping statistics ---
1000 packets transmitted, 1000 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.043/0.053/0.672/0.029 ms

softint-rx w/o ip_pktq

root@netmap:~ # ping -n -q -c 1000 -i 0.01 10.0.0.2
PING 10.0.0.2 (10.0.0.2): 56 data bytes
--- 10.0.0.2 ping statistics ---
1000 packets transmitted, 1000 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.042/0.051/0.419/0.022 ms
root@netmap:~ # ping -n -q -c 1000 -i 0.01 10.0.0.2
PING 10.0.0.2 (10.0.0.2): 56 data bytes
--- 10.0.0.2 ping statistics ---
1000 packets transmitted, 1000 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.041/0.051/0.440/0.022 ms
root@netmap:~ # ping -n -q -c 1000 -i 0.01 10.0.0.2
PING 10.0.0.2 (10.0.0.2): 56 data bytes
--- 10.0.0.2 ping statistics ---
1000 packets transmitted, 1000 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.041/0.052/0.420/0.026 ms
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment