Generalize PF_MBUF_GENERATED mbuf firewall flag
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Wed, 19 Dec 2007 12:13:17 +0000 (12:13 +0000)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Wed, 19 Dec 2007 12:13:17 +0000 (12:13 +0000)
sys/net/ipfw/ip_fw2.c
sys/netinet/ip_icmp.c
sys/sys/mbuf.h

index 535405f..c0544f6 100644 (file)
@@ -23,7 +23,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/netinet/ip_fw2.c,v 1.6.2.12 2003/04/08 10:42:32 maxim Exp $
- * $DragonFly: src/sys/net/ipfw/ip_fw2.c,v 1.39 2007/11/17 08:05:43 sephe Exp $
+ * $DragonFly: src/sys/net/ipfw/ip_fw2.c,v 1.40 2007/12/19 12:13:17 sephe Exp $
  */
 
 #define        DEB(x)
@@ -1152,7 +1152,7 @@ send_pkt(struct ipfw_flow_id *id, uint32_t seq, uint32_t ack, int flags)
        ip->ip_len = m->m_pkthdr.len;
        bzero (&sro, sizeof (sro));
        ip_rtaddr(ip->ip_dst, &sro);
-       m->m_pkthdr.fw_flags |= IPFW_MBUF_SKIP_FIREWALL;
+       m->m_pkthdr.fw_flags |= IPFW_MBUF_GENERATED;
        ip_output(m, NULL, &sro, 0, NULL, NULL);
        if (sro.ro_rt)
                RTFREE(sro.ro_rt);
@@ -1328,7 +1328,7 @@ ipfw_chk(struct ip_fw_args *args)
        int dyn_dir = MATCH_UNKNOWN;
        ipfw_dyn_rule *q = NULL;
 
-       if (m->m_pkthdr.fw_flags & IPFW_MBUF_SKIP_FIREWALL)
+       if (m->m_pkthdr.fw_flags & IPFW_MBUF_GENERATED)
                return 0;       /* accept */
        /*
         * dyn_dir = MATCH_UNKNOWN when rules unchecked,
index 02098ef..561dea6 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)ip_icmp.c   8.2 (Berkeley) 1/4/94
  * $FreeBSD: src/sys/netinet/ip_icmp.c,v 1.39.2.19 2003/01/24 05:11:34 sam Exp $
- * $DragonFly: src/sys/netinet/ip_icmp.c,v 1.26 2006/12/22 23:57:52 swildner Exp $
+ * $DragonFly: src/sys/netinet/ip_icmp.c,v 1.27 2007/12/19 12:13:17 sephe Exp $
  */
 
 #include "opt_ipsec.h"
@@ -232,7 +232,7 @@ icmp_error(struct mbuf *n, int type, int code, n_long dest, int destmtu)
        nip->ip_vhl = IP_VHL_BORING;
        nip->ip_p = IPPROTO_ICMP;
        nip->ip_tos = 0;
-       m->m_pkthdr.fw_flags |= n->m_pkthdr.fw_flags & PF_MBUF_GENERATED;
+       m->m_pkthdr.fw_flags |= n->m_pkthdr.fw_flags & FW_MBUF_GENERATED;
        icmp_reflect(m);
 
 freeit:
@@ -735,7 +735,7 @@ match:
                bcopy((caddr_t)ip + optlen, ip + 1,
                      m->m_len - sizeof(struct ip));
        }
-       m->m_pkthdr.fw_flags &= PF_MBUF_GENERATED;
+       m->m_pkthdr.fw_flags &= FW_MBUF_GENERATED;
        m->m_flags &= ~(M_BCAST|M_MCAST);
        icmp_send(m, opts, ro);
 done:
index d7ed214..cb0a8a0 100644 (file)
@@ -34,7 +34,7 @@
  *
  *     @(#)mbuf.h      8.5 (Berkeley) 2/19/95
  * $FreeBSD: src/sys/sys/mbuf.h,v 1.44.2.17 2003/04/15 06:15:02 silby Exp $
- * $DragonFly: src/sys/sys/mbuf.h,v 1.44 2007/12/02 05:01:04 sephe Exp $
+ * $DragonFly: src/sys/sys/mbuf.h,v 1.45 2007/12/19 12:13:17 sephe Exp $
  */
 
 #ifndef _SYS_MBUF_H_
@@ -232,14 +232,15 @@ struct mbuf {
 /*
  * Flags indicating PF processing status
  */
-#define        PF_MBUF_GENERATED       0x00000001
+#define FW_MBUF_GENERATED      0x00000001
 #define        PF_MBUF_TAGGED          0x00000002      /* pf_tag field is valid */
 #define        PF_MBUF_ROUTED          0x00000004      /* pf_routed field is valid */
 #define        PF_MBUF_TRANSLATE_LOCALHOST                                     \
                                0x00000008
 #define        PF_MBUF_FRAGCACHE       0x00000010
 #define        ALTQ_MBUF_TAGGED        0x00000020      /* altq_qid is valid */
-#define        IPFW_MBUF_SKIP_FIREWALL 0x00000040
+#define        PF_MBUF_GENERATED       FW_MBUF_GENERATED
+#define        IPFW_MBUF_GENERATED     FW_MBUF_GENERATED
 #define DUMMYNET_MBUF_TAGGED   0x00000080
 
 /*