svn commit: r212738 - in stable/8/sys: netgraph netinet/ipfw

Gleb Smirnoff glebius at FreeBSD.org
Thu Sep 16 15:11:18 UTC 2010


Author: glebius
Date: Thu Sep 16 15:11:17 2010
New Revision: 212738
URL: http://svn.freebsd.org/changeset/base/212738

Log:
  MFhead r210537:
    Fix operation of "netgraph" action in conjunction with the
    net.inet.ip.fw.one_pass sysctl.
  
    PR:           kern/148885
    Submitted by: Nickolay Dudorov <nnd mail.nsk.ru>

Modified:
  stable/8/sys/netgraph/ng_ipfw.c
  stable/8/sys/netinet/ipfw/ip_fw2.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)

Modified: stable/8/sys/netgraph/ng_ipfw.c
==============================================================================
--- stable/8/sys/netgraph/ng_ipfw.c	Thu Sep 16 15:07:12 2010	(r212737)
+++ stable/8/sys/netgraph/ng_ipfw.c	Thu Sep 16 15:11:17 2010	(r212738)
@@ -287,7 +287,8 @@ ng_ipfw_input(struct mbuf **m0, int dir,
 		}
 		r = (struct ipfw_rule_ref *)(tag + 1);
 		*r = fwa->rule;
-		r->info = dir ? IPFW_INFO_IN : IPFW_INFO_OUT;
+		r->info &= IPFW_ONEPASS;  /* keep this info */
+		r->info |= dir ? IPFW_INFO_IN : IPFW_INFO_OUT;
 		m_tag_prepend(m, tag);
 
 	} else

Modified: stable/8/sys/netinet/ipfw/ip_fw2.c
==============================================================================
--- stable/8/sys/netinet/ipfw/ip_fw2.c	Thu Sep 16 15:07:12 2010	(r212737)
+++ stable/8/sys/netinet/ipfw/ip_fw2.c	Thu Sep 16 15:11:17 2010	(r212738)
@@ -2084,6 +2084,8 @@ do {								\
 				set_match(args, f_pos, chain);
 				args->rule.info = (cmd->arg1 == IP_FW_TABLEARG) ?
 					tablearg : cmd->arg1;
+				if (V_fw_one_pass)
+					args->rule.info |= IPFW_ONEPASS;
 				retval = (cmd->opcode == O_NETGRAPH) ?
 				    IP_FW_NETGRAPH : IP_FW_NGTEE;
 				l = 0;          /* exit inner loop */


More information about the svn-src-all mailing list