Wireguard - technische Diskussion

Angelehnt an : WireGuard als zukünftige VPN-Lösung? ---- Gluon/openwrt linux kernel 4.1++ ?

#Zusammenfassung

Wir haben LEDE im Blankodurchsatz und mit aktuellem Wireguard getestet auf TP-Link841N v11.1 Routern. (4MB Flash, 32 Mb Ram , CPU:650.000MHz)
genommen haben wir das vom 27.Juli 2016 LEDE
Linux version 4.4.15 (buildbot@builds) (gcc version 5.4.0 (LEDE GCC 5.4.0 r1114) ) … HEAD, r1117
Blankodurchsatz auf den Kisten mit reinem Routing LAN 93 Mbs
Durchsatz mit Wireguard , im jetzigen Zustand 15.5 Mbs , allerdings haben wir WG dabei auch abgeschossen, bzw war akut danach nicht mehr pingbar von einer Seite - zwischenzeitlich einen Load von 2.6 erzeugt und eon „out of Ram on eth0 … oomkiller“, das zeigt auf einen Bug - das heisst das da durchaus Spielraum nach oben ist, ansonsten erstmal schwer ernüchternd.
Der Bug(2) muss nicht in Wireguard selber liegen, hier teilen wir erstmal nur unsere Zwischenergebnisse.

[ 4316.816332] netifd invoked oom-killer: gfp_mask=0x24201ca, order=0, oom_score_adj=0

setup

Das Setup bestand aus
Laptop ↔ 841 ↔ 841 ↔ Laptop , auf den Laptops wurde mit Iperf3 gemessen.
die laptops hingen an lan und die Router wurde via WAN miteinander verbunden

installierte Pakete auf den 841 - LEDE Routern

mit einem opkg update && opkg install kmod-wireguard wireguard-tools sind wir in ein nicht genug Speicher getappt … die Pakete einzeln runterladen mit opkg --download-only install … in ein /tmp/wg ordner und dort dann opkg install * hat funktioniert
(eigentlich wollten wir noch l2tp on top und fastd im Vergleich testen, iperf haben wir letztendlich NICHT auf den Geräten direkt selber benutzt, daher die Pakete dazu)

# mkdir /tmp/wg ; cd /tmp/wg; opkg update; opkg install --download-only wireguard-tools libmnl kmod-wireguard kmod-udptunnel4 kmod-udptunnel4 kmod-ipt-hashlimit kmod-ipt-core libpthread uclibcxx iperf kmod-l2tp
# cd /tmp/wg; opkg install *
# ls /tmp/wg
fastd_18-1_mips_34kc.ipk                            kmod-wireguard_4.4.15+0.0.20160722-1_mips_34kc.ipk
iperf_2.0.9-1_mips_34kc.ipk                         libmnl_1.0.3-2_mips_34kc.ipk
kmod-ipt-hashlimit_4.4.15-1_mips_34kc.ipk           libpthread_1.1.15-1_mips_34kc.ipk
kmod-l2tp_4.4.15-1_mips_34kc.ipk                    librt_1.1.15-1_mips_34kc.ipk
kmod-tun_4.4.15-1_mips_34kc.ipk                     uclibcxx_0.2.4-3_mips_34kc.ipk
kmod-udptunnel4_4.4.15-1_mips_34kc.ipk              wireguard-tools_0.0.20160722-1_mips_34kc.ipk
kmod-udptunnel6_4.4.15-1_mips_34kc.ipk

wireguard script und routing

natürlich auf dem 2. router angepasst

root@lede:/tmp# cat wg.sh
#!/bin/sh
IFACE=wg0

cat <<EOF > /tmp/wg_conf
[Interface]
ListenPort = 40000

[Peer]
# pubkey from other router
PublicKey = Z5ooa4tuBZVH3vOQUH22cjJIEXCUVoyagmXT6RC9QEE=
# on the other router this should be
# AllowedIPs = 10.10.0.1/32, 192.168.1.1/32, 192.168.1.23/32
# Endpoint = 10.0.0.1:40000
AllowedIPs = 10.10.0.2/32, 192.168.2.1/32, 192.168.2.23/32
Endpoint = 10.0.0.2:40000
EOF

# just one previous generated secret key ... the correct pubkey need to be in 2nd router
cat <<EOF > /tmp/privatekey
uGyzl5QPUpMkJlRvTPM7kMjX/s6olCVUyHFGCbTAY0k=
EOF

/sbin/ip link add dev $IFACE type wireguard
# on the other router should be
# /sbin/ip address add dev $IFACE 10.10.0.2 peer 10.10.0.1
/sbin/ip address add dev $IFACE 10.10.0.1 peer 10.10.0.2
/usr/bin/wg set $IFACE private-key /tmp/privatekey
/usr/bin/wg addconf $IFACE /tmp/wg_conf
# /sbin/ip link set $IFACE down
# /sbin/ip link del dev $IFACE
ifconfig wg0 up

blankes Routing - 93Mbs

###############
# plain routing through 2 841v11.1

root@K:/home/k/wiki/wg-lede# iperf3 -c 192.168.2.23 -p 4000 -t 20
Connecting to host 192.168.2.23, port 4000
[  4] local 192.168.1.23 port 37940 connected to 192.168.2.23 port 4000
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  11.6 MBytes  96.9 Mbits/sec    0    127 KBytes       
[  4]   1.00-2.00   sec  11.4 MBytes  95.4 Mbits/sec    0    205 KBytes       
[  4]   2.00-3.00   sec  11.2 MBytes  93.8 Mbits/sec    1    165 KBytes       
[  4]   3.00-4.00   sec  11.1 MBytes  93.3 Mbits/sec    0    187 KBytes       
[  4]   4.00-5.00   sec  11.2 MBytes  94.4 Mbits/sec    0    187 KBytes       
[  4]   5.00-6.00   sec  11.2 MBytes  94.4 Mbits/sec    0    187 KBytes       
[  4]   6.00-7.00   sec  11.2 MBytes  93.8 Mbits/sec    0    187 KBytes       
[  4]   7.00-8.00   sec  11.1 MBytes  93.3 Mbits/sec    0    187 KBytes       
[  4]   8.00-9.00   sec  11.1 MBytes  93.3 Mbits/sec    2    146 KBytes       
[  4]   9.00-10.00  sec  11.2 MBytes  94.4 Mbits/sec    0    150 KBytes       
[  4]  10.00-11.00  sec  11.2 MBytes  93.8 Mbits/sec    0    150 KBytes       
[  4]  11.00-12.00  sec  11.1 MBytes  93.3 Mbits/sec    0    161 KBytes       
[  4]  12.00-13.00  sec  11.2 MBytes  93.8 Mbits/sec    0    167 KBytes       
[  4]  13.00-14.00  sec  11.2 MBytes  93.8 Mbits/sec    0    168 KBytes       
[  4]  14.00-15.00  sec  11.1 MBytes  93.3 Mbits/sec    0    173 KBytes       
[  4]  15.00-16.00  sec  11.1 MBytes  93.3 Mbits/sec    0    181 KBytes       
[  4]  16.00-17.00  sec  11.1 MBytes  93.3 Mbits/sec    2    120 KBytes       
[  4]  17.00-18.00  sec  11.2 MBytes  93.8 Mbits/sec    0    139 KBytes       
[  4]  18.00-19.00  sec  11.1 MBytes  92.8 Mbits/sec    1    151 KBytes       
[  4]  19.00-20.00  sec  11.2 MBytes  93.8 Mbits/sec    0    160 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-20.00  sec   224 MBytes  93.9 Mbits/sec    6             sender
[  4]   0.00-20.00  sec   223 MBytes  93.7 Mbits/sec                  receiver
iperf Done.

# on lede router
CPU:   0% usr   6% sys   0% nic  42% idle   0% io   0% irq  51% sirq
CPU:   0% usr   6% sys   0% nic  38% idle   0% io   0% irq  53% sirq

Wireguard Routing - 15Mbs

##############
Testergebnis durch wireguard 

# iperf3 -c 192.168.2.23 -p 4000 -t 20
Connecting to host 192.168.2.23, port 4000
[  4] local 192.168.1.23 port 38526 connected to 192.168.2.23 port 4000
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  2.02 MBytes  17.0 Mbits/sec   70   8.03 KBytes       
[  4]   1.00-2.00   sec  1.79 MBytes  15.0 Mbits/sec   95   6.69 KBytes       
[  4]   2.00-3.00   sec  1.75 MBytes  14.7 Mbits/sec   82   6.69 KBytes       
[  4]   3.00-4.00   sec  1.82 MBytes  15.3 Mbits/sec   95   4.02 KBytes       
[  4]   4.00-5.00   sec  1.89 MBytes  15.9 Mbits/sec   84   8.03 KBytes       
[  4]   5.00-6.00   sec  1.86 MBytes  15.6 Mbits/sec   85   8.03 KBytes       
[  4]   6.00-7.00   sec  1.84 MBytes  15.4 Mbits/sec   86   6.69 KBytes       
[  4]   7.00-8.00   sec  1.82 MBytes  15.2 Mbits/sec   89   6.69 KBytes       
[  4]   8.00-9.00   sec  1.87 MBytes  15.7 Mbits/sec   86   6.69 KBytes       
[  4]   9.00-10.00  sec  1.94 MBytes  16.3 Mbits/sec   90   8.03 KBytes       
[  4]  10.00-11.00  sec  1.85 MBytes  15.5 Mbits/sec   79   8.03 KBytes       
[  4]  11.00-12.00  sec  1.84 MBytes  15.4 Mbits/sec   82   8.03 KBytes       
[  4]  12.00-13.00  sec  1.85 MBytes  15.5 Mbits/sec   84   6.69 KBytes       
[  4]  13.00-14.00  sec  1.87 MBytes  15.7 Mbits/sec   71   8.03 KBytes       
[  4]  14.00-15.00  sec  1.84 MBytes  15.5 Mbits/sec   75   6.69 KBytes       
[  4]  15.00-16.00  sec  1.78 MBytes  14.9 Mbits/sec   80   5.36 KBytes       
[  4]  16.00-17.00  sec  1.77 MBytes  14.9 Mbits/sec   89   8.03 KBytes       
[  4]  17.00-18.00  sec  1.85 MBytes  15.5 Mbits/sec   83   6.69 KBytes       
[  4]  18.00-19.00  sec  1.85 MBytes  15.5 Mbits/sec   86   5.36 KBytes       
[  4]  19.00-20.00  sec  1.80 MBytes  15.1 Mbits/sec   87   5.36 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-20.00  sec  36.9 MBytes  15.5 Mbits/sec  1678             sender
[  4]   0.00-20.00  sec  36.8 MBytes  15.5 Mbits/sec                  receiver

