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


Reply via email to