lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
 <PAXPR07MB7984D9FE47565621DA52E377A37AA@PAXPR07MB7984.eurprd07.prod.outlook.com>
Date: Thu, 26 Jun 2025 08:06:03 +0000
From: "Chia-Yu Chang (Nokia)" <chia-yu.chang@...ia-bell-labs.com>
To: Eric Dumazet <edumazet@...gle.com>
CC: "pabeni@...hat.com" <pabeni@...hat.com>, "linux-doc@...r.kernel.org"
	<linux-doc@...r.kernel.org>, "corbet@....net" <corbet@....net>,
	"horms@...nel.org" <horms@...nel.org>, "dsahern@...nel.org"
	<dsahern@...nel.org>, "kuniyu@...zon.com" <kuniyu@...zon.com>,
	"bpf@...r.kernel.org" <bpf@...r.kernel.org>, "netdev@...r.kernel.org"
	<netdev@...r.kernel.org>, "jhs@...atatu.com" <jhs@...atatu.com>,
	"kuba@...nel.org" <kuba@...nel.org>, "stephen@...workplumber.org"
	<stephen@...workplumber.org>, "xiyou.wangcong@...il.com"
	<xiyou.wangcong@...il.com>, "jiri@...nulli.us" <jiri@...nulli.us>,
	"davem@...emloft.net" <davem@...emloft.net>, "andrew+netdev@...n.ch"
	<andrew+netdev@...n.ch>, "donald.hunter@...il.com" <donald.hunter@...il.com>,
	"ast@...erby.net" <ast@...erby.net>, "liuhangbin@...il.com"
	<liuhangbin@...il.com>, "shuah@...nel.org" <shuah@...nel.org>,
	"linux-kselftest@...r.kernel.org" <linux-kselftest@...r.kernel.org>,
	"ij@...nel.org" <ij@...nel.org>, "ncardwell@...gle.com"
	<ncardwell@...gle.com>, "Koen De Schepper (Nokia)"
	<koen.de_schepper@...ia-bell-labs.com>, "g.white@...lelabs.com"
	<g.white@...lelabs.com>, "ingemar.s.johansson@...csson.com"
	<ingemar.s.johansson@...csson.com>, "mirja.kuehlewind@...csson.com"
	<mirja.kuehlewind@...csson.com>, "cheshire@...le.com" <cheshire@...le.com>,
	"rs.ietf@....at" <rs.ietf@....at>, "Jason_Livingood@...cast.com"
	<Jason_Livingood@...cast.com>, "vidhi_goel@...le.com" <vidhi_goel@...le.com>,
	"Olivier Tilmans (Nokia)" <olivier.tilmans@...ia.com>
Subject: RE: [PATCH v9 net-next 05/15] tcp: accecn: AccECN negotiation