Wireguard heavy load on Node

Load average: 2.36 0.61 0.20 1/38 1920
  PID  PPID USER     STAT   VSZ %VSZ %CPU COMMAND
   97     2 root     SW       0   0%   0% [kworker/0:1]
 1198     1 root     S     1632   6%   0% /sbin/netifd
    1     0 root     S     1524   5%   0% /sbin/procd
  690     1 root     S     1348   5%   0% /usr/sbin/odhcpd
 1896     1 root     S     1224   4%   0% /sbin/logd -S 64
 1897  1893 root     S     1180   4%   0% -ash
 1920  1897 root     R     1180   4%   0% top
  821     1 root     S <   1176   4%   0% /usr/sbin/ntpd -n -N -S /usr/sbin/ntp
  447     1 root     S     1176   4%   0% /sbin/ubusd
 1893   723 root     S     1124   4%   0% /usr/sbin/dropbear -F -P /var/run/dro
  723     1 root     S     1056   4%   0% /usr/sbin/dropbear -F -P /var/run/dro
 1305     1 dnsmasq  S     1048   4%   0% /usr/sbin/dnsmasq -C /var/etc/dnsmasq
 1915  1198 root     S      916   3%   0% odhcp6c -s /lib/netifd/dhcpv6.script
  448     1 root     S      892   3%   0% /sbin/askfirst /usr/libexec/login.sh
    3     2 root     SW       0   0%   0% [ksoftirqd/0]
   96     2 root     SW       0   0%   0% [kswapd0]
   98     2 root     SW       0   0%   0% [kworker/u2:2]
    7     2 root     SW       0   0%   0% [kworker/u2:1]
  192     2 root     SW       0   0%   0% [spi0]
^C387     2 root     SWN      0   0%   0% [jffs2_gcd_mtd3]
root@lede:~# 
root@lede:~# uptime
 02:22:38 up  1:12,  load average: 2.16, 0.59, 0.20

routen hints

####### Config routen n3ph 
default via 172.16.0.1 dev wlp2s0  proto static  metric 600 
10.0.0.0/24 via 192.168.2.1 dev enp0s25 
10.10.0.0/24 via 192.168.2.1 dev enp0s25 
127.0.0.0/8 dev lo  scope host 
172.16.0.0/16 dev wlp2s0  proto kernel  scope link  src 172.16.2.119  metric 600 
192.168.1.0/24 via 192.168.2.1 dev enp0s25 
192.168.2.0/24 dev enp0s25  proto kernel  scope link  src 192.168.2.23 

####### config routen n3ph 841-11
10.0.0.0/24 dev eth1  src 10.0.0.2 
10.10.0.1 dev wg0  src 10.10.0.2 
192.168.1.0/24 via 10.10.0.1 dev wg0 
192.168.2.0/24 dev br-lan  src 192.168.2.1 

####### config routen fuzzle 841-11
root@lede:~# route 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        *               255.255.255.0   U     0      0        0 eth1
10.10.0.2       *               255.255.255.255 UH    0      0        0 wg0
192.168.1.0     *               255.255.255.0   U     0      0        0 br-lan
192.168.2.0     10.10.0.2       255.255.255.0   UG    0      0        0 wg0
root@lede:~# ip route
10.0.0.0/24 dev eth1  src 10.0.0.1 
10.10.0.2 dev wg0  src 10.10.0.1 
192.168.1.0/24 dev br-lan  src 192.168.1.1 
192.168.2.0/24 via 10.10.0.2 dev wg0 


####### config routen fuzzle
$ route
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    600    0        0 wlan0
10.0.0.0        192.168.1.1     255.255.255.0   UG    0      0        0 eth0
10.10.0.0       192.168.1.1     255.255.255.0   UG    0      0        0 eth0
10.60.0.0       0.0.0.0         255.255.0.0     U     600    0        0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.2.0     192.168.1.1     255.255.255.0   UG    0      0        0 eth0

discourse limit

sollte mind im erklärbär höher liegen .!!

3 „Gefällt mir“

#dmesg lede crash …

[  5] local 192.168.2.23 port 4000 connected to 192.168.1.23 port 40859
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  5]   0.00-1.00   sec  2.95 MBytes  24.7 Mbits/sec  1.482 ms  749/1126 (67%)  
[  5]   1.00-2.00   sec  2.23 MBytes  18.7 Mbits/sec  2.896 ms  682/967 (71%)  
[  5]   2.00-3.00   sec  0.00 Bytes  0.00 bits/sec  2.896 ms  0/0 (-nan%)  
[  5]   3.00-4.00   sec   256 KBytes  2.10 Mbits/sec  22.290 ms  100/132 (76%)  
[  5]   4.00-5.00   sec  3.70 MBytes  31.1 Mbits/sec  3.353 ms  4220/4694 (90%)  
[  5]   5.00-6.00   sec  3.85 MBytes  32.3 Mbits/sec  1.387 ms  929/1422 (65%)  
[  5]   6.00-7.00   sec  4.63 MBytes  38.9 Mbits/sec  1.969 ms  860/1453 (59%)  
[  5]   7.00-8.00   sec  4.66 MBytes  39.1 Mbits/sec  2.556 ms  882/1479 (60%)  
[  5]   8.00-9.00   sec  4.66 MBytes  39.1 Mbits/sec  1.423 ms  838/1434 (58%)  
[  5]   9.00-10.00  sec  4.56 MBytes  38.3 Mbits/sec  1.557 ms  872/1456 (60%)  
[  5]  10.00-10.18  sec   904 KBytes  40.9 Mbits/sec  1.431 ms  172/285 (60%)  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  5]   0.00-10.18  sec  0.00 Bytes  0.00 bits/sec  1.431 ms  10304/14448 (71%)  


Accepted connection from 192.168.1.23, port 38608
[  5] local 192.168.2.23 port 4000 connected to 192.168.1.23 port 43867
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  5]   0.00-1.00   sec  2.62 MBytes  22.0 Mbits/sec  3.046 ms  792/1128 (70%)  
[  5]   1.00-2.00   sec  3.68 MBytes  30.9 Mbits/sec  2.537 ms  1008/1479 (68%)  
[  5]   2.00-3.00   sec  2.19 MBytes  18.3 Mbits/sec  3.395 ms  698/978 (71%)  
[  5]   3.00-4.00   sec  0.00 Bytes  0.00 bits/sec  3.395 ms  0/0 (-nan%)  
[  5]   4.00-5.00   sec  0.00 Bytes  0.00 bits/sec  3.395 ms  0/0 (-nan%)  
[  5]   5.00-6.00   sec  2.89 MBytes  24.3 Mbits/sec  2.331 ms  4314/4684 (92%)  
[  5]   6.00-7.00   sec  1.27 MBytes  10.7 Mbits/sec  4.137 ms  556/719 (77%)  
[  5]   7.00-8.00   sec  0.00 Bytes  0.00 bits/sec  4.137 ms  0/0 (-nan%)  
[  5]   8.00-9.00   sec   128 KBytes  1.05 Mbits/sec  5.360 ms  3788/3804 (1e+02%)  
[  5]   9.00-10.00  sec   944 KBytes  7.73 Mbits/sec  3.892 ms  323/441 (73%)  
[  5]  10.00-11.00  sec  0.00 Bytes  0.00 bits/sec  3.892 ms  0/0 (-nan%)  
[  5]  11.00-12.00  sec  0.00 Bytes  0.00 bits/sec  3.892 ms  0/0 (-nan%)  
[  5]  12.00-13.00  sec  1.18 MBytes  9.91 Mbits/sec  4.089 ms  5256/5407 (97%)  
[  5]  13.00-14.00  sec  1.45 MBytes  12.2 Mbits/sec  1.968 ms  357/543 (66%)  
[  5]  14.00-15.00  sec  0.00 Bytes  0.00 bits/sec  1.968 ms  0/0 (-nan%)  
[  5]  15.00-16.00  sec  1.66 MBytes  14.0 Mbits/sec  3.791 ms  3088/3301 (94%)  
[  5]  16.00-17.00  sec  0.00 Bytes  0.00 bits/sec  3.791 ms  0/0 (-nan%)  
[  5]  17.00-18.00  sec   224 KBytes  1.84 Mbits/sec  22.987 ms  2942/2970 (99%)  
[  5]  18.00-19.00  sec   224 KBytes  1.83 Mbits/sec  28.886 ms  906/934 (97%)  
[  5]  19.00-20.00  sec   248 KBytes  2.03 Mbits/sec  23.137 ms  1432/1463 (98%)  
[  5]  20.00-20.06  sec  0.00 Bytes  0.00 bits/sec  23.137 ms  0/0 (-nan%)  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  5]   0.00-20.06  sec  0.00 Bytes  0.00 bits/sec  23.137 ms  25460/27851 (91%)  


