#
267654 |
|
19-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
249132 |
|
05-Apr-2013 |
mav |
MFC r227293 (by ed): Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs.
This means that their use is restricted to a single C file.
|
#
225736 |
|
22-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
#
220768 |
|
18-Apr-2011 |
glebius |
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
|
#
206021 |
|
31-Mar-2010 |
mav |
Remove some more alignment constraints.
|
#
206000 |
|
31-Mar-2010 |
mav |
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
|
#
187387 |
|
18-Jan-2009 |
mav |
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
|
#
184205 |
|
23-Oct-2008 |
des |
Retire the MALLOC and FREE macros. They are an abomination unto style(9).
MFC after: 3 months
|
#
176057 |
|
06-Feb-2008 |
mav |
Do not use bcmp() to compare two bytes with constants.
|
#
175698 |
|
26-Jan-2008 |
mav |
Improve multilink receive performance by netgraph item reuse.
|
#
175697 |
|
26-Jan-2008 |
mav |
Improve multilink xmit performance by netgraph item reuse.
|
#
175696 |
|
26-Jan-2008 |
mav |
Improve multilink receive performance with fragment headers preallocation.
|
#
175594 |
|
23-Jan-2008 |
mav |
Fix bundle xmit octets stats for packet-split operation mode.
|
#
172186 |
|
15-Sep-2007 |
mav |
Fix typo which brokes VJ decompression when VJC negotiated in only one direction.
Approved by: re (bmah), glebius (mentor)
|
#
171688 |
|
01-Aug-2007 |
mav |
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)
|
#
171681 |
|
01-Aug-2007 |
mav |
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)
|
#
170283 |
|
04-Jun-2007 |
mav |
No need to update link queue stats when round-robin algorithm enabled.
Approved by: glebius (mentor)
|
#
168898 |
|
20-Apr-2007 |
mav |
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)
|
#
168897 |
|
20-Apr-2007 |
mav |
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)
|
#
168896 |
|
20-Apr-2007 |
mav |
- 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)
|
#
168895 |
|
20-Apr-2007 |
mav |
- 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)
|
#
166234 |
|
25-Jan-2007 |
glebius |
- 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>
|
#
166099 |
|
18-Jan-2007 |
mjacob |
A less draconian fix to the build.
|
#
166097 |
|
18-Jan-2007 |
obrien |
Temporarily comment out the KASSERT that broke the kernel build.
|
#
166093 |
|
18-Jan-2007 |
glebius |
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
|
#
165580 |
|
28-Dec-2006 |
glebius |
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>
|
#
146302 |
|
16-May-2005 |
glebius |
Refactor places where ng_package_data() failed.
Suggested & reviewed by: archie
|
#
146283 |
|
16-May-2005 |
glebius |
- Catch up with new interface to ng_package_data(). - Handle errors from ng_package_data().
|
#
140068 |
|
11-Jan-2005 |
glebius |
Utilize callout_pending() macro
|
#
139823 |
|
06-Jan-2005 |
imp |
/* -> /*- for license, minor formatting changes
|
#
138479 |
|
06-Dec-2004 |
glebius |
- 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)
|
#
138138 |
|
27-Nov-2004 |
archie |
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
|
#
133055 |
|
03-Aug-2004 |
bz |
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)
|
#
132229 |
|
15-Jul-2004 |
glebius |
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)
|
#
132162 |
|
14-Jul-2004 |
rwatson |
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
|
#
131155 |
|
26-Jun-2004 |
julian |
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>
|
#
129823 |
|
28-May-2004 |
julian |
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
|
#
114216 |
|
29-Apr-2003 |
kan |
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>
|
#
111934 |
|
05-Mar-2003 |
archie |
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
|
#
111119 |
|
19-Feb-2003 |
imp |
Back out M_* changes, per decision of the TRB.
Approved by: trb
|
#
109623 |
|
21-Jan-2003 |
alfred |
Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
|
#
108107 |
|
19-Dec-2002 |
bmilekic |
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++)
|
#
106665 |
|
08-Nov-2002 |
jhb |
Use intptr_t to fix various sizeof(int) != sizeof(void *) warnings.
|
#
98063 |
|
09-Jun-2002 |
julian |
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..
|
#
97685 |
|
31-May-2002 |
archie |
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
|
#
92298 |
|
15-Mar-2002 |
archie |
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
|
#
90595 |
|
12-Feb-2002 |
archie |
Forced commit; the previous bug-fix commit was..
Submitted by: John Wiersema <J.Wiersema@flarion.com>
|
#
90594 |
|
12-Feb-2002 |
archie |
Fix another bug in handling of multi-link sequence numbers.
MFC after: 1 week
|
#
87599 |
|
10-Dec-2001 |
obrien |
Update to C99, s/__FUNCTION__/__func__/, also don't use ANSI string concatenation.
|
#
70870 |
|
10-Jan-2001 |
julian |
Fix some memory leaks Add memory leak detection assitance.
|
#
70784 |
|
08-Jan-2001 |
julian |
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
|
#
70700 |
|
05-Jan-2001 |
julian |
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.
|
#
70159 |
|
18-Dec-2000 |
julian |
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)
|
#
70157 |
|
18-Dec-2000 |
archie |
Use "node->ID" for the node's ID, instead of "(long)node".
Reported by: julian
|
#
69922 |
|
12-Dec-2000 |
julian |
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 :-)
|
#
68876 |
|
18-Nov-2000 |
dwmalone |
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
|
#
68761 |
|
15-Nov-2000 |
mckusick |
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>
|
#
66775 |
|
06-Oct-2000 |
archie |
More complete fix for multi-link sequence number handling bugs. Add a new control message for querying the sequence number state.
|
#
66764 |
|
06-Oct-2000 |
archie |
Fix bug in handling of multi-link sequence numbers.
Reported by: Becca Anderson <becca@worldint.com>
|
#
66260 |
|
22-Sep-2000 |
archie |
Remove unnecessary #include's as reported by phk's script.
|
#
66182 |
|
21-Sep-2000 |
archie |
Allocate all memory (including within node constructors) with M_NOWAIT instead of M_WAITOK, to allow for maximum flexibility.
|
#
64517 |
|
10-Aug-2000 |
archie |
Oops, previous commit fixed a bug that was already fixed before. Back it out.
|
#
64443 |
|
08-Aug-2000 |
archie |
Fix bug where bundle-level receive statistics were not getting updated.
|
#
61143 |
|
31-May-2000 |
archie |
Fix bug where receive statistics for the bundle were not getting updated.
|
#
60938 |
|
26-May-2000 |
jake |
Back out the previous change to the queue(3) interface. It was not discussed and should probably not happen.
Requested by: msmith and others
|
#
60833 |
|
23-May-2000 |
jake |
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
|
#
59882 |
|
01-May-2000 |
archie |
Fix broken multi-link fragment reassembly algorithm. Add hook for IPv6. Misc cleanups.
PR: kern/16335
|
#
59728 |
|
28-Apr-2000 |
julian |
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
|
#
55481 |
|
05-Jan-2000 |
archie |
Fix a few obscure memory leaks.
|
#
54755 |
|
17-Dec-1999 |
archie |
Fix bugs in the MP fragment reassembly code that can cause a panic.
|
#
54249 |
|
07-Dec-1999 |
julian |
Remove a bunch of un-needed includes. Submitted by: phk@freebsd.org
|
#
53913 |
|
30-Nov-1999 |
archie |
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
|
#
53648 |
|
23-Nov-1999 |
archie |
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
|
#
53406 |
|
19-Nov-1999 |
archie |
Fix bug where hook pointers were not getting updated on disconnection.
|
#
53088 |
|
10-Nov-1999 |
archie |
More bug fixes.
|
#
53075 |
|
10-Nov-1999 |
archie |
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.
|
#
52912 |
|
06-Nov-1999 |
archie |
Fix several bugs found in the first bit of testing.
|
#
52843 |
|
03-Nov-1999 |
phk |
Move isfoo() and friends to the newly created sys/ctype.h.
Urged by: bde
|
#
52816 |
|
02-Nov-1999 |
archie |
Simplify checking/parsing of strings using strtoul(), isdigit(), etc.
|
#
52766 |
|
01-Nov-1999 |
archie |
Fix some bugs in MP allocation routine when links are non-equivalent.
|
#
52752 |
|
01-Nov-1999 |
julian |
Add typedefs for node methods Suggested by phk.
|
#
52639 |
|
29-Oct-1999 |
archie |
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
|
#
52419 |
|
21-Oct-1999 |
julian |
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
|