Gleb Smirnoff
150c26cb34
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
Alexander Motin
b4d0be220a
Do not use bcmp() to compare two bytes with constants.
2008-02-06 20:37:34 +00:00
Alexander Motin
f50597f5f1
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
Alexander Motin
193f57e2c0
Prepare hooks direct pointers on setup to avoid heavy ng_findhook() calls
...
during operarion.
2008-02-04 19:26:53 +00:00
Alexander Motin
e632000eed
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
Alexander Motin
102fe25ee0
Revert previous commit.
...
glebius@ noticed that it was not a bug, but undocumented feature.
2008-02-03 10:30:45 +00:00
Dmitry Morozovsky
f9773372c3
Fix one more grammo.
...
Noticed by: ru
2008-02-02 08:41:53 +00:00
Dmitry Morozovsky
942fe01f61
Reword recent comment a bit.
2008-02-01 17:35:46 +00:00
Alexander Motin
d4529f987a
Add comments about stack protection mechanism.
2008-02-01 11:01:15 +00:00
Alexander Motin
b1a3358ba3
Tune the message for better informativity.
...
Print the hook pointer as other functions do.
2008-02-01 07:25:06 +00:00
Benno Rice
db2dabf87c
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
Alexander Motin
b2b5279b25
Implement Session-ID hashing to improve receive performance scalability
...
for big number of concurrent sessions.
2008-01-31 22:42:37 +00:00
Alexander Motin
e72a98f4bf
Some code reformat.
2008-01-31 10:13:04 +00:00
Alexander Motin
81a253a4ed
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
Alexander Motin
f38b370376
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
Alexander Motin
57f2b25dfa
Run expire even without export hook connected.
...
PR: kern/119839
2008-01-27 15:01:16 +00:00
Alexander Motin
cfcb2a4c82
Fix memory leak when export hook is not connected.
2008-01-27 09:22:10 +00:00
Alexander Motin
f704a24b20
Remove one very strange unneded if.
2008-01-27 08:52:41 +00:00
Alexander Motin
f8e5127d49
Slightly simplify code.
2008-01-27 02:04:12 +00:00
Alexander Motin
5716b3f192
Improve multilink receive performance by netgraph item reuse.
2008-01-26 22:42:47 +00:00
Alexander Motin
f9ec69904b
Improve multilink xmit performance by netgraph item reuse.
2008-01-26 22:41:14 +00:00
Alexander Motin
93caf2e299
Improve multilink receive performance with fragment headers preallocation.
2008-01-26 22:39:05 +00:00
Alexander Motin
9c10d11388
Fix bundle xmit octets stats for packet-split operation mode.
2008-01-23 11:47:09 +00:00
Jeff Roberson
397c19d175
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
Alexander Motin
098ff746f8
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
Alexander Motin
97b4f83bb3
Fix incorrectly placed bracket in pppoe_find_svc().
2007-12-26 19:33:53 +00:00
Alexander Motin
b06ccdeab3
Remove some prehistoric never used defines.
2007-12-26 19:15:07 +00:00
Robert Watson
3de213cc00
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
Alexander Motin
673f5a8b44
Add option to set packets per second limits instead of default
...
bits per second ones.
2007-12-19 22:50:14 +00:00
Alexander Motin
52b9b77f78
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 Elischer
182ff780b4
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
Gleb Smirnoff
b332b91f74
- 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
Maksim Yevmenkin
b64b9bb278
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
Maksim Yevmenkin
a6f3c1e3f3
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
Alexander Motin
eb4687d223
Minor debug message fix.
2007-10-28 18:05:59 +00:00
Ruslan Ermilov
857304e6f1
Fix build with NETGRAPH_DEBUG.
2007-10-19 20:09:58 +00:00
Alexander Motin
e088dd4c44
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
Alexander Motin
98e7b7536b
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
Alexander Motin
8cfaad5f6a
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
Alexander Motin
702f98951d
Protect struct seq with mutex.
...
Approved by: glebius (mentor)
2007-10-12 04:56:26 +00:00
Alexander Motin
058ef12167
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
Alexander Motin
bf741e4d08
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
Alexander Motin
40097c5d9f
Remove duplicate variables.
2007-10-12 04:51:30 +00:00
Alexander Motin
661e502900
Dead code removal.
...
Approved by: re (kensmith), glebius (mentor)
2007-09-21 08:25:55 +00:00
Alexander Motin
99f4de905c
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
Alexander Motin
1e7d84b055
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
Alexander Motin
6d67c50b39
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
Maksim Yevmenkin
d46210e60d
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
Alexander Motin
3fb87c2411
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
Maksim Yevmenkin
51713b2a7b
Make ng_h4(4) MPSAFE. Use similar to ng_tty(4) locking strategy.
...
Reconnect ng_h(4) back to the build.
Reviewed by: kensmith
Approved by: re (kensmith)
MFC after: 1 month
2007-08-13 17:19:28 +00:00