Re: [PATCH v17 net-next 14/14] tcp: accecn: try to fit AccECN option with SACK

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Sep 8, 2025 at 10:34 AM <chia-yu.chang@xxxxxxxxxxxxxxxxxxx> wrote:
>
> From: Chia-Yu Chang <chia-yu.chang@xxxxxxxxxxxxxxxxxxx>
>
> As SACK blocks tend to eat all option space when there are
> many holes, it is useful to compromise on sending many SACK
> blocks in every ACK and attempt to fit the AccECN option
> there by reducing the number of SACK blocks. However, it will
> never go below two SACK blocks because of the AccECN option.
>
> As the AccECN option is often not put to every ACK, the space
> hijack is usually only temporary. Depending on the reuqired
> AccECN fields (can be either 3, 2, 1, or 0, cf. Table 5 in
> AccECN spec) and the NOPs used for alignment of other
> TCP options, up to two SACK blocks will be reduced. Please
> find below tables for more details:
>
> +====================+=========================================+
> | Number of | Required | Remaining |  Number of  |    Final    |
> |   SACK    |  AccECN  |  option   |  reduced    |  number of  |
> |  blocks   |  fields  |  spaces   | SACK blocks | SACK blocks |
> +===========+==========+===========+=============+=============+
> |  x (<=2)  |  0 to 3  |    any    |      0      |      x      |
> +-----------+----------+-----------+-------------+-------------+
> |     3     |    0     |    any    |      0      |      3      |
> |     3     |    1     |    <4     |      1      |      2      |
> |     3     |    1     |    >=4    |      0      |      3      |
> |     3     |    2     |    <8     |      1      |      2      |
> |     3     |    2     |    >=8    |      0      |      3      |
> |     3     |    3     |    <12    |      1      |      2      |
> |     3     |    3     |    >=12   |      0      |      3      |
> +-----------+----------+-----------+-------------+-------------+
> |  y (>=4)  |    0     |    any    |      0      |      y      |
> |  y (>=4)  |    1     |    <4     |      1      |     y-1     |
> |  y (>=4)  |    1     |    >=4    |      0      |      y      |
> |  y (>=4)  |    2     |    <8     |      1      |     y-1     |
> |  y (>=4)  |    2     |    >=8    |      0      |      y      |
> |  y (>=4)  |    3     |    <4     |      2      |     y-2     |
> |  y (>=4)  |    3     |    <12    |      1      |     y-1     |
> |  y (>=4)  |    3     |    >=12   |      0      |      y      |
> +===========+==========+===========+=============+=============+
>
> Signed-off-by: Chia-Yu Chang <chia-yu.chang@xxxxxxxxxxxxxxxxxxx>
> Co-developed-by: Ilpo Järvinen <ij@xxxxxxxxxx>
> Signed-off-by: Ilpo Järvinen <ij@xxxxxxxxxx>

Reviewed-by: Eric Dumazet <edumazet@xxxxxxxxxx>





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux