Hi, On Fri, Dec 11, 2015 at 10:29:33PM +0200, Lev Stipakov wrote: > Thanks, I think (I think!) I got it now. > > 1) Since we have tt->adapter_index (which temporarily disappeared from > my perception of reality), no need to add new member to tuntap or > tuntap_options. > > 2) tt->adapter_index has nothing to do with rgi->adapter_index, first > one is windows adapter index (which we pass to netsh), last one is for > routing (which we pass to netsh too in special case). > > 3) In add/del_route* we (try to) use tt->adapter_index.
Right :-) > Regarding master's "special case" code. Should it be something like this: > > if ( r6->adapter_index ) /* vpn server special route */ > { > struct buffer out = alloc_buf_gc (64, &gc); > buf_printf (&out, "interface=%d", r6->adapter_index ); > device = buf_bptr(&out); > gateway_needed = true; > } > else > { > /* device = interface=tt->adapter_index */ > } Already committed ;-) - but yes, exactly like this. So if we need to have route that points elsewhere (/128 to existing default gateway to enable overlapping v6-in-v6), r6->adapter_index is set. If not, the tap index is used. ... and it works (except that my win7 vm started to really misbehave regarding IPv6 today, so my tests took much longer than planned... grrr) gert -- USENET is *not* the non-clickable part of WWW! //www.muc.de/~gert/ Gert Doering - Munich, Germany g...@greenie.muc.de fax: +49-89-35655025 g...@net.informatik.tu-muenchen.de
signature.asc
Description: PGP signature