tcp: Add a TCP_FASTOPEN socket option to get a max backlog on its listner
authorKenjiro Nakayama <nakayamakenjiro@gmail.com>
Wed, 16 Apr 2014 16:25:01 +0000 (01:25 +0900)
committerDavid S. Miller <davem@davemloft.net>
Sun, 20 Apr 2014 22:18:54 +0000 (18:18 -0400)
This patch adds a TCP_FASTOPEN socket option to get a max backlog on its
listener to getsockopt().

Signed-off-by: Kenjiro Nakayama <nakayamakenjiro@gmail.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp.c

index 4bd6d52..eb1dde3 100644 (file)
@@ -2916,6 +2916,14 @@ static int do_tcp_getsockopt(struct sock *sk, int level,
        case TCP_USER_TIMEOUT:
                val = jiffies_to_msecs(icsk->icsk_user_timeout);
                break;
+
+       case TCP_FASTOPEN:
+               if (icsk->icsk_accept_queue.fastopenq != NULL)
+                       val = icsk->icsk_accept_queue.fastopenq->max_qlen;
+               else
+                       val = 0;
+               break;
+
        case TCP_TIMESTAMP:
                val = tcp_time_stamp + tp->tsoffset;
                break;