I wanted to change the mtu on a WireGuard interface. The setting "mtu_wg0" had no effect. Reproducible: Always Steps to Reproduce: 1. Configure wg0 as WireGuard interface in /etc/conf.d/net 2. Set mtu_wg0="1400" 3. start net.wg0 Actual Results: mtu is 1420 Expected Results: mtu is 1400 My config: config_wg0="fd23::10:1:3/64 10.23.10.13/16" wireguard_wg0="/etc/wireguard/wg0.conf" mtu_wg0="1400"
*** Bug 677940 has been marked as a duplicate of this bug. ***
I have the same issue on all of my Gentoo machines. Additionally, after a recent update (?) the MTU is no longer set correctly automatically, causing breakage. This means that every single time I boot any of my devices I have to log in as root and manually correct the MTU. From what I can tell, netifrc is attempting to set the MTU before the interface has even been created, suggesting that this is not a Wireguard bug, but rather a netifrc bug. Either way, it's a problem...
Does the workaround from bug 677940 work for you? It works for me with netifrc 0.7.3. postup() { case ${IFACE} in wg*) ip link set mtu 1400 dev ${IFACE} ;; esac }
Alternative solution that works for me is changing wireguard_depend() function in /lib/netifrc/net/wireguard to: wireguard_depend() { program /usr/bin/wg before interface }