Skip to content

Commit

Permalink
sctp: reset probe_timer in sctp_transport_pl_update
Browse files Browse the repository at this point in the history
sctp_transport_pl_update() is called when transport update its dst and
pathmtu, instead of stopping the PLPMTUD probe timer, PLPMTUD should
start over and reset the probe timer. Otherwise, the PLPMTUD service
would stop.

Fixes: 92548ec ("sctp: add the probe timer in transport for PLPMTUD")
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Xin Long authored and David S. Miller committed Oct 29, 2021
1 parent 4017124 commit c6ea04e
Showing 1 changed file with 1 addition and 3 deletions.
4 changes: 1 addition & 3 deletions include/net/sctp/sctp.h
Original file line number Diff line number Diff line change
Expand Up @@ -653,12 +653,10 @@ static inline void sctp_transport_pl_update(struct sctp_transport *t)
if (t->pl.state == SCTP_PL_DISABLED)
return;

if (del_timer(&t->probe_timer))
sctp_transport_put(t);

t->pl.state = SCTP_PL_BASE;
t->pl.pmtu = SCTP_BASE_PLPMTU;
t->pl.probe_size = SCTP_BASE_PLPMTU;
sctp_transport_reset_probe_timer(t);
}

static inline bool sctp_transport_pl_enabled(struct sctp_transport *t)
Expand Down

0 comments on commit c6ea04e

Please sign in to comment.