Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Oct 2011 21:33:13 +0000
From:      "Li, Qing" <qing.li@bluecoat.com>
To:        Matt Smith <matt@xtaz.co.uk>
Cc:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>
Subject:   RE: gif interface not passing IPv6 packets
Message-ID:  <B143A8975061C446AD5E29742C531723137EA0@PWSVL-EXCMBX-01.internal.cacheflow.com>
In-Reply-To: <CAD0n1vH-NzfwtgKXW8vyFdYKwEt3=NdjRxXxVacEruSntf%2BSBQ@mail.gmail.com>
References:  <CAD0n1vG0fvHMkBxxLRq0Y%2Bx9rDt5AXb4WZhq-oxuqpti4mQC7w@mail.gmail.com> <B143A8975061C446AD5E29742C531723137D9D@PWSVL-EXCMBX-01.internal.cacheflow.com> <CAD0n1vH-NzfwtgKXW8vyFdYKwEt3=NdjRxXxVacEruSntf%2BSBQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
>=20
> Just to let you know that I was doing a lot of testing off of the
> mailing list with Hiroki Sato and we basically discovered that I was
> missing an alias on my lo0 interface. He first advised me to try
> testing with adding a /126 to gif0 rather than a /128 which worked
> successfully. Then he advised me to go back to the original
> configuration but also run ifconfig lo0 2a01:348:6:45c::2/128 alias
> which added the correct routes and resolved the problem. Whilst this
> is a workaround it obviously doesn't resolve the actual root cause so
> thank you if you come up with a patch.
>=20

You don't need any aliases to make this configuration work.=20

Adding the interface alias triggers the code that installs the=20
proper routing entry for the local end of the gif tunnel.

The suggested workaround (wrt configuring aliases and lo0 manipulation)
is no different from doing the following:

	ifconfig gif create
	ifconfig gif0 inet6 -ifdisabled 2a01:348:6:45c::2
	ifconfig gif0 inet6 2a01:348:6:45c::2 2a01:348:6:45c::1

>
> I'm still really confused though why it worked before my power failure
> and failed afterwards when as far as I'm aware nothing has changed on
> the system.
>=20
> I'll await the patch and test it out when you post it.
>

The root cause is in the use of "IFA_ROUTE" and "IFA_RTSELF" flags.

For any IFF_POINTOPOINT interface, the IFA_ROUTE is an indication both
end of the tunnel has been specified and the proper route has been
installed.

IFA_RTSELF is a flag that indicates a route over the lo0 interface=20
has been appropriated for the interface address.=20

Please give the following patch a try and let me know how it
works out for you.

	http://people.freebsd.org/~qingli/in6.c.diff

--Qing






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B143A8975061C446AD5E29742C531723137EA0>