Get rid of the PFIL_HOOKS option, integrate pfil in the system permanently.
authorMatthew Dillon <dillon@dragonflybsd.org>
Thu, 24 Jun 2004 08:15:18 +0000 (08:15 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Thu, 24 Jun 2004 08:15:18 +0000 (08:15 +0000)
(previously the packet filters couldn't even be kldload'd without PFIL_HOOKS).

15 files changed:
sys/conf/files
sys/conf/options
sys/config/GENERIC
sys/config/LINT
sys/contrib/ipfilter/netinet/ip_fil.c
sys/i386/conf/GENERIC
sys/i386/conf/LINT
sys/net/pfil.h
sys/netinet/ip_input.c
sys/netinet/ip_output.c
sys/netinet/ip_var.h
sys/netinet6/ip6_forward.c
sys/netinet6/ip6_input.c
sys/netinet6/ip6_output.c
sys/netinet6/ip6_var.h

index 7ffce95..4e34359 100644 (file)
@@ -1,5 +1,5 @@
 # $FreeBSD: src/sys/conf/files,v 1.340.2.137 2003/06/04 17:10:30 sam Exp $
-# $DragonFly: src/sys/conf/files,v 1.63 2004/06/05 19:57:40 dillon Exp $
+# $DragonFly: src/sys/conf/files,v 1.64 2004/06/24 08:15:11 dillon Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -778,7 +778,7 @@ net/faith/if_faith.c                optional faith
 net/if_fddisubr.c              optional fddi
 net/gif/if_gif.c               optional gif
 net/gre/if_gre.c               optional gre
-net/pfil.c                     optional pfil_hooks
+net/pfil.c                     standard
 net/ppp_layer/slcompress.c     optional netgraph_vjc
 net/ppp_layer/slcompress.c     optional ppp
 net/ppp_layer/slcompress.c     optional sl
index f30278d..04e4a77 100644 (file)
@@ -1,5 +1,5 @@
 # $FreeBSD: src/sys/conf/options,v 1.191.2.53 2003/06/04 17:56:58 sam Exp $
-# $DragonFly: src/sys/conf/options,v 1.21 2004/05/20 21:40:52 dillon Exp $
+# $DragonFly: src/sys/conf/options,v 1.22 2004/06/24 08:15:11 dillon Exp $
 #
 #        On the handling of kernel options
 #
@@ -282,7 +282,6 @@ DUMMYNET            opt_ipdn.h
 IPFILTER               opt_ipfilter.h
 IPFILTER_LOG           opt_ipfilter.h
 IPFILTER_DEFAULT_BLOCK opt_ipfilter.h
-PFIL_HOOKS             opt_pfil_hooks.h
 IPFIREWALL             opt_ipfw.h
 IPFW2                  opt_ipfw.h
 IPFIREWALL_VERBOSE     opt_ipfw.h
index c9ec287..6065ce8 100644 (file)
@@ -4,7 +4,7 @@
 # Check the LINT configuration file in sys/i386/conf, for an
 # exhaustive list of options.
 #
-# $DragonFly: src/sys/config/GENERIC,v 1.15 2004/06/23 06:27:28 hmp Exp $
+# $DragonFly: src/sys/config/GENERIC,v 1.16 2004/06/24 08:15:15 dillon Exp $
 
 machine                i386
 cpu            I386_CPU
@@ -245,7 +245,6 @@ pseudo-device       faith   1       # IPv6-to-IPv4 relaying (translation)
 # The `bpf' pseudo-device enables the Berkeley Packet Filter.
 # Be aware of the administrative consequences of enabling this!
 pseudo-device  bpf             #Berkeley packet filter
-#options               PFIL_HOOKS      #Packetfilter hooks
 
 # USB support
 device         uhci            # UHCI PCI->USB interface
index 8ab7bf8..6ce02fc 100644 (file)
@@ -3,7 +3,7 @@
 #      as much of the source tree as it can.
 #
 # $FreeBSD: src/sys/i386/conf/LINT,v 1.749.2.144 2003/06/04 17:56:59 sam Exp $
-# $DragonFly: src/sys/config/LINT,v 1.30 2004/05/20 22:38:32 dillon Exp $
+# $DragonFly: src/sys/config/LINT,v 1.31 2004/06/24 08:15:15 dillon Exp $
 #
 # NB: You probably don't want to try running a kernel built from this
 # file.  Instead, you should start from GENERIC, and add options from
@@ -527,7 +527,6 @@ pseudo-device       arcnet                  #Generic Arcnet
 pseudo-device  sppp                    #Generic Synchronous PPP
 pseudo-device  loop                    #Network loopback device
 pseudo-device  bpf                     #Berkeley packet filter
-options        PFIL_HOOKS              #Packetfilter hooks
 pseudo-device  disc                    #Discard device (ds0, ds1, etc)
 pseudo-device  tun                     #Tunnel driver (ppp(8), nos-tun(8))
 pseudo-device  sl      2               #Serial Line IP
index c3f9f24..4c065d1 100644 (file)
@@ -6,7 +6,7 @@
  * @(#)ip_fil.c     2.41 6/5/96 (C) 1993-2000 Darren Reed
  * @(#)$Id: ip_fil.c,v 2.42.2.60 2002/08/28 12:40:39 darrenr Exp $
  * $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_fil.c,v 1.25.2.6 2003/03/01 03:55:54 darrenr Exp $
- * $DragonFly: src/sys/contrib/ipfilter/netinet/ip_fil.c,v 1.11 2004/06/02 14:42:48 eirikn Exp $
+ * $DragonFly: src/sys/contrib/ipfilter/netinet/ip_fil.c,v 1.12 2004/06/24 08:15:14 dillon Exp $
  */
 #ifndef        SOLARIS
 #define        SOLARIS (defined(sun) && (defined(__svr4__) || defined(__SVR4)))
@@ -18,9 +18,6 @@
 #if defined(_KERNEL) && (defined(__DragonFly__) || (defined(__FreeBSD_version) && \
     (__FreeBSD_version >= 400000))) && !defined(KLD_MODULE)
 #include "opt_inet6.h"
-#if defined(__DragonFly_version) && (__DragonFly_version >= 100000)
-#include "opt_pfil_hooks.h"
-#endif
 #endif
 #include <sys/param.h>
 #if defined(__NetBSD__) && (NetBSD >= 199905) && !defined(IPFILTER_LKM) && \
index 10a7cb6..715c0ba 100644 (file)
@@ -4,7 +4,7 @@
 # Check the LINT configuration file in sys/i386/conf, for an
 # exhaustive list of options.
 #
-# $DragonFly: src/sys/i386/conf/Attic/GENERIC,v 1.15 2004/06/23 06:27:28 hmp Exp $
+# $DragonFly: src/sys/i386/conf/Attic/GENERIC,v 1.16 2004/06/24 08:15:15 dillon Exp $
 
 machine                i386
 cpu            I386_CPU
@@ -245,7 +245,6 @@ pseudo-device       faith   1       # IPv6-to-IPv4 relaying (translation)
 # The `bpf' pseudo-device enables the Berkeley Packet Filter.
 # Be aware of the administrative consequences of enabling this!
 pseudo-device  bpf             #Berkeley packet filter
-#options               PFIL_HOOKS      #Packetfilter hooks
 
 # USB support
 device         uhci            # UHCI PCI->USB interface
index 8296864..8404e89 100644 (file)
@@ -3,7 +3,7 @@
 #      as much of the source tree as it can.
 #
 # $FreeBSD: src/sys/i386/conf/LINT,v 1.749.2.144 2003/06/04 17:56:59 sam Exp $
-# $DragonFly: src/sys/i386/conf/Attic/LINT,v 1.30 2004/05/20 22:38:32 dillon Exp $
+# $DragonFly: src/sys/i386/conf/Attic/LINT,v 1.31 2004/06/24 08:15:15 dillon Exp $
 #
 # NB: You probably don't want to try running a kernel built from this
 # file.  Instead, you should start from GENERIC, and add options from
@@ -527,7 +527,6 @@ pseudo-device       arcnet                  #Generic Arcnet
 pseudo-device  sppp                    #Generic Synchronous PPP
 pseudo-device  loop                    #Network loopback device
 pseudo-device  bpf                     #Berkeley packet filter
-options        PFIL_HOOKS              #Packetfilter hooks
 pseudo-device  disc                    #Discard device (ds0, ds1, etc)
 pseudo-device  tun                     #Tunnel driver (ppp(8), nos-tun(8))
 pseudo-device  sl      2               #Serial Line IP
index e20b6c1..3edaa19 100644 (file)
@@ -1,5 +1,5 @@
 /*     $NetBSD: pfil.h,v 1.22 2003/06/23 12:57:08 martin Exp $ */
-/* $DragonFly: src/sys/net/pfil.h,v 1.2 2004/06/01 20:49:04 dillon Exp $ */
+/* $DragonFly: src/sys/net/pfil.h,v 1.3 2004/06/24 08:15:16 dillon Exp $ */
 
 /*
  * Copyright (c) 1996 Matthew R. Green
 #ifndef _NET_PFIL_H_
 #define _NET_PFIL_H_
 
-#ifdef _KERNEL_OPT
-#include "opt_pfil_hooks.h"
-#endif
-
 #include <sys/queue.h>
 
 struct mbuf;
@@ -116,11 +112,4 @@ pfil_has_hooks(struct pfil_head *ph)
 #include "ipfilter.h"
 #endif
 
-#if NIPFILTER > 0
-#ifdef PFIL_HOOKS
-#undef PFIL_HOOKS
-#endif
-#define PFIL_HOOKS
-#endif /* NIPFILTER */
-
 #endif /* _NET_PFIL_H_ */
index ef072c7..3f8df50 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)ip_input.c  8.2 (Berkeley) 1/4/94
  * $FreeBSD: src/sys/netinet/ip_input.c,v 1.130.2.52 2003/03/07 07:01:28 silby Exp $
