1178 Commits

Author SHA1 Message Date
mav
166cb6ef20 Fix shutdown bug made by previous commit. 2008-02-24 10:13:32 +00:00
glebius
34f9d2c8a9 Use rtalloc1() instead of rtalloc_ign(). It returns a locked
rtentry. We quickly copy the fields of interest, and then
RTFREE_LOCKED(). This should be faster then lock & unlock the
rtentry twice.
2008-02-07 11:10:17 +00:00
mav
a735f997fd Do not use bcmp() to compare two bytes with constants. 2008-02-06 20:37:34 +00:00
mav
a51f95cd58 Cleanup and tune ng_snd_item() function as it is one of the
most busy netgraph functions.
Tune stack protection constants to avoid division operation.
2008-02-06 18:50:40 +00:00
mav
cd7d07a63f Prepare hooks direct pointers on setup to avoid heavy ng_findhook() calls
during operarion.
2008-02-04 19:26:53 +00:00
mav
083c0a5fcb Move all possible node logic out of the rcvdata() function
to the newhook()/disconnect().
Unify function names with other nodes.
2008-02-03 18:55:45 +00:00
mav
45f131f91d Revert previous commit.
glebius@ noticed that it was not a bug, but undocumented feature.
2008-02-03 10:30:45 +00:00
marck
92f929f0dd Fix one more grammo.
Noticed by:	ru
2008-02-02 08:41:53 +00:00
marck
e190c967dd Reword recent comment a bit. 2008-02-01 17:35:46 +00:00
mav
49092fb3fc Add comments about stack protection mechanism. 2008-02-01 11:01:15 +00:00
mav
7e0b4128cb Tune the message for better informativity.
Print the hook pointer as other functions do.
2008-02-01 07:25:06 +00:00
benno
538bebc843 Band-aid recent commit by mav by replacing a variable in a CTR statement with
the variable that appears as if it should've been there.

Pointy hat to:		mav
Not tested either by:	benno
2008-02-01 07:17:26 +00:00
mav
5af3bb221f Implement Session-ID hashing to improve receive performance scalability
for big number of concurrent sessions.
2008-01-31 22:42:37 +00:00
mav
94236d3d42 Some code reformat. 2008-01-31 10:13:04 +00:00
mav
5df3e934b9 Implement stack protection based on GET_STACK_USAGE() macro.
This fixes system panics possible with complicated netgraph setups
and allows to avoid unneded extra queueing for stack unwrapping.
2008-01-31 08:51:48 +00:00
mav
5eebdfa072 Avoid data copying when it is possible.
bpf_filter() is able to work directly on mbuf chain.
2008-01-28 22:37:17 +00:00
mav
1a411ba3c5 Run expire even without export hook connected.
PR:	kern/119839
2008-01-27 15:01:16 +00:00
mav
c2d1050fba Fix memory leak when export hook is not connected. 2008-01-27 09:22:10 +00:00
mav
2adafc5538 Remove one very strange unneded if. 2008-01-27 08:52:41 +00:00
mav
34b15a0c5e Slightly simplify code. 2008-01-27 02:04:12 +00:00
mav
afe3cc011f Improve multilink receive performance by netgraph item reuse. 2008-01-26 22:42:47 +00:00
mav
56891c11ee Improve multilink xmit performance by netgraph item reuse. 2008-01-26 22:41:14 +00:00
mav
4b87cfa8f8 Improve multilink receive performance with fragment headers preallocation. 2008-01-26 22:39:05 +00:00
mav
1a704c3175 Fix bundle xmit octets stats for packet-split operation mode. 2008-01-23 11:47:09 +00:00
jeff
ce18638805 Remove explicit locking of struct file.
- Introduce a finit() which is used to initailize the fields of struct file
   in such a way that the ops vector is only valid after the data, type,
   and flags are valid.
 - Protect f_flag and f_count with atomic operations.
 - Remove the global list of all files and associated accounting.
 - Rewrite the unp garbage collection such that it no longer requires
   the global list of all files and instead uses a list of all unp sockets.
 - Mark sockets in the accept queue so we don't incorrectly gc them.

Tested by:	kris, pho
2007-12-30 01:42:15 +00:00
mav
cfcf7dfc62 Add support for optional "AC-Name\Service-Name" syntax at NGM_PPPOE_CONNECT
argument. It allows ppp, mpd or any other node consumer to request
connection to specified access concentrator.

Proposed by:	Alexander A. Burylov <burylov@mail.ru>
2007-12-29 19:44:41 +00:00
mav
b82597528b Fix incorrectly placed bracket in pppoe_find_svc(). 2007-12-26 19:33:53 +00:00
mav
23a956d0c8 Remove some prehistoric never used defines. 2007-12-26 19:15:07 +00:00
rwatson
bdee30611d Add a new 'why' argument to kdb_enter(), and a set of constants to use
for that argument.  This will allow DDB to detect the broad category of
reason why the debugger has been entered, which it can use for the
purposes of deciding which DDB script to run.

