Use adapter index for add/delete_route_ipv6
PATCH 1/1 Use adapter index for add/delete_route_ipv6
Trac #637
--- src/openvpn/route.c | 8 ++++++++ src/openvpn/tun.c | 6 +++++- 2 files changed, 13 insertions(+), 1 deletion(-)
src/openvpn/route.c +8 -0
@@ -1623,6 +1623,10 @@ add_route_ipv6 (struct route_ipv6 *r6, const struct tuntap *tt, unsigned int fla#elif defined (WIN32 ) +struct buffer out =alloc_buf_gc (64 , &gc); +buf_printf (&out,"interface=%d" , tt->adapter_index ); + device =buf_bptr (&out); +/* netsh interface ipv6 add route 2001:db8::/32 MyTunDevice */ argv_printf (&argv, "%s%sc interface ipv6 add route %s/%d %s", get_win_sys_path(),
@@ -1954,6 +1958,10 @@ delete_route_ipv6 (const struct route_ipv6 *r6, const struct tuntap *tt, unsigne#elif defined (WIN32 ) +struct buffer out =alloc_buf_gc (64 , &gc); +buf_printf (&out,"interface=%d" , tt->adapter_index ); + device =buf_bptr (&out); +/* netsh interface ipv6 delete route 2001:db8::/32 MyTunDevice */ argv_printf (&argv, "%s%sc interface ipv6 delete route %s/%d %s", get_win_sys_path(),
src/openvpn/tun.c +5 -1
@@ -1231,11 +1231,13 @@ do_ifconfig (struct tuntap *tt, {char * saved_actual;char iface[64 ]; +DWORD idx;if (!strcmp (actual,"NULL" ))msg (M_FATAL ,"Error: When using --tun-ipv6, if you have more than one TAP-Windows adapter, you must also specify --dev-node" ); -openvpn_snprintf (iface,sizeof (iface),"interface=%lu" ,get_adapter_index_flexible (actual)); + idx =get_adapter_index_flexible (actual); +openvpn_snprintf (iface,sizeof (iface),"interface=%lu" , idx);/* example: netsh interface ipv6 set address interface=42 2001:608:8003::d store=active */ argv_printf (&argv,
@@ -1253,6 +1255,8 @@ do_ifconfig (struct tuntap *tt,*/ saved_actual = tt->actual_name; tt->actual_name = (char *) actual; +/* we use adapter_index in add_route_ipv6 */ + tt->adapter_index = idx;add_route_connected_v6_net (tt, es); tt->actual_name = saved_actual; }
Signature · 1 line
1.9.1
ACK, thanks. I have not actually built or tested a 2.3 binary, but since the code is nearly the same as for master and that one works nicely, I assume this works as well.
Your patch has been applied to the release/2.3 branch.
commit ca8cead8fd8c00154f35b90593442e2bfa8f735d (release/2.3)
Author: Lev Stipakov Date: Sat Dec 12 01:10:30 2015 +0200
Use adapter index for add/delete_route_ipv6
Acked-by: Gert Doering <[email protected]...>
Message-Id: <[email protected]...>
URL: http://article.gmane.org/gmane.network.openvpn.devel/10760
Signed-off-by: Gert Doering <[email protected]...>--
kind regards,
Gert Doering