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



If memory serves me right, JINMEI Tatuya / 神明達哉 wrote:
On Sun, 21 Jan 2007 09:32:44 +0200,
John Hay <jhay@xxxxxxxxxxxxx> 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


Attachment: signature.asc
Description: OpenPGP digital signature



Relevant Pages

  • Re: IPv6 over gif(4) broken in 6.2-RELEASE?
    ... the host route like this: ... the route and route is not immediately used, then the nd code will time ... but what would you expect the entry to become in this case? ... once the link-layer address is resolved for the entry, ...
    (freebsd-net)
  • Re: Dial-Up During Cable Modem Connection.
    ... >> I have a cable modem connection to the internet which works just ... > to create a host route should do it. ...
    (comp.os.linux.networking)
  • Re: Can I bridge without a bridge?
    ... >> same as IP, host route to the gateway on eth0, and default route to that ... with eth0 answering incoming arp requests for your ... >|ifconfig eth1 down ...
    (comp.os.linux.networking)
  • Re: default gateway on solaris
    ... The entire point of a default router is it is the *one* ... used when nothing else in the routing table matches. ... the routing algorthym matches the best route, ... matching and a host route is the best possible match of a route. ...
    (comp.unix.admin)
  • Re: Cant send packets via WiFi (possibly route issue)
    ... I think that this WiFi device should route all ... it should *all* be routed to the eth1 interface. ... Wireless is much like a point-to-point link using ... The connection between the two networks is the "Wifi AP". ...
    (comp.os.linux.networking)