Home | History | Annotate | Download | only in net
History log of /src/sys/dist/pf/net/pf_if.c
RevisionDateAuthorComments
 1.33  14-Mar-2017  ozaki-r Use if_acquire and if_release instead of using psref API directly

- Provide if_release for consistency to if_acquire
- Use if_acquire and if_release for ifp iterations
- Make ifnet_psref_class static
 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  20-Jul-2016  ozaki-r Apply pserialize to some iterations of IP address lists
 1.30  07-Jul-2016  ozaki-r branches: 1.30.2;
Switch the address list of intefaces to pslist(9)

As usual, we leave the old list to avoid breaking kvm(3) users.
 1.29  22-Jun-2016  ozaki-r Remove unnecessary NULL checks of ifa->ifa_addr

If it's NULL, it should be a bug. There many IFADDR_FOREACH that don't do
NULL check. If it can be NULL, they should fire already.
 1.28  16-Jun-2016  ozaki-r Use curlwp_bind and curlwp_bindx instead of open-coding LP_BOUND
 1.27  12-May-2016  ozaki-r Protect ifnet list with psz and psref

The change ensures that ifnet objects in the ifnet list aren't freed during
list iterations by using pserialize(9) and psref(9).

Note that the change adds a pslist(9) for ifnet but doesn't remove the
original ifnet list (ifnet_list) to avoid breaking kvm(3) users. We
shouldn't use the original list in the kernel anymore.
 1.26  17-May-2014  rmind branches: 1.26.4;
Fix previous.
 1.25  17-May-2014  rmind - Move IFNET_*() macros under #ifdef _KERNEL.
- Replace TAILQ_FOREACH on ifnet with IFNET_FOREACH().
 1.24  01-Jul-2013  skrll branches: 1.24.4;
PFIL_HOOKS is dead.
 1.23  30-Jun-2013  njoly Fix pf module build. Adjust pfil_remove_hook 3rd arguments.
 1.22  30-Jun-2013  rmind Update pf to pfil(9) changes. Missed in previous commit.
 1.21  12-Apr-2010  ahoka branches: 1.21.8; 1.21.18; 1.21.22;
- Make the pf and pflog driver able to detach.
- Add code for module support.

Original patch from Jared McNeill
 1.20  06-Dec-2009  dsl branches: 1.20.2; 1.20.4;
If pfi_address_add() has to extend the buffer, copy the data in the
right direction!
Fixes PR/41939.
 1.19  28-Jul-2009  minskim Remove LKM code from pf.
 1.18  19-Dec-2008  cegger use M_ZERO on malloc() and remove subsequent bzero().
 1.17  19-Dec-2008  cegger pass M_NOWAIT instead of M_DONTWAIT to malloc.
 1.16  18-Jun-2008  yamt branches: 1.16.4;
merge yamt-pf42 branch.
(import newer pf from OpenBSD 4.2)

ok'ed by peter@. requested by core@
 1.15  11-Feb-2008  dyoung branches: 1.15.6; 1.15.8; 1.15.10; 1.15.12; 1.15.14;
Use TAILQ_FOREACH().
 1.14  11-Dec-2007  lukem use __KERNEL_RCSID()
 1.13  05-Dec-2007  dyoung branches: 1.13.2; 1.13.4;
Use IFADDR_FOREACH().
 1.12  12-Mar-2007  ad branches: 1.12.12; 1.12.14; 1.12.20; 1.12.22;
Pass an ipl argument to pool_init/POOL_INIT to be used when initializing
the pool's lock.
 1.11  04-Mar-2007  christos branches: 1.11.2;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.10  11-Dec-2005  christos branches: 1.10.26;
merge ktrace-lwp.
 1.9  01-Jul-2005  peter branches: 1.9.2;
Resolve conflicts (pf from OpenBSD 3.7, kernel part).
 1.8  04-Dec-2004  peter Improve the cleanup routines for detachment. Fixes PR 28132.

Reviewed by yamt.
 1.7  04-Dec-2004  yamt plug pfik_ifaddrhooks leaks by embedding it to pfi_kif.
 1.6  14-Nov-2004  yamt resolve conflicts. (pf from OpenBSD 3.6, kernel part)
 1.5  26-Jul-2004  yamt branches: 1.5.2;
fix dynaddr tracking.

