Date: Sun, 19 Feb 2012 23:50:09 GMT From: Sergey Matveychuk <sem@FreeBSD.org> To: freebsd-ipfw@FreeBSD.org Subject: Re: kern/165190: [ipfw] [lo] loopback interface is not marking ipv6 packets Message-ID: <201202192350.q1JNo9d9007119@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/165190; it has been noted by GNATS. From: Sergey Matveychuk <sem@FreeBSD.org> To: bug-followup@FreeBSD.org, public@macfreek.nl Cc: Subject: Re: kern/165190: [ipfw] [lo] loopback interface is not marking ipv6 packets Date: Mon, 20 Feb 2012 03:18:13 +0400 This is a multi-part message in MIME format. --------------080202040908010900010503 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Julian wrongs here. Try the patch please. I've found the superfluous code in nd6.c when wrote a patch for divert(4) and was very annoyed this loopback behaviour. For unknown reasons KAME authors decided to fake interface for loopback. It differs from IPv4 code, so, I guess, it should be fixed. But I could not proof it. Your example is better for this. --------------080202040908010900010503 Content-Type: text/x-patch; name="nd6.c.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="nd6.c.diff" --- sys/netinet6/nd6.c.orig 2011-02-25 17:48:54.000000000 +0300 +++ sys/netinet6/nd6.c 2011-02-25 17:49:51.000000000 +0300 @@ -1928,10 +1928,6 @@ } return (error); } - if ((ifp->if_flags & IFF_LOOPBACK) != 0) { - return ((*ifp->if_output)(origifp, m, (struct sockaddr *)dst, - NULL)); - } error = (*ifp->if_output)(ifp, m, (struct sockaddr *)dst, NULL); return (error); --------------080202040908010900010503--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201202192350.q1JNo9d9007119>