* /128 link-local subnet on 6in4 (sit) tunnels? @ 2013-03-26 22:04 Wilco Baan Hofman 2013-03-27 15:12 ` Hannes Frederic Sowa 0 siblings, 1 reply; 9+ messages in thread From: Wilco Baan Hofman @ 2013-03-26 22:04 UTC (permalink / raw) To: netdev Hi, I was trying to get OSPFv3 working on NBMA 6in4 tunnel on linux 3.8, but it does not work. I noticed it uses a /128 fe80 link-local subnet instead of the rfc4213[1]-mandated /64.. This breaks bird (likely for other reasons), but also interoperability with cisco, which mandates OSPFv3 NBMA on link-local addresses. So I was wondering, is there any particular reason for the use of a /128 link-local or is this just a bug? Regards, Wilco Baan Hofman [1] http://tools.ietf.org/html/rfc4213 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: /128 link-local subnet on 6in4 (sit) tunnels? 2013-03-26 22:04 /128 link-local subnet on 6in4 (sit) tunnels? Wilco Baan Hofman @ 2013-03-27 15:12 ` Hannes Frederic Sowa 2013-03-27 15:37 ` Wilco Baan Hofman 0 siblings, 1 reply; 9+ messages in thread From: Hannes Frederic Sowa @ 2013-03-27 15:12 UTC (permalink / raw) To: Wilco Baan Hofman; +Cc: netdev On Tue, Mar 26, 2013 at 11:04:17PM +0100, Wilco Baan Hofman wrote: > I was trying to get OSPFv3 working on NBMA 6in4 tunnel on linux 3.8, but > it does not work. I noticed it uses a /128 fe80 link-local subnet > instead of the rfc4213[1]-mandated /64.. This breaks bird (likely for > other reasons), but also interoperability with cisco, which mandates > OSPFv3 NBMA on link-local addresses. > > So I was wondering, is there any particular reason for the use of a /128 > link-local or is this just a bug? Can you show me the commands how you set up the tunnel. It does create /64 ll with embedded ipv4 addresses for me here on v3.8. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: /128 link-local subnet on 6in4 (sit) tunnels? 2013-03-27 15:12 ` Hannes Frederic Sowa @ 2013-03-27 15:37 ` Wilco Baan Hofman 2013-03-27 18:11 ` Hannes Frederic Sowa 0 siblings, 1 reply; 9+ messages in thread From: Wilco Baan Hofman @ 2013-03-27 15:37 UTC (permalink / raw) To: Hannes Frederic Sowa; +Cc: netdev On Wed, 2013-03-27 at 16:12 +0100, Hannes Frederic Sowa wrote: > On Tue, Mar 26, 2013 at 11:04:17PM +0100, Wilco Baan Hofman wrote: > > So I was wondering, is there any particular reason for the use of a /128 > > link-local or is this just a bug? > > Can you show me the commands how you set up the tunnel. It does create /64 ll > with embedded ipv4 addresses for me here on v3.8. > Weird, but sure, here goes: ip tunnel add tunv6-uplink1 mode sit remote 192.168.1.1 local 192.168.1.21 ip link set tunv6-uplink1 up mtu 1472 Also, this patch seems to fix it: --- linux-3.8.3.orig/net/ipv6/addrconf.c +++ linux-3.8.3/net/ipv6/addrconf.c @@ -2487,7 +2487,7 @@ static void sit_add_v4_addrs(struct inet } if (addr.s6_addr32[3]) { - add_addr(idev, &addr, 128, scope); + add_addr(idev, &addr, 64, scope); return; } -- Wilco ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: /128 link-local subnet on 6in4 (sit) tunnels? 2013-03-27 15:37 ` Wilco Baan Hofman @ 2013-03-27 18:11 ` Hannes Frederic Sowa 2013-03-27 18:20 ` Wilco Baan Hofman 0 siblings, 1 reply; 9+ messages in thread From: Hannes Frederic Sowa @ 2013-03-27 18:11 UTC (permalink / raw) To: Wilco Baan Hofman; +Cc: netdev On Wed, Mar 27, 2013 at 04:37:53PM +0100, Wilco Baan Hofman wrote: > > On Wed, 2013-03-27 at 16:12 +0100, Hannes Frederic Sowa wrote: > > On Tue, Mar 26, 2013 at 11:04:17PM +0100, Wilco Baan Hofman wrote: > > > So I was wondering, is there any particular reason for the use of a /128 > > > link-local or is this just a bug? > > > > Can you show me the commands how you set up the tunnel. It does create /64 ll > > with embedded ipv4 addresses for me here on v3.8. > > > > Weird, but sure, here goes: > > ip tunnel add tunv6-uplink1 mode sit remote 192.168.1.1 local > 192.168.1.21 > ip link set tunv6-uplink1 up mtu 1472 In my test I didn't specify the local address so addr.s6_addr32[3] seems to be zero. I'll have to search the RFCs why this is the case. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: /128 link-local subnet on 6in4 (sit) tunnels? 2013-03-27 18:11 ` Hannes Frederic Sowa @ 2013-03-27 18:20 ` Wilco Baan Hofman 2013-03-27 18:35 ` Hannes Frederic Sowa 0 siblings, 1 reply; 9+ messages in thread From: Wilco Baan Hofman @ 2013-03-27 18:20 UTC (permalink / raw) To: Hannes Frederic Sowa; +Cc: netdev On Wed, 2013-03-27 at 19:11 +0100, Hannes Frederic Sowa wrote: > On Wed, Mar 27, 2013 at 04:37:53PM +0100, Wilco Baan Hofman wrote: > > > > Weird, but sure, here goes: > > > > ip tunnel add tunv6-uplink1 mode sit remote 192.168.1.1 local > > 192.168.1.21 > > ip link set tunv6-uplink1 up mtu 1472 > > In my test I didn't specify the local address so addr.s6_addr32[3] > seems to be zero. I'll have to search the RFCs why this is the case. See section 3.7, rfc4213: The interface identifier [RFC3513] for such an interface may be based on the 32-bit IPv4 address of an underlying interface, or formed using some other means, as long as it is unique from the other tunnel endpoint with a reasonably high probability. http://tools.ietf.org/html/rfc4213 -- Wilco ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: /128 link-local subnet on 6in4 (sit) tunnels? 2013-03-27 18:20 ` Wilco Baan Hofman @ 2013-03-27 18:35 ` Hannes Frederic Sowa 2013-03-27 19:12 ` Wilco Baan Hofman 2013-03-28 13:00 ` Wilco Baan Hofman 0 siblings, 2 replies; 9+ messages in thread From: Hannes Frederic Sowa @ 2013-03-27 18:35 UTC (permalink / raw) To: Wilco Baan Hofman; +Cc: netdev, YOSHIFUJI Hideaki On Wed, Mar 27, 2013 at 07:20:54PM +0100, Wilco Baan Hofman wrote: > > > On Wed, 2013-03-27 at 19:11 +0100, Hannes Frederic Sowa wrote: > > On Wed, Mar 27, 2013 at 04:37:53PM +0100, Wilco Baan Hofman wrote: > > > > > > Weird, but sure, here goes: > > > > > > ip tunnel add tunv6-uplink1 mode sit remote 192.168.1.1 local > > > 192.168.1.21 > > > ip link set tunv6-uplink1 up mtu 1472 > > > > In my test I didn't specify the local address so addr.s6_addr32[3] > > seems to be zero. I'll have to search the RFCs why this is the case. > > See section 3.7, rfc4213: > > The interface identifier [RFC3513] for such an interface may be based > on the 32-bit IPv4 address of an underlying interface, or formed > using some other means, as long as it is unique from the other tunnel > endpoint with a reasonably high probability. > > http://tools.ietf.org/html/rfc4213 Thanks, I have seen that already. The sit driver is used for more than 6in4 (6to4, isatap, 6rd). So such a change has to be ok with all the other protocols implemented by sit. I also looked in the historic git archive for a rationale of this but couldn't find one. Commit messages 2002 where not as descriptive as today("Import changeset"). :) I also added YOSHIFUJI Hideaki as Cc, perhaps he knows the reason. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: /128 link-local subnet on 6in4 (sit) tunnels? 2013-03-27 18:35 ` Hannes Frederic Sowa @ 2013-03-27 19:12 ` Wilco Baan Hofman 2013-03-28 13:00 ` Wilco Baan Hofman 1 sibling, 0 replies; 9+ messages in thread From: Wilco Baan Hofman @ 2013-03-27 19:12 UTC (permalink / raw) To: Hannes Frederic Sowa; +Cc: netdev, YOSHIFUJI Hideaki On Wed, 2013-03-27 at 19:35 +0100, Hannes Frederic Sowa wrote: > On Wed, Mar 27, 2013 at 07:20:54PM +0100, Wilco Baan Hofman wrote: > > http://tools.ietf.org/html/rfc4213 > > Thanks, I have seen that already. The sit driver is used for more than 6in4 > (6to4, isatap, 6rd). So such a change has to be ok with all the other > protocols implemented by sit. I also looked in the historic git archive for a > rationale of this but couldn't find one. Commit messages 2002 where not as > descriptive as today("Import changeset"). :) > > I also added YOSHIFUJI Hideaki as Cc, perhaps he knows the reason. Fair enough, I sort of expected a comment to be there as to why it would be a /128 as well.. :) -- Wilco ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: /128 link-local subnet on 6in4 (sit) tunnels? 2013-03-27 18:35 ` Hannes Frederic Sowa 2013-03-27 19:12 ` Wilco Baan Hofman @ 2013-03-28 13:00 ` Wilco Baan Hofman 2013-03-28 13:12 ` Hannes Frederic Sowa 1 sibling, 1 reply; 9+ messages in thread From: Wilco Baan Hofman @ 2013-03-28 13:00 UTC (permalink / raw) To: Hannes Frederic Sowa; +Cc: netdev, YOSHIFUJI Hideaki On Wed, 2013-03-27 at 19:35 +0100, Hannes Frederic Sowa wrote: > On Wed, Mar 27, 2013 at 07:20:54PM +0100, Wilco Baan Hofman wrote: > > http://tools.ietf.org/html/rfc4213 > > Thanks, I have seen that already. The sit driver is used for more than 6in4 > (6to4, isatap, 6rd). So such a change has to be ok with all the other > protocols implemented by sit. I also looked in the historic git archive for a > rationale of this but couldn't find one. Commit messages 2002 where not as > descriptive as today("Import changeset"). :) > > I also added YOSHIFUJI Hideaki as Cc, perhaps he knows the reason. > I've been doing some RFC checking of my own.. As far as 6to4 and 6rd go, a link-local address is optional and not very useful at all. ISATAP should have a /64 subnet configured as far as I can tell, same for 6in4. >From rfc3056 section 3.1 [1]: The link-local address of a 6to4 pseudo-interface performing 6to4 encapsulation would, if needed, be formed as described in Section 3.7 of [MECH]. However, no scenario is known in which such an address would be useful, since a peer 6to4 gateway cannot determine the appropriate link-layer (IPv4) address to send to. For 6rd, rfc5969 section 9 specifies that a link *may*, if needed, have a non-used link-local address [2], this may be where the /128 comes in: The 6rd link is modeled as an NBMA link similar to other automatic IPv6 in IPv4 tunneling mechanisms like [RFC5214], with all 6rd CEs and BRs defined as off-link neighbors from one other. The link-local address of a 6rd virtual interface performing the 6rd encapsulation would, if needed, be formed as described in Section 3.7 of [RFC4213]. However, no communication using link-local addresses will occur. For ISATAP, it basically states that a link-local should have a "subnet of appropriate length". rfc5214 section 6.2 refers to rfc4862 [2] for link local addressing: ISATAP interfaces form ISATAP interface identifiers from IPv4 addresses in their locator set and use them to create link-local ISATAP addresses (Section 5.3 of [RFC4862]). Which states: A link-local address is formed by combining the well-known link-local prefix FE80::0 [RFC4291] (of appropriate length) with an interface identifier as follows: >snip< [1] http://tools.ietf.org/html/rfc3056#section-3.1 [2] http://tools.ietf.org/html/rfc5969#section-9 [3] http://tools.ietf.org/html/rfc5214#section-6.2 [4] http://tools.ietf.org/html/rfc4862#section-5.3 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: /128 link-local subnet on 6in4 (sit) tunnels? 2013-03-28 13:00 ` Wilco Baan Hofman @ 2013-03-28 13:12 ` Hannes Frederic Sowa 0 siblings, 0 replies; 9+ messages in thread From: Hannes Frederic Sowa @ 2013-03-28 13:12 UTC (permalink / raw) To: Wilco Baan Hofman; +Cc: netdev, YOSHIFUJI Hideaki On Thu, Mar 28, 2013 at 02:00:38PM +0100, Wilco Baan Hofman wrote: > For 6rd, rfc5969 section 9 specifies that a link *may*, if needed, have > a non-used link-local address [2], this may be where the /128 comes in: > > The 6rd link is modeled as an NBMA link similar to other automatic > IPv6 in IPv4 tunneling mechanisms like [RFC5214], with all 6rd CEs > and BRs defined as off-link neighbors from one other. The link-local > address of a 6rd virtual interface performing the 6rd encapsulation > would, if needed, be formed as described in Section 3.7 of [RFC4213]. > However, no communication using link-local addresses will occur. > Hm, perhaps this is the reason. Also, RFC3964 ("Security Considerations for 6to4") states that the use of non-global addresses on a 6to4 link should be prohibited: | o Disallow traffic in which the destination IPv6 address is not a | global address; in particular, link-local addresses, mapped | addresses, and such should not be used. Could you check if the creation of a /128 ll address does act as a guard against that and does suppress ll traffic? I am not sure. Perhaps a patch where we check the IFF_POINTTOPOINT flag and selectively create a /128 or /64 would be a solution. Thanks, Hannes ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2013-03-28 13:12 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-03-26 22:04 /128 link-local subnet on 6in4 (sit) tunnels? Wilco Baan Hofman 2013-03-27 15:12 ` Hannes Frederic Sowa 2013-03-27 15:37 ` Wilco Baan Hofman 2013-03-27 18:11 ` Hannes Frederic Sowa 2013-03-27 18:20 ` Wilco Baan Hofman 2013-03-27 18:35 ` Hannes Frederic Sowa 2013-03-27 19:12 ` Wilco Baan Hofman 2013-03-28 13:00 ` Wilco Baan Hofman 2013-03-28 13:12 ` Hannes Frederic Sowa
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).