From 01b3a48c29df6dc4bade3d8fb7903346a3f77887 Mon Sep 17 00:00:00 2001 From: Gert Doering Date: Wed, 9 Oct 2019 11:52:00 +0200 Subject: [PATCH] Fix IPv6 routes on tap interfaces on OpenSolaris/OpenIndiana The "route add" code always used "metric 0" on OpenSolaris, because (on tun interfaces) it was required to make the route work on "non-ethernet" interfaces (connected, no NDP). This breaks routes via tap interfaces on recent Solaris versions (tested on OpenIndiana 2019) - there, routes only work if metric is != 0 (or just not set). Otherwise it tries to map the gateway address to a local address and fails. Signed-off-by: Gert Doering Acked-by: Antonio Quartulli Message-Id: <20191009095200.9337-2-gert@greenie.muc.de> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg18906.html Signed-off-by: Gert Doering --- src/openvpn/route.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/openvpn/route.c b/src/openvpn/route.c index 3183fb47f..97e90e56b 100644 --- a/src/openvpn/route.c +++ b/src/openvpn/route.c @@ -2043,8 +2043,8 @@ add_route_ipv6(struct route_ipv6 *r6, const struct tuntap *tt, r6->netbits, gateway ); - /* on tun/tap, not "elsewhere"? -> metric 0 */ - if (!r6->iface) + /* on tun (not tap), not "elsewhere"? -> metric 0 */ + if (tt->type == DEV_TYPE_TUN && !r6->iface) { argv_printf_cat(&argv, "0"); } -- 2.47.2