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

dpl at FreeBSD.org dpl at FreeBSD.org
Wed Jun 11 15:43:20 UTC 2014


Author: dpl
Date: Wed Jun 11 15:43:19 2014
New Revision: 269403
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=269403

Log:
  Added ip6_src, and corrected ipsec.
  

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 15:01:09 2014	(r269402)
+++ soc2014/dpl/netmap-ipfw/sys/netpfil/ipfw/ip_fw2.c	Wed Jun 11 15:43:19 2014	(r269403)
@@ -1596,17 +1596,14 @@
 
 			case O_IPSEC:
 #ifdef IPSEC
-				match = (m_tag_find(m,
-				    PACKET_TAG_IPSEC_IN_DONE, NULL) != NULL);
+				rule_ipsec(&match, m);
 #endif
 				/* otherwise no match */
 				break;
 
 #ifdef INET6
 			case O_IP6_SRC:
-				match = is_ipv6 &&
-				    IN6_ARE_ADDR_EQUAL(&args->f_id.src_ip6,
-				    &((ipfw_insn_ip6 *)cmd)->addr6);
+				rule_ip6_src(&match, is_ipv6, args, cmd)
 				break;
 
 			case O_IP6_DST:

Modified: soc2014/dpl/netmap-ipfw/sys/netpfil/ipfw/ip_rules.h
==============================================================================
--- soc2014/dpl/netmap-ipfw/sys/netpfil/ipfw/ip_rules.h	Wed Jun 11 15:01:09 2014	(r269402)
+++ soc2014/dpl/netmap-ipfw/sys/netpfil/ipfw/ip_rules.h	Wed Jun 11 15:43:19 2014	(r269403)
@@ -633,8 +633,11 @@
 }
 
 inline void
-rule_ip6_src(int *match, int is_ipv6 struct in_addr *src_ip6, addr6)
+rule_ip6_src(int *match, int is_ipv6, struct ip_fw_args *args, ipfw_insn *cmd)
 {
+	*match = is_ipv6 &&
+	    IN6_ARE_ADDR_EQUAL(&args->f_id.src_ip6,
+	    &((ipfw_insn_ip6 *)cmd)->addr6);
 }
 
 inline void
@@ -668,7 +671,7 @@
 inline void
 rule_ipsec(int *match, m)
 {
-	match = (m_tag_find(m,
+	*match = (m_tag_find(m,
 	    PACKET_TAG_IPSEC_IN_DONE, NULL) != NULL);
 }
 #endif


More information about the svn-soc-all mailing list