summaryrefslogtreecommitdiffstats
path: root/sys/netgraph
Commit message (Collapse)AuthorAgeFilesLines
* Divorce the kernel binary ABI version number from the messagejulian2000-12-1826-37/+70
| | | | | | | | | 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)
* Use "node->ID" for the node's ID, instead of "(long)node".archie2000-12-181-5/+1
| | | | Reported by: julian
* Impossible to see typo.. |= instead of !=julian2000-12-181-1/+1
|
* Fix bug in parse type for struct ng_one2many_config.archie2000-12-121-2/+2
| | | | Reported by: Yian Zhu <Yian.Zhu@qobra.com>
* I have no idea at all why this file was not included in the last commit.julian2000-12-121-1/+2
|
* oops that commit included a local hack... take it out..julian2000-12-121-1/+1
|
* Reviewed by: Archie@freebsd.orgjulian2000-12-1226-211/+434
| | | | | | | | | | | | | 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 :-)
* Fix a bug where if the interface was in promiscuous mode when thearchie2000-12-111-0/+2
| | | | | | | last hook was disconnected, the interface would not get reset to non-promiscuous mode. Reported by: jdp
* Add splhigh()s to protect against a race conditionjulian2000-12-021-7/+17
| | | | | | | | that shows up when running with ethernet bridging at high speed. Submitted by: Chris Csanady <ccsanady@iastate.edu> (and extended by me)
* Fix another callout_init() that I missed.jlemon2000-11-261-1/+1
|
* Add the use of M_ZERO to netgraph.dwmalone2000-11-1823-66/+36
| | | | | | | Submitted by: josh@zipperup.org Submitted by: Robert Drehmel <robd@gmx.net> Submitted by: archie Approved by: archie
* Go back to using data_len in struct ngpppoe_init_data after discussionsbrian2000-11-165-89/+146
| | | | | | | | | | | with Julian and Archie. Implement a new ``sizedstring'' parse type for dealing with field pairs consisting of a uint16_t followed by a data field of that size, and use this to deal with the data_len and data fields. Written by: Archie with some input by me Agreed in principle by: julian
* New netgraph node type ng_one2many(4).archie2000-11-162-0/+633
|
* In preparation for deprecating CIRCLEQ macros in favor of TAILQmckusick2000-11-151-35/+34
| | | | | | | 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>
* Swap the order of two tags in the pppoe PADI and PADS packetsjulian2000-10-311-3/+3
| | | | | as there are apparently some buggy switches that need them in that order. (I hope there aren't any that require them in the old order!)
* Change the format of ngpppoe_init_data so that the provider is NULbrian2000-10-312-30/+148
| | | | | | | | | | | terminated and the data_len field is no longer necessary. Add ASCII2BINARY and BINARY2ASCII capabilities. The old format is still understood and dealt with, but can't do the ASCII2BINARY and BINARY2ASCII stuff. Approved by: archie
* Move suser() and suser_xxx() prototypes and a related #define fromphk2000-10-292-2/+0
| | | | | | | | | <sys/proc.h> to <sys/systm.h>. Correctly document the #includes needed in the manpage. Add one now needed #include of <sys/systm.h>. Remove the consequent 48 unused #includes of <sys/proc.h>.
* Since neither archie nor I work at Whistle any more, change our emailjulian2000-10-2445-46/+46
| | | | | | addresses to be the more usefu @freebsd.org ones so we can keep getting bug-reports. - man pages to follow..
* Remove unneeded #include <machine/clock.h>phk2000-10-151-1/+0
|
* Calling untimeout(9) leads to a race window where memory could be leaked.archie2000-10-111-21/+5
| | | | Close this window by simply not calling untimeout(9).
* Fix memory leak.archie2000-10-111-2/+2
| | | | Submitted by: Christopher N. Harrell <cnh@ivmg.net>
* Fix typo in NETGRAPH_INIT() macro.archie2000-10-091-1/+1
|
* More complete fix for multi-link sequence number handling bugs.archie2000-10-062-41/+101
| | | | Add a new control message for querying the sequence number state.
* Fix bug in handling of multi-link sequence numbers.archie2000-10-061-2/+4
| | | | Reported by: Becca Anderson <becca@worldint.com>
* Use m_dup() instead of m_copypacket() for the time being. Not allarchie2000-09-231-1/+1
| | | | | | | | of the code in the kernel properly checks for read-onlyness before writing into an mbuf data area. When that code is fixed, the m_dup() can go back to being m_copypacket(). Requested by: nsayer
* Remove unnecessary #include's as reported by phk's script.archie2000-09-225-8/+0
|
* Allocate all memory (including within node constructors) with M_NOWAITarchie2000-09-2115-22/+22
| | | | instead of M_WAITOK, to allow for maximum flexibility.
* Allocate memory with M_NOWAIT instead of M_WAITOK because we couldarchie2000-09-211-1/+1
| | | | be called in an interrupt context.
* When sending a packet back to a network interface to simulate an arrivedjulian2000-09-191-0/+1
| | | | | packet, make sure that the packet has the interface marked in the first mbuf, the same a truely arrived packets would have.
* Rename "struct session" to "struct sess_con" to avoid conflict witharchie2000-09-191-4/+4
| | | | | | upcoming "struct session" in proc.h. Requested by: jasone
* Major update to the way synchronization is done in the kernel. Highlightsjasone2000-09-071-13/+1
| | | | | | | | | | | | | | | include: * Mutual exclusion is used instead of spl*(). See mutex(9). (Note: The alpha port is still in transition and currently uses both.) * Per-CPU idle processes. * Interrupts are run in their own separate kernel threads and can be preempted (i386 only). Partially contributed by: BSDi (BSD/OS) Submissions by (at least): cp, dfr, dillon, grog, jake, jhb, sheldonh
* New netgraph node type for Ethernet bridging.archie2000-09-012-0/+1176
| | | | No ipfw support yet.
* Fix wrong offset bug in ng_enaddr_unparse().archie2000-09-011-1/+2
|
* Avoid free'ing a NULL pointer.archie2000-08-311-1/+2
|
* Export ng_ether_enaddr_type for other nodes that want to use it.archie2000-08-301-0/+5
|
* Add three more control messages to complement their opposites:archie2000-08-152-10/+103
| | | | | NGM_ETHER_SET_ENADDR, NGM_ETHER_GET_PROMISC, and NGM_ETHER_GET_AUTOSRC. Alter parsing algorithm so the EN address really looks like one.
* Oops, previous commit fixed a bug that was already fixed before.archie2000-08-101-2/+0
| | | | Back it out.
* Add new control message to atomically get and clear statistics.archie2000-08-101-24/+37
|
* Increase the maximum allowable datagram length.archie2000-08-101-1/+1
|
* "u_int32_t" should have been "int32_t".archie2000-08-101-2/+2
|
* Use a bigger buffer for NGM_BINARY2ASCII conversion, to handle reallyarchie2000-08-101-1/+1
| | | | long ASCII control messages.
* - Add new control message NGM_VJC_GET_CONFIGarchie2000-08-102-7/+177
| | | | - Implement control message ASCII'fication for all control messages
* Take advantage of the new unsigned and hex integer types.archie2000-08-1010-95/+95
|
* - Make statistics unsigned.archie2000-08-101-4/+5
| | | | - Add new control message to atomically get and clear statistics.
* - Add new unsigned and hex integer parse typesarchie2000-08-101-2/+16
| | | | - Fix bug in commented example code
* - Add new unsigned and hex integer parse types; this allows simplifyingarchie2000-08-101-41/+146
| | | | | | the bytearray parse type. - Allocate (larger) temporary work buffer dynamically instead of on the stack when comparing to the default value.
* RFC 1661 requires that all LCP packets are sent with no address andarchie2000-08-101-0/+14
| | | | | | | | | | control field compression. The ng_ppp(4) node correctly follows this rule. However, PPPoE is an exception: when doing PPPoE *all* frames are sent with address and control field compression. Alter this node's behavior so that when an outgoing frame is received, any leading address and control field bytes are removed. This makes this node compatible with ng_ppp(4).
* In a struct sockaddr, sa->sa_len can be zero if uninitialized.archie2000-08-091-1/+1
| | | | Make sure that this doesn't cause a problem when parsing.
* Fix bug where bundle-level receive statistics were not getting updated.archie2000-08-091-0/+2
|
* Fix a bug where we were accessing already free'd memory during node shutdown.archie2000-08-071-1/+1
| | | | Detected via: 0xdeadc0de
OpenPOWER on IntegriCloud