History log of /freebsd-10.2-release/share/man/man9/pfil.9
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 285830 23-Jul-2015 gjb

- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
builds.
- Update newvers.sh to reflect RC1.
- Update __FreeBSD_version to reflect 10.2.
- Update default pkg(8) configuration to use the quarterly branch.[1]

Discussed with: re, portmgr [1]
Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 254825 25-Aug-2013 joel

mdoc fixes.


# 254815 24-Aug-2013 andre

Fix BUGS section after botched modify in r254772.

Reported by: bjk


# 254775 24-Aug-2013 andre

Adjust for the pfil_func_t typedef added in r254769.


# 254772 24-Aug-2013 andre

pfil_hook_get() has been internalized in r254771 and is no longer
part of the API. It wasn't safe for external use in any case.


# 242989 13-Nov-2012 pluknet

Correct rmlock(9) xref and add a missing comma.


# 241888 22-Oct-2012 melifaro

Make PFIL use per-VNET lock instead of per-AF lock. Since most used packet
filters (ipfw and PF) use the same ruleset with the same lock for both
AF_INET and AF_INET6 there is no need in more fine-grade locking.
However, it is possible to request personal lock by specifying
PFIL_FLAG_PRIVATE_LOCK flag in pfil_head structure (see pfil.9 for
more details).

Export PFIL lock via rw_lock(9)/rm_lock(9)-like API permitting pfil consumers
to use this lock instead of own lock. This help reducing locks on main
traffic path.

pfil_assert() is currently not implemented due to absense of rm_assert().
Waiting for some kind of r234648 to be merged in HEAD.

This change is part of bigger patch reducing routing locking.

Sponsored by: Yandex LLC
Reviewed by: glebius, ae
OK'd by: silence on net@
MFC after: 3 weeks


# 241245 06-Oct-2012 glebius

A step in resolving mess with byte ordering for AF_INET. After this change:

- All packets in NETISR_IP queue are in net byte order.
- ip_input() is entered in net byte order and converts packet
to host byte order right _after_ processing pfil(9) hooks.
- ip_output() is entered in host byte order and converts packet
to net byte order right _before_ processing pfil(9) hooks.
- ip_fragment() accepts and emits packet in net byte order.
- ip_forward(), ip_mloopback() use host byte order (untouched actually).
- ip_fastforward() no longer modifies packet at all (except ip_ttl).
- Swapping of byte order there and back removed from the following modules:
pf(4), ipfw(4), enc(4), if_bridge(4).
- Swapping of byte order added to ipfilter(4), based on __FreeBSD_version
- __FreeBSD_version bumped.
- pfil(9) manual page updated.

Reviewed by: ray, luigi, eri, melifaro
Tested by: glebius (LE), ray (BE)


# 240573 16-Sep-2012 joel

Remove trailing whitespace.


# 240561 16-Sep-2012 melifaro

Add section describing existing filtering points.
Document byteorder behavior in AF_INET[6] hooks in new section.

MFC after: 2 weeks


# 162404 18-Sep-2006 ru

Markup fixes.


# 150636 27-Sep-2005 mlaier

Remove bridge(4) from the tree. if_bridge(4) is a full functional
replacement and has additional features which make it superior.

Discussed on: -arch
Reviewed by: thompsa
X-MFC-after: never (RELENG_6 as transition period)


# 140561 21-Jan-2005 ru

Sort sections.


# 140140 12-Jan-2005 ru

Scheduled mdoc(7) sweep.


# 136388 11-Oct-2004 green

s/ENOBUF/ENOBUFS/


# 136258 08-Oct-2004 mlaier

Change pfil starvation prevention from fail-open to fail-close.
We return ENOBUF to indicate the problem, which is an errno that should be
handled well everywhere.

Requested & Submitted by: green
Silently okay'ed by: The rest of the firewall gang
MFC after: 3 days


# 135920 29-Sep-2004 mlaier

Add an additional struct inpcb * argument to pfil(9) in order to enable
passing along socket information. This is required to work around a LOR with
the socket code which results in an easy reproducible hard lockup with
debug.mpsafenet=1. This commit does *not* fix the LOR, but enables us to do
so later. The missing piece is to turn the filter locking into a leaf lock
and will follow in a seperate (later) commit.

This will hopefully be MT5'ed in order to fix the problem for RELENG_5 in
forseeable future.

Suggested by: rwatson
A lot of work by: csjp (he'd be even more helpful w/o mentor-reviews ;)
Reviewed by: rwatson, csjp
Tested by: -pf, -ipfw, LINT, csjp and myself
MFC after: 3 days

LOR IDs: 14 - 17 (not fixed yet)


# 134383 27-Aug-2004 andre

Always compile PFIL_HOOKS into the kernel and remove the associated kernel
compile option. All FreeBSD packet filters now use the PFIL_HOOKS API and
thus it becomes a standard part of the network stack.

If no hooks are connected the entire packet filter hooks section and related
activities are jumped over. This removes any performance impact if no hooks
are active.

Both OpenBSD and DragonFlyBSD have integrated PFIL_HOOKS permanently as well.


# 130582 16-Jun-2004 ru

Assorted markup, spelling, and grammar fixes.


# 126468 01-Mar-2004 simon

- Fix typo.
- Use .Fx when I'm here anyway.

PR: docs/63622
Submitted by: Andrew Boothman <andrew@mux.org.uk>


# 120442 25-Sep-2003 sam

update to reflect new api

Submitted by: Max Laier <max@love2party.net>
Obtained from: NetBSD (with changes)


# 119893 08-Sep-2003 ru

mdoc(7): Use the new feature of the .In macro.


# 89254 11-Jan-2002 bde

Fixed missing return type in the prototoype for the hook function.


# 89207 10-Jan-2002 ru

mdoc(7) police: tidy up the markup.


# 89124 09-Jan-2002 mpp

ispell sweep of share/man/man9/*.


# 88509 26-Dec-2001 davidc

Update function definitions and required include files to reflect
the current state of the system.

Approved by: alfred


# 84306 01-Oct-2001 ru

mdoc(7) police: Use the new .In macro for #include statements.


# 79727 14-Jul-2001 schweikh

Removed whitespace at end-of-line; no content changes. I simply did
cd src/share; find man[1-9] -type f|xargs perl -pi -e 's/[ \t]+$//'

BTW, what editors are the culprits? I'm using vim and it shows
me whitespace at EOL in troff files with a thick blue block...

Reviewed by: Silence from cvs diff -b
MFC after: 7 days


# 75531 15-Apr-2001 dd

Grammar police: "its", not "it's", is the possessive form of "it".


# 71895 01-Feb-2001 ru

mdoc(7) police: split punctuation characters + misc fixes.


# 60342 11-May-2000 darrenr

patch from Alexey Zelkin


# 60317 10-May-2000 darrenr

Add pfil(9) subroutines and manpage from NetBSD.