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>