• Xin Long's avatar
    sctp: enable PLPMTUD when the transport is ready · 7307e4fa
    Xin Long authored
    sctp_transport_pl_reset() is called whenever any of these 3 members in
    transport is changed:
    
      - probe_interval
      - param_flags & SPP_PMTUD_ENABLE
      - state == ACTIVE
    
    If all are true, start the PLPMTUD when it's not yet started. If any of
    these is false, stop the PLPMTUD when it's already running.
    
    sctp_transport_pl_update() is called when the transport dst has changed.
    It will restart the PLPMTUD probe. Again, the pathmtu won't change but
    use the dst's mtu until the Search phase is done.
    
    Note that after using PLPMTUD, the pathmtu is only initialized with the
    dst mtu when the transport dst changes. At other time it is updated by
    pl.pmtu. So sctp_transport_pmtu_check() will be called only when PLPMTUD
    is disabled in sctp_packet_config().
    
    After this patch, the PLPMTUD feature from RFC8899 will be activated
    and can be used by users.
    Signed-off-by: default avatarXin Long <lucien.xin@gmail.com>
    Acked-by: default avatarMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    7307e4fa
output.c 23.7 KB