Home | History | Annotate | Download | only in net
History log of /src/sys/net/pfil.h
RevisionDateAuthorComments
 1.33  16-Jan-2017  ryo Make pfil(9) MP-safe (applying psref(9))
 1.32  26-Dec-2016  christos branches: 1.32.2;
pfil(9) improvements to handle address changes:

Add:
PFIL_IFADDR call on interface reconfig (mbuf is ioctl #)
PFIL_IFNET call on interface attach/detach (mbuf is PFIL_IFNET_*)

from rmind@
 1.31  29-Jun-2013  rmind branches: 1.31.8; 1.31.12;
- Rewrite parts of pfil(9): use array to store hooks and thus be more cache
friendly (there are only few hooks in the system). Make the structures
opaque and the interface more strict.
- Remove PFIL_HOOKS option by making pfil(9) mandatory.
 1.30  30-Sep-2012  dholland branches: 1.30.2;
u_long -> unsigned long, so this header compiles on its own like it
should. (and without adding <sys/types.h>)
 1.29  29-May-2008  mrg branches: 1.29.32; 1.29.42;
remove clause #3 from my license where there are no other
copyright holders involved.
 1.28  16-Feb-2006  perry branches: 1.28.64; 1.28.66; 1.28.68; 1.28.70;
Change "inline" back to "__inline" in .h files -- C99 is still too
new, and some apps compile things in C89 mode. C89 keywords stay.

As per core@.
 1.27  04-Jan-2006  perry branches: 1.27.2; 1.27.4;
#ifdef _KERNEL some function prototypes and an inline function
definition.

XXX It may be that this file needs more namespace cleaning (or the
files that include it, like if.h, might need it.)
 1.26  24-Dec-2005  perry branches: 1.26.2;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.25  10-Dec-2005  elad Multiple inclusion protection, as suggested by christos@ on tech-kern@
few days ago.
 1.24  27-Jul-2004  yamt branches: 1.24.12;
- rename PFIL_NEWIF to PFIL_IFNET, and handle interface detach events
as well.
- use it for pf(4).

mostly from Peter Postma. PR/26403.
 1.23  22-Jun-2004  itojun prepare PF-related hooks. reviewed by matt, perry, christos
 1.22  23-Jun-2003  martin branches: 1.22.2;
Protect kernel opt_*.h include by #ifdef _KERNEL_OPT
 1.21  23-Jun-2003  martin Make sure to include opt_foo.h if a defflag option FOO is used.
 1.20  30-May-2001  mrg use _KERNEL_OPT
 1.19  11-Apr-2001  itojun need to declare NULL for inline function.
 1.18  28-Dec-2000  thorpej branches: 1.18.2;
Back out the sledgehammer damage applied by wiz while I was out for
the holiday.
 1.17  25-Dec-2000  wiz Back out previous change. It causes NAT to fail, and was CLEARLY
NOT TESTED before it was committed.
 1.16  22-Dec-2000  thorpej Slight adjustment to how pfil_head's are registered. Instead of a
"key" and a "dlt", use a "type" (PFIL_TYPE_{AF,IFNET} for now) and
a val/ptr appropriate for that type. This allows for more future
flexibility with the pfil_hook mechanism.
 1.15  12-Dec-2000  thorpej Use <net/dlt.h>
 1.14  11-Nov-2000  thorpej Restructure the PFIL_HOOKS mechanism a bit:
- All packets are passed to PFIL_HOOKS as they come off the wire, i.e.
fields in protocol headers in network order, etc.
- Allow for multiple hooks to be registered, using a "key" and a "dlt".
The "dlt" is a BPF data link type, indicating what type of header is
present.
- INET and INET6 register with key == AF_INET or AF_INET6, and
dlt == DLT_RAW.
- PFIL_HOOKS now take an argument for the filter hook, and mbuf **,
an ifnet *, and a direction (PFIL_IN or PFIL_OUT), thus making them
less IP (really, IP Filter) centric.

Maintain compatibility with IP Filter by adding wrapper functions for
IP Filter.
 1.13  19-Apr-2000  itojun branches: 1.13.4;
remove extra memory region kept by "struct pfil_head pfil_head_t;".
it seems totally, unnecessary, or seems to be typo for typedef.
(correct me if i'm wrong)
 1.12  22-Feb-2000  darrenr return int from pfil_add_hook and pfil_remove_hook to indicate failure
or success, rather than panic'ing
 1.11  20-Feb-2000  darrenr pass "struct pfil_head *" to pfil_add_hook and pfil_remove hook rather
than "struct protosw *".
 1.10  17-Feb-2000  darrenr Change the use of pfil hooks. There is no longer a single list of all
pfil information, instead, struct protosw now contains a structure
which caontains list heads, etc. The per-protosw pfil struct is passed
to pfil_hook_get(), along with an in/out flag to get the head of the
relevant filter list. This has been done for only IPv4 and IPv6, at
present, with these patches only enabling filtering for IPPROTO_IP and
IPPROTO_IPV6, although it is possible to have tcp/udp, etc, dedicated
filters now also. The ipfilter code has been updated to only filter
IPv4 packets - next major release of ipfilter is required for ipv6.
 1.9  19-Mar-1998  mrg branches: 1.9.14;
convert pfil(9) in and out lists from <sys/queue.h> LISTs to TAILQs, and
change pfil_add_hook to put output filters at the tail of the queue,
while continuing to place input filters at the head of the queue. update
the two users of these functions, and document these changes.

fixes PR#4593.
 1.8  10-Oct-1997  mrg branches: 1.8.2;
remove advertising clause from all my licenses.
 1.7  29-Mar-1997  thorpej branches: 1.7.4;
Don't attempt to include config(8)-generated headers if we're included
by userland.
 1.6  22-Feb-1997  scottr Avoid duplicate definition of PFIL_HOOKS in the case that the config
file specifies that option.
 1.5  19-Feb-1997  scottr Don't include ipfilter.h if building an LKM.
 1.4  18-Feb-1997  mrg pseudo-device ipfilter brings in PFIL_HOOKS.
 1.3  20-Dec-1996  mrg branches: 1.3.4;
remove pfil_bad.
 1.2  05-Oct-1996  mrg minor copyright update.
 1.1  14-Sep-1996  mrg move the packet filter hooks in to a saner location. while i'm here, rename
PACKET_FILTER to PFIL_HOOKS.
 1.3.4.1  12-Mar-1997  is Merge in changes from The Trunk
 1.7.4.1  14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.8.2.1  23-Jul-1998  mellon Pull up 1.9 (veego)
 1.9.14.5  21-Apr-2001  bouyer Sync with HEAD
 1.9.14.4  05-Jan-2001  bouyer Sync with HEAD
 1.9.14.3  13-Dec-2000  bouyer Sync with HEAD (for UBC fixes).
 1.9.14.2  22-Nov-2000  bouyer Sync with HEAD.
 1.9.14.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
 1.13.4.1  23-Apr-2001  he Pull up revision 1.19 (via patch, requested by itojun):
Include <sys/null.h> to define NULL for inline function.
 1.18.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.22.2.4  11-Dec-2005  christos Sync with head.
 1.22.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.22.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.22.2.1  03-Aug-2004  skrll Sync with HEAD
 1.24.12.1  21-Jun-2006  yamt sync with head.
 1.26.2.2  18-Feb-2006  yamt sync with head.
 1.26.2.1  15-Jan-2006  yamt sync with head.
 1.27.4.1  22-Apr-2006  simonb Sync with head.
 1.27.2.1  09-Sep-2006  rpaulo sync with head
 1.28.70.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.28.68.1  04-May-2009  yamt sync with head.
 1.28.66.1  04-Jun-2008  yamt sync with head
 1.28.64.1  02-Jun-2008  mjf Sync with HEAD.
 1.29.42.3  03-Dec-2017  jdolecek update from HEAD
 1.29.42.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.29.42.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.29.32.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.29.32.1  30-Oct-2012  yamt sync with head
 1.30.2.1  28-Aug-2013  rmind sync with head
 1.31.12.2  20-Mar-2017  pgoyette Sync with HEAD
 1.31.12.1  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.31.8.1  05-Feb-2017  skrll Sync with HEAD
 1.32.2.1  21-Apr-2017  bouyer Sync with HEAD

RSS XML Feed