IPv6 over gif(4) broken in 6.2-RELEASE?

Bruce A. Mah bmah at freebsd.org
Fri Jan 26 23:30:51 UTC 2007


If memory serves me right, JINMEI Tatuya / 神明達哉 wrote:
>>>>>> On Sun, 21 Jan 2007 09:32:44 +0200, 
>>>>>> John Hay <jhay at meraka.org.za> said:
> 
>>> There's another workaround for people stuck in this situation and who
>>> aren't in a position to try this diff.  That is to manually install
>>> the host route like this:
>>>
>>> # route add -host -inet6 aaaa:bbbb:cccc:dddd::2 -interface gif0 -nostatic -llinfo
>>>
>>> Comments?
> 
>> Well it seems that even my stuff does not always work perfectly with that
>> change (1.48.2.15), so maybe we should revert it and I will search for
>> yet other ways to make FreeBSD's IPv6 code to actually work for our stuff.
> 
>> My "stuff" is a wireless IPv6 only network running in adhoc mode with
>> olsrd as the routing protocol. The problem is that all nodes on a subnet
>> cannot "see" each other, so olsrd needs to add routes to a node through
>> another node. Sometimes, just to complicate matters a little more, you
>> would want to have more than one network card in a host, all with the same
>> subnet address. (For instance on a high site, with sector antennas.)
> 
>> The case that I found that still does not work reliably, is if olsrd add
>> the route and route is not immediately used, then the nd code will time
>> it out and remove it.
> 
> I think I'm responsible for the troubles.  I've been thinking about
> how to meet all the requests, and concluded that it's more complicated
> than I originally thought.
> 
> I've come across an idea that may solve the problems, but I'll need
> more time to implement and test it.
> 
> At the moment, I suggest reverting the 1.48.2.16 change for those who
> simply wanted a gif to work.

Based on these comments above, I've reverted rev. 1.67, 1.68, 1.69, and
1.70 of nd.c on HEAD.  After a bunch more testing I've convinced myself
that I think this will solve the problems that we have been seeing, and
possibly why some other people's testing yielded counter-intitive
results.  I'll MFC to STABLE in 3 days.

Commit message below...

Bruce

-----

bmah        2007-01-26 23:22:58 UTC

  FreeBSD src repository

  Modified files:
    sys/netinet6         nd6.c
  Log:
  Revert nd6.c revs. 1.67, 1.68, 1.69, 1.70 in an attempt to unbreak
  IPv6 over point-to-point gif(4) tunnels.

  These revisions caused a host route to the destination of a
  point-to-point gif(4) interface to not get installed when the interface
  and destination addresses were assigned.  This caused
  "no route to host" errors when trying to send traffic over the
  interface.  The first packet arriving inbound over the tunnel,
  however, would cause the correct route to get installed, allowing
  subsequent outbound traffic to be routed correctly.

  gif(4) interfaces with prefix lengths of less than 128 bits
  (i.e. no explicit destination address assigned) were not affected
  by this bug.

  This bug fix is a possible candidate for a 6.2-RELEASE errata note.

  Approved by:    jhay (original committer)
  Discussed with: jhay, JINMEI Tatuya
  MFC after:      3 days

  Revision  Changes    Path
  1.74      +1 -1      src/sys/netinet6/nd6.c


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 249 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-net/attachments/20070126/b911869a/signature.pgp


More information about the freebsd-net mailing list