from Peter Postma, PR/26369.
ok'ed by itojun.
 1.4  26-Jul-2004  yamt ANSIfy. (inside #ifdef __NetBSD__)

from Peter Postma.
ok'ed by itojun.
 1.3  29-Jun-2004  itojun make PF lkm working. from Peter Postma and Joel Wilsson.

remove pf_ioctl_head/pf_newif_head, which was never used.
 1.2  22-Jun-2004  itojun PF from openbsd 3.5. missing features:
- pfsync (due to protocol # assignment issues)
- carp (not really a PF portion, but thought important to mention)
- PF and ALTQ are mutually-exclusive. this will be sorted out when
kjc@csl.sony.co.jp updates ALTQ and PF (and API inbetween)

reviewed by matt, christos, perry

torture-test is very welcomed.
 1.1  22-Jun-2004  itojun branches: 1.1.1;
Initial revision
 1.1.1.4  01-Dec-2009  martti Import PF from OpenBSD 4.2
 1.1.1.3  01-Jul-2005  peter Import pf from OpenBSD 3.7 (kernel part).
 1.1.1.2  14-Nov-2004  yamt import pf from OpenBSD 3.6. (kernel part)
 1.1.1.1  22-Jun-2004  itojun PF from OpenBSD 3.5
 1.5.2.7  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.2.6  18-Dec-2004  skrll Sync with HEAD.
 1.5.2.5  29-Nov-2004  skrll Sync with HEAD.
 1.5.2.4  21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.2.3  18-Sep-2004  skrll Sync with HEAD.
 1.5.2.2  03-Aug-2004  skrll Sync with HEAD
 1.5.2.1  26-Jul-2004  skrll file pf_if.c was added on branch ktrace-lwp on 2004-08-03 10:52:23 +0000
 1.9.2.4  27-Feb-2008  yamt sync with head.
 1.9.2.3  21-Jan-2008  yamt sync with head
 1.9.2.2  07-Dec-2007  yamt sync with head
 1.9.2.1  03-Sep-2007  yamt sync with head.
 1.10.26.2  24-Mar-2007  yamt sync with head.
 1.10.26.1  12-Mar-2007  rmind Sync with HEAD.
 1.11.2.1  13-Mar-2007  ad Sync with head.
 1.12.22.2  26-Dec-2007  ad Sync with head.
 1.12.22.1  08-Dec-2007  ad Sync with head.
 1.12.20.3  18-Feb-2008  mjf Sync with HEAD.
 1.12.20.2  27-Dec-2007  mjf Sync with HEAD.
 1.12.20.1  08-Dec-2007  mjf Sync with HEAD.
 1.12.14.2  23-Mar-2008  matt sync with HEAD
 1.12.14.1  09-Jan-2008  matt sync with HEAD
 1.12.12.1  09-Dec-2007  jmcneill Sync with HEAD.
 1.13.4.1  13-Dec-2007  bouyer Sync with HEAD
 1.13.2.1  11-Dec-2007  yamt sync with head.
 1.15.14.1  18-Jun-2008  simonb Sync with head.
 1.15.12.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.15.10.4  11-Aug-2010  yamt sync with head.
 1.15.10.3  11-Mar-2010  yamt sync with head
 1.15.10.2  19-Aug-2009  yamt sync with head.
 1.15.10.1  04-May-2009  yamt sync with head.
 1.15.8.4  23-Apr-2008  peter Clean up 'pfi_kif' instances.
 1.15.8.3  21-Apr-2008  peter Make this compile when #ifdef _LKM.
 1.15.8.2  20-Apr-2008  peter Create/destroy groups for the interface on attachment/detachment.
Filtering on groups now works.
 1.15.8.1  19-Apr-2008  yamt Peter Postma's work-in-progress pf import from OpenBSD 4.2.
updated to -current by me.
 1.15.6.2  17-Jan-2009  mjf Sync with HEAD.
 1.15.6.1  29-Jun-2008  mjf Sync with HEAD.
 1.16.4.1  19-Jan-2009  skrll Sync with HEAD.
 1.20.4.1  30-May-2010  rmind sync with head
 1.20.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.21.22.3  18-May-2014  rmind sync with head
 1.21.22.2  28-Aug-2013  rmind sync with head
 1.21.22.1  17-Jul-2013  rmind Checkpoint work in progress:
- Move PCB structures under __INPCB_PRIVATE, adjust most of the callers
and thus make IPv4 PCB structures mostly opaque. Any volunteers for
merging in6pcb with inpcb (see rpaulo-netinet-merge-pcb branch)?
- Move various global vars to the modules where they belong, make them static.
- Some preliminary work for IPv4 PCB locking scheme.
- Make raw IP code mostly MP-safe. Simplify some of it.
- Rework "fast" IP forwarding (ipflow) code to be mostly MP-safe. It should
run from a software interrupt, rather than hard.
- Rework tun(4) pseudo interface to be MP-safe.
- Work towards making some other interfaces more strict.
 1.21.18.2  03-Dec-2017  jdolecek update from HEAD
 1.21.18.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.21.8.1  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.24.4.1  10-Aug-2014  tls Rebase.
 1.26.4.5  28-Aug-2017  skrll Sync with HEAD
 1.26.4.4  05-Feb-2017  skrll Sync with HEAD
 1.26.4.3  05-Oct-2016  skrll Sync with HEAD
 1.26.4.2  09-Jul-2016  skrll Sync with HEAD
 1.26.4.1  29-May-2016  skrll Sync with HEAD
 1.30.2.3  20-Mar-2017  pgoyette Sync with HEAD
 1.30.2.2  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.30.2.1  26-Jul-2016  pgoyette Sync with HEAD
 1.32.2.1  21-Apr-2017  bouyer Sync with HEAD

RSS XML Feed