History log of /freebsd-current/sys/netgraph/ng_ppp.c
Revision Date Author Comments
# 95ee2897 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: two-line .h pattern

Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/


# eebd9d53 10-May-2023 Warner Losh <imp@FreeBSD.org>

spdx: Simplify BSD-2-Clause AND BSD-2-Clause

After removing the -FreeBSD and -NetBSD, we're left with a nuber of
BSD-2-Clause AND BSD-2-Clause, so tidy that up.

Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix


# 4d846d26 10-May-2023 Warner Losh <imp@FreeBSD.org>

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix


# af3c7888 30-Sep-2022 Ed Schouten <ed@FreeBSD.org>

Alter the prototype of qsort_r(3) to match POSIX, which adopted the
glibc-based interface.

Unfortunately, the glibc maintainers, despite knowing the existence
of the FreeBSD qsort_r(3) interface in 2004 and refused to add the
same interface to glibc based on grounds of the lack of standardization
and portability concerns, has decided it was a good idea to introduce
their own qsort_r(3) interface in 2007 as a GNU extension with a
slightly different and incompatible interface.

With the adoption of their interface as POSIX standard, let's switch
to the same prototype, there is no need to remain incompatible.

C++ and C applications written for the historical FreeBSD interface
get source level compatibility when building in C++ mode, or when
building with a C compiler with C11 generics support, provided that
the caller passes a fifth parameter of qsort_r() that exactly matches
the historical FreeBSD comparator function pointer type and does not
redefine the historical qsort_r(3) prototype in their source code.

Symbol versioning is used to keep old binaries working.

MFC: never
Relnotes: yes
Reviewed by: cem, imp, hps, pauamma
Differential revision: https://reviews.freebsd.org/D17083


# 8373c805 07-Apr-2022 John Baldwin <jhb@FreeBSD.org>

ng_ppp: Remove unused variable.


# 0a8159d8 14-Oct-2021 Gordon Bergling <gbe@FreeBSD.org>

ng_ppp(4): Fix a typo in a comment

- s/delcared/declared/

MFC after: 3 days


# 662c1305 01-Sep-2020 Mateusz Guzik <mjg@FreeBSD.org>

net: clean up empty lines in .c and .h files


# fe267a55 27-Nov-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

sys: general adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

No functional change intended.


# 053359b7 29-Apr-2016 Pedro F. Giffuni <pfg@FreeBSD.org>

sys/netgraph: spelling fixes in comments.

No functional change.


# b369bd54 18-Sep-2014 Gleb Smirnoff <glebius@FreeBSD.org>

Accidentially, ng_ppp changes leaked out with r271770. The proper
commit message should have been:

In case if ng_ppp(4) runs only IPv4, with one link, w/o any
encryption and compression, set faster rcvhook method.

Submitted by: Dmitry Luhtionov <dmitryluhtionov gmail.com>


# 35853c2c 18-Sep-2014 Gleb Smirnoff <glebius@FreeBSD.org>

Add a function to set if_get_counter method for an ifnet. To be used
in the drivers that are already converted to "Juniper drvapi". This
can be revisited in future.


# eb1b1807 05-Dec-2012 Gleb Smirnoff <glebius@FreeBSD.org>

Mechanically substitute flags from historic mbuf allocator with
malloc(9) flags within sys.

Exceptions:

- sys/contrib not touched
- sys/mbuf.h edited manually


# d745c852 06-Nov-2011 Ed Schouten <ed@FreeBSD.org>

Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs.

This means that their use is restricted to a single C file.


# 674d86bf 18-Apr-2011 Gleb Smirnoff <glebius@FreeBSD.org>

Node constructor methods are supposed to be called in syscall
context always. Convert nodes to consistently use M_WAITOK flag
for memory allocation.

Reviewed by: julian


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# d9b0781a 14-Apr-2010 Alexander Motin <mav@FreeBSD.org>

MFC r206021, r206032, r206049, r206050:
Remove some more alignment constraints.


# f1725d1c 14-Apr-2010 Alexander Motin <mav@FreeBSD.org>

NFC r206000:
Make ng_ppp fulfill upper protocol stack layers alignment requirements
on platforms with strict alignment constraints.
This fixes kernel panics on arm and probably other architectures.

