socsvn commit: r271927 - soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw

dpl at FreeBSD.org dpl at FreeBSD.org
Tue Aug 5 11:16:55 UTC 2014


Author: dpl
Date: Tue Aug  5 11:16:54 2014
New Revision: 271927
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=271927

Log:
  Changed the type of the function to be called to accept struct ip_fw_chain* as an arg.

Modified:
  soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw2.c
  soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw_rules.h

Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw2.c
==============================================================================
--- soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw2.c	Tue Aug  5 10:48:53 2014	(r271926)
+++ soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw2.c	Tue Aug  5 11:16:54 2014	(r271927)
@@ -131,7 +131,7 @@
 funcptr compile_code(ip_fw_args *, ip_fw_chain *);
 
 /* Pointer to the actual compiled code */
-int (*compiledfuncptr)(struct ip_fw_args *) = 0;
+int (*compiledfuncptr)(struct ip_fw_args *, struct ip_fw_chain *) = 0;
 
 /*
  * Each rule belongs to one of 32 different sets (0..31).
@@ -403,7 +403,7 @@
 		compiledfuncptr = compile_code(args, chain);
 		IPFW_PF_RUNLOCK(chain);
 	} else
-		return compiledfuncptr();
+		return compiledfuncptr(args, chain);
 
 
 /*

Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw_rules.h
==============================================================================
--- soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw_rules.h	Tue Aug  5 10:48:53 2014	(r271926)
+++ soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/ip_fw_rules.h	Tue Aug  5 11:16:54 2014	(r271927)
@@ -30,6 +30,10 @@
 
 #include <machine/in_cksum.h>	/* XXX for in_cksum */
 
+// dpl XXX. The real function will be inserted by the JIT.
+// dpl XXX. For now, we put the chain there, that could change, tough.
+int ipfw_chk_jit(struct ip_fw_args *args, struct ip_fw_chain *chain);
+
 /*
  * Some macros used in the various matching options.
  * L3HDR maps an ipv4 pointer into a layer3 header pointer of type T


More information about the svn-soc-all mailing list