Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Jun 2011 06:06:47 +0000 (UTC)
From:      "Andrey V. Elsukov" <ae@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r223358 - head/sys/netinet/ipfw
Message-ID:  <201106210606.p5L66lZ3082664@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ae
Date: Tue Jun 21 06:06:47 2011
New Revision: 223358
URL: http://svn.freebsd.org/changeset/base/223358

Log:
  Do not use SET_HOST_IPLEN() macro for IPv6 packets.
  
  PR:		kern/157239
  MFC after:	2 weeks

Modified:
  head/sys/netinet/ipfw/ip_dn_io.c
  head/sys/netinet/ipfw/ip_fw_pfil.c

Modified: head/sys/netinet/ipfw/ip_dn_io.c
==============================================================================
--- head/sys/netinet/ipfw/ip_dn_io.c	Tue Jun 21 05:27:49 2011	(r223357)
+++ head/sys/netinet/ipfw/ip_dn_io.c	Tue Jun 21 06:06:47 2011	(r223358)
@@ -668,7 +668,6 @@ dummynet_send(struct mbuf *m)
 			break;
 
 		case DIR_OUT | PROTO_IPV6:
-			SET_HOST_IPLEN(mtod(m, struct ip *));
 			ip6_output(m, NULL, NULL, IPV6_FORWARDING, NULL, NULL, NULL);
 			break;
 #endif

Modified: head/sys/netinet/ipfw/ip_fw_pfil.c
==============================================================================
--- head/sys/netinet/ipfw/ip_fw_pfil.c	Tue Jun 21 05:27:49 2011	(r223357)
+++ head/sys/netinet/ipfw/ip_fw_pfil.c	Tue Jun 21 06:06:47 2011	(r223358)
@@ -127,8 +127,9 @@ again:
 		args.rule = *((struct ipfw_rule_ref *)(tag+1));
 		m_tag_delete(*m0, tag);
 		if (args.rule.info & IPFW_ONEPASS) {
-			SET_HOST_IPLEN(mtod(*m0, struct ip *));
-			return 0;
+			if (mtod(*m0, struct ip *)->ip_v == 4)
+				SET_HOST_IPLEN(mtod(*m0, struct ip *));
+			return (0);
 		}
 	}
 



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