PR: sparc64/80410, sparc/118932, sparc/113556


# 39228864 31-Mar-2010 Alexander Motin <mav@FreeBSD.org>

Remove some more alignment constraints.


# d6b013b5 31-Mar-2010 Alexander Motin <mav@FreeBSD.org>

Make ng_ppp fulfill upper protocol stack layers alignment requirements
on platforms with strict alignment constraints.
This fixes kernel panics on arm and probably other architectures.

PR: sparc64/80410


# aa559f63 17-Jan-2009 Alexander Motin <mav@FreeBSD.org>

Remove strict limitation on minimal multilink MRRU. RFC claims that MRRU
of 1500 must be supported, but allows smaller values to be negotiated.
Enforce specified MRRU for outgoing frames.

MFC after: 2 weeks


# 1ede983c 23-Oct-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Retire the MALLOC and FREE macros. They are an abomination unto style(9).

MFC after: 3 months


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# b4d0be22 06-Feb-2008 Alexander Motin <mav@FreeBSD.org>

Do not use bcmp() to compare two bytes with constants.


# 5716b3f1 26-Jan-2008 Alexander Motin <mav@FreeBSD.org>

Improve multilink receive performance by netgraph item reuse.


# f9ec6990 26-Jan-2008 Alexander Motin <mav@FreeBSD.org>

Improve multilink xmit performance by netgraph item reuse.


# 93caf2e2 26-Jan-2008 Alexander Motin <mav@FreeBSD.org>

Improve multilink receive performance with fragment headers preallocation.


# 9c10d113 23-Jan-2008 Alexander Motin <mav@FreeBSD.org>

Fix bundle xmit octets stats for packet-split operation mode.


# 6d67c50b 15-Sep-2007 Alexander Motin <mav@FreeBSD.org>

Fix typo which brokes VJ decompression
when VJC negotiated in only one direction.

Approved by: re (bmah), glebius (mentor)


# d6fe462a 01-Aug-2007 Alexander Motin <mav@FreeBSD.org>

Add 64bit statistic counters to the ng_ppp node.
64bit counters are needed to simplify traffic accounting and
reduce system load at the big PPP concentrators.

Approved by: re (rwatson), glebius (mentor)


# e89c1507 01-Aug-2007 Alexander Motin <mav@FreeBSD.org>

This patch improves fine-grained locking for the ng_ppp node.
Till now node's transmit path was completely unprotected
and so wasn't thread safe in multilink mode. It's receive path was
declared as WRITER as the simpliest protection method but it
reduces performance when compression or encryption enabled.

Approved by: re (rwatson), glebius (mentor)


# c35e19c4 04-Jun-2007 Alexander Motin <mav@FreeBSD.org>

No need to update link queue stats when round-robin algorithm enabled.

Approved by: glebius (mentor)


# e07c5170 20-Apr-2007 Alexander Motin <mav@FreeBSD.org>

Added m_tag_copy_chain() call to copy original outgoing packet tags to all of
it's fragments.

Reviewed by: archie
Approved by: glebius (mentor)


# ccffcb51 20-Apr-2007 Alexander Motin <mav@FreeBSD.org>

Optimized packet distribution plan for the equal links case. Do not
split packet on fragments smaller then MP_MIN_FRAG_LEN to reduce total
overhead.

Reviewed by: archie
Approved by: glebius (mentor)


# 8e8f114e 20-Apr-2007 Alexander Motin <mav@FreeBSD.org>

- Changed sequence numbers processing to avoid incorrect timeout waiting
when one of links is inactive and have stale sequence number. To avoid
this sequence numbers of all links are getting updated on every
successful packet reassembling.
- ng_ppp_bump_mseq function created to simplify code.
- ng_ppp_frag_drop function separated from ng_ppp_frag_process to
simplify code.

Reviewed by: archie
Approved by: glebius (mentor)


# fd58342c 20-Apr-2007 Alexander Motin <mav@FreeBSD.org>

- Fixed mistakes in latency and xmitBytes calculation math
which lead to ineffective multilink packet distribution plans.
- Changed bytesInQueue calculation math to have more precise information
about links utilization.
- Taken rough account of the link overhead. Better way to do it could be to
get exact overhead from user-level, but I have not done it to keep
binary compatibility.