- * $DragonFly: src/sys/netinet/ip_input.c,v 1.30 2004/06/04 03:57:41 dillon Exp $
+ * $DragonFly: src/sys/netinet/ip_input.c,v 1.31 2004/06/24 08:15:17 dillon Exp $
  */
 
 #define        _IP_VHL
@@ -44,7 +44,6 @@
 #include "opt_ipfilter.h"
 #include "opt_ipstealth.h"
 #include "opt_ipsec.h"
-#include "opt_pfil_hooks.h"
 #include "opt_random_ip_id.h"
 
 #include <sys/param.h>
@@ -72,9 +71,7 @@
 #include <net/if_types.h>
 #include <net/if_var.h>
 #include <net/if_dl.h>
-#ifdef PFIL_HOOKS
 #include <net/pfil.h>
-#endif
 #include <net/route.h>
 #include <net/netisr.h>
 #include <net/intrq.h>
@@ -242,9 +239,7 @@ int fw_one_pass = 1;
 /* Dummynet hooks */
 ip_dn_io_t *ip_dn_io_ptr;
 
-#ifdef PFIL_HOOKS
 struct pfil_head inet_pfil_hook;
-#endif
 
 /*
  * XXX this is ugly -- the following two global variables are
@@ -313,13 +308,12 @@ ip_init(void)
                    pr->pr_protocol && pr->pr_protocol != IPPROTO_RAW)
                        ip_protox[pr->pr_protocol] = pr - inetsw;
 
-#ifdef PFIL_HOOKS
        inet_pfil_hook.ph_type = PFIL_TYPE_AF;
        inet_pfil_hook.ph_af = AF_INET;
-       if ((i = pfil_head_register(&inet_pfil_hook)) != 0)
+       if ((i = pfil_head_register(&inet_pfil_hook)) != 0) {
                printf("%s: WARNING: unable to register pfil hook, "
                        "error %d\n", __func__, i);
-#endif
+       }
 
        for (i = 0; i < IPREASS_NHASH; i++)
            ipq[i].next = ipq[i].prev = &ipq[i];
@@ -432,9 +426,7 @@ ip_input(struct mbuf *m)
        struct ip_fw_args args;
        boolean_t using_srcrt = FALSE;          /* forward (by PFIL_HOOKS) */
        boolean_t needredispatch = FALSE;
