Unable to set speed on tun0


I managed to setup openvpn, but I can see speed is not going over 10mbps. I tried to change it with ethtool but it doesnt let me. Any advice please?

root@OpenWrt:~# ethtool tun0
Settings for tun0:
        Supported ports: [ ]
        Supported link modes:   Not reported
        Supported pause frame use: No
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 10Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: off
        MDI-X: Unknown
        Current message level: 0xffffff86 (-122)
                               probe link tx_err tx_queued intr tx_done rx_status pktdata hw wol 0xffff8000
        Link detected: yes
root@OpenWrt:~# ethtool -s tun0 speed 100
Cannot set new settings: Not supported
  not setting speed

1 Like

@tomasz - as you can see that tun (and tap) are virtual devices and their speeds can't be set.

But OpenVPN speed mostly is dependent from CPU processing power and network speeds. Probably your network is OK, but then it's time to blame CPU for that.

Most routers using underpowered CPUs that can't handle fast OpenVPN encryption. Here are few benchmarks:

and raw table:

So 10 Mbps are probably OK for your device.

If you are need to get faster speeds then you have a few choices:

  • to use other OpenVPN router with faster CPU
  • to offload VPN to other device like old x86 box or RaspberryPi
  • to tweak little bit OpenVPN settings - like lowering encryption level and things like that
  • use other VPN solution like a WireGuard

Here is for example WireGuard benchmarks:

and you can see that on same hardware it outperform OpenVPN with 2x or even 3x.

Thank you for all your replies

I did a test and CPU comes up to 40% during speed test, so I dont think its the CPU. My HW is TP-LINK Archer C7 v4.

I tried to change the cipher and it makes absolutely no difference. Tried setting the tap instead of tun but that doesnt work, probably not supported on the other end (express vpn).

I know its a virtual adapter but somehow my gut feeling is that it says there 10mbps for a reason, since none of my test got over that speed and going directly from windows to the same VPN GW it is about 40mbps..

this adapter is created by openvpn everytime connection is being established, so I guess to change the speed I would need to set some options in openvpn config..

Sorry, you guys were right. Its the CPU. "top" is showing it in a funny way here, so I looked at wrong data before.

I guess its all clear. Thanks a lot for clarification

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.