diff options
author | Robert Watson <rwatson@FreeBSD.org> | 2004-08-21 21:20:06 +0000 |
---|---|---|
committer | Robert Watson <rwatson@FreeBSD.org> | 2004-08-21 21:20:06 +0000 |
commit | 190a4c9436fd4171263be63c5f6d6d11d92d8514 (patch) | |
tree | eeff33cd4044d560f15e3f417a6628a6049d1b5c /sys/net/rtsock.c | |
parent | d12bd83e9b28b89d03fbf0d452e87ec5558674d2 (diff) | |
download | src-190a4c9436fd4171263be63c5f6d6d11d92d8514.tar.gz src-190a4c9436fd4171263be63c5f6d6d11d92d8514.zip |
Allow the size of the routing socket netisr queue to be configured using
the tunable or sysctl 'net.route.netisr_maxqlen'. Default the maximum
depth to 256 rather than IFQ_MAXLEN due to the downsides of dropping
routing messages.
MT5 candidate.
Discussed with: mdodd, mlaier, Vincent Jardin <jardin at 6wind.com>
Notes
Notes:
svn path=/head/; revision=134137
Diffstat (limited to 'sys/net/rtsock.c')
-rw-r--r-- | sys/net/rtsock.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c index 85d763b06e25..fb5def4ed815 100644 --- a/sys/net/rtsock.c +++ b/sys/net/rtsock.c @@ -74,6 +74,11 @@ MTX_SYSINIT(rtsock, &rtsock_mtx, "rtsock route_cb lock", MTX_DEF); static struct ifqueue rtsintrq; +SYSCTL_NODE(_net, OID_AUTO, route, CTLFLAG_RD, 0, ""); +SYSCTL_INT(_net_route, OID_AUTO, netisr_maxqlen, CTLFLAG_RW, + &rtsintrq.ifq_maxlen, 0, "maximum routing socket dispatch queue length"); +TUNABLE_INT("net.route.netisr_maxqlen", &rtsintrq.ifq_maxlen); + struct walkarg { int w_tmemsize; int w_op, w_arg; @@ -101,7 +106,7 @@ static void rts_init(void) { - IFQ_SET_MAXLEN(&rtsintrq, IFQ_MAXLEN); + rtsintrq.ifq_maxlen = 256; mtx_init(&rtsintrq.ifq_mtx, "rts_inq", NULL, MTX_DEF); netisr_register(NETISR_ROUTE, rts_input, &rtsintrq, NETISR_MPSAFE); } |