###### router fuzzle BUG - DMESG
[ 4316.816332] netifd invoked oom-killer: gfp_mask=0x24201ca, order=0, oom_score_adj=0
[ 4316.824906] CPU: 0 PID: 1198 Comm: netifd Not tainted 4.4.15 #2
[ 4316.831604] Stack : 803dc764 00000000 00000001 80430000 80c7db80 80426f63 803bde3c 000004ae
[ 4316.831604]           80493798 8086fd1c 00000000 00000005 00001b2f 800a68c8 00000006 80493bd8
[ 4316.831604]           00000000 00000000 803c18ac 8086fbbc 80496542 800a4894 c0000000 00000000
[ 4316.831604]           00000001 801f1100 00000000 00000000 00000000 00000000 00000000 00000000
[ 4316.831604]           00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 4316.831604]           ...
[ 4316.870920] Call Trace:
[ 4316.873478] [<80071ac8>] show_stack+0x50/0x84
[ 4316.877981] [<800d2e84>] dump_header.isra.4+0x48/0x130
[ 4316.883879] [<800d3258>] oom_kill_process+0x98/0x440
[ 4316.889016] [<800d3978>] out_of_memory+0x2f4/0x330
[ 4316.894582] [<800d7234>] __alloc_pages_nodemask+0x67c/0x6e8
[ 4316.900975] [<800d2278>] filemap_fault+0x254/0x454
[ 4316.905956] [<800ecba4>] __do_fault+0x3c/0xa8
[ 4316.911081] [<800efdd0>] handle_mm_fault+0x4e0/0xb78
[ 4316.916239] [<800766e0>] __do_page_fault+0x134/0x474
[ 4316.921972] [<80060820>] ret_from_exception+0x0/0x10
[ 4316.927097] 
[ 4316.928638] Mem-Info:
[ 4316.931586] active_anon:232 inactive_anon:6 isolated_anon:0
[ 4316.931586]  active_file:76 inactive_file:94 isolated_file:0
[ 4316.931586]  unevictable:0 dirty:0 writeback:0 unstable:0
[ 4316.931586]  slab_reclaimable:130 slab_unreclaimable:1325
[ 4316.931586]  mapped:2 shmem:18 pagetables:41 bounce:0
[ 4316.931586]  free:165 free_pcp:0 free_cma:0
[ 4316.965566] Normal free:656kB min:660kB low:824kB high:988kB active_anon:928kB inactive_anon:24kB active_file:304kB inactive_file:376kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:32768kB managed:27836kB mlocked:0kB dirty:0kB writeback:0kB mapped:8kB shmem:72kB slab_reclaimable:520kB slab_unreclaimable:5300kB kernel_stack:296kB pagetables:164kB unstable:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[ 4317.010087] lowmem_reserve[]: 0 0
[ 4317.013547] Normal: 4*4kB (UE) 46*8kB (UME) 17*16kB (U) 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 656kB
[ 4317.026214] 188 total pagecache pages
[ 4317.030587] 0 pages in swap cache
[ 4317.034020] Swap cache stats: add 0, delete 0, find 0/0
[ 4317.039410] Free swap  = 0kB
[ 4317.042976] Total swap = 0kB
[ 4317.045952] 8192 pages RAM
[ 4317.048747] 0 pages HighMem/MovableOnly
[ 4317.053301] 1233 pages reserved
[ 4317.056553] [ pid ]   uid  tgid total_vm      rss nr_ptes nr_pmds swapents oom_score_adj name
[ 4317.065964] [  447]     0   447      294       15       3       0        0             0 ubusd
[ 4317.075470] [  448]     0   448      223       10       4       0        0             0 askfirst
[ 4317.085221] [  628]     0   628      306       35       5       0        0             0 logd
[ 4317.094627] [  690]     0   690      337       23       3       0        0             0 odhcpd
[ 4317.104209] [  723]     0   723      264       10       3       0        0             0 dropbear
[ 4317.113960] [  821]     0   821      294       10       3       0        0             0 ntpd
[ 4317.123373] [ 1198]     0  1198      408       34       4       0        0             0 netifd
[ 4317.132944] [ 1305]   453  1305      262       18       3       0        0             0 dnsmasq
[ 4317.142632] [ 1487]     0  1487      281       25       3       0        0             0 dropbear
[ 4317.152400] [ 1488]     0  1488      295       10       3       0        0             0 ash
[ 4317.161714] [ 1570]     0  1570      229       11       3       0        0             0 odhcp6c
[ 4317.171385] Out of memory: Kill process 628 (logd) score 5 or sacrifice child
[ 4317.178772] Killed process 628 (logd) total-vm:1224kB, anon-rss:136kB, file-rss:4kB
[ 4318.256759] netifd invoked oom-killer: gfp_mask=0x24201ca, order=0, oom_score_adj=0
[ 4318.280049] CPU: 0 PID: 1198 Comm: netifd Not tainted 4.4.15 #2
[ 4318.286179] Stack : 803dc764 00000000 00000001 80430000 80c7db80 80426f63 803bde3c 000004ae
[ 4318.286179]           80493798 8086fd1c 00000000 00000005 00001b2f 800a68c8 00000006 803c6710
[ 4318.286179]           00000000 00000000 803c18ac 8086fbbc 80496542 800a4894 804265d0 00000000
[ 4318.286179]           00000001 801f1100 00000000 00000000 00000000 00000000 00000000 00000000
[ 4318.286179]           00000000 00000000 00000000
[ 4318.470646] netifd: page allocation failure: order:0, mode:0x2080120
[ 4318.470661] CPU: 0 PID: 1198 Comm: netifd Not tainted 4.4.15 #2
[ 4318.470665] Stack : 803dc764 00000000 00000001 80430000 80c7db80 80426f63 803bde3c 000004ae
[ 4318.470685]           80493798 81823c20 00000060 00000000 80000000 800a68c8 00000006 00000000
[ 4318.470705]           00000000 00000000 803c18ac 8086f67c 80496542 800a4894 80f2d000 00000000
[ 4318.470725]           00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 4318.470743]           00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 4318.470760]           ...
[ 4318.470766] Call Trace:
[ 4318.470791] [<80071ac8>] show_stack+0x50/0x84
[ 4318.470813] [<800d4ce0>] warn_alloc_failed+0xe8/0x10c
[ 4318.470827] [<800d7148>] __alloc_pages_nodemask+0x590/0x6e8
[ 4318.470837] [<800d7420>] __alloc_page_frag+0x74/0x174
[ 4318.470850] [<80232250>] ag71xx_fill_rx_buf+0x60/0xf0
[ 4318.470860] [<80233178>] ag71xx_poll+0x3d4/0x5bc
[ 4318.470900] [<802684b8>] net_rx_action+0x110/0x2c4
[ 4318.470921] [<80083b28>] __do_softirq+0x164/0x290
[ 4318.470958] [<8006a698>] plat_irq_dispatch+0xbc/0xf4
[ 4318.470963] 
[ 4318.470965] Mem-Info:
[ 4318.470991] active_anon:198 inactive_anon:6 isolated_anon:0
[ 4318.470991]  active_file:126 inactive_file:204 isolated_file:0
[ 4318.470991]  unevictable:0 dirty:0 writeback:0 unstable:0
[ 4318.470991]  slab_reclaimable:130 slab_unreclaimable:1345
[ 4318.470991]  mapped:2 shmem:18 pagetables:36 bounce:0
[ 4318.470991]  free:63 free_pcp:0 free_cma:0
[ 4318.471032] Normal free:252kB min:660kB low:824kB high:988kB active_anon:792kB inactive_anon:24kB active_file:504kB inactive_file:816kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:32768kB managed:27836kB mlocked:0kB dirty:0kB writeback:0kB mapped:8kB shmem:72kB slab_reclaimable:520kB slab_unreclaimable:5380kB kernel_stack:296kB pagetables:144kB unstable:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[ 4318.471034] lowmem_reserve[]: 0 0
[ 4318.471041] Normal: 3*4kB (ME) 26*8kB (UME) 2*16kB (U) 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 252kB
[ 4318.471083] 348 total pagecache pages
[ 4318.471094] 0 pages in swap cache
[ 4318.471100] Swap cache stats: add 0, delete 0, find 0/0
[ 4318.471102] Free swap  = 0kB
[ 4318.471105] Total swap = 0kB
[ 4318.471108] 8192 pages RAM
[ 4318.471111] 0 pages HighMem/MovableOnly
[ 4318.471113] 1233 pages reserved
[ 4318.486975] eth0: out of memory
[ 4318.628211] netifd: page allocation failure: order:0, mode:0x2080120
[ 4318.628224] CPU: 0 PID: 1198 Comm: netifd Not tainted 4.4.15 #2
[ 4318.628229] Stack : 803dc764 00000000 00000001 80430000 80c7db80 80426f63 803bde3c 000004ae
[ 4318.628250]           80493798 81823c20 00000060 00000000 80000000 800a68c8 00000006 00000000
[ 4318.628269]           00000000 00000000 803c18ac 8086f67c 80496542 800a4894 80f2d000 00000000
[ 4318.628290]           00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 4318.628308]           00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 4318.628325]           ...
[ 4318.628331] Call Trace:
[ 4318.628357] [<80071ac8>] show_stack+0x50/0x84
[ 4318.628378] [<800d4ce0>] warn_alloc_failed+0xe8/0x10c
[ 4318.628392] [<800d7148>] __alloc_pages_nodemask+0x590/0x6e8
[ 4318.628402] [<800d7420>] __alloc_page_frag+0x74/0x174
[ 4318.628414] [<80232250>] ag71xx_fill_rx_buf+0x60/0xf0
[ 4318.628424] [<80233178>] ag71xx_poll+0x3d4/0x5bc
[ 4318.628461] [<802684b8>] net_rx_action+0x110/0x2c4
[ 4318.628484] [<80083b28>] __do_softirq+0x164/0x290
[ 4318.628521] [<8006a698>] plat_irq_dispatch+0xbc/0xf4
[ 4318.628525] 
[ 4318.628527] Mem-Info:
[ 4318.628552] active_anon:198 inactive_anon:6 isolated_anon:0
[ 4318.628552]  active_file:126 inactive_file:204 isolated_file:0
[ 4318.628552]  unevictable:0 dirty:0 writeback:0 unstable:0
[ 4318.628552]  slab_reclaimable:130 slab_unreclaimable:1345
[ 4318.628552]  mapped:2 shmem:18 pagetables:36 bounce:0
[ 4318.628552]  free:63 free_pcp:0 free_cma:0
[ 4318.628593] Normal free:252kB min:660kB low:824kB high:988kB active_anon:792kB inactive_anon:24kB active_file:504kB inactive_file:816kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:32768kB managed:27836kB mlocked:0kB dirty:0kB writeback:0kB mapped:8kB shmem:72kB slab_reclaimable:520kB slab_unreclaimable:5380kB kernel_stack:296kB pagetables:144kB unstable:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[ 4318.628595] lowmem_reserve[]: 0 0
[ 4318.628603] Normal: 3*4kB (ME) 26*8kB (UME) 2*16kB (U) 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 252kB
[ 4318.628645] 348 total pagecache pages
[ 4318.628653] 0 pages in swap cache
[ 4318.628659] Swap cache stats: add 0, delete 0, find 0/0
[ 4318.628662] Free swap  = 0kB
[ 4318.628664] Total swap = 0kB
[ 4318.628667] 8192 pages RAM
[ 4318.628670] 0 pages HighMem/MovableOnly
[ 4318.628672] 1233 pages reserved
[ 4318.638804] eth0: out of memory
[ 4318.750599] netifd: page allocation failure: order:0, mode:0x2080120
[ 4318.750612] CPU: 0 PID: 1198 Comm: netifd Not tainted 4.4.15 #2
[ 4318.750618] Stack : 803dc764 00000000 00000001 80430000 80c7db80 80426f63 803bde3c 000004ae
[ 4318.750639]           80493798 81823c20 00000060 00000000 80000000 800a68c8 00000006 00000000
[ 4318.750658]           00000000 00000000 803c18ac 8086f67c 80496542 800a4894 80f2d000 00000000
[ 4318.750678]           00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 4318.750696]           00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 4318.750714]           ...
[ 4318.750720] Call Trace:
[ 4318.750746] [<80071ac8>] show_stack+0x50/0x84
[ 4318.750767] [<800d4ce0>] warn_alloc_failed+0xe8/0x10c
[ 4318.750781] [<800d7148>] __alloc_pages_nodemask+0x590/0x6e8
[ 4318.750791] [<800d7420>] __alloc_page_frag+0x74/0x174
[ 4318.750803] [<80232250>] ag71xx_fill_rx_buf+0x60/0xf0
[ 4318.750813] [<80233178>] ag71xx_poll+0x3d4/0x5bc
[ 4318.750851] [<802684b8>] net_rx_action+0x110/0x2c4
[ 4318.750875] [<80083b28>] __do_softirq+0x164/0x290
[ 4318.750909] [<8006a698>] plat_irq_dispatch+0xbc/0xf4
[ 4318.750913] 
[ 4318.750916] Mem-Info:
[ 4318.750941] active_anon:198 inactive_anon:6 isolated_anon:0
[ 4318.750941]  active_file:126 inactive_file:204 isolated_file:0
[ 4318.750941]  unevictable:0 dirty:0 writeback:0 unstable:0
[ 4318.750941]  slab_reclaimable:130 slab_unreclaimable:1344
[ 4318.750941]  mapped:2 shmem:18 pagetables:36 bounce:0
[ 4318.750941]  free:63 free_pcp:0 free_cma:0
[ 4318.750982] Normal free:252kB min:660kB low:824kB high:988kB active_anon:792kB inactive_anon:24kB active_file:504kB inactive_file:816kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:32768kB managed:27836kB mlocked:0kB dirty:0kB writeback:0kB mapped:8kB shmem:72kB slab_reclaimable:520kB slab_unreclaimable:5376kB kernel_stack:296kB pagetables:144kB unstable:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[ 4318.750984] lowmem_reserve[]: 0 0
[ 4318.750992] Normal: 3*4kB (ME) 26*8kB (UME) 2*16kB (U) 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 252kB
[ 4318.751034] 348 total pagecache pages
[ 4318.751044] 0 pages in swap cache
[ 4318.751050] Swap cache stats: add 0, delete 0, find 0/0
[ 4318.751053] Free swap  = 0kB
[ 4318.751055] Total swap = 0kB
[ 4318.751058] 8192 pages RAM
[ 4318.751061] 0 pages HighMem/MovableOnly
[ 4318.751063] 1233 pages reserved
[ 4318.766484] eth0: out of memory
[ 4318.931172] netifd: page allocation failure: order:0, mode:0x2080120
[ 4318.931184] CPU: 0 PID: 1198 Comm: netifd Not tainted 4.4.15 #2
[ 4318.931189] Stack : 803dc764 00000000 00000001 80430000 80c7db80 80426f63 803bde3c 000004ae
[ 4318.931211]           80493798 81823c20 00000060 00000000 80000000 800a68c8 00000006 00000000
[ 4318.931231]           00000000 00000000 803c18ac 8086f67c 80496542 800a4894 80f2d000 00000000
[ 4318.931250]           00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 4318.931268]           00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 4318.931286]           ...
[ 4318.931292] Call Trace:
[ 4318.931317] [<80071ac8>] show_stack+0x50/0x84
[ 4318.931338] [<800d4ce0>] warn_alloc_failed+0xe8/0x10c
[ 4318.931352] [<800d7148>] __alloc_pages_nodemask+0x590/0x6e8
[ 4318.931362] [<800d7420>] __alloc_page_frag+0x74/0x174
[ 4318.931373] [<80232250>] ag71xx_fill_rx_buf+0x60/0xf0
[ 4318.931383] [<80233178>] ag71xx_poll+0x3d4/0x5bc
[ 4318.931421] [<802684b8>] net_rx_action+0x110/0x2c4
[ 4318.931445] [<80083b28>] __do_softirq+0x164/0x290
[ 4318.931480] [<8006a698>] plat_irq_dispatch+0xbc/0xf4
[ 4318.931484] 
[ 4318.931486] Mem-Info:
[ 4318.931511] active_anon:198 inactive_anon:6 isolated_anon:0
[ 4318.931511]  active_file:126 inactive_file:204 isolated_file:0
[ 4318.931511]  unevictable:0 dirty:0 writeback:0 unstable:0
[ 4318.931511]  slab_reclaimable:130 slab_unreclaimable:1345
[ 4318.931511]  mapped:2 shmem:18 pagetables:36 bounce:0
[ 4318.931511]  free:63 free_pcp:0 free_cma:0
[ 4318.931553] Normal free:252kB min:660kB low:824kB high:988kB active_anon:792kB inactive_anon:24kB active_file:504kB inactive_file:816kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:32768kB managed:27836kB mlocked:0kB dirty:0kB writeback:0kB mapped:8kB shmem:72kB slab_reclaimable:520kB slab_unreclaimable:5380kB kernel_stack:296kB pagetables:144kB unstable:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[ 4318.931555] lowmem_reserve[]: 0 0
[ 4318.931562] Normal: 3*4kB (ME) 26*8kB (UME) 2*16kB (U) 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 252kB
[ 4318.931603] 348 total pagecache pages
[ 4318.931613] 0 pages in swap cache
[ 4318.931618] Swap cache stats: add 0, delete 0, find 0/0
[ 4318.931621] Free swap  = 0kB
[ 4318.931624] Total swap = 0kB
[ 4318.931626] 8192 pages RAM
[ 4318.931629] 0 pages HighMem/MovableOnly
[ 4318.931631] 1233 pages reserved
[ 4318.945413] eth0: out of memory
[ 4319.062308] netifd: page allocation failure: order:0, mode:0x2080120
[ 4319.062322] CPU: 0 PID: 1198 Comm: netifd Not tainted 4.4.15 #2
[ 4319.062327] Stack : 803dc764 00000000 00000001 80430000 80c7db80 80426f63 803bde3c 000004ae
[ 4319.062348]           80493798 81823c20 00000060 00000000 80000000 800a68c8 00000006 8091a000
[ 4319.062368]           00000000 00000000 803c18ac 8086f67c 80496542 800a4894 00000000 00000000
[ 4319.062388]           00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 4319.062405]           00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 4319.062423]           ...
[ 4319.062429] Call Trace:
[ 4319.062454] [<80071ac8>] show_stack+0x50/0x84
[ 4319.062476] [<800d4ce0>] warn_alloc_failed+0xe8/0x10c
[ 4319.062489] [<800d7148>] __alloc_pages_nodemask+0x590/0x6e8
[ 4319.062499] [<800d7420>] __alloc_page_frag+0x74/0x174
[ 4319.062511] [<80232250>] ag71xx_fill_rx_buf+0x60/0xf0
[ 4319.062521] [<80233178>] ag71xx_poll+0x3d4/0x5bc
[ 4319.062559] [<802684b8>] net_rx_action+0x110/0x2c4
[ 4319.062584] [<80083b28>] __do_softirq+0x164/0x290
[ 4319.062621] [<8006a698>] plat_irq_dispatch+0xbc/0xf4
[ 4319.062624] 
[ 4319.062627] Mem-Info:
[ 4319.062653] active_anon:198 inactive_anon:6 isolated_anon:0
[ 4319.062653]  active_file:126 inactive_file:204 isolated_file:0
[ 4319.062653]  unevictable:0 dirty:0 writeback:0 unstable:0
[ 4319.062653]  slab_reclaimable:130 slab_unreclaimable:1345
[ 4319.062653]  mapped:2 shmem:18 pagetables:36 bounce:0
[ 4319.062653]  free:63 free_pcp:0 free_cma:0
[ 4319.062694] Normal free:252kB min:660kB low:824kB high:988kB active_anon:792kB inactive_anon:24kB active_file:504kB inactive_file:816kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:32768kB managed:27836kB mlocked:0kB dirty:0kB writeback:0kB mapped:8kB shmem:72kB slab_reclaimable:520kB slab_unreclaimable:5380kB kernel_stack:296kB pagetables:144kB unstable:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[ 4319.062696] lowmem_reserve[]: 0 0
[ 4319.062703] Normal: 3*4kB (ME) 26*8kB (UME) 2*16kB (U) 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 252kB
[ 4319.062745] 348 total pagecache pages
[ 4319.062755] 0 pages in swap cache
[ 4319.062761] Swap cache stats: add 0, delete 0, find 0/0
[ 4319.062764] Free swap  = 0kB
[ 4319.062766] Total swap = 0kB
[ 4319.062769] 8192 pages RAM
[ 4319.062772] 0 pages HighMem/MovableOnly
[ 4319.062774] 1233 pages reserved
[ 4319.077033] eth0: out of memory
[ 4319.210833] netifd: page allocation failure: order:0, mode:0x2080120
[ 4319.210850] CPU: 0 PID: 1198 Comm: netifd Not tainted 4.4.15 #2
[ 4319.210855] Stack : 803dc764 00000000 00000001 80430000 80c7db80 80426f63 803bde3c 000004ae
[ 4319.210875]           80493798 81823c20 00000060 00000000 80000000 800a68c8 00000006 00000000
[ 4319.210895]           00000000 00000000 803c18ac 8086f67c 80496542 800a4894 80f2d000 00000000
[ 4319.210915]           00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 4319.210933]           00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 4319.210951]           ...
[ 4319.210957] Call Trace:
[ 4319.210984] [<80071ac8>] show_stack+0x50/0x84
[ 4319.211006] [<800d4ce0>] warn_alloc_failed+0xe8/0x10c
[ 4319.211019] [<800d7148>] __alloc_pages_nodemask+0x590/0x6e8
[ 4319.211030] [<800d7420>] __alloc_page_frag+0x74/0x174
[ 4319.211042] [<80232250>] ag71xx_fill_rx_buf+0x60/0xf0
[ 4319.211051] [<80233178>] ag71xx_poll+0x3d4/0x5bc
[ 4319.211088] [<802684b8>] net_rx_action+0x110/0x2c4
[ 4319.211110] [<80083b28>] __do_softirq+0x164/0x290
[ 4319.211147] [<8006a698>] plat_irq_dispatch+0xbc/0xf4
[ 4319.211151] 
[ 4319.211153] Mem-Info:
[ 4319.211179] active_anon:198 inactive_anon:6 isolated_anon:0
[ 4319.211179]  active_file:126 inactive_file:204 isolated_file:0
[ 4319.211179]  unevictable:0 dirty:0 writeback:0 unstable:0
[ 4319.211179]  slab_reclaimable:130 slab_unreclaimable:1344
[ 4319.211179]  mapped:2 shmem:18 pagetables:36 bounce:0
[ 4319.211179]  free:63 free_pcp:0 free_cma:0
[ 4319.211220] Normal free:252kB min:660kB low:824kB high:988kB active_anon:792kB inactive_anon:24kB active_file:504kB inactive_file:816kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:32768kB managed:27836kB mlocked:0kB dirty:0kB writeback:0kB mapped:8kB shmem:72kB slab_reclaimable:520kB slab_unreclaimable:5376kB kernel_stack:296kB pagetables:144kB unstable:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[ 4319.211222] lowmem_reserve[]: 0 0
[ 4319.211230] Normal: 3*4kB (ME) 26*8kB (UME) 2*16kB (U) 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 252kB
[ 4319.211272] 348 total pagecache pages
[ 4319.211284] 0 pages in swap cache
[ 4319.211289] Swap cache stats: add 0, delete 0, find 0/0
[ 4319.211292] Free swap  = 0kB
[ 4319.211295] Total swap = 0kB
[ 4319.211297] 8192 pages RAM
[ 4319.211300] 0 pages HighMem/MovableOnly
[ 4319.211303] 1233 pages reserved
[ 4319.224661] eth0: out of memory
[ 4319.342076] netifd: page allocation failure: order:0, mode:0x2080120
[ 4319.342090] CPU: 0 PID: 1198 Comm: netifd Not tainted 4.4.15 #2
[ 4319.342095] Stack : 803dc764 00000000 00000001 80430000 80c7db80 80426f63 803bde3c 000004ae
[ 4319.342117]           80493798 81823c20 00000060 00000000 80000000 800a68c8 00000006 8026a3ac
[ 4319.342136]           00000000 00000000 803c18ac 8086f67c 80496542 800a4894 80f2d000 00000000
[ 4319.342156]           00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 4319.342174]           00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 4319.342193]           ...
[ 4319.342199] Call Trace:
[ 4319.342222] [<80071ac8>] show_stack+0x50/0x84
[ 4319.342242] [<800d4ce0>] warn_alloc_failed+0xe8/0x10c
[ 4319.342256] [<800d7148>] __alloc_pages_nodemask+0x590/0x6e8
[ 4319.342266] [<800d7420>] __alloc_page_frag+0x74/0x174
[ 4319.342278] [<80232250>] ag71xx_fill_rx_buf+0x60/0xf0
[ 4319.342288] [<80233178>] ag71xx_poll+0x3d4/0x5bc
[ 4319.342325] [<802684b8>] net_rx_action+0x110/0x2c4
[ 4319.342349] [<80083b28>] __do_softirq+0x164/0x290
[ 4319.342383] [<8006a698>] plat_irq_dispatch+0xbc/0xf4
[ 4319.342387] 
[ 4319.342390] Mem-Info:
[ 4319.342415] active_anon:198 inactive_anon:6 isolated_anon:0
[ 4319.342415]  active_file:126 inactive_file:204 isolated_file:0
[ 4319.342415]  unevictable:0 dirty:0 writeback:0 unstable:0
[ 4319.342415]  slab_reclaimable:130 slab_unreclaimable:1345
[ 4319.342415]  mapped:2 shmem:18 pagetables:36 bounce:0
[ 4319.342415]  free:63 free_pcp:0 free_cma:0
[ 4319.342457] Normal free:252kB min:660kB low:824kB high:988kB active_anon:792kB inactive_anon:24kB active_file:504kB inactive_file:816kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:32768kB managed:27836kB mlocked:0kB dirty:0kB writeback:0kB mapped:8kB shmem:72kB slab_reclaimable:520kB slab_unreclaimable:5380kB kernel_stack:296kB pagetables:144kB unstable:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[ 4319.342460] lowmem_reserve[]: 0 0
[ 4319.342467] Normal: 3*4kB (ME) 26*8kB (UME) 2*16kB (U) 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 252kB
[ 4319.342509] 348 total pagecache pages
[ 4319.342520] 0 pages in swap cache
[ 4319.342525] Swap cache stats: add 0, delete 0, find 0/0
[ 4319.342528] Free swap  = 0kB
[ 4319.342530] Total swap = 0kB
[ 4319.342533] 8192 pages RAM
[ 4319.342536] 0 pages HighMem/MovableOnly
[ 4319.342538] 1233 pages reserved
[ 4319.357925] eth0: out of memory
[ 4319.470335] netifd: page allocation failure: order:0, mode:0x2080120
[ 4319.470348] CPU: 0 PID: 1198 Comm: netifd Not tainted 4.4.15 #2
[ 4319.470353] Stack : 803dc764 00000000 00000001 80430000 80c7db80 80426f63 803bde3c 000004ae
[ 4319.470375]           80493798 81823c20 00000060 00000000 80000000 800a68c8 00000006 00000000
[ 4319.470395]           00000000 00000000 803c18ac 8086f67c 80496542 800a4894 80f2d000 00000000
[ 4319.470414]           00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 4319.470432]           00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 4319.470450]           ...
[ 4319.470456] Call Trace:
[ 4319.470482] [<80071ac8>] show_stack+0x50/0x84
[ 4319.470504] [<800d4ce0>] warn_alloc_failed+0xe8/0x10c
[ 4319.470518] [<800d7148>] __alloc_pages_nodemask+0x590/0x6e8
[ 4319.470528] [<800d7420>] __alloc_page_frag+0x74/0x174
[ 4319.470539] [<80232250>] ag71xx_fill_rx_buf+0x60/0xf0
[ 4319.470549] [<80233178>] ag71xx_poll+0x3d4/0x5bc
[ 4319.470587] [<802684b8>] net_rx_action+0x110/0x2c4
[ 4319.470611] [<80083b28>] __do_softirq+0x164/0x290
[ 4319.470649] [<8006a698>] plat_irq_dispatch+0xbc/0xf4
[ 4319.470653] 
[ 4319.470655] Mem-Info:
[ 4319.470681] active_anon:198 inactive_anon:6 isolated_anon:0
[ 4319.470681]  active_file:126 inactive_file:204 isolated_file:0
[ 4319.470681]  unevictable:0 dirty:0 writeback:0 unstable:0
[ 4319.470681]  slab_reclaimable:130 slab_unreclaimable:1345
[ 4319.470681]  mapped:2 shmem:18 pagetables:36 bounce:0
[ 4319.470681]  free:63 free_pcp:0 free_cma:0
[ 4319.470722] Normal free:252kB min:660kB low:824kB high:988kB active_anon:792kB inactive_anon:24kB active_file:504kB inactive_file:816kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:32768kB managed:27836kB mlocked:0kB dirty:0kB writeback:0kB mapped:8kB shmem:72kB slab_reclaimable:520kB slab_unreclaimable:5380kB kernel_stack:296kB pagetables:144kB unstable:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[ 4319.470724] lowmem_reserve[]: 0 0
[ 4319.470731] Normal: 3*4kB (ME) 26*8kB (UME) 2*16kB (U) 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 252kB
[ 4319.470773] 348 total pagecache pages
[ 4319.470783] 0 pages in swap cache
[ 4319.470788] Swap cache stats: add 0, delete 0, find 0/0
[ 4319.470791] Free swap  = 0kB
[ 4319.470794] Total swap = 0kB
[ 4319.470797] 8192 pages RAM
[ 4319.470799] 0 pages HighMem/MovableOnly
[ 4319.470802] 1233 pages reserved
[ 4319.486164] eth0: out of memory
[ 4319.601313] netifd: page allocation failure: order:0, mode:0x2080120
[ 4319.601325] CPU: 0 PID: 1198 Comm: netifd Not tainted 4.4.15 #2
[ 4319.601330] Stack : 803dc764 00000000 00000001 80430000 80c7db80 80426f63 803bde3c 000004ae
[ 4319.601351]           80493798 81823c20 00000060 00000000 80000000 800a68c8 00000006 00000000
[ 4319.601371]           00000000 00000000 803c18ac 8086f67c 80496542 800a4894 80f2d000 00000000
[ 4319.601391]           00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 4319.601409]           00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 4319.601426]           ...
[ 4319.601432] Call Trace:
[ 4319.601457] [<80071ac8>] show_stack+0x50/0x84
[ 4319.601477] [<800d4ce0>] warn_alloc_failed+0xe8/0x10c
[ 4319.601491] [<800d7148>] __alloc_pages_nodemask+0x590/0x6e8
[ 4319.601501] [<800d7420>] __alloc_page_frag+0x74/0x174
[ 4319.601512] [<80232250>] ag71xx_fill_rx_buf+0x60/0xf0
[ 4319.601522] [<80233178>] ag71xx_poll+0x3d4/0x5bc
[ 4319.601560] [<802684b8>] net_rx_action+0x110/0x2c4
[ 4319.601584] [<80083b28>] __do_softirq+0x164/0x290
[ 4319.601621] [<8006a698>] plat_irq_dispatch+0xbc/0xf4
[ 4319.601624] 
[ 4319.601626] Mem-Info:
[ 4319.601652] active_anon:198 inactive_anon:6 isolated_anon:0
[ 4319.601652]  active_file:126 inactive_file:204 isolated_file:0
[ 4319.601652]  unevictable:0 dirty:0 writeback:0 unstable:0
[ 4319.601652]  slab_reclaimable:130 slab_unreclaimable:1345
[ 4319.601652]  mapped:2 shmem:18 pagetables:36 bounce:0
[ 4319.601652]  free:63 free_pcp:0 free_cma:0
[ 4319.601694] Normal free:252kB min:660kB low:824kB high:988kB active_anon:792kB inactive_anon:24kB active_file:504kB inactive_file:816kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:32768kB managed:27836kB mlocked:0kB dirty:0kB writeback:0kB mapped:8kB shmem:72kB slab_reclaimable:520kB slab_unreclaimable:5380kB kernel_stack:296kB pagetables:144kB unstable:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[ 4319.601696] lowmem_reserve[]: 0 0
[ 4319.601703] Normal: 3*4kB (ME) 26*8kB (UME) 2*16kB (U) 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 252kB
[ 4319.601745] 348 total pagecache pages
[ 4319.601755] 0 pages in swap cache
[ 4319.601761] Swap cache stats: add 0, delete 0, find 0/0
[ 4319.601763] Free swap  = 0kB
[ 4319.601766] Total swap = 0kB
[ 4319.601769] 8192 pages RAM
[ 4319.601771] 0 pages HighMem/MovableOnly
[ 4319.601774] 1233 pages reserved
[ 4319.616039] eth0: out of memory
[ 4319.730100] netifd: page allocation failure: order:0, mode:0x2080120
[ 4319.730112] CPU: 0 PID: 1198 Comm: netifd Not tainted 4.4.15 #2
[ 4319.730117] Stack : 803dc764 00000000 00000001 80430000 80c7db80 80426f63 803bde3c 000004ae
[ 4319.730138]           80493798 81823c20 00000060 00000000 80000000 800a68c8 00000006 00000000
[ 4319.730158]           00000000 00000000 803c18ac 8086f67c 80496542 800a4894 80f2d000 00000000
[ 4319.730178]           00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 4319.730196]           00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 4319.730213]           ...

