public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
* [PATCH net-next 00/44] DualPI2, Accurate ECN, TCP Prague patch series
@ 2024-10-15 10:28 chia-yu.chang
  2024-10-15 10:28 ` [PATCH net-next 01/44] sched: Add dualpi2 qdisc chia-yu.chang
                   ` (44 more replies)
  0 siblings, 45 replies; 56+ messages in thread
From: chia-yu.chang @ 2024-10-15 10:28 UTC (permalink / raw)
  To: netdev, ij, ncardwell, koen.de_schepper, g.white,
	ingemar.s.johansson, mirja.kuehlewind, cheshire, rs.ietf,
	Jason_Livingood, vidhi_goel
  Cc: Chia-Yu Chang

From: Chia-Yu Chang <chia-yu.chang@nokia-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


^ permalink raw reply	[flat|nested] 56+ messages in thread

end of thread, other threads:[~2024-10-16  1:32 UTC | newest]

Thread overview: 56+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-15 10:28 [PATCH net-next 00/44] DualPI2, Accurate ECN, TCP Prague patch series chia-yu.chang
2024-10-15 10:28 ` [PATCH net-next 01/44] sched: Add dualpi2 qdisc chia-yu.chang
2024-10-15 15:30   ` Jamal Hadi Salim
2024-10-15 15:40     ` Jakub Kicinski
2024-10-15 10:28 ` [PATCH net-next 02/44] tcp: reorganize tcp_in_ack_event() and tcp_count_delivered() chia-yu.chang
2024-10-15 10:28 ` [PATCH net-next 03/44] tcp: create FLAG_TS_PROGRESS chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 04/44] tcp: use BIT() macro in include/net/tcp.h chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 05/44] tcp: extend TCP flags to allow AE bit/ACE field chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 06/44] tcp: reorganize SYN ECN code chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 07/44] tcp: rework {__,}tcp_ecn_check_ce() -> tcp_data_ecn_check() chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 08/44] tcp: helpers for ECN mode handling chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 09/44] gso: AccECN support chia-yu.chang
2024-10-16  1:31   ` Jakub Kicinski
2024-10-15 10:29 ` [PATCH net-next 10/44] gro: prevent ACE field corruption & better AccECN handling chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 11/44] tcp: AccECN support to tcp_add_backlog chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 12/44] tcp: allow ECN bits in TOS/traffic class chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 13/44] tcp: Pass flags to __tcp_send_ack chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 14/44] tcp: fast path functions later chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 15/44] tcp: AccECN core chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 16/44] net: sysctl: introduce sysctl SYSCTL_FIVE chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 17/44] tcp: accecn: AccECN negotiation chia-yu.chang
2024-10-15 19:49   ` Ilpo Järvinen
2024-10-15 20:25     ` Chia-Yu Chang (Nokia)
2024-10-15 20:31       ` Ilpo Järvinen
2024-10-15 10:29 ` [PATCH net-next 18/44] tcp: accecn: add AccECN rx byte counters chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 19/44] tcp: allow embedding leftover into option padding chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 20/44] tcp: accecn: AccECN needs to know delivered bytes chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 21/44] tcp: sack option handling improvements chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 22/44] tcp: accecn: AccECN option chia-yu.chang
2024-10-16  1:32   ` Jakub Kicinski
2024-10-15 10:29 ` [PATCH net-next 23/44] tcp: accecn: AccECN option send control chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 24/44] tcp: accecn: AccECN option failure handling chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 25/44] tcp: accecn: AccECN option ceb/cep heuristic chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 26/44] tcp: accecn: AccECN ACE field multi-wrap heuristic chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 27/44] tcp: accecn: try to fit AccECN option with SACK chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 28/44] tcp: try to avoid safer when ACKs are thinned chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 29/44] gro: flushing when CWR is set negatively affects AccECN chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 30/44] tcp: accecn: Add ece_delta to rate_sample chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 31/44] tcp: L4S ECT(1) identifier for CC modules chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 32/44] tcp: disable RFC3168 fallback " chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 33/44] tcp: accecn: handle unexpected AccECN negotiation feedback chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 34/44] tcp: accecn: retransmit downgraded SYN in AccECN negotiation chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 35/44] tcp: move increment of num_retrans chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 36/44] tcp: accecn: retransmit SYN/ACK without AccECN option or non-AccECN SYN/ACK chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 37/44] tcp: accecn: unset ECT if receive or send ACE=0 in AccECN negotiaion chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 38/44] tcp: accecn: fallback outgoing half link to non-AccECN chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 39/44] tcp: accecn: verify ACE counter in 1st ACK after AccECN negotiation chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 40/44] tcp: accecn: stop sending AccECN option when loss ACK with AccECN option chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 41/44] Documentation: networking: Update ECN related sysctls chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 42/44] tcp: Add tso_segs() CC callback for TCP Prague chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 43/44] tcp: Add mss_cache_set_by_ca for CC algorithm to set MSS chia-yu.chang
2024-10-15 10:29 ` [PATCH net-next 44/44] tcp: Add the TCP Prague congestion control module chia-yu.chang
2024-10-15 10:51 ` [PATCH net-next 00/44] DualPI2, Accurate ECN, TCP Prague patch series Paolo Abeni
2024-10-15 15:14   ` Koen De Schepper (Nokia)
2024-10-15 17:52     ` Eric Dumazet
2024-10-15 19:30       ` Chia-Yu Chang (Nokia)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox