Home | History | Annotate | Download | only in net
History log of /src/sys/net/if_pppoe.h
RevisionDateAuthorComments
 1.15  12-Oct-2017  knakahara Add a locking notes for if_pppoe
 1.14  31-May-2017  knakahara branches: 1.14.2;
add todo comment. pointed out by s-yamaguchi@IIJ
 1.13  15-Apr-2016  ozaki-r Hide PPPoE variables from if_ethersubr.c

This improves modularity of if_pppoe.

From s-yamaguchi@IIJ
 1.12  06-Sep-2015  dholland More on PR 41200: headers that declare ioctls should include sys/ioccom.h.
This covers (I think) all the MI headers outside of external/ (and dist/).
 1.11  28-Apr-2008  martin branches: 1.11.44; 1.11.64;
Remove clause 3 and 4 from TNF licenses
 1.10  14-Jul-2007  ad branches: 1.10.28; 1.10.30; 1.10.32;
Generic soft interrupts are mandatory.
 1.9  04-Mar-2007  christos branches: 1.9.2;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.8  10-Dec-2005  elad branches: 1.8.26;
Multiple inclusion protection, as suggested by christos@ on tech-kern@
few days ago.
 1.7  26-Jun-2005  christos branches: 1.7.2;
Names could be const.
 1.6  27-Apr-2005  martin As noted by Christophe Plasschaert on tech-kern, g/c never used
idletimeout configuration ioctls.
 1.5  28-Nov-2003  keihan branches: 1.5.8;
s/netbsd.org/NetBSD.org/g
 1.4  18-Jun-2003  oki branches: 1.4.2;
Add support in-kernel PPPoE server.
This may work with one PPPoE session.
If you want to use it, #define PPPOE_SERVER in somewhere,
or add options PPPOE_SERVER in kernel config file.

This is experimental code, and good start point for future development.
 1.3  14-Apr-2002  martin Fix copyright notice.
 1.2  04-Jan-2002  martin Move net/if_sppp.h to net/if_spppvar.h, create a new net/if_sppp.h
containing the userland visible thinks (i.e. ioctl definitions).

Remove all (both) old ioctls, as they had a brain dead API and made keeping
binary compatibility more or less impossible.

Replace by several new ioctls. While there, remove any arbitrary limits
(resulting from the old, broken ioctls) and allow any length of names
and passwords.
 1.1  29-Apr-2001  martin branches: 1.1.2; 1.1.4;
Add an in-kernel PPPoE (ppp over ethernet, RFC 2516) implementation,
based on the existing net/if_spppsubr.c stuff.

While there are completely userland (bpf based) implementations available,
those have a vastly larger per packet overhead thus causing major CPU
overhead and higher latency. On an i386 base router, running a 486DX at 50MHz
my line (768kBit/s downstream) was limited to something (varying) between 10
and 20 kByte/s effective download rate. With this implementation I get full
bandwidth (~85kByte/s).

This is client side only. Arguably the right way to add full PPPoE support
(including server side) would be a variation of the ppp line discipline and
appropriate modifications to pppd. I promise every help I can give to anyone
doing that - but I needed this realy fast. Besids, on low memory NAT boxes
with typically a single PPPoE connection, this implementation is more
lightweight than a pppd based one, which nicely fits my needs.
 1.1.4.2  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.4.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.2.5  17-Apr-2002  nathanw Catch up to -current.
 1.1.2.4  28-Feb-2002  nathanw Catch up to -current.
 1.1.2.3  11-Jan-2002  nathanw More catchup.
 1.1.2.2  21-Jun-2001  nathanw Catch up to -current.
 1.1.2.1  29-Apr-2001  nathanw file if_pppoe.h was added on branch nathanw_sa on 2001-06-21 20:08:11 +0000
 1.4.2.5  11-Dec-2005  christos Sync with head.
 1.4.2.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.4.2.1  03-Aug-2004  skrll Sync with HEAD
 1.5.8.1  29-Apr-2005  kent sync with -current
 1.7.2.2  03-Sep-2007  yamt sync with head.
 1.7.2.1  21-Jun-2006  yamt sync with head.
 1.8.26.1  12-Mar-2007  rmind Sync with HEAD.
 1.9.2.1  15-Jul-2007  ad Sync with head.
 1.10.32.1  16-May-2008  yamt sync with head.
 1.10.30.1  18-May-2008  yamt sync with head.
 1.10.28.1  02-Jun-2008  mjf Sync with HEAD.
 1.11.64.3  28-Aug-2017  skrll Sync with HEAD
 1.11.64.2  22-Apr-2016  skrll Sync with HEAD
 1.11.64.1  22-Sep-2015  skrll Sync with HEAD
 1.11.44.1  03-Dec-2017  jdolecek update from HEAD
 1.14.2.1  02-Nov-2017  snj Pull up following revision(s) (requested by knakahara in ticket #332):
sys/net/if_pppoe.c: 1.127-1.128
sys/net/if_pppoe.h: 1.15
sys/net/if_spppsubr.c: 1.170-1.171
sys/net/if_spppvar.h: 1.21-1.22
Integrate two locks used to protect PPPoE softc. Contributed by s-yamaguchi@IIJ.
PPPOE_SESSION_LOCK protects variables used in PPP packet
processing, on the other hand PPPOE_PARAM_LOCK protects
the other variables used to establish a PPPoE session id.
Those locks isn't acquired in the same time because the
PPP packet processing doesn't work without PPPoE session id.
By the reason, the locks can be integrated into PPPOE_LOCK.
Add locking notes later.
--
sppp_lock is changed from mutex to rwlock now. Contributed by s-yamaguchi@IIJ.
Add locking notes later.
--
Add a locking notes for if_pppoe
--
Add a locking notes for if_spppsubr
--
fix no INET6 build.

RSS XML Feed