socsvn commit: r269413 - soc2014/dpl/netmap-ipfw/sys/netpfil/ipfw

dpl at FreeBSD.org dpl at FreeBSD.org
Wed Jun 11 18:38:51 UTC 2014


Author: dpl
Date: Wed Jun 11 18:38:50 2014
New Revision: 269413
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=269413

Log:
  Added function for O_EXT_HDR, and corrected rule_flow6id, since it didn't dereference match.
  

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

Modified: soc2014/dpl/netmap-ipfw/sys/netpfil/ipfw/ip_fw2.c
==============================================================================
--- soc2014/dpl/netmap-ipfw/sys/netpfil/ipfw/ip_fw2.c	Wed Jun 11 18:32:38 2014	(r269412)
+++ soc2014/dpl/netmap-ipfw/sys/netpfil/ipfw/ip_fw2.c	Wed Jun 11 18:38:50 2014	(r269413)
@@ -1613,8 +1613,7 @@
 				break;
 
 			case O_EXT_HDR:
-				match = is_ipv6 &&
-				    (ext_hd & ((ipfw_insn *) cmd)->arg1);
+				rule_ext_hdr(&match, is_ipv6, ext_hd, cmd);
 				break;
 
 			case O_IP6:

Modified: soc2014/dpl/netmap-ipfw/sys/netpfil/ipfw/ip_rules.h
==============================================================================
--- soc2014/dpl/netmap-ipfw/sys/netpfil/ipfw/ip_rules.h	Wed Jun 11 18:32:38 2014	(r269412)
+++ soc2014/dpl/netmap-ipfw/sys/netpfil/ipfw/ip_rules.h	Wed Jun 11 18:38:50 2014	(r269413)
@@ -664,7 +664,7 @@
 inline void
 rule_flow6id(int *match, struct ip_fw_args *args, ipfw_insn *cmd)
 {
-	match = is_ipv6 &&
+	*match = is_ipv6 &&
 	    flow6id_match(args->f_id.flow_id6,
 	    (ipfw_insn_u32 *) cmd);
 }
@@ -672,6 +672,8 @@
 inline void
 rule_ext_hdr(int *match, int is_ipv6, uint16_t ext_hd, ipfw_insn *cmd)
 {
+	*match = is_ipv6 &&
+	    (ext_hd & ((ipfw_insn *) cmd)->arg1);
 }
 
 inline void


More information about the svn-soc-all mailing list