Patchwork [v3] tcp: Add a TCP_FASTOPEN socket option to get a max backlog on its listner

login
register
mail settings
Submitter Kenjiro Nakayama
Date April 16, 2014, 4:25 p.m.
Message ID <87a9bljl7m.fsf@gmail.com>
Download mbox | patch
Permalink /patch/339644/
State Accepted
Delegated to: David Miller
Headers show

Comments

Kenjiro Nakayama - April 16, 2014, 4:25 p.m.
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>
---
 net/ipv4/tcp.c | 8 ++++++++
 1 file changed, 8 insertions(+)

--
1.9.0
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Neal Cardwell - April 19, 2014, 12:42 a.m.
On Wed, Apr 16, 2014 at 12:25 PM, Kenjiro Nakayama
<nakayamakenjiro@gmail.com> wrote:
> 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>
> ---
>  net/ipv4/tcp.c | 8 ++++++++
>  1 file changed, 8 insertions(+)

Acked-by: Neal Cardwell <ncardwell@google.com>

Seems fine to me. Thanks, Kenjiro.

neal
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - April 20, 2014, 10:19 p.m.
From: Kenjiro Nakayama <nakayamakenjiro@gmail.com>
Date: Thu, 17 Apr 2014 01:25:01 +0900

> 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>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 4bd6d52..eb1dde3 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -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;