From: Mubashir Adnan Qureshi <mubashirmaq@gmail.com>
To: David Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org, kuba@kernel.org,
Mubashir Adnan Qureshi <mubashirq@google.com>
Subject: [PATCH net-next v2 0/5] Add PLB functionality to TCP
Date: Fri, 30 Sep 2022 04:53:15 +0000 [thread overview]
Message-ID: <20220930045320.5252-1-mubashirmaq@gmail.com> (raw)
In-Reply-To: <20220929142447.3821638-1-mubashirmaq@gmail.com>
From: Mubashir Adnan Qureshi <mubashirq@google.com>
This patch series adds PLB (Protective Load Balancing) to TCP and hooks
it up to DCTCP. PLB is disabled by default and can be enabled using
relevant sysctls and support from underlying CC.
PLB (Protective Load Balancing) is a host based mechanism for load
balancing across switch links. It leverages congestion signals(e.g. ECN)
from transport layer to randomly change the path of the connection
experiencing congestion. PLB changes the path of the connection by
changing the outgoing IPv6 flow label for IPv6 connections (implemented
in Linux by calling sk_rethink_txhash()). Because of this implementation
mechanism, PLB can currently only work for IPv6 traffic. For more
information, see the SIGCOMM 2022 paper:
https://doi.org/10.1145/3544216.3544226
Mubashir Adnan Qureshi (5):
tcp: add sysctls for TCP PLB parameters
tcp: add PLB functionality for TCP
tcp: add support for PLB in DCTCP
tcp: add u32 counter in tcp_sock and an SNMP counter for PLB
tcp: add rcv_wnd and plb_rehash to TCP_INFO
Documentation/networking/ip-sysctl.rst | 75 ++++++++++++++++++
include/linux/tcp.h | 1 +
include/net/netns/ipv4.h | 5 ++
include/net/tcp.h | 28 +++++++
include/uapi/linux/snmp.h | 1 +
include/uapi/linux/tcp.h | 6 ++
net/ipv4/Makefile | 2 +-
net/ipv4/proc.c | 1 +
net/ipv4/sysctl_net_ipv4.c | 43 ++++++++++
net/ipv4/tcp.c | 5 ++
net/ipv4/tcp_dctcp.c | 23 +++++-
net/ipv4/tcp_ipv4.c | 8 ++
net/ipv4/tcp_plb.c | 104 +++++++++++++++++++++++++
13 files changed, 300 insertions(+), 2 deletions(-)
create mode 100644 net/ipv4/tcp_plb.c
--
2.38.0.rc1.362.ged0d419d3c-goog
next prev parent reply other threads:[~2022-09-30 4:55 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-29 14:24 [PATCH net-next 0/5] Add PLB functionality to TCP Mubashir Adnan Qureshi
2022-09-29 14:24 ` [PATCH net-next 1/5] tcp: add sysctls for TCP PLB parameters Mubashir Adnan Qureshi
2022-09-30 2:37 ` Jakub Kicinski
2022-09-29 14:24 ` [PATCH net-next 2/5] tcp: add PLB functionality for TCP Mubashir Adnan Qureshi
2022-09-29 14:24 ` [PATCH net-next 3/5] tcp: add support for PLB in DCTCP Mubashir Adnan Qureshi
2022-09-29 14:24 ` [PATCH net-next 4/5] tcp: add u32 counter in tcp_sock and an SNMP counter for PLB Mubashir Adnan Qureshi
2022-09-29 14:24 ` [PATCH net-next 5/5] tcp: add rcv_wnd and plb_rehash to TCP_INFO Mubashir Adnan Qureshi
2022-09-30 4:53 ` Mubashir Adnan Qureshi [this message]
2022-09-30 4:53 ` [PATCH net-next v2 1/5] tcp: add sysctls for TCP PLB parameters Mubashir Adnan Qureshi
2022-09-30 4:53 ` [PATCH net-next v2 2/5] tcp: add PLB functionality for TCP Mubashir Adnan Qureshi
2022-09-30 4:53 ` [PATCH net-next v2 3/5] tcp: add support for PLB in DCTCP Mubashir Adnan Qureshi
2022-09-30 4:53 ` [PATCH net-next v2 4/5] tcp: add u32 counter in tcp_sock and an SNMP counter for PLB Mubashir Adnan Qureshi
2022-09-30 4:53 ` [PATCH net-next v2 5/5] tcp: add rcv_wnd and plb_rehash to TCP_INFO Mubashir Adnan Qureshi
2022-10-03 23:42 ` [PATCH net-next v2 0/5] Add PLB functionality to TCP Jakub Kicinski
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=20220930045320.5252-1-mubashirmaq@gmail.com \
--to=mubashirmaq@gmail.com \
--cc=davem@davemloft.net \
--cc=kuba@kernel.org \
--cc=mubashirq@google.com \
--cc=netdev@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).