Archie Cobbs
cfe844ab1f
Use "node->ID" for the node's ID, instead of "(long)node".
...
Reported by: julian
2000-12-18 17:18:35 +00:00
Julian Elischer
5078fb0b2a
Impossible to see typo.. |= instead of !=
2000-12-18 13:41:46 +00:00
Archie Cobbs
eb1fc88909
Fix bug in parse type for struct ng_one2many_config.
...
Reported by: Yian Zhu <Yian.Zhu@qobra.com>
2000-12-12 23:12:22 +00:00
Julian Elischer
7600241b05
I have no idea at all why this file was not included in the last commit.
2000-12-12 22:35:36 +00:00
Julian Elischer
453b556583
oops that commit included a local hack... take it out..
2000-12-12 18:59:09 +00:00
Julian Elischer
859a4d166c
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 :-)
2000-12-12 18:52:14 +00:00
Archie Cobbs
3d48aa2a7c
Fix a bug where if the interface was in promiscuous mode when the
...
last hook was disconnected, the interface would not get reset to
non-promiscuous mode.
Reported by: jdp
2000-12-11 03:36:26 +00:00
Julian Elischer
e8a49db233
Add splhigh()s to protect against a race condition
...
that shows up when running with ethernet bridging
at high speed.
Submitted by: Chris Csanady <ccsanady@iastate.edu>
(and extended by me)
2000-12-02 13:27:58 +00:00
Jonathan Lemon
fe96e26dd0
Fix another callout_init() that I missed.
2000-11-26 21:59:30 +00:00
David Malone
99cdf4ccb2
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
2000-11-18 15:17:43 +00:00
Brian Somers
27121ab1a4
Go back to using data_len in struct ngpppoe_init_data after discussions
...
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
2000-11-16 23:14:53 +00:00
Archie Cobbs
6e8d625628
New netgraph node type ng_one2many(4).
2000-11-16 05:58:33 +00:00
Kirk McKusick
5f90cac7f1
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>
2000-11-15 19:40:34 +00:00
Julian Elischer
7ccbb17bb3
Swap the order of two tags in the pppoe PADI and PADS packets
...
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!)
2000-10-31 14:40:23 +00:00
Brian Somers
76a70671fc
Change the format of ngpppoe_init_data so that the provider is NUL
...
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
2000-10-31 02:45:24 +00:00
Poul-Henning Kamp
cf9fa8e725
Move suser() and suser_xxx() prototypes and a related #define from
...
<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>.
2000-10-29 16:06:56 +00:00
Julian Elischer
cc3bbd68c5
Since neither archie nor I work at Whistle any more, change our email
...
addresses to be the more usefu @freebsd.org ones
so we can keep getting bug-reports.
- man pages to follow..
2000-10-24 17:32:45 +00:00
Poul-Henning Kamp
db7e3af111
Remove unneeded #include <machine/clock.h>
2000-10-15 14:19:01 +00:00
Archie Cobbs
034d9dac34
Calling untimeout(9) leads to a race window where memory could be leaked.
...
Close this window by simply not calling untimeout(9).
2000-10-11 20:29:12 +00:00
Archie Cobbs
be731c30f3
Fix memory leak.
...
Submitted by: Christopher N. Harrell <cnh@ivmg.net>
2000-10-11 19:04:34 +00:00
Archie Cobbs
a89effcde1
Fix typo in NETGRAPH_INIT() macro.
2000-10-09 18:37:11 +00:00
Archie Cobbs
6f16db8137
More complete fix for multi-link sequence number handling bugs.
...
Add a new control message for querying the sequence number state.
2000-10-06 23:42:02 +00:00
Archie Cobbs
1cd643640f
Fix bug in handling of multi-link sequence numbers.
...
Reported by: Becca Anderson <becca@worldint.com>
2000-10-06 20:36:17 +00:00
Archie Cobbs
763fcb92c5
Use m_dup() instead of m_copypacket() for the time being. Not all
...
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
2000-09-23 23:22:27 +00:00
Archie Cobbs
ee79f58e34
Remove unnecessary #include's as reported by phk's script.
2000-09-22 16:51:14 +00:00
Archie Cobbs
65b9a0da90
Allocate all memory (including within node constructors) with M_NOWAIT
...
instead of M_WAITOK, to allow for maximum flexibility.
2000-09-21 18:01:23 +00:00
Archie Cobbs
840f71272d
Allocate memory with M_NOWAIT instead of M_WAITOK because we could
...
be called in an interrupt context.
2000-09-21 17:33:33 +00:00
Julian Elischer
a62b20c4a1
When sending a packet back to a network interface to simulate an arrived
...
packet, make sure that the packet has the interface marked in the first mbuf,
the same a truely arrived packets would have.
2000-09-19 08:35:44 +00:00
Archie Cobbs
2b9cf2f709
Rename "struct session" to "struct sess_con" to avoid conflict with
...
upcoming "struct session" in proc.h.
Requested by: jasone
2000-09-19 03:22:06 +00:00
Jason Evans
0384fff8c5
Major update to the way synchronization is done in the kernel. Highlights
...
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
2000-09-07 01:33:02 +00:00
Archie Cobbs
ed2dbd316a
New netgraph node type for Ethernet bridging.
...
No ipfw support yet.
2000-09-01 01:37:13 +00:00
Archie Cobbs
7f98dc0449
Fix wrong offset bug in ng_enaddr_unparse().
2000-09-01 00:28:03 +00:00
Archie Cobbs
d99b0733c7
Avoid free'ing a NULL pointer.
2000-08-31 23:08:52 +00:00
Archie Cobbs
f30a8c449f
Export ng_ether_enaddr_type for other nodes that want to use it.
2000-08-30 18:39:29 +00:00
Archie Cobbs
56045c6673
Add three more control messages to complement their opposites:
...
NGM_ETHER_SET_ENADDR, NGM_ETHER_GET_PROMISC, and NGM_ETHER_GET_AUTOSRC.
Alter parsing algorithm so the EN address really looks like one.
2000-08-15 01:05:50 +00:00
Archie Cobbs
a604c8808e
Oops, previous commit fixed a bug that was already fixed before.
...
Back it out.
2000-08-10 23:04:46 +00:00
Archie Cobbs
0521578550
Add new control message to atomically get and clear statistics.
2000-08-10 22:52:40 +00:00
Archie Cobbs
a8f6d55e95
Increase the maximum allowable datagram length.
2000-08-10 22:51:57 +00:00
Archie Cobbs
cac2a7de76
"u_int32_t" should have been "int32_t".
2000-08-10 22:51:26 +00:00
Archie Cobbs
7133ac27ef
Use a bigger buffer for NGM_BINARY2ASCII conversion, to handle really
...
long ASCII control messages.
2000-08-10 22:50:38 +00:00
Archie Cobbs
656485a2c6
- Add new control message NGM_VJC_GET_CONFIG
...
- Implement control message ASCII'fication for all control messages
2000-08-10 22:48:03 +00:00
Archie Cobbs
57b57be3ec
Take advantage of the new unsigned and hex integer types.
2000-08-10 22:45:54 +00:00
Archie Cobbs
8fccb7e954
- Make statistics unsigned.
...
- Add new control message to atomically get and clear statistics.
2000-08-10 22:44:41 +00:00
Archie Cobbs
7b3bf3f9aa
- Add new unsigned and hex integer parse types
...
- Fix bug in commented example code
2000-08-10 22:43:38 +00:00
Archie Cobbs
8db3c6cd29
- Add new unsigned and hex integer parse types; this allows simplifying
...
the bytearray parse type.
- Allocate (larger) temporary work buffer dynamically instead of on the
stack when comparing to the default value.
2000-08-10 22:42:25 +00:00
Archie Cobbs
7b38c4e4d9
RFC 1661 requires that all LCP packets are sent with no address and
...
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).
2000-08-10 20:05:12 +00:00
Archie Cobbs
1baeddb81b
In a struct sockaddr, sa->sa_len can be zero if uninitialized.
...
Make sure that this doesn't cause a problem when parsing.
2000-08-09 23:57:44 +00:00
Archie Cobbs
3b49655c07
Fix bug where bundle-level receive statistics were not getting updated.
2000-08-09 01:43:21 +00:00
Archie Cobbs
8a660c773a
Fix a bug where we were accessing already free'd memory during node shutdown.
...
Detected via: 0xdeadc0de
2000-08-07 22:41:12 +00:00
Archie Cobbs
4b39c3c7b3
Add three new control messages to the ng_ether(4) netgraph node type:
...
NGM_ETHER_GET_ENADDR: Get the device's Ethernet address
NGM_ETHER_SET_PROMISC: Enable/disable promiscuous mode
NGM_ETHER_SET_AUTOSRC: Enable/disable packet source address override
2000-08-07 18:52:26 +00:00