From: Gert Doering Date: Sat, 7 Jan 2023 16:25:58 +0000 (+0100) Subject: Undo FreeBSD 12.x workaround on IPv6 ifconfig for 12.4 and up X-Git-Tag: v2.7_alpha1~597 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=16d7f2cd4d904274580b2f031e92dde2f7f260c9;p=thirdparty%2Fopenvpn.git Undo FreeBSD 12.x workaround on IPv6 ifconfig for 12.4 and up commit 5e19cc2c1bf22d introduced a workaround for a race condition that showed itself on IPv6 ifconfig on FreeBSD 12.x - sometimes breaking IPv6 connectivity on tun/tap interfaces. This was fixed on the FreeBSD side in 12.4, 13.1 and up, and 13.0 is no longer supported. So conditionalize the workaround on "12.0..12.3", to be fully removed later when 12.3 is also running out of support. v2: fix version number comparison Trac: 1226 Signed-off-by: Gert Doering Acked-by: Gert Doering Message-Id: <20230107162558.59659-1-gert@greenie.muc.de> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg25911.html Signed-off-by: Gert Doering --- diff --git a/src/openvpn/tun.c b/src/openvpn/tun.c index 6947312e6..b204bc405 100644 --- a/src/openvpn/tun.c +++ b/src/openvpn/tun.c @@ -1104,8 +1104,9 @@ do_ifconfig_ipv6(struct tuntap *tt, const char *ifname, int tun_mtu, openvpn_execve_check(&argv, es, S_FATAL, "generic BSD ifconfig inet6 failed"); -#if defined(TARGET_FREEBSD) && __FreeBSD_version >= 1200000 - /* On FreeBSD 12 and up, there is ipv6_activate_all_interfaces="YES" +#if defined(TARGET_FREEBSD) && __FreeBSD_version >= 1200000 \ + && __FreeBSD_version < 1204000 + /* On FreeBSD 12.0-12.3, there is ipv6_activate_all_interfaces="YES" * in rc.conf, which is not set by default. If it is *not* set, * "all new interfaces that are not already up" are configured by * devd + /etc/pccard_ether as "inet6 ifdisabled".