[ 4319.730219] Call Trace:
[ 4319.730243] [<80071ac8>] show_stack+0x50/0x84
[ 4319.730264] [<800d4ce0>] warn_alloc_failed+0xe8/0x10c
[ 4319.730277] [<800d7148>] __alloc_pages_nodemask+0x590/0x6e8
[ 4319.730287] [<800d7420>] __alloc_page_frag+0x74/0x174
[ 4319.730298] [<80232250>] ag71xx_fill_rx_buf+0x60/0xf0
[ 4319.730308] [<80233178>] ag71xx_poll+0x3d4/0x5bc
[ 4319.730345] [<802684b8>] net_rx_action+0x110/0x2c4
[ 4319.730367] [<80083b28>] __do_softirq+0x164/0x290
[ 4319.730400] [<8006a698>] plat_irq_dispatch+0xbc/0xf4
[ 4319.730404] 
[ 4319.730406] Mem-Info:
[ 4319.730432] active_anon:198 inactive_anon:6 isolated_anon:0
[ 4319.730432]  active_file:126 inactive_file:204 isolated_file:0
[ 4319.730432]  unevictable:0 dirty:0 writeback:0 unstable:0
[ 4319.730432]  slab_reclaimable:130 slab_unreclaimable:1345
[ 4319.730432]  mapped:2 shmem:18 pagetables:36 bounce:0
[ 4319.730432]  free:63 free_pcp:0 free_cma:0
[ 4319.730473] Normal free:252kB min:660kB low:824kB high:988kB active_anon:792kB inactive_anon:24kB active_file:504kB inactive_file:816kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:32768kB managed:27836kB mlocked:0kB dirty:0kB writeback:0kB mapped:8kB shmem:72kB slab_reclaimable:520kB slab_unreclaimable:5380kB kernel_stack:296kB pagetables:144kB unstable:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[ 4319.730475] lowmem_reserve[]: 0 0
[ 4319.730482] Normal: 3*4kB (ME) 26*8kB (UME) 2*16kB (U) 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 252kB
[ 4319.730523] 348 total pagecache pages
[ 4319.730533] 0 pages in swap cache
[ 4319.730538] Swap cache stats: add 0, delete 0, find 0/0
[ 4319.730541] Free swap  = 0kB
[ 4319.730544] Total swap = 0kB
[ 4319.730547] 8192 pages RAM
[ 4319.730549] 0 pages HighMem/MovableOnly
[ 4319.730552] 1233 pages reserved
[ 4319.738720] eth0: out of memory
[ 4319.866870] eth0: out of memory
[ 4319.987229] eth0: out of memory
[ 4320.117724] eth0: out of memory
[ 4320.255572] eth0: out of memory
[ 4320.378457] eth0: out of memory
[ 4320.512492] eth0: out of memory
[ 4320.648874] eth0: out of memory
[ 4320.774328] eth0: out of memory
[ 4320.906054] eth0: out of memory
[ 4321.013589] eth0: out of memory
[ 4321.093267]  00000000 00000000 00000000 00000000 00000000
[ 4321.095619]           ...
[ 4321.099805] Call Trace:
[ 4321.102364] [<80071ac8>] show_stack+0x50/0x84
[ 4321.106868] [<800d2e84>] dump_header.isra.4+0x48/0x130
[ 4321.112186] [<800d3258>] oom_kill_process+0x98/0x440
[ 4321.117319] [<800d3978>] out_of_memory+0x2f4/0x330
[ 4321.122283] [<800d7234>] __alloc_pages_nodemask+0x67c/0x6e8
[ 4321.128071] [<800d2278>] filemap_fault+0x254/0x454
[ 4321.133065] eth0: out of memory
[ 4321.136336] [<800ecba4>] __do_fault+0x3c/0xa8
[ 4321.140854] [<800efdd0>] handle_mm_fault+0x4e0/0xb78
[ 4321.145993] [<800766e0>] __do_page_fault+0x134/0x474
[ 4321.151135] [<80060820>] ret_from_exception+0x0/0x10
[ 4321.156260] 
[ 4321.157793] Mem-Info:
[ 4321.160173] active_anon:198 inactive_anon:6 isolated_anon:0
[ 4321.160173]  active_file:126 inactive_file:204 isolated_file:0
[ 4321.160173]  unevictable:0 dirty:0 writeback:0 unstable:0
[ 4321.160173]  slab_reclaimable:130 slab_unreclaimable:1344
[ 4321.160173]  mapped:2 shmem:18 pagetables:36 bounce:0
[ 4321.160173]  free:63 free_pcp:0 free_cma:0
[ 4321.192528] Normal free:252kB min:660kB low:824kB high:988kB active_anon:792kB inactive_anon:24kB active_file:504kB inactive_file:816kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:32768kB managed:27836kB mlocked:0kB dirty:0kB writeback:0kB mapped:8kB shmem:72kB slab_reclaimable:520kB slab_unreclaimable:5376kB kernel_stack:296kB pagetables:144kB unstable:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[ 4321.236373] lowmem_reserve[]: 0 0
[ 4321.239828] Normal: 3*4kB (ME) 26*8kB (UME) 2*16kB (U) 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 
[ 4321.250184] eth0: out of memory
[ 4321.253424] 0*4096kB = 252kB
[ 4321.256586] 348 total pagecache pages
[ 4321.260382] 0 pages in swap cache
[ 4321.263801] Swap cache stats: add 0, delete 0, find 0/0
[ 4321.269193] Free swap  = 0kB
[ 4321.272334] eth1: out of memory
[ 4321.275592] Total swap = 0kB
[ 4321.278566] 8192 pages RAM
[ 4321.281402] 0 pages HighMem/MovableOnly
[ 4321.285356] 1233 pages reserved
[ 4321.288602] [ pid ]   uid  tgid total_vm      rss nr_ptes nr_pmds swapents oom_score_adj name
[ 4321.297432] [  447]     0   447      294       15       3       0        0             0 ubusd
[ 4321.306342] [  448]     0   448      223       10       4       0        0             0 askfirst
[ 4321.315518] [  690]     0   690      337       23       3       0        0             0 odhcpd
[ 4321.324513] [  723]     0   723      264       10       3       0        0             0 dropbear
[ 4321.333689] [  821]     0   821      294       10       3       0        0             0 ntpd
[ 4321.342504] [ 1198]     0  1198      408       34       4       0        0             0 netifd
[ 4321.351500] [ 1305]   453  1305      262       18       3       0        0             0 dnsmasq
[ 4321.360586] [ 1487]     0  1487      281       25       3       0        0             0 dropbear
[ 4321.369751] [ 1488]     0  1488      295       10       3       0        0             0 ash
[ 4321.378477] eth0: out of memory
[ 4321.381741] [ 1570]     0  1570      229       11       3       0        0             0 odhcp6c
[ 4321.390819] eth1: out of memory
[ 4321.394064] Out of memory: Kill process 1198 (netifd) score 5 or sacrifice child
[ 4321.401728] Killed process 1570 (odhcp6c) total-vm:916kB, anon-rss:40kB, file-rss:4kB
[ 4321.511954] eth0: out of memory
[ 4321.644535] eth0: out of memory
[ 4321.900446] eth0: out of memory
[ 4329.109362] eth1: link down
[ 4330.397212] eth1: link up (100Mbps/Full duplex)
1 „Gefällt mir“