Reviewed by: archie
Approved by: glebius (mentor)


# 39c14742 25-Jan-2007 Gleb Smirnoff <glebius@FreeBSD.org>

- Create ng_ppp_bypass() function, that prepares a packet
with bypass header, to send it out to userland.
- Use ng_ppp_bypass() in ng_ppp_proto_recv().
- Use ng_ppp_bypass() in ng_ppp_comp_recv() and in
ng_ppp_crypt_recv() if compression or encryption is
disabled, respectively.
- Any LCP packet goes directly to ng_ppp_bypass(), instead
of passing through PPP stack.
- Any non-LCP packet on disabled link is discarded. This
is behavior defined in RFC.

Submitted by: Alexander Motin <mav alkar.net>


# 33eb7cb0 18-Jan-2007 Matt Jacob <mjacob@FreeBSD.org>

A less draconian fix to the build.


# da1fa91a 18-Jan-2007 David E. O'Brien <obrien@FreeBSD.org>

Temporarily comment out the KASSERT that broke the kernel build.


# 164b576e 18-Jan-2007 Gleb Smirnoff <glebius@FreeBSD.org>

Revise the ng_ppp(4) node, so that code flow is more clear. All non-link
hooks get their per hook rcvdata methods, and all functions are organized
corresponding to protocol stack model.

Submitted by: Alexander Motin <mav alkar.net>
Reviewed by: archie, julian


# ccb07cc3 28-Dec-2006 Gleb Smirnoff <glebius@FreeBSD.org>

Before this commit, if the compression is enabled the, ng_ppp(4)
node would send every outgoing frame to the "compress" hook.
Packets received on the "compress" hook were expected to be
compressed and PROT_COMPD tag was put on them unconditionally.

After this commit an alternative compression mode can be set.
In this mode the node doesn't put the PROT_COMPD, the compressor
should put it itself. This is important for such kind of
compressors, that can submit uncompressed frames.

Before this commit, if the decompression is enabled, the ng_ppp(4)
node would send and incoming frame to the "decompress" hook
only if it has the PROT_COMPD proto tag on it.

After this commit an alternative decompression mode can be set.
In this mode the node sends all the incoming packets to the
decompression hook. This is important for such kind of compressors
that need uncompressed packets too, to keep their library in sync.

These new features will be used in new version of mpd4, and in new
compressor nodes.

Submitted by: Alexander Motin <mav alkar.net>


# d0784b47 16-May-2005 Gleb Smirnoff <glebius@FreeBSD.org>

Refactor places where ng_package_data() failed.

Suggested & reviewed by: archie


# 74eafa88 16-May-2005 Gleb Smirnoff <glebius@FreeBSD.org>

- Catch up with new interface to ng_package_data().
- Handle errors from ng_package_data().


# dc2f4d7f 10-Jan-2005 Gleb Smirnoff <glebius@FreeBSD.org>

Utilize callout_pending() macro


# c398230b 06-Jan-2005 Warner Losh <imp@FreeBSD.org>