Assign approximate why values to all current consumers of the
kdb_enter() interface.
2007-12-25 17:52:02 +00:00
mav
f381ac2711 Add option to set packets per second limits instead of default
bits per second ones.
2007-12-19 22:50:14 +00:00
mav
a1921d35de Increase control channel xmit queue to 128 packets.
Previous value 16 was too small for real LAC as temporal activity
spike cound easily overflow queue demanding tunnel disconnection due
to possible state inconsistency.
2007-12-12 19:04:30 +00:00
julian
4140cda7c9 Add ipv6 to ng_cisco node. ipv6 wasn't a reality when I wrote it..
Submitted by: Marko Zec
2007-11-30 23:27:39 +00:00
glebius
6cd20c281d - Merge all the ng_send_fn2* functions into one - ng_send_fn2(),
removing some copy&pasted code.
- Reduce copy and paste in ng_apply_item().
- Resurrect ng_send_fn() as a valid symbol, not a define.

Reviewed by:	mav, julian
2007-11-14 11:25:58 +00:00
emax
ff226f6ee0 Fix locking issue in ng_btsocket_l2cap_ctloutput()
Submitted by:	Heiko Wundram (Beenic) < wundram at beenic dot net >
MFC after:	3 days
2007-10-31 16:17:20 +00:00
emax
0cf18b2c7c Allow RFCOMM servers to bind to a ''wildcard'' RFCOMM channel
zero (0). Actual RFCOMM channel will be assigned after listen(2)
call is done on a RFCOMM socket bound to a ''wildcard'' RFCOMM
channel zero (0).

Address locking issues in ng_btsocket_rfcomm_bind()

Submitted by:	Heiko Wundram (Beenic) < wundram at beenic dot net >
MFC after:	1 week
2007-10-29 19:06:47 +00:00
mav
a7fd7284ec Minor debug message fix. 2007-10-28 18:05:59 +00:00
ru
8de25952d5 Fix build with NETGRAPH_DEBUG. 2007-10-19 20:09:58 +00:00
mav
5aea982161 Implement new apply callback mechanism to handle item forwarding.
When item forwarded refence counter is incremented, when item
processed, counter decremented. When counter reaches zero,
apply handler is getting called.
Now it allows to report right connect() call status from user-level
at the right time.
2007-10-19 15:04:17 +00:00
mav
bc7eda2e9a Split ng_pppoe_rcvdata() function into three hook-specific ones
to simplify code and reduce stack usage.
2007-10-14 09:58:22 +00:00
mav
b5f6701dea Remove ng_pppoe_sendpacket() function to simplify code as it is called
as much times as it has cases inside of it.
2007-10-14 09:51:19 +00:00
mav
58809b0788 Protect struct seq with mutex.
Approved by:	glebius (mentor)
2007-10-12 04:56:26 +00:00
mav
2d88988487 Remove one unneded assertion. It is also checked in
ng_l2tp_seq_check().

Approved by:	glebius (mentor)
2007-10-12 04:54:43 +00:00
mav
fab370c5a1 Replace single rcvdata with 3 distinct to simplify code and
reduce stack usage.

Approved by:	mentor (glebius)
2007-10-12 04:53:23 +00:00
mav
becababb0c Remove duplicate variables. 2007-10-12 04:51:30 +00:00
mav
1f0cbf5a23 Dead code removal.
Approved by:	re (kensmith), glebius (mentor)
2007-09-21 08:25:55 +00:00
mav
01f9f69635 This is optimization of ether and debug hooks determination. It
simplifies code and should speedup pppoe_findsession() function which is
called for every incoming packet.

Approved by:	re (kensmith), glebius (mentor)
2007-09-21 08:24:08 +00:00
mav
14a66bdd4b This patch fixes thread unsafe usage of global pkt_hdr
variable. Second part is not so important, but IMO is also good.

Approved by:	re (kensmith), glebius (mentor)
2007-09-21 08:16:33 +00:00
mav
1b8fdda809 Fix typo which brokes VJ decompression
when VJC negotiated in only one direction.

Approved by:	re (bmah), glebius (mentor)
2007-09-15 16:55:44 +00:00
emax
e04fc3e9d0 Return EADDRNOTAVAIL instead of EDESTADDRREQ error when
listen(2) is called on improperly bound socket.

Suggested by:	Iain Hibbert
Approved by:	re (kensmith)
MFC after:	3 days
2007-08-23 16:55:22 +00:00
mav
093e149434 Add ng_send_fn() error handeling inside ng_con_nodes().
Without it some errors may left unnoticed and unhandeled
that will lead to hooks left in half-connected state.

Reviewed by:	julian@
Approved by:	re (kensmith), glebius (mentor)
2007-08-18 11:59:17 +00:00