Danke für die Forschungsarbeit.
Schwer vorstellbar, dass da etwas Neues kommt, was nicht auch Kinderkrankheiten hat.
Aber zumindest für mich zeigt es schonmal in die richtige Richtung, ist es doch zumindest so schnell wie der alte Fastd.

1 „Gefällt mir“

evtl sollte man das ganze nochmal hier mit ansehen, da wireguard wie auch fastd (wie vermutlich auch andere Dinge ) übelst failen wenn die unter hohem udp traffic kommen
https://dev.openwrt.org/ticket/22349

Ich frage mal vorsichtig, wie denn Stand ist bei Euch.
Nicht, dass ich mit L2TP völlig unglücklich wäre, trotzdem würde ich gern etwas „Mit Crypto“ anbieten können und würde dann den Fastd-Build auf den Altenteil schicken.

es scheint stabil zu laufen, da man aber nicht schneller ist als mit fastd (im Vergleich zu Wireguard plus l2tpv3) und fastd im Moment auch das kleinere Paket ist bleiben wir dabei.
von der crypto tun die beiden sich nichts.
wireguard frisst den ganzen Memory auf wenn man den mit udp in großem Maß beschiesst und der OOM Killer schiesst dann wahllos Programme ab. (auf den kleinen 32MB kisten, auf den Servern haben wir das nicht beobachtet, aber das liegt wohl daran das der irgendwas um die 90 Mb mximal buffern würde … nur ne Vermutung basierend auf Infos aus Wireguard Dev Liste )