> -----Original Message-----
> From: Eric Dumazet <edumazet@...gle.com> 
> Sent: Wednesday, June 25, 2025 9:58 AM
> To: Chia-Yu Chang (Nokia) <chia-yu.chang@...ia-bell-labs.com>
> Cc: pabeni@...hat.com; linux-doc@...r.kernel.org; corbet@....net; horms@...nel.org; dsahern@...nel.org; kuniyu@...zon.com; bpf@...r.kernel.org; netdev@...r.kernel.org; jhs@...atatu.com; kuba@...nel.org; stephen@...workplumber.org; xiyou.wangcong@...il.com; jiri@...nulli.us; davem@...emloft.net; andrew+netdev@...n.ch; donald.hunter@...il.com; ast@...erby.net; liuhangbin@...il.com; shuah@...nel.org; linux-kselftest@...r.kernel.org; ij@...nel.org; ncardwell@...gle.com; Koen De Schepper (Nokia) <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; Olivier Tilmans (Nokia) <olivier.tilmans@...ia.com>
> Subject: Re: [PATCH v9 net-next 05/15] tcp: accecn: AccECN negotiation
> 
> 
> CAUTION: This is an external email. Please be very careful when clicking links or opening attachments. See the URL nok.it/ext for additional information.
> 
> 
> 
> On Sat, Jun 21, 2025 at 12:37 PM <chia-yu.chang@...ia-bell-labs.com> wrote:
> >
> > From: Ilpo Järvinen <ij@...nel.org>
> >
> > Accurate ECN negotiation parts based on the specification:
> >   https://tools.ietf.org/id/draft-ietf-tcpm-accurate-ecn-28.txt
> >
[...]
> >
> > diff --git a/include/net/tcp.h b/include/net/tcp.h index 
> > 6cf5cea992e3..4d6325fa3f67 100644
> > --- a/include/net/tcp.h
> > +++ b/include/net/tcp.h
[...]
> > @@ -1051,6 +1123,15 @@ struct tcp_skb_cb {
> >
> >  #define TCP_SKB_CB(__skb)      ((struct tcp_skb_cb *)&((__skb)->cb[0]))
> >
> > +static inline u16 tcp_accecn_reflector_flags(u8 ect)
> > +{
> > +       u32 flags = ect + 2;
> > +
> > +       if (ect == 3)
> > +               flags++;
> 
> A comment might help, I have no idea of what is going on here.

Hi Eric,

Sure, comments will be added in the next version.

> 
> > +       return FIELD_PREP(TCPHDR_ACE, flags);
> > +}
> > +
> >  extern const struct inet_connection_sock_af_ops ipv4_specific;
> >
> >  #if IS_ENABLED(CONFIG_IPV6)
[...]
> > diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c
> > index 3a43010d726f..75ec1a599b52 100644
> > --- a/net/ipv4/sysctl_net_ipv4.c
> > +++ b/net/ipv4/sysctl_net_ipv4.c
> > @@ -47,6 +47,7 @@ static unsigned int udp_child_hash_entries_max = UDP_HTABLE_SIZE_MAX;
> >  static int tcp_plb_max_rounds = 31;
> >  static int tcp_plb_max_cong_thresh = 256;
> >  static unsigned int tcp_tw_reuse_delay_max = TCP_PAWS_MSL * MSEC_PER_SEC;
> > +static int tcp_ecn_mode_max = 5;
> >
> >  /* obsolete */
> >  static int sysctl_tcp_low_latency __read_mostly;
> > @@ -728,7 +729,7 @@ static struct ctl_table ipv4_net_table[] = {
> >                 .mode           = 0644,
> >                 .proc_handler   = proc_dou8vec_minmax,
> >                 .extra1         = SYSCTL_ZERO,
> > -               .extra2         = SYSCTL_TWO,
> > +               .extra2         = &tcp_ecn_mode_max,
> 
> Please change Documentation/networking/ip-sysctl.rst tcp_ecn accordingly ?
> 

OK, I will break the patch of Documentation/networking/ip-sysctl.rst in this patch.

> >         },
> >         {
> >                 .procname       = "tcp_ecn_fallback",
> > diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
> > index 8e0e8d784b1c..e6d7b5420c88 100644
> > --- a/net/ipv4/tcp.c
> > +++ b/net/ipv4/tcp.c
> > @@ -3392,6 +3392,8 @@ int tcp_disconnect(struct sock *sk, int flags)
> >         tp->window_clamp = 0;
> >         tp->delivered = 0;
> >         tp->delivered_ce = 0;
> > +       tp->wait_third_ack = 0;
> > +       tp->accecn_fail_mode = 0;
> >         tcp_accecn_init_counters(tp);
> >         if (icsk->icsk_ca_initialized && icsk->icsk_ca_ops->release)
> >                 icsk->icsk_ca_ops->release(sk);
> > diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
> > index 0fa3803b353d..c986452302cb 100644
> > --- a/net/ipv4/tcp_input.c
> > +++ b/net/ipv4/tcp_input.c
> > @@ -411,14 +411,114 @@ static void tcp_data_ecn_check(struct sock *sk, const struct sk_buff *skb)
> >         }
> >  }
> 
> I do think this patch is too big and should be split.

I will remove the following two parts from this patch into other patches:
(1) ECN negotiation in simultaneous connect, and
(2) CA module flag (TCP_CONG_NEEDS_ACCECN) defines that the CA expects to negotiate AccECN functionality.

Best regards,
Chia-Yu

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