On (03/15/16 10:18), Eric Dumazet wrote:
Look at SO_SNDBUF and SO_RCVBUF implementation.
sk->sk_sndbuf = max_t(u32, val * 2, SOCK_MIN_SNDBUF);
sk->sk_rcvbuf = max_t(u32, val * 2, SOCK_MIN_RCVBUF);
kernel definitely has some logic here.
Ok, I can do the same thing (and we do this consistently across
all drivers?)
If you believe SOCK_MIN_SNDBUF and/or SOCK_MIN_RCVBUF are wrong, please
elaborate.
I dont recall suggesting that.
BTW, when I tried it, doing a SO_SNDBUF of 1 from uspace does not return
an error. It merely sets the buffer size to 4608 (as reported by
getsockopt in my env. I think the getsockopt value is impacted by
many factors).
--Sowmini