Für die kleinen Geräte - kann man machen, hat aber keinen Vorteil. Bzw. wenn man Layer 3 Routing macht und eben kein Riesenbatman Layer2 Switch (sondern nur lokal Batman hat) dann ist das vielleicht ne saubere alternative.
für die Supernode < > Supernode geschichte sind wir noch dran, denn da ist die Performance sehr gut. Wir denken das wir Tinc damit austauschen werden.

diesen Link kennste ? 841v11 - FASTDv18 - 841v11 iperf tests

Danke für die Einschätzung.

Da bleibe ich bei gretap, um die batman-Interfaces zusammenzubinden.

gretap = unverschlüsselt? (sn < > sn ?)… auch gut, bei uns jedoch ist wo immer es geht verschlüsselter Traffic (local policy)

ich experimentiere grade mit anytun wobei das bisher nicht automatisch läuft mit dem tunnelaufbau key-austausch.

mal sehen wie sich das schlägt

nach dem neuen Wireguard mit Ankündigung von Speicher Alignment auf den kleinen Routerkisten … hab ich neu gebaut und getetestet.

Ich verstehs nicht ganz, aber wir bekommen in die eine Richtung 30Mbit und in die andere etwa 11-14 Mbit. Hatten gestern keine Lust das weiter zu debuggen - aber an sich sehr Bemerkenswert.