-#ifdef PFIL_HOOKS
        struct in_addr odst;                    /* original dst address(NAT) */
-#endif
 #ifdef FAST_IPSEC
        struct m_tag *mtag;
        struct tdb_ident *tdbi;
@@ -568,7 +560,6 @@ ip_input(struct mbuf *m)
 
 iphack:
 
-#ifdef PFIL_HOOKS
        /*
         * Run through list of hooks for input packets.
         *
@@ -587,7 +578,6 @@ iphack:
                ip = mtod(m, struct ip *);
                using_srcrt = (odst.s_addr != ip->ip_dst.s_addr);
        }
-#endif
 
        if (fw_enable && IPFW_LOADED) {
                /*
index 7a18c41..862f335 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)ip_output.c 8.3 (Berkeley) 1/21/94
  * $FreeBSD: src/sys/netinet/ip_output.c,v 1.99.2.37 2003/04/15 06:44:45 silby Exp $
- * $DragonFly: src/sys/netinet/ip_output.c,v 1.14 2004/06/02 14:43:01 eirikn Exp $
+ * $DragonFly: src/sys/netinet/ip_output.c,v 1.15 2004/06/24 08:15:17 dillon Exp $
  */
 
 #define _IP_VHL
@@ -42,7 +42,6 @@
 #include "opt_ipdivert.h"
 #include "opt_ipfilter.h"
 #include "opt_ipsec.h"
