thanks WanWizard, I think I reached the right person considering your nick .
Note that for IPsec, it also very important how you make your setup. A lot of (cheaper) home routers don't have the CPU to do proper encryption, a Fritzbox completely collapses on heavy AES, troughput doubles when you use 3DES (which is not considered secure anymore). Quite a few don't even manage 10Mbps encrypted traffic through a tunnel...
Well this is an issue I addressed towards avm already, although both routers ( 7490 and 3370 ) are dual core and do not show lots of cpu load when stream starts thru vpn, however CPU is not the main thing to watch like a dog, see later on I noticed sirq goes thru the roof (100%).
Find below an example for a stream ( NPO1 HD which is approx 12M/bit according to the bitrate viewer tool ):
A simple top shows on both boxes while streaming ( et10000 from 7490 requests http stream from stb behind 3370 ) :
A/ omitting VPN:
7490:
Mem: 83452K used, 162460K free, 3812K shrd, 6004K buff, 28808K cached
CPU0: 0.7% usr 0.3% sys 0.0% nic 98.8% idle 0.0% io 0.0% irq 0.0% sirq
CPU1: 0.1% usr 0.7% sys 0.0% nic 99.0% idle 0.0% io 0.0% irq 0.0% sirq
Load average: 1.00 1.00 1.00 1/126 7275
PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND
7275 7243 root R 1372 0.5 1 0.4 {busybox} top
1177 1 root S 16060 6.5 0 0.3 /usr/bin/avm/ctlmgr
1187 1 root S 8340 3.3 1 0.1 upnpd
3370:
Mem: 98052K used, 16260K free, 1928K shrd, 11280K buff, 38904K cached
CPU0: 0.1% usr 0.1% sys 0.0% nic 35.6% idle 0.0% io 0.1% irq 63.7% sirq
CPU1: 0.1% usr 0.5% sys 0.0% nic 99.2% idle 0.0% io 0.0% irq 0.0% sirq
Load average: 1.00 1.00 1.00 1/106 8425
PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND
4 2 root SW 0 0.0 0 18.9 [ksoftirqd/0]
8230 7847 root R 1316 1.1 0 0.3 {busybox} top
133 2 root SW 0 0.0 1 0.1 [avmnet_workqueu]
nearly idle ( was expected )
B/ using a 7,5Mbit transcoded VPN connection
7490
Mem: 83272K used, 162640K free, 3812K shrd, 6004K buff, 28808K cached
CPU0: 0.1% usr 1.3% sys 0.0% nic 98.2% idle 0.0% io 0.0% irq 0.1% sirq
CPU1: 0.0% usr 0.7% sys 0.0% nic 99.2% idle 0.0% io 0.0% irq 0.0% sirq
Load average: 1.00 1.00 1.00 1/126 7275
PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND
7275 7243 root R 1372 0.5 1 0.4 {busybox} top
1177 1 root S 16060 6.5 0 0.2 /usr/bin/avm/ctlmgr
1609 1 root S 9720 3.9 1 0.0 /usr/bin/aha
3370
Mem: 98048K used, 16264K free, 1928K shrd, 11280K buff, 38904K cached
CPU0: 0.3% usr 0.5% sys 0.0% nic 97.8% idle 0.0% io 0.5% irq 0.5% sirq
CPU1: 0.3% usr 0.5% sys 0.0% nic 99.0% idle 0.0% io 0.0% irq 0.0% sirq
Load average: 1.00 1.00 1.00 1/108 10788
PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND
8230 7847 root R 1316 1.1 1 0.4 {busybox} top
1033 1 root S 3120 2.7 0 0.1 l2tpv3d
1040 1 root S 15136 13.2 1 0.0 /usr/bin/avm/ctlmgr
As transcoded stream is flawless this indicates the VPN can happily handle the stream.
More interesting barely high value of sirq noticed
C/ full blown VPN connection ( 12-13Mbit in this case ):
Now this is where things get interesting ...
7490
Mem: 83332K used, 162580K free, 3812K shrd, 6004K buff, 28808K cached
CPU0: 0.1% usr 0.5% sys 0.0% nic 33.6% idle 0.0% io 0.0% irq 65.5% sirq
CPU1: 0.5% usr 0.7% sys 0.0% nic 98.6% idle 0.0% io 0.0% irq 0.0% sirq
Load average: 1.00 1.00 1.00 3/126 7275
PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND
4 2 root RW 0 0.0 0 0.9 [ksoftirqd/0]
1230 1 root S 4088 1.6 0 0.6 multid
7275 7243 root R 1372 0.5 1 0.4 {busybox} top
3370
After a few seconds my session to this box times out, in other words it seems to collapse :-)
Mem: 99768K used, 14544K free, 1940K shrd, 11280K buff, 38916K cached
CPU0: 0.0% usr 0.0% sys 0.0% nic 0.0% idle 0.0% io 0.0% irq 100% sirq
CPU1: 14.2% usr 14.2% sys 0.0% nic 71.4% idle 0.0% io 0.0% irq 0.0% sirq
Load average: 1.51 1.24 1.09 2/112 12219
PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND
4 2 root RW 0 0.0 0 60.6 [ksoftirqd/0]
12217 12180 root R 1316 1.1 1 4.7 {busybox} top
It got to my attention the sirq time has increased massivly, on the 3370 to 100% so here we have an indication.
This sirq is time where the CPU was busy executing instructions in the context of handling soft IRQs: VPN
Now rgd ping packets both stbs return OK with 1500 packet size ( idle VPN connection ), however over double the time as the draytek connection shows ( around 70ms ):
root@et10000:~# ping 192.168.20.12 -s 1500
PING 192.168.20.12 (192.168.20.12): 1500 data bytes
1508 bytes from 192.168.20.12: seq=0 ttl=62 time=71.864 ms
1508 bytes from 192.168.20.12: seq=1 ttl=62 time=71.311 ms
1508 bytes from 192.168.20.12: seq=2 ttl=62 time=71.958 ms
1508 bytes from 192.168.20.12: seq=3 ttl=62 time=71.788 ms
1508 bytes from 192.168.20.12: seq=4 ttl=62 time=72.016 ms
1508 bytes from 192.168.20.12: seq=5 ttl=62 time=71.712 ms
1508 bytes from 192.168.20.12: seq=6 ttl=62 time=71.270 ms
1508 bytes from 192.168.20.12: seq=7 ttl=62 time=71.783 ms
1508 bytes from 192.168.20.12: seq=8 ttl=62 time=71.504 ms
1508 bytes from 192.168.20.12: seq=9 ttl=62 time=71.990 ms
1508 bytes from 192.168.20.12: seq=10 ttl=62 time=71.909 ms
1508 bytes from 192.168.20.12: seq=11 ttl=62 time=71.869 ms
1508 bytes from 192.168.20.12: seq=12 ttl=62 time=72.129 ms
1508 bytes from 192.168.20.12: seq=13 ttl=62 time=71.183 ms
1508 bytes from 192.168.20.12: seq=14 ttl=62 time=72.145 ms
1508 bytes from 192.168.20.12: seq=15 ttl=62 time=71.726 ms
root@vusolo:~# ping 192.168.10.11 -s 1500
PING 192.168.10.11 (192.168.10.11): 1500 data bytes
1508 bytes from 192.168.10.11: seq=0 ttl=62 time=74.775 ms
1508 bytes from 192.168.10.11: seq=1 ttl=62 time=72.407 ms
1508 bytes from 192.168.10.11: seq=2 ttl=62 time=71.458 ms
1508 bytes from 192.168.10.11: seq=3 ttl=62 time=71.767 ms
1508 bytes from 192.168.10.11: seq=4 ttl=62 time=72.418 ms
1508 bytes from 192.168.10.11: seq=5 ttl=62 time=72.150 ms
1508 bytes from 192.168.10.11: seq=6 ttl=62 time=71.957 ms
1508 bytes from 192.168.10.11: seq=7 ttl=62 time=71.988 ms
1508 bytes from 192.168.10.11: seq=8 ttl=62 time=72.263 ms
1508 bytes from 192.168.10.11: seq=9 ttl=62 time=71.479 ms
1508 bytes from 192.168.10.11: seq=10 ttl=62 time=71.865 ms
1508 bytes from 192.168.10.11: seq=11 ttl=62 time=71.712 ms
1508 bytes from 192.168.10.11: seq=12 ttl=62 time=71.921 ms
1508 bytes from 192.168.10.11: seq=13 ttl=62 time=72.254 ms
1508 bytes from 192.168.10.11: seq=14 ttl=62 time=72.016 ms
1508 bytes from 192.168.10.11: seq=15 ttl=62 time=71.654 ms
Things getting hard from "-s 25153 " :
root@vusolo:~# ping 192.168.10.11 -s 25152
PING 192.168.10.11 (192.168.10.11): 25152 data bytes
25160 bytes from 192.168.10.11: seq=0 ttl=62 time=100.949 ms
25160 bytes from 192.168.10.11: seq=1 ttl=62 time=100.842 ms
25160 bytes from 192.168.10.11: seq=2 ttl=62 time=100.495 ms
25160 bytes from 192.168.10.11: seq=3 ttl=62 time=100.008 ms
25160 bytes from 192.168.10.11: seq=4 ttl=62 time=100.042 ms
25160 bytes from 192.168.10.11: seq=5 ttl=62 time=99.858 ms
25160 bytes from 192.168.10.11: seq=6 ttl=62 time=99.315 ms
25160 bytes from 192.168.10.11: seq=7 ttl=62 time=99.904 ms
25160 bytes from 192.168.10.11: seq=8 ttl=62 time=99.810 ms
25160 bytes from 192.168.10.11: seq=9 ttl=62 time=99.536 ms
25160 bytes from 192.168.10.11: seq=10 ttl=62 time=100.202 ms
25160 bytes from 192.168.10.11: seq=11 ttl=62 time=99.754 ms
25160 bytes from 192.168.10.11: seq=12 ttl=62 time=99.880 ms
25160 bytes from 192.168.10.11: seq=13 ttl=62 time=100.152 ms
25160 bytes from 192.168.10.11: seq=14 ttl=62 time=99.730 ms
25160 bytes from 192.168.10.11: seq=15 ttl=62 time=100.103 ms
root@vusolo:~# ping 192.168.10.11 -s 25153
PING 192.168.10.11 (192.168.10.11): 25153 data bytes
25161 bytes from 192.168.10.11: seq=0 ttl=62 time=100.957 ms
25161 bytes from 192.168.10.11: seq=4 ttl=62 time=100.383 ms
25161 bytes from 192.168.10.11: seq=16 ttl=62 time=101.741 ms
root@et10000:~# ping 192.168.20.12 -s 25152
PING 192.168.30.12 (192.168.20.12): 25152 data bytes
25160 bytes from 192.168.20.12: seq=0 ttl=62 time=99.445 ms
25160 bytes from 192.168.20.12: seq=1 ttl=62 time=99.045 ms
25160 bytes from 192.168.20.12: seq=2 ttl=62 time=99.229 ms
25160 bytes from 192.168.20.12: seq=3 ttl=62 time=99.549 ms
25160 bytes from 192.168.20.12: seq=4 ttl=62 time=98.873 ms
25160 bytes from 192.168.20.12: seq=5 ttl=62 time=99.097 ms
25160 bytes from 192.168.20.12: seq=6 ttl=62 time=98.869 ms
25160 bytes from 192.168.20.12: seq=7 ttl=62 time=99.379 ms
25160 bytes from 192.168.20.12: seq=8 ttl=62 time=99.142 ms
25160 bytes from 192.168.20.12: seq=9 ttl=62 time=98.822 ms
25160 bytes from 192.168.20.12: seq=10 ttl=62 time=99.296 ms
25160 bytes from 192.168.20.12: seq=11 ttl=62 time=99.395 ms
25160 bytes from 192.168.20.12: seq=12 ttl=62 time=98.846 ms
25160 bytes from 192.168.20.12: seq=13 ttl=62 time=99.270 ms
25160 bytes from 192.168.20.12: seq=14 ttl=62 time=99.313 ms
25160 bytes from 192.168.20.12: seq=15 ttl=62 time=98.876 ms
Edited by dolphs, 28 March 2016 - 05:26.