[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-10.04  sec  0.00 Bytes  0.00 bits/sec                  sender
[  5]   0.00-10.04  sec  13.9 MBytes  11.6 Mbits/sec                  receiver

[ ID] Interval           Transfer     Bandwidth       Retr
[  5]   0.00-10.06  sec  38.7 MBytes  32.3 Mbits/sec   50             sender
[  5]   0.00-10.06  sec  0.00 Bytes  0.00 bits/sec                  receiver

[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-10.03  sec  0.00 Bytes  0.00 bits/sec                  sender
[  5]   0.00-10.03  sec  14.2 MBytes  11.8 Mbits/sec                  receiver

[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  38.3 MBytes  32.1 Mbits/sec   40             sender
[  4]   0.00-10.00  sec  37.9 MBytes  31.8 Mbits/sec                  receiver

[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-4.00   sec  0.00 Bytes  0.00 bits/sec                  sender
[  4]   0.00-4.00   sec  6.78 MBytes  14.2 Mbits/sec                  receiver

[ ID] Interval           Transfer     Bandwidth       Retr
[  5]   0.00-10.04  sec  38.7 MBytes  32.4 Mbits/sec   46             sender
[  5]   0.00-10.04  sec  0.00 Bytes  0.00 bits/sec                  receiver

##########################
#  Blanko Kabeltest/IF Test Laptop/Laptop
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  5]   0.00-10.04  sec  1.09 GBytes   930 Mbits/sec    0             sender
[  5]   0.00-10.04  sec  0.00 Bytes  0.00 bits/sec                  receiver

[WireGuard] [ANNOUNCE] Snapshot experimental-0.0.20161001 Available
http://openfreiburg.de/freifunk/firmware/lede/generic/
http://openfreiburg.de/freifunk/firmware/wg0server1.sh
http://openfreiburg.de/freifunk/firmware/wg0server2.sh

1 „Gefällt mir“

getestet 842v3 mit wireguard und gretap und batv14,
tests mit lede und 4.4 Kernel

irgendwas mach ich da noch nicht so ganz richtig, hier vergleichsergebnisse unter live test bedingungen. Freu mich über anregungen, nachmacher*innen und so.
edit: backend lahmte … siehe Post3

841v9 550Mhz 100Mbyte 2:30 - 5,4Mbit - mit Lede testbuild, fastd
842v3 650Mhz 100Mbyte 4:40 - 2,9Mbit - mit Lede testbuild, wireguard + gretap
842v3 650Mhz 100Mbyte 0:54 - 15 Mbit - mit Lede testbuild, wireguard + gretap
842v3 650Mhz 100Mbyte 0:30 - 26,7Mbit- mit Lede testbuild, wireguard

im Vergleich dazu Gluon v2016.2.2 noch mit Chaos Calmer OpenWRT:
(dort auch Hardware CPU infos zu den Geräten)

Setup wg0 WireGuard Interface

Wireguard - Server

# wg genkey > wg_privatekey
# wg pubkey < wg_privatekey > wg_publickey
# cat wg.sh
ip link del dev wg0 2>/dev/null || true
ip link add dev wg0 type wireguard
wg set wg0 private-key /home/freifunk/wg_privatekey
wg addconf wg0 /home/freifunk/wg_conf
ip addr add fe80::$(cat /sys/class/net/eth0/address)/64 dev wg0
ip addr add fdf1::$(cat /sys/class/net/eth0/address)/64 dev wg0
# <me> peer <the other>
ip address add 192.168.99.1/24 dev wg0
ip link set up dev wg0

Wireguard - peer - 842v3

# wg genkey > wg_privatekey
# wg pubkey < wg_privatekey > wg_publickey
# cat wg.sh
ip link del dev wg0 2>/dev/null || true
ip link add dev wg0 type wireguard
wg set wg0 private-key /home/freifunk/wg_privatekey
wg addconf wg0 /home/freifunk/wg_conf
ip addr add fe80::$(cat /sys/class/net/eth0/address)/64 dev wg0
ip addr add fdf1::$(cat /sys/class/net/eth0/address)/64 dev wg0
# <me> peer <the other>
ip address add 192.168.99.2/32 peer 192.168.99.1/32 dev wg0
ip link set up dev wg0
# it seems we need initializer like this 
ping 192.168.99.1 -c2

Setup gretap tunnel

gretap: Server

# these are the ips from wg0 if
ip link add gre1 type gretap remote 192.168.99.2 local 192.168.99.1
sleep 2
ip link set up dev gre1

gretap Peer 842v3

# these are the ips from wg0 if
ip link add gre1 type gretap remote 192.168.99.1 local 192.168.99.2
sleep 2
ip link set up dev gre1

ontop Batman

batv14: Server und Peers

batctl if add gre1

related :
gre-tunnel-interface-in-batman-adv-einhaengen
fastd-841nv9-vs-940nv3-vs-842nv3-live-test-poor-mans-speed-test
wireguard-als-zukuenftige-vpn-loesung
lede-test-wireguard-und-blanko-durchsatz-tp841nv11-1-und-bug

2 „Gefällt mir“

connect direct to backbone

26Mbit only wireguard tunnel

time -v wget http://192.168.99.1:80/random100M -O /dev/null
Downloading 'http://192.168.99.1:80/random100M'
Connecting to 192.168.99.1:80
Writing to '/dev/null'
/dev/null            100% |*******************************|   100M  0:00:00 ETA
Download completed (104857600 bytes)
	Command being timed: "wget http://192.168.99.1:80/random100M -O /dev/null"
	User time (seconds): 2.45
	System time (seconds): 5.31
	Percent of CPU this job got: 26%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0m 29.49s
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 2912
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 44
	Voluntary context switches: 4088
	Involuntary context switches: 256
	Swaps: 0
	File system inputs: 0
	File system outputs: 0
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0

connect backbone

### fw server via batman - and gretap (lame backend)

fw server via batman - and gretap

# time -v wget http://[fdf0:9bb:7814:a630:1c61:19ff:fefd:3ed2]/random100M -O /dev/null
Downloading 'http://[fdf0:9bb:7814:a630:1c61:19ff:fefd:3ed2]/random100M'
Connecting to fdf0:9bb:7814:a630:1c61:19ff:fefd:3ed2:80
Writing to '/dev/null'
/dev/null            100% |*******************************|   100M  0:00:00 ETA
Download completed (104857600 bytes)
	Command being timed: "wget http://[fdf0:9bb:7814:a630:1c61:19ff:fefd:3ed2]/random100M -O /dev/null"
	User time (seconds): 2.51
	System time (seconds): 6.10
	Percent of CPU this job got: 15%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0m 53.87s
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 2912
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 45
	Voluntary context switches: 4637
	Involuntary context switches: 229
	Swaps: 0
	File system inputs: 0
	File system outputs: 0
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0

compare fastd (lede build)

just as comparison

## time -v wget http://[fdf0:9bb:7814:a630::7]/random100M -O /dev/null
Downloading 'http://[fdf0:9bb:7814:a630::7]/random100M'
Connecting to fdf0:9bb:7814:a630::7:80
Writing to '/dev/null'
/dev/null            100% |*******************************|   100M  0:00:00 ETA
Download completed (104857600 bytes)
	Command being timed: "wget http://[fdf0:9bb:7814:a630::7]/random100M -O /dev/null"
	User time (seconds): 5.47
	System time (seconds): 9.78
	Percent of CPU this job got: 9%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 2m 39.03s
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 2512
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 46
	Voluntary context switches: 76215
	Involuntary context switches: 55
	Swaps: 0
	File system inputs: 0
	File system outputs: 0
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0

jetzt hatte ich mich selber genatzt.
unser backend lahmt an dieser speziellen Stelle zwischen den Servern, leg ich mir die 100Mbyte Random Testdatei direkt auf den Uplinkserver mess ich folgendes.
(immer mehrere Messungen , hier ein mittleres Ergebnis)

reines routing direkt - 0:25 (time -v wget http://136.243.153.228:10080/random100M -O /dev/null)
wg0 IF - 0:30 (time -v wget http://192.168.99.1/random100M -O /dev/null)
gre1 IF - 0:54 (time -v wget http://[fdf0:9bb:7814:a630:1c61:19ff:fefd:3ed2]/random100M -O /dev/null)

(00:26:03) cccfr_fuzzle: yay ... irgendwas stimmt mit der backendanbindung des servers nicht : 
(00:26:03) cccfr_fuzzle: ipv4 - nur wg - ca 30 sek.
(00:26:03) cccfr_fuzzle: ipv6 - wg+gre - ca 54 sek.
...
(00:27:00) cccfr_fuzzle: 54 sek sind etwa 15 Mbit (unter livebbedingungen (wie ich die gerade immer nenne))

btw. Voluntary context switches: 4637 (dropped from60k++)

wireguard erlaubt seit letzter Woche auch Kernel 3.18++
dass ist nicht nur super für Android Geräte, sondern auch für aktuelles Gluon (2016++). Die sind im Moment in der Regel noch bei ~ 3.18 Kerneln.

damit kann man wireguard/gretap auch auf den 841er laufen lassen, soweit bin ich derweil. Nun stehen Geschwindigkeit Tests und ein Plan für Key/IP Austausch Peer<>Server noch an.

also von Hand unter ./gluon/openwrt/package/kerne/network - wireguard Ordner entsprechend angelegt und Makefile sowie files/wireguard.sh hinzugefügt.
(von hier kopiert https://github.com/openwrt/packages/tree/master/net/wireguard , sonst müsste man alternativ an den OpenWRT Commit als Grundlage drehen und das explodiert erfahungsgemäss gerne mal an vielen anderen Stellen)
(evtl im Ordner gluon/openwrt make menuconfig ausführen und wireguard sowie gre zum bauen vormerken)

danach die fastd-pakete aus der site.mk entfernt und die für wireguard/gre nötigen Pakete hinzugefügt. Wenn man nicht für die 4Mb Geräte baut, kann man fastd durchaus auch drin lassen.

# hinzugeügte Pakete zu site.mk
kmod-gre kmod-gre6 ip-full kmod-wireguard wireguard-tools \

# entfernte Pakete
#         gluon-config-mode-mesh-vpn \
#        gluon-mesh-vpn-fastd

related links
lede-wireguard-gretap-ergebnisse-unter-livebedingungen
wireguard-als-zukuenftige-vpn-loesung
erste wg tests
wireguard-tag

script für all incl auf knoten

# cat foo.sh 
#!/bin/sh

# every peer should have its own ip
IP=192.168.99.2

# check if key exist
[ -f /root/wg_privatekey ] || wg genkey > /root/wg_privatekey && wg pubkey < /root/wg_privatekey > /root/wg_publickey

# del and make new wg0
ip link del dev wg0 2>/dev/null || true
ip link add dev wg0 type wireguard

# if conf not exist make 
if [ ! -f /root/wg_conf ]; then
cat<<EOF > /root/wg_conf
[Interface]
ListenPort = 10099

[Peer]
PublicKey = Gqntn/96zfRrz6SedcNXzw7b+vyjn6IfZlFM8+6U63E= 
Endpoint = 136.243.153.228:10099
AllowedIPs = 0.0.0.0/0,fe80::/0
EOF
fi

# addconf
wg addconf wg0 /root/wg_conf
wg set wg0 private-key /root/wg_privatekey
ip addr add fdf1::$(cat /sys/class/net/eth0/address)/64 dev wg0
ip addr add fe80::$(cat /sys/class/net/eth0/address)/64 dev wg0
# <me> peer <the other>
ip address add $IP/32 peer 192.168.99.1/32 dev wg0
# test if v6 is sufficient , so own ip could be uniq
#ip address add fdf1::$(cat /sys/class/net/eth0/address) peer fdf1::16:3e:75:72:af/64 dev wg0
ip link set up dev wg0

# grestuff
ip link add gre4 type gretap remote 192.168.99.1 local $IP
ifconfig gre4 up

# batman
batctl if add gre4

helpfull lines for server…

# nebst dem anderen foo , siehe peer config ...  neuer peer zu server hinzufügen
# angenommen der server lauscht auf 10099 und wg0 intern auf 192.168.99.1
wg genkey > /root/wg_privatekey && wg pubkey < /root/wg_privatekey > /root/wg_publickey

wg set wg0 peer lustigerneuerpeerkey= allowed-ips 192.168.99.5/32
ip link add gre5 type gretap remote 192.168.99.5 local 192.168.99.1 ttl 255
ifconfig gre5 up
10 „Gefällt mir“

Echt Klasse, dass du dich da so reinhängst! Weiter so!!!

…ich hab zwar nicht mal die Hälfte technisch verstanden, was Du da genau machst, aber wenn es funktioniert: Super!

Danke für Dein Engagement!

Es gibt hier vermutlich viele Dutzend Leute, die sehr, sehr gespannt in Eurer Richtung schauen und positiven Meldungen entgegenfiebern.

Wenn irgendwelche „überschaubare“ Aufgaben zu übernehmen sind oder ihr Resourcen braucht, dann meldet Euch bitte!

danke - im großen sinds nunmehr detail und design fragen,
neben dem testen auf Geräten und Geschwindigkeit wären da noch fragen wie

  • wie wieviele gretap tunnel if kann man so auf nem server aufmachen (>500)
  • wieviele dieser tunnel interface kann man in batman einhängen (>500)
  • hat das unvorhergesehene performance impacts
  • wie gestaltet man die keyverwaltung (inkl. der nötigen ip)
  • ein passendes paket dazu bauen für den config mode
  • Freifunk durch Freifunk verhindern = erkennen von echtem uplink oder mesh
  • soll es sowas wie ein fallback geben (ähnl. wie bei fastd mehrere supernodes)
  • macht 4.4 kernel (gerade lede) oder 3.18 nen großen unterschied?

im grunde wäre es super andere bauen das auch mal zusammen um da erfahrungen zu sammeln.
mit starker vorsicht zu geniessen wären diese sysupgrade
v2016.2.x.2-wg (v14 und v15 da) http://openfreiburg.de/freifunk/firmware/support/sysupgrade/
(vorsicht da u.a emergency script (mit reboot wenn keine batgw für 10 min) darin und ssh keys von uns aus freiburg)

3 „Gefällt mir“

Die Tunnel laufen super und stabil und der durchsatz ist gut, mag jemand da mit an einem Gluon package basteln … ? direkte PM an mich

3 „Gefällt mir“