From: Christoph Paasch <cpaasch at apple.com>
To: mptcp at lists.01.org
Subject: [MPTCP] [RFC v3 00/15] TCP Extra-option framework for TCP-MD5 and SMC
Date: Mon, 11 Dec 2017 13:42:03 -0800 [thread overview]
Message-ID: <20171211214218.35868-1-cpaasch@apple.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 2979 bytes --]
3rd version of the set.
Now, fully tested and bugs fixed.
There are a two rather big changes (most of it is commented on in the notes):
* Made the tcp_option_list and RCU-protected hlist. We need RCU-protection
because listener sockets are lockless nowadays.
* Previously, in tcp_v4_send_reset, we would lookup the MD5-signature and
if there was one, go look for the listening-socket (if sk == NULL) to see
if there is an MD5-key.
Nowadays, we can't do this anymore because extra-options are only parsed when
we actually have a socket. However, this shouldn't have an impact as far as
I can see. Because, if there is a listening-socket, __inet_lookup_skb will
match on it and when we then send a RST when coming from tcp_rcv_state_process
we have the pointer to the listening socket.
The only scenario wherer tcp_v4_send_reset() gets called with a NULL sk is
when coming straight from tcp_v4_rcv.
If there are no major comments, I would like to go to netdev as a next step.
Christoph Paasch (14):
tcp md5sig: Use skb's saddr when replying to an incoming segment
tcp: Write options after the header has been fully done
tcp: Pass sock and skb to tcp_options_write
tcp: Allow tcp_fast_parse_options to drop segments
tcp: Make smc_parse_options return 1 on success
tcp_smc: Make SMC use TCP extra-option framework
tcp_md5: Don't pass along md5-key
tcp_md5: Detect key inside tcp_v4_send_ack instead of passing it as an
argument
tcp_md5: Detect key inside tcp_v6_send_response instead of passing it
as an argument
tcp_md5: Check for TCP_MD5 after TCP Timestamps in
tcp_established_options
tcp_md5: Move TCP-MD5 code out of TCP itself
tcp_md5: Use tcp_extra_options in output path
tcp_md5: Cleanup TCP-code
tcp_md5: Use TCP extra-options on the input path
Mat Martineau (1):
tcp: Register handlers for extra TCP options
drivers/infiniband/hw/cxgb4/cm.c | 2 +-
include/linux/inet_diag.h | 1 +
include/linux/tcp.h | 43 +-
include/linux/tcp_md5.h | 39 ++
include/net/inet_sock.h | 3 +-
include/net/tcp.h | 209 +++---
net/ipv4/Makefile | 1 +
net/ipv4/syncookies.c | 6 +-
net/ipv4/tcp.c | 399 +++++++++---
net/ipv4/tcp_diag.c | 81 +--
net/ipv4/tcp_input.c | 140 ++--
net/ipv4/tcp_ipv4.c | 545 ++--------------
net/ipv4/tcp_md5.c | 1340 ++++++++++++++++++++++++++++++++++++++
net/ipv4/tcp_minisocks.c | 75 +--
net/ipv4/tcp_output.c | 179 +----
net/ipv6/syncookies.c | 6 +-
net/ipv6/tcp_ipv6.c | 382 +----------
net/smc/af_smc.c | 175 ++++-
18 files changed, 2181 insertions(+), 1445 deletions(-)
create mode 100644 include/linux/tcp_md5.h
create mode 100644 net/ipv4/tcp_md5.c
--
2.15.0
next reply other threads:[~2017-12-11 21:42 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-11 21:42 Christoph Paasch [this message]
2017-12-12 23:35 [MPTCP] [RFC v3 00/15] TCP Extra-option framework for TCP-MD5 and SMC Mat Martineau
2017-12-12 23:40 Mat Martineau
2017-12-13 0:04 Christoph Paasch
2017-12-13 0:05 Christoph Paasch
2017-12-13 16:30 Mat Martineau
2017-12-14 0:33 Christoph Paasch
2017-12-15 19:00 Christoph Paasch
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=20171211214218.35868-1-cpaasch@apple.com \
--to=unknown@example.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.