Re: [PATCH 1/1] sctp: do not update t->pathmtu when PMTUD is disabled

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

 



On Fri, Jul 16, 2021 at 3:16 AM Jacek Szafraniec
<jacek.szafraniec@xxxxxxxxx> wrote:
>
> Transport pathmtu can not be updated, when PMTUD is disabled
> and pathmtu is condigured as fixed. Unconditional update t->pathmtu
> will result in overwriting parameter configured by user
> and lack of GSO usage.
Seems right, the update of dst's mtu from elsewhere shouldn't
affect SCTP either if SPP_PMTUD_DISABLE flag is set.

>
> Signed-off-by: Jacek Szafraniec <jacek.szafraniec@xxxxxxxxx>
> ---
>  include/net/sctp/sctp.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h
> index 2c6570e..0569956 100644
> --- a/include/net/sctp/sctp.h
> +++ b/include/net/sctp/sctp.h
> @@ -612,7 +612,7 @@ static inline bool sctp_transport_pmtu_check(struct sctp_transport *t)
>  {
>         __u32 pmtu = sctp_dst_mtu(t->dst);
>
> -       if (t->pathmtu == pmtu)
> +       if (t->pathmtu == pmtu || t->param_flags & SPP_PMTUD_DISABLE)
>                 return true;
>
>         t->pathmtu = pmtu;
> --
> 2.10.2
>
Can you please try to fix it with this?

diff --git a/net/sctp/output.c b/net/sctp/output.c
index a6aa17d..9f53323 100644
--- a/net/sctp/output.c
+++ b/net/sctp/output.c
@@ -103,8 +103,8 @@ void sctp_packet_config(struct sctp_packet
*packet, __u32 vtag,
                sctp_transport_route(tp, NULL, sp);
                if (asoc->param_flags & SPP_PMTUD_ENABLE)
                        sctp_assoc_sync_pmtu(asoc);
-       } else if (!sctp_transport_pmtu_check(tp)) {
-               if (asoc->param_flags & SPP_PMTUD_ENABLE)
+       } else if (asoc->param_flags & SPP_PMTUD_ENABLE) {
+               if (!sctp_transport_pmtu_check(tp))
                        sctp_assoc_sync_pmtu(asoc);
        }

Thanks.



[Index of Archives]     [Linux Networking Development]     [Linux OMAP]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     SCTP

  Powered by Linux