[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20241015102940.26157-1-chia-yu.chang@nokia-bell-labs.com>
Date: Tue, 15 Oct 2024 12:28:56 +0200
From: chia-yu.chang@...ia-bell-labs.com
To: netdev@...r.kernel.org, ij@...nel.org, ncardwell@...gle.com,
koen.de_schepper@...ia-bell-labs.com, g.white@...leLabs.com,
ingemar.s.johansson@...csson.com, mirja.kuehlewind@...csson.com,
cheshire@...le.com, rs.ietf@....at, Jason_Livingood@...cast.com,
vidhi_goel@...le.com
Cc: Chia-Yu Chang <chia-yu.chang@...ia-bell-labs.com>
Subject: [PATCH net-next 00/44] DualPI2, Accurate ECN, TCP Prague patch series
From: Chia-Yu Chang <chia-yu.chang@...ia-bell-labs.com>
Hello,
Please find the enclosed patch series covering the L4S (Low Latency,
Low Loss, and Scalable Throughput) as outlined in IETF RFC9330:
https://datatracker.ietf.org/doc/html/rfc9330
* 1 patch for DualPI2 (cf. IETF RFC9332
https://datatracker.ietf.org/doc/html/rfc9332)
* 40 pataches for Accurate ECN (It implements the AccECN protocol
in terms of negotiation, feedback, and compliance requirements:
https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-accurate-ecn-28)
* 3 patches for TCP Prague (It implements the performance and safety
requirements listed in Appendix A of IETF RFC9331:
https://datatracker.ietf.org/doc/html/rfc9331)
Best regagrds,
Chia-Yu
Chia-Yu Chang (17):
tcp: use BIT() macro in include/net/tcp.h
net: sysctl: introduce sysctl SYSCTL_FIVE
tcp: accecn: AccECN option failure handling
tcp: L4S ECT(1) identifier for CC modules
tcp: disable RFC3168 fallback identifier for CC modules
tcp: accecn: handle unexpected AccECN negotiation feedback
tcp: accecn: retransmit downgraded SYN in AccECN negotiation
tcp: move increment of num_retrans
tcp: accecn: retransmit SYN/ACK without AccECN option or non-AccECN
SYN/ACK
tcp: accecn: unset ECT if receive or send ACE=0 in AccECN negotiaion
tcp: accecn: fallback outgoing half link to non-AccECN
tcp: accecn: verify ACE counter in 1st ACK after AccECN negotiation
tcp: accecn: stop sending AccECN option when loss ACK with AccECN
option
Documentation: networking: Update ECN related sysctls
tcp: Add tso_segs() CC callback for TCP Prague
tcp: Add mss_cache_set_by_ca for CC algorithm to set MSS
tcp: Add the TCP Prague congestion control module
Ilpo Järvinen (26):
tcp: reorganize tcp_in_ack_event() and tcp_count_delivered()
tcp: create FLAG_TS_PROGRESS
tcp: extend TCP flags to allow AE bit/ACE field
tcp: reorganize SYN ECN code
tcp: rework {__,}tcp_ecn_check_ce() -> tcp_data_ecn_check()
tcp: helpers for ECN mode handling
gso: AccECN support
gro: prevent ACE field corruption & better AccECN handling
tcp: AccECN support to tcp_add_backlog
tcp: allow ECN bits in TOS/traffic class
tcp: Pass flags to __tcp_send_ack
tcp: fast path functions later
tcp: AccECN core
tcp: accecn: AccECN negotiation
tcp: accecn: add AccECN rx byte counters
tcp: allow embedding leftover into option padding
tcp: accecn: AccECN needs to know delivered bytes
tcp: sack option handling improvements
tcp: accecn: AccECN option
tcp: accecn: AccECN option send control
tcp: accecn: AccECN option ceb/cep heuristic
tcp: accecn: AccECN ACE field multi-wrap heuristic
tcp: accecn: try to fit AccECN option with SACK
tcp: try to avoid safer when ACKs are thinned
gro: flushing when CWR is set negatively affects AccECN
tcp: accecn: Add ece_delta to rate_sample
Koen De Schepper (1):
sched: Add dualpi2 qdisc
Documentation/networking/ip-sysctl.rst | 55 +-
include/linux/netdev_features.h | 5 +-
include/linux/netdevice.h | 2 +
include/linux/skbuff.h | 2 +
include/linux/sysctl.h | 17 +-
include/linux/tcp.h | 31 +-
include/net/inet_ecn.h | 20 +-
include/net/netns/ipv4.h | 2 +
include/net/tcp.h | 299 +++++--
include/uapi/linux/inet_diag.h | 13 +
include/uapi/linux/pkt_sched.h | 34 +
include/uapi/linux/tcp.h | 16 +-
kernel/sysctl.c | 2 +-
net/ethtool/common.c | 1 +
net/ipv4/Kconfig | 37 +
net/ipv4/Makefile | 1 +
net/ipv4/bpf_tcp_ca.c | 2 +-
net/ipv4/inet_connection_sock.c | 8 +-
net/ipv4/ip_output.c | 3 +-
net/ipv4/syncookies.c | 3 +
net/ipv4/sysctl_net_ipv4.c | 18 +
net/ipv4/tcp.c | 26 +-
net/ipv4/tcp_cong.c | 9 +-
net/ipv4/tcp_dctcp.c | 2 +-
net/ipv4/tcp_dctcp.h | 2 +-
net/ipv4/tcp_input.c | 689 ++++++++++++++--
net/ipv4/tcp_ipv4.c | 33 +-
net/ipv4/tcp_minisocks.c | 117 ++-
net/ipv4/tcp_offload.c | 13 +-
net/ipv4/tcp_output.c | 336 +++++++-
net/ipv4/tcp_prague.c | 866 ++++++++++++++++++++
net/ipv6/syncookies.c | 1 +
net/ipv6/tcp_ipv6.c | 27 +-
net/netfilter/nf_log_syslog.c | 8 +-
net/sched/Kconfig | 20 +
net/sched/Makefile | 1 +
net/sched/sch_dualpi2.c | 1046 ++++++++++++++++++++++++
37 files changed, 3519 insertions(+), 248 deletions(-)
create mode 100644 net/ipv4/tcp_prague.c
create mode 100644 net/sched/sch_dualpi2.c
--
2.34.1
Powered by blists - more mailing lists