diff options
| author | David S. Miller <davem@davemloft.net> | 2021-10-29 14:21:24 +0300 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2021-10-29 14:21:24 +0300 |
| commit | cec6880d9b064794bc73c39c576f2f13fd9e1ae2 (patch) | |
| tree | 03cce6f1a8f05eaba99b0d9114770e9c251e8616 /include | |
| parent | 411a44c24a561e449b592ff631b7ae321f1eb559 (diff) | |
| parent | 75cf662c64dd8543f56c329c69eba18141c8fd9f (diff) | |
| download | linux-cec6880d9b064794bc73c39c576f2f13fd9e1ae2.tar.xz | |
Merge branch 'sctp-plpmtud-fixes'
Xin Long says:
====================
sctp: a couple of fixes for PLPMTUD
Four fixes included in this patchset:
- fix the packet sending in Error state.
- fix the timer stop when transport update dst.
- fix the outer header len calculation.
- fix the return value for toobig processing.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
| -rw-r--r-- | include/net/sctp/sctp.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h index 69bab88ad66b..189fdb9db162 100644 --- a/include/net/sctp/sctp.h +++ b/include/net/sctp/sctp.h @@ -626,7 +626,8 @@ static inline __u32 sctp_min_frag_point(struct sctp_sock *sp, __u16 datasize) static inline int sctp_transport_pl_hlen(struct sctp_transport *t) { - return __sctp_mtu_payload(sctp_sk(t->asoc->base.sk), t, 0, 0); + return __sctp_mtu_payload(sctp_sk(t->asoc->base.sk), t, 0, 0) - + sizeof(struct sctphdr); } static inline void sctp_transport_pl_reset(struct sctp_transport *t) @@ -653,12 +654,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) |
