On 10/30/25 3:34 PM, [email protected] wrote: > From: Chia-Yu Chang <[email protected]> > > No functional changes. > > Co-developed-by: Ilpo Järvinen <[email protected]> > Signed-off-by: Ilpo Järvinen <[email protected]> > Signed-off-by: Chia-Yu Chang <[email protected]> > --- > include/linux/skbuff.h | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h > index a7cc3d1f4fd1..74d6a209e203 100644 > --- a/include/linux/skbuff.h > +++ b/include/linux/skbuff.h > @@ -671,7 +671,12 @@ enum { > /* This indicates the skb is from an untrusted source. */ > SKB_GSO_DODGY = 1 << 1, > > - /* This indicates the tcp segment has CWR set. */ > + /* For Tx, this indicates the first TCP segment has CWR set, and any > + * subsequent segment in the same skb has CWR cleared. This cannot be > + * used on Rx, because the connection to which the segment belongs is > + * not tracked to use RFC3168 or Accurate ECN, and using RFC3168 ECN > + * offload may corrupt AccECN signal of AccECN segments. > + */
The intended difference between RX and TX sounds bad to me; I think it conflicts with the basic GRO design goal of making aggregated and re-segmented traffic indistinguishable from the original stream. Also what about forwarded packet? /P
