From: Florian Westphal <fw@strlen.de>
To: <netdev@vger.kernel.org>
Cc: edumazet@google.com, mathew.j.martineau@linux.intel.com,
matthieu.baerts@tessares.net, pabeni@redhat.com,
Florian Westphal <fw@strlen.de>
Subject: [PATCH net-next 01/10] tcp: remove cookie_ts bit from request_sock
Date: Thu, 30 Jul 2020 19:15:20 +0200 [thread overview]
Message-ID: <20200730171529.22582-2-fw@strlen.de> (raw)
In-Reply-To: <20200730171529.22582-1-fw@strlen.de>
No need for this anymore; nowadays output function has a 'synack_type'
argument that tells us when the syn/ack is emitted via syncookies.
The request already tells us when timestamps are supported, so check
both to detect special timestamp for tcp option encoding is needed.
Signed-off-by: Florian Westphal <fw@strlen.de>
---
drivers/crypto/chelsio/chtls/chtls_cm.c | 1 -
include/net/request_sock.h | 3 +--
net/ipv4/tcp_input.c | 2 --
net/ipv4/tcp_output.c | 2 +-
4 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/crypto/chelsio/chtls/chtls_cm.c b/drivers/crypto/chelsio/chtls/chtls_cm.c
index f924c335a195..030f20148007 100644
--- a/drivers/crypto/chelsio/chtls/chtls_cm.c
+++ b/drivers/crypto/chelsio/chtls/chtls_cm.c
@@ -1348,7 +1348,6 @@ static void chtls_pass_accept_request(struct sock *sk,
oreq->rsk_rcv_wnd = 0;
oreq->rsk_window_clamp = 0;
- oreq->cookie_ts = 0;
oreq->mss = 0;
oreq->ts_recent = 0;
diff --git a/include/net/request_sock.h b/include/net/request_sock.h
index cf8b33213bbc..2f717d4dafc5 100644
--- a/include/net/request_sock.h
+++ b/include/net/request_sock.h
@@ -54,8 +54,7 @@ struct request_sock {
struct request_sock *dl_next;
u16 mss;
u8 num_retrans; /* number of retransmits */
- u8 cookie_ts:1; /* syncookie: encode tcpopts in timestamp */
- u8 num_timeout:7; /* number of timeouts */
+ u8 num_timeout; /* number of timeouts */
u32 ts_recent;
struct timer_list rsk_timer;
const struct request_sock_ops *rsk_ops;
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index a018bafd7bdf..fcca58476678 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -6519,7 +6519,6 @@ static void tcp_openreq_init(struct request_sock *req,
struct inet_request_sock *ireq = inet_rsk(req);
req->rsk_rcv_wnd = 0; /* So that tcp_send_synack() knows! */
- req->cookie_ts = 0;
tcp_rsk(req)->rcv_isn = TCP_SKB_CB(skb)->seq;
tcp_rsk(req)->rcv_nxt = TCP_SKB_CB(skb)->seq + 1;
tcp_rsk(req)->snt_synack = 0;
@@ -6739,7 +6738,6 @@ int tcp_conn_request(struct request_sock_ops *rsk_ops,
if (want_cookie) {
isn = cookie_init_sequence(af_ops, sk, skb, &req->mss);
- req->cookie_ts = tmp_opt.tstamp_ok;
if (!tmp_opt.tstamp_ok)
inet_rsk(req)->ecn_ok = 0;
}
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
index d8f16f6a9b02..bd0e5a7cd072 100644
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -3393,7 +3393,7 @@ struct sk_buff *tcp_make_synack(const struct sock *sk, struct dst_entry *dst,
memset(&opts, 0, sizeof(opts));
now = tcp_clock_ns();
#ifdef CONFIG_SYN_COOKIES
- if (unlikely(req->cookie_ts))
+ if (unlikely(synack_type == TCP_SYNACK_COOKIE && inet_rsk(req)->tstamp_ok))
skb->skb_mstamp_ns = cookie_init_timestamp(req, now);
else
#endif
--
2.26.2
next prev parent reply other threads:[~2020-07-30 17:15 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-30 17:15 [PATCH net-next 00/10] mptcp: add syncookie support Florian Westphal
2020-07-30 17:15 ` Florian Westphal [this message]
2020-07-30 17:25 ` [PATCH net-next 01/10] tcp: remove cookie_ts bit from request_sock Eric Dumazet
2020-07-30 17:15 ` [PATCH net-next 02/10] mptcp: token: move retry to caller Florian Westphal
2020-07-30 17:15 ` [PATCH net-next 03/10] mptcp: subflow: split subflow_init_req Florian Westphal
2020-07-30 17:15 ` [PATCH net-next 04/10] mptcp: rename and export mptcp_subflow_request_sock_ops Florian Westphal
2020-07-30 17:15 ` [PATCH net-next 05/10] tcp: pass want_cookie down to req_init function Florian Westphal
2020-07-30 17:38 ` Eric Dumazet
2020-07-30 17:58 ` Florian Westphal
2020-07-30 17:15 ` [PATCH net-next 06/10] mptcp: subflow: add mptcp_subflow_init_cookie_req helper Florian Westphal
2020-07-30 17:15 ` [PATCH net-next 07/10] tcp: syncookies: create mptcp request socket for ACK cookies with MPTCP option Florian Westphal
2020-07-30 17:15 ` [PATCH net-next 08/10] mptcp: enable JOIN requests even if cookies are in use Florian Westphal
2020-07-30 17:15 ` [PATCH net-next 09/10] selftests: mptcp: make 2nd net namespace use tcp syn cookies unconditionally Florian Westphal
2020-07-30 17:15 ` [PATCH net-next 10/10] selftests: mptcp: add test cases for mptcp join tests with syn cookies Florian Westphal
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200730171529.22582-2-fw@strlen.de \
--to=fw@strlen.de \
--cc=edumazet@google.com \
--cc=mathew.j.martineau@linux.intel.com \
--cc=matthieu.baerts@tessares.net \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.