|
From: Cyril H. <su...@li...> - 2013-11-04 08:51:13
|
The branch, master, has been updated
via bf30042a0362d03fbada0332e7e22191bf1525ee (commit)
from 591c992a07fce81eb6d0f4ba712c1b0768e03aab (commit)
- Log -----------------------------------------------------------------
commit bf30042a0362d03fbada0332e7e22191bf1525ee
Author: Simon Xu <xu....@or...>
Date: Mon Nov 4 13:28:15 2013 +0800
sctp: enlarge SO_RCVBUF option value
When using setsockopt() with recent Linux kernels, it doesn't make sense to
use a value smaller than SOCK_MIN_RCVBUF/2 for SO_RCVBUF and expect getting
a SO_RCVBUF value by getsockopt() which is doubled. See the following code
in linux/net/core/sock.c:
if ((val * 2) < SOCK_MIN_RCVBUF)
sk->sk_rcvbuf = SOCK_MIN_RCVBUF;
else
sk->sk_rcvbuf = val * 2;
break;
SOCK_MIN_RCVBUF is defined as (2048 + sizeof(struct sk_buff)) which is 2240.
Signed-off-by: Simon Xu <xu....@or...>
Reviewed-by: Jan Stancek <jst...@re...>
Reviewed-by: Wanlong Gao <gao...@cn...>
-----------------------------------------------------------------------
Summary of changes:
.../network/sctp/func_tests/test_1_to_1_sockopt.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/testcases/network/sctp/func_tests/test_1_to_1_sockopt.c b/testcases/network/sctp/func_tests/test_1_to_1_sockopt.c
index b12313b..c36f502 100644
--- a/testcases/network/sctp/func_tests/test_1_to_1_sockopt.c
+++ b/testcases/network/sctp/func_tests/test_1_to_1_sockopt.c
@@ -299,9 +299,9 @@ int main(void)
tst_resm(TPASS, "getsockopt() SCTP_STATUS - SUCCESS");
/* Reducing the SO_RCVBUF value using setsockopt() */
- /*Minimum value is 128 and hence I am using it */
len = sizeof(int);
- rcvbuf_val_set = 128;
+ /* (rcvbuf len)*2 should be no less than SOCK_MIN_RCVBUF in kernel */
+ rcvbuf_val_set = 1500;
/* TEST16: Test case for setsockopt SO_RCVBUF */
error = setsockopt(sk2, SOL_SOCKET, SO_RCVBUF, &rcvbuf_val_set, len);
if (error < 0)
hooks/post-receive
--
ltp
|