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);
                }
        }
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to