Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

ovpn: keep carrier always on for MP interfaces

An ovpn interface configured in MP mode will keep carrier always
on and let the user decide when to bring it administratively up and
down.

This way a MP node (i.e. a server) will keep its interface always
up and running, even when no peer is connected.

Signed-off-by: Antonio Quartulli <antonio@openvpn.net>
Link: https://patch.msgid.link/20250415-b4-ovpn-v26-4-577f6097b964@openvpn.net
Reviewed-by: Sabrina Dubroca <sd@queasysnail.net>
Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>

authored by

Antonio Quartulli and committed by
Paolo Abeni
8327a3ba c2d950c4

+11 -3
+11 -3
drivers/net/ovpn/main.c
··· 93 93 ovpn->dev = dev; 94 94 ovpn->mode = mode; 95 95 96 - /* turn carrier explicitly off after registration, this way state is 97 - * clearly defined 96 + /* Set carrier explicitly after registration, this way state is 97 + * clearly defined. 98 + * 99 + * In case of MP interfaces we keep the carrier always on. 100 + * 101 + * Carrier for P2P interfaces is initially off and it is then 102 + * switched on and off when the remote peer is added or deleted. 98 103 */ 99 - netif_carrier_off(dev); 104 + if (ovpn->mode == OVPN_MODE_MP) 105 + netif_carrier_on(dev); 106 + else 107 + netif_carrier_off(dev); 100 108 101 109 return register_netdevice(dev); 102 110 }