-#include "opt_pfil_hooks.h"
 #include "opt_random_ip_id.h"
 #include "opt_mbuf_stress_test.h"
 
@@ -60,9 +59,7 @@
 
 #include <net/if.h>
 #include <net/netisr.h>
-#ifdef PFIL_HOOKS
 #include <net/pfil.h>
-#endif
 #include <net/route.h>
 
 #include <netinet/in.h>
@@ -726,7 +723,7 @@ spd_done:
         * - Wrap: fake packet's addr/port <unimpl.>
         * - Encapsulate: put it in another IP and send out. <unimp.>
         */ 
-#ifdef PFIL_HOOKS
+
        /*
         * Run through list of hooks for output packets.
         */
@@ -736,7 +733,6 @@ spd_done:
                        goto done;
                ip = mtod(m, struct ip *);
        }
-#endif /* PFIL_HOOKS */
 
        /*
         * Check with the firewall...
index 9948fa7..2795f93 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)ip_var.h    8.2 (Berkeley) 1/9/95
  * $FreeBSD: src/sys/netinet/ip_var.h,v 1.50.2.13 2003/08/24 08:24:38 hsu Exp $
- * $DragonFly: src/sys/netinet/ip_var.h,v 1.9 2004/06/03 18:30:03 joerg Exp $
+ * $DragonFly: src/sys/netinet/ip_var.h,v 1.10 2004/06/24 08:15:17 dillon Exp $
  */
 
 #ifndef _NETINET_IP_VAR_H_
@@ -219,9 +219,7 @@ void        divert_packet(struct mbuf *m, int incoming, int port, int rule);
 extern struct pr_usrreqs div_usrreqs;
 #endif
 
-#ifdef PFIL_HOOKS
 extern struct pfil_head inet_pfil_hook;
-#endif
 
 void   in_delayed_cksum(struct mbuf *m);
 
index 3b57b56..0d47b36 100644 (file)
@@ -1,5 +1,5 @@
 /*     $FreeBSD: src/sys/netinet6/ip6_forward.c,v 1.4.2.7 2003/01/24 05:11:35 sam Exp $        */