/* -> /*- for license, minor formatting changes


# 9d952bd3 06-Dec-2004 Gleb Smirnoff <glebius@FreeBSD.org>

- Use ng_callout() instead of timeout(9).
- Do not put/remove node references, since this no longer
needed.
- Remove timerActive flag, use callout flags.
- Schedule next callout after doing current one.

Reviewed by: archie
Approved by: julian (mentor)


# 2adb8d6a 27-Nov-2004 Archie Cobbs <archie@FreeBSD.org>

Disable protocol field compression on the inner PPP frame when also doing
normal PPP compression, as a workaround for certain (arguably) broken
Linux PPP implementations that can't handle this particular case.

MFC after: 1 week


# 49728ffc 03-Aug-2004 Bjoern A. Zeeb <bz@FreeBSD.org>

Do not change link[n].conf.latency for internal usage but have
link[n].latency calculated from user supplied value.
This prevents repeated NGM_PPP_SET_CONFIG/NGM_PPP_GET_CONFIG
from failing because of link[n].conf.latency being out of range.

Reviewed by: archie
Approved by: pjd (mentor)


# 8250de83 15-Jul-2004 Gleb Smirnoff <glebius@FreeBSD.org>

Use qsort_r() instead of qsort() when sorting links by latency
This helps us to remove a global variable and a mutex protecting it.

Reviewed by: rwatson
Approved by: julian (mentor)


# 489264dd 14-Jul-2004 Robert Watson <rwatson@FreeBSD.org>

Add ng_ppp_latencies_mtx, a global mutex to protect the latency list.
Note that the table is a hack, and so is this mutex.

Reviewed by: glebius


# 3ca24c28 26-Jun-2004 Julian Elischer <julian@FreeBSD.org>

Having moved metadata usage to mbuf tags, remove code that supports
the old way of doing it.

Submitted by: Gleb Smirnoff <glebius@cell.sick.ru>


# f8aae777 28-May-2004 Julian Elischer <julian@FreeBSD.org>

Switch to using C99 sparse initialisers for the type methods array.
Should make no binary difference.

Submitted by: Gleb Smirnoff <glebius@cell.sick.ru>
Reviewed by: Harti Brandt <harti@freebsd.org>
MFC after: 1 week


# 104a9b7e 29-Apr-2003 Alexander Kabaev <kan@FreeBSD.org>

Deprecate machine/limits.h in favor of new sys/limits.h.
Change all in-tree consumers to include <sys/limits.h>

Discussed on: standards@
Partially submitted by: Craig Rodrigues <rodrigc@attbi.com>


# 2b2a8188 05-Mar-2003 Archie Cobbs <archie@FreeBSD.org>

Fix a use-after-free bug that could cause multi-link fragment reassembly to
fail for a long time (until the incoming sequence numbers wrapped around).

Reported by: Matthew Impett <mimpett@Glue.umd.edu>
MFC after: 3 days


# a163d034 18-Feb-2003 Warner Losh <imp@FreeBSD.org>

Back out M_* changes, per decision of the TRB.

Approved by: trb


# 44956c98 21-Jan-2003 Alfred Perlstein <alfred@FreeBSD.org>

Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.
Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.


# 86fea6be 19-Dec-2002 Bosko Milekic <bmilekic@FreeBSD.org>

o Untangle the confusion with the malloc flags {M_WAITOK, M_NOWAIT} and
the mbuf allocator flags {M_TRYWAIT, M_DONTWAIT}.
o Fix a bpf_compat issue where malloc() was defined to just call
bpf_alloc() and pass the 'canwait' flag(s) along. It's been changed
to call bpf_alloc() but pass the corresponding M_TRYWAIT or M_DONTWAIT
flag (and only one of those two).

Submitted by: Hiten Pandya <hiten@unixdaemons.com> (hiten->commit_count++)


# 8214d60e 08-Nov-2002 John Baldwin <jhb@FreeBSD.org>

Use intptr_t to fix various sizeof(int) != sizeof(void *) warnings.


# ed283669 09-Jun-2002 Julian Elischer <julian@FreeBSD.org>

if you have taken the mbuf out of the message object, then if you pass
the object to someone else, you need to put the mbuf back into it first..


# f0184ff8 31-May-2002 Archie Cobbs <archie@FreeBSD.org>

Fix GCC warnings caused by initializing a zero length array. In the process,
simply things a bit by getting rid of 'struct ng_parse_struct_info' which
was useless because it only contained one field.

MFC after: 2 weeks


# 931c828a 14-Mar-2002 Archie Cobbs <archie@FreeBSD.org>

Fix bugs where the ng_ppp node could transmit PPP frames whose length
exceeded the peer's configured MRU or MRRU.

MFC after: 1 week


# b5a60ddb 12-Feb-2002 Archie Cobbs <archie@FreeBSD.org>

Fix another bug in handling of multi-link sequence numbers.

MFC after: 1 week


# 6e551fb6 10-Dec-2001 David E. O'Brien <obrien@FreeBSD.org>

Update to C99, s/__FUNCTION__/__func__/,
also don't use ANSI string concatenation.


# 9c8c302f 10-Jan-2001 Julian Elischer <julian@FreeBSD.org>

Fix some memory leaks
Add memory leak detection assitance.


# 30400f03 07-Jan-2001 Julian Elischer <julian@FreeBSD.org>

Part 2 of the netgraph rewrite.
This is mostly cosmetic changes, (though I caught a bug or two while
makeing them)
Reviewed by: archie@freebsd.org


# 069154d5 05-Jan-2001 Julian Elischer <julian@FreeBSD.org>

Rewrite of netgraph to start getting ready for SMP.
This version is functional and is aproaching solid..
notice I said APROACHING. There are many node types I cannot test
I have tested: echo hole ppp socket vjc iface tee bpf async tty
The rest compile and "Look" right. More changes to follow.
DEBUGGING is enabled in this code to help if people have problems.


# 589f6ed8 18-Dec-2000 Julian Elischer <julian@FreeBSD.org>

Divorce the kernel binary ABI version number from the message
format version number. (userland programs should not need to be
recompiled when the netgraph kernel internal ABI is changed.

Also fix modules that don;t handle the fact that a caller may not supply
a return message pointer. (benign at the moment because the calling code
checks, but that will change)


# cfe844ab 18-Dec-2000 Archie Cobbs <archie@FreeBSD.org>

Use "node->ID" for the node's ID, instead of "(long)node".

Reported by: julian


# 859a4d16 12-Dec-2000 Julian Elischer <julian@FreeBSD.org>

Reviewed by: Archie@freebsd.org
This clears out my outstanding netgraph changes.
There is a netgraph change of design in the offing and this is to some
extent a superset of soem of the new functionality and some of the old
functionality that may be removed.

This code works as before, but allows some new features that I want to
work with and evaluate. It is the basis for a version of netgraph
with integral locking for SMP use.

This is running on my test machine with no new problems :-)


# 99cdf4cc 18-Nov-2000 David Malone <dwmalone@FreeBSD.org>

Add the use of M_ZERO to netgraph.

Submitted by: josh@zipperup.org
Submitted by: Robert Drehmel <robd@gmx.net>
Submitted by: archie
Approved by: archie


# 5f90cac7 15-Nov-2000 Kirk McKusick <mckusick@FreeBSD.org>

In preparation for deprecating CIRCLEQ macros in favor of TAILQ
macros which provide the same functionality and are a bit more
efficient, convert use of CIRCLEQ's in netgraph PPP code to TAILQ's.

Reviewed by: Archie Cobbs <archie@dellroad.org>


# 6f16db81 06-Oct-2000 Archie Cobbs <archie@FreeBSD.org>

More complete fix for multi-link sequence number handling bugs.
Add a new control message for querying the sequence number state.


# 1cd64364 06-Oct-2000 Archie Cobbs <archie@FreeBSD.org>

Fix bug in handling of multi-link sequence numbers.

Reported by: Becca Anderson <becca@worldint.com>


# ee79f58e 22-Sep-2000 Archie Cobbs <archie@FreeBSD.org>

Remove unnecessary #include's as reported by phk's script.


# 65b9a0da 21-Sep-2000 Archie Cobbs <archie@FreeBSD.org>

Allocate all memory (including within node constructors) with M_NOWAIT
instead of M_WAITOK, to allow for maximum flexibility.


# a604c880 10-Aug-2000 Archie Cobbs <archie@FreeBSD.org>

Oops, previous commit fixed a bug that was already fixed before.
Back it out.


# 3b49655c 08-Aug-2000 Archie Cobbs <archie@FreeBSD.org>

Fix bug where bundle-level receive statistics were not getting updated.


# b4c44c30 31-May-2000 Archie Cobbs <archie@FreeBSD.org>

Fix bug where receive statistics for the bundle were not getting updated.


# e3975643 25-May-2000 Jake Burkholder <jake@FreeBSD.org>

Back out the previous change to the queue(3) interface.
It was not discussed and should probably not happen.

Requested by: msmith and others


# 740a1973 23-May-2000 Jake Burkholder <jake@FreeBSD.org>

Change the way that the queue(3) structures are declared; don't assume that
the type argument to *_HEAD and *_ENTRY is a struct.

Suggested by: phk
Reviewed by: phk
Approved by: mdodd


# a9b3dca5 01-May-2000 Archie Cobbs <archie@FreeBSD.org>

Fix broken multi-link fragment reassembly algorithm.
Add hook for IPv6. Misc cleanups.

PR: kern/16335


# a4ec03cf 28-Apr-2000 Julian Elischer <julian@FreeBSD.org>

Two simple changes to the kernel internal API for netgraph modules,
to support future work in flow-control and 'packet reject/replace'
processing modes.

reviewed by: phk, archie


# 4c641908 05-Jan-2000 Archie Cobbs <archie@FreeBSD.org>

Fix a few obscure memory leaks.


# 1e7a9f72 17-Dec-1999 Archie Cobbs <archie@FreeBSD.org>

Fix bugs in the MP fragment reassembly code that can cause a panic.


# 647b86df 06-Dec-1999 Julian Elischer <julian@FreeBSD.org>

Remove a bunch of un-needed includes.
Submitted by: phk@freebsd.org


# f8307e12 29-Nov-1999 Archie Cobbs <archie@FreeBSD.org>

Add two new generic control messages, NGM_ASCII2BINARY and
NGM_BINARY2ASCII, which convert control messages to ASCII and back.
This allows control messages to be sent and received in ASCII form
using ngctl(8), which makes ngctl a lot more useful.

This also allows all the type-specific debugging code in libnetgraph
to go away -- instead, we just ask the node itself to do the ASCII
translation for us.

Currently, all generic control messages are supported, as well as
messages associated with the following node types: async, cisco,
ksocket, and ppp.

See /usr/share/examples/netgraph/ngctl for an example of using this.

Also give ngctl(8) the ability to print out incoming data and
control messages at any time. Eventually nghook(8) may be subsumed.

Several other misc. bug fixes.

Reviewed by: julian


# 25792ef3 23-Nov-1999 Archie Cobbs <archie@FreeBSD.org>

Change the prototype of the strto* routines to make the second
parameter a char ** instead of a const char **. This make these
kernel routines consistent with the corresponding libc userland
routines.

Which is actually 'correct' is debatable, but consistency and
following the spec was deemed more important in this case.

Reviewed by (in concept): phk, bde


# 62838fae 18-Nov-1999 Archie Cobbs <archie@FreeBSD.org>

Fix bug where hook pointers were not getting updated on disconnection.


# 0e11d0f3 10-Nov-1999 Archie Cobbs <archie@FreeBSD.org>

More bug fixes.


# d690a6e7 09-Nov-1999 Archie Cobbs <archie@FreeBSD.org>

Move handling of the address and control fields into the PPP node;
they belong there because they are device independent.
Also some other misc. fixes.


# e149c4e2 05-Nov-1999 Archie Cobbs <archie@FreeBSD.org>

Fix several bugs found in the first bit of testing.


# 5b664c7c 03-Nov-1999 Poul-Henning Kamp <phk@FreeBSD.org>

Move isfoo() and friends to the newly created sys/ctype.h.

Urged by: bde


# 2b70adcb 02-Nov-1999 Archie Cobbs <archie@FreeBSD.org>

Simplify checking/parsing of strings using strtoul(), isdigit(), etc.


# fb1fc8ab 01-Nov-1999 Archie Cobbs <archie@FreeBSD.org>

Fix some bugs in MP allocation routine when links are non-equivalent.


# 74f5c6aa 01-Nov-1999 Julian Elischer <julian@FreeBSD.org>

Add typedefs for node methods
Suggested by phk.


# 3949bee8 29-Oct-1999 Archie Cobbs <archie@FreeBSD.org>

Revamped and more useful PPP node type, supporting multi-link PPP directly.
This is one piece of the grand unified PPP daemon concept, whereby using
netgraph nodes enables PPP data to be handled completely in kernel land,
while leaving negotiation/control to be handled by a single user land
daemon, no matter what the link type(s).

This is a safety checkin only; it compiles, but is utterly untested.

Concept reviewed by: julian, brian


# 4cf49a43 21-Oct-1999 Julian Elischer <julian@FreeBSD.org>

Whistle's Netgraph link-layer (sometimes more) networking infrastructure.
Been in production for 3 years now. Gives Instant Frame relay to if_sr
and if_ar drivers, and PPPOE support soon. See:
ftp://ftp.whistle.com/pub/archie/netgraph/index.html
for on-line manual pages.

Reviewed by: Doug Rabson (dfr@freebsd.org)
Obtained from: Whistle CVS tree