]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
get_default_gateway(): implement platform support for Linux/SITNL
authorGert Doering <gert@greenie.muc.de>
Fri, 31 Jan 2025 08:46:51 +0000 (09:46 +0100)
committerGert Doering <gert@greenie.muc.de>
Fri, 31 Jan 2025 09:34:20 +0000 (10:34 +0100)
This adds Linux/SITNL platform functionality to the framework started by
commit 9df51cf56 and commit 0fcfc8381f.

v2: make comment reflect reality

Change-Id: I1db72d7dca648a8ea4ec65d173290a819971305c
Signed-off-by: Gert Doering <gert@greenie.muc.de>
Acked-by: Antonio Quartulli <a@unstable.cc>
Message-Id: <20250131084651.24765-1-gert@greenie.muc.de>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg30749.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
src/openvpn/route.c

index 3501e353d5f12d607c0727789ff5987798de395a..dd37fb904d839f3fc04997ed3dc9aaddd37f5484 100644 (file)
@@ -3332,8 +3332,8 @@ get_default_gateway(struct route_gateway_info *rgi, in_addr_t dest, openvpn_net_
     CLEAR(*rgi);
     CLEAR(best_name);
 
-    /* get default gateway IP addr */
-    if (net_route_v4_best_gw(ctx, NULL, &rgi->gateway.addr, best_name) == 0)
+    /* find best route to 'dest', get gateway IP addr + interface */
+    if (net_route_v4_best_gw(ctx, &dest, &rgi->gateway.addr, best_name) == 0)
     {
         rgi->flags |= RGI_ADDR_DEFINED;
         if (!rgi->gateway.addr && best_name[0])