-/*     $DragonFly: src/sys/netinet6/ip6_forward.c,v 1.8 2004/06/01 20:49:08 dillon Exp $       */
+/*     $DragonFly: src/sys/netinet6/ip6_forward.c,v 1.9 2004/06/24 08:15:18 dillon Exp $       */
 /*     $KAME: ip6_forward.c,v 1.69 2001/05/17 03:48:30 itojun Exp $    */
 
 /*
@@ -35,7 +35,6 @@
 #include "opt_inet.h"
 #include "opt_inet6.h"
 #include "opt_ipsec.h"
-#include "opt_pfil_hooks.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -51,9 +50,7 @@
 
 #include <net/if.h>
 #include <net/route.h>
-#ifdef PFIL_HOOKS
 #include <net/pfil.h>
-#endif
 
 #include <netinet/in.h>
 #include <netinet/in_var.h>
@@ -515,7 +512,6 @@ ip6_forward(struct mbuf *m, int srcrt)
        in6_clearscope(&ip6->ip6_dst);
 #endif
 
-#ifdef PFIL_HOOKS
        /*
         * Run through list of hooks for output packets.
         */
@@ -528,7 +524,6 @@ ip6_forward(struct mbuf *m, int srcrt)
                        goto freecopy;
                ip6 = mtod(m, struct ip6_hdr *);
        }
-#endif /* PFIL_HOOKS */
 
        error = nd6_output(rt->rt_ifp, origifp, m, dst, rt);
        if (error) {
@@ -544,9 +539,7 @@ ip6_forward(struct mbuf *m, int srcrt)
                                goto freecopy;
                }
        }
-#ifdef PFIL_HOOKS
 senderr:
-#endif
        if (mcopy == NULL)
                return;
        switch (error) {
index 11d9556..59d3c23 100644 (file)
@@ -1,5 +1,5 @@
 /*     $FreeBSD: src/sys/netinet6/ip6_input.c,v 1.11.2.15 2003/01/24 05:11:35 sam Exp $        */
-/*     $DragonFly: src/sys/netinet6/ip6_input.c,v 1.18 2004/06/02 14:43:01 eirikn Exp $        */
+/*     $DragonFly: src/sys/netinet6/ip6_input.c,v 1.19 2004/06/24 08:15:18 dillon Exp $        */
 /*     $KAME: ip6_input.c,v 1.259 2002/01/21 04:58:09 jinmei Exp $     */
 
 /*
@@ -70,7 +70,6 @@
 #include "opt_inet.h"
 #include "opt_inet6.h"
 #include "opt_ipsec.h"
-#include "opt_pfil_hooks.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -94,9 +93,7 @@
 #include <net/if_dl.h>
 #include <net/route.h>
 #include <net/netisr.h>
-#ifdef PFIL_HOOKS
 #include <net/pfil.h>
-#endif
 
 #include <netinet/in.h>
 #include <netinet/in_systm.h>
@@ -149,9 +146,7 @@ int ip6_sourcecheck_interval;               /* XXX */
 
 int ip6_ours_check_algorithm;
 
-#ifdef PFIL_HOOKS
 struct pfil_head inet6_pfil_hook;
-#endif
 
 /* firewall hooks */
 ip6_fw_chk_t *ip6_fw_chk_ptr;
@@ -194,13 +189,12 @@ ip6_init(void)
                    pr->pr_protocol && pr->pr_protocol != IPPROTO_RAW)
                        ip6_protox[pr->pr_protocol] = pr - inet6sw;
 
-#ifdef PFIL_HOOKS
        inet6_pfil_hook.ph_type = PFIL_TYPE_AF;
        inet6_pfil_hook.ph_af = AF_INET6;
-       if ((i = pfil_head_register(&inet6_pfil_hook)) != 0)
+       if ((i = pfil_head_register(&inet6_pfil_hook)) != 0) {
                printf("%s: WARNING: unable to register pfil hook, "
                        "error %d\n", __func__, i);
-#endif /* PFIL_HOOKS */
+       }
 
        netisr_register(NETISR_IPV6, cpu0_portfn, ip6_input);
        nd6_init();
