$OpenBSD: patch-src_openvpn_route_c,v 1.8 2017/03/28 22:16:37 jca Exp $

- add support for on-link routes

--- src/openvpn/route.c.orig	Wed Mar 22 16:34:21 2017
+++ src/openvpn/route.c	Mon Mar 27 06:01:57 2017
@@ -1778,12 +1778,17 @@ add_route(struct route_ipv4 *r,
     }
 #endif
 
-    argv_printf_cat(&argv, "-net %s %s -netmask %s",
+    argv_printf_cat (&argv, "-net %s -netmask %s",
                     network,
-                    gateway,
                     netmask);
 
-    /* FIXME -- add on-link support for OpenBSD/NetBSD */
+    /* FIXME -- add on-link support for NetBSD */
+#ifdef TARGET_OPENBSD
+    if (is_on_link (is_local_route, flags, rgi))
+        argv_printf_cat (&argv, "-link -iface %s", rgi->iface);
+    else
+#endif
+        argv_printf_cat (&argv, "%s", gateway);
 
     argv_msg(D_ROUTE, &argv);
     status = openvpn_execve_check(&argv, es, 0, "ERROR: OpenBSD/NetBSD route add command failed");
