[Openvpn-devel,v2] Undo FreeBSD 12.x workaround on IPv6 ifconfig for 12.4 and up

Message ID 20230107162558.59659-1-gert@greenie.muc.de
State Accepted
Headers show
Series [Openvpn-devel,v2] Undo FreeBSD 12.x workaround on IPv6 ifconfig for 12.4 and up | expand

Commit Message

Gert Doering Jan. 7, 2023, 4:25 p.m. UTC
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 <gert@greenie.muc.de>
---
 src/openvpn/tun.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Arne Schwabe Jan. 9, 2023, 3:29 p.m. UTC | #1
Am 07.01.23 um 17:25 schrieb Gert Doering:
> 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
> 

Thanks that looks now better.

Acked-By: Arne Schwabe <arne@rfc2549.org>
Gert Doering Jan. 9, 2023, 4:04 p.m. UTC | #2
Thanks for the review and for fixing my fat fingers :-)

Patch has been applied to the master and release/2.6 branch.

commit 16d7f2cd4d904274580b2f031e92dde2f7f260c9 (master)
commit d9906d1523a8ed46fce81cb8d559279e345bf849 (release/2.6)
Author: Gert Doering
Date:   Sat Jan 7 17:25:58 2023 +0100

     Undo FreeBSD 12.x workaround on IPv6 ifconfig for 12.4 and up

     Signed-off-by: Gert Doering <gert@greenie.muc.de>
     Acked-by: Gert Doering <gert@greenie.muc.de>
     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 <gert@greenie.muc.de>


--
kind regards,

Gert Doering

Patch

diff --git a/src/openvpn/tun.c b/src/openvpn/tun.c
index a83ec9e6..8d884461 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".