@@ -257,9 +251,7 @@ ip6_input(struct netmsg *msg)
        u_int32_t rtalert = ~0;
        int nxt, ours = 0;
        struct ifnet *deliverifp = NULL;
-#ifdef PFIL_HOOKS
        struct in6_addr odst;
-#endif
        int srcrt = 0;
 
 #ifdef IPSEC
@@ -351,7 +343,6 @@ ip6_input(struct netmsg *msg)
                goto bad;
        }
 
-#ifdef PFIL_HOOKS
        /*
         * Run through list of hooks for input packets.
         *
@@ -370,7 +361,6 @@ ip6_input(struct netmsg *msg)
                ip6 = mtod(m, struct ip6_hdr *);
                srcrt = !IN6_ARE_ADDR_EQUAL(&odst, &ip6->ip6_dst);
        }
-#endif /* PFIL_HOOKS */
 
        ip6stat.ip6s_nxthist[ip6->ip6_nxt]++;
 
index 73f0d55..3cd330d 100644 (file)
@@ -1,5 +1,5 @@
 /*     $FreeBSD: src/sys/netinet6/ip6_output.c,v 1.13.2.18 2003/01/24 05:11:35 sam Exp $       */
-/*     $DragonFly: src/sys/netinet6/ip6_output.c,v 1.12 2004/06/02 14:43:01 eirikn Exp $       */
+/*     $DragonFly: src/sys/netinet6/ip6_output.c,v 1.13 2004/06/24 08:15:18 dillon Exp $       */
 /*     $KAME: ip6_output.c,v 1.279 2002/01/26 06:12:30 jinmei Exp $    */
 
 /*
@@ -70,7 +70,6 @@
 #include "opt_inet.h"
 #include "opt_inet6.h"
 #include "opt_ipsec.h"
-#include "opt_pfil_hooks.h"
 
 #include <sys/param.h>
 #include <sys/malloc.h>
@@ -85,9 +84,7 @@
 
 #include <net/if.h>
 #include <net/route.h>
-#ifdef PFIL_HOOKS
 #include <net/pfil.h>
-#endif
 
 #include <netinet/in.h>
 #include <netinet/in_var.h>
@@ -918,7 +915,6 @@ skip_ipsec2:;
                m->m_pkthdr.rcvif = NULL;
        }
 
-#ifdef PFIL_HOOKS
        /*
         * Run through list of hooks for output packets.
         */
@@ -928,7 +924,7 @@ skip_ipsec2:;
                        goto done;
                ip6 = mtod(m, struct ip6_hdr *);
        }
-#endif /* PFIL_HOOKS */
+
        /*
         * Send the packet to the outgoing interface.
         * If necessary, do IPv6 fragmentation before sending.
index 9ffe3d1..bb24bd1 100644 (file)
@@ -1,5 +1,5 @@
 /*     $FreeBSD: src/sys/netinet6/ip6_var.h,v 1.2.2.4 2003/01/23 21:06:47 sam Exp $    */
-/*     $DragonFly: src/sys/netinet6/ip6_var.h,v 1.7 2004/06/03 15:04:51 joerg Exp $    */
+/*     $DragonFly: src/sys/netinet6/ip6_var.h,v 1.8 2004/06/24 08:15:18 dillon Exp $   */
 /*     $KAME: ip6_var.h,v 1.62 2001/05/03 14:51:48 itojun Exp $        */
 
 /*
@@ -286,9 +286,7 @@ extern int   ip6_lowportmax;                /* maximum reserved port */
 
 extern int     ip6_use_tempaddr; /* whether to use temporary addresses. */
 
-#ifdef PFIL_HOOKS
 extern struct pfil_head inet6_pfil_hook;
-#endif
 
 extern struct  pr_usrreqs rip6_usrreqs;
 struct sockopt;