linux-stable/include/net/sctp
Xin Long cc4665ca64 sctp: subtract sctphdr len in sctp_transport_pl_hlen
sctp_transport_pl_hlen() is called to calculate the outer header length
for PL. However, as the Figure in rfc8899#section-4.4:

   Any additional
     headers         .--- MPS -----.
            |        |             |
            v        v             v
     +------------------------------+
     | IP | ** | PL | protocol data |
     +------------------------------+

                <----- PLPMTU ----->
     <---------- PMTU -------------->

Outer header are IP + Any additional headers, which doesn't include
Packetization Layer itself header, namely sctphdr, whereas sctphdr
is counted by __sctp_mtu_payload().

The incorrect calculation caused the link pathmtu to be set larger
than expected by t->pl.pmtu + sctp_transport_pl_hlen(). This patch
is to fix it by subtracting sctphdr len in sctp_transport_pl_hlen().

Fixes: d9e2e410ae ("sctp: add the constants/variables and states and some APIs for transport")
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-10-29 12:21:23 +01:00
..
auth.h sctp: add sctp_auth_init and sctp_auth_free 2019-08-19 18:27:29 -07:00
checksum.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-05-31 10:49:43 -07:00
command.h sctp: add the probe timer in transport for PLPMTUD 2021-06-22 11:28:52 -07:00
constants.h sctp: move 198 addresses from unusable to private scope 2021-07-01 11:47:13 -07:00
sctp.h sctp: subtract sctphdr len in sctp_transport_pl_hlen 2021-10-29 12:21:23 +01:00
sm.h sctp: fix transport encap_port update in sctp_vtag_verify 2021-10-15 11:21:10 +01:00
stream_interleave.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 104 2019-05-24 17:39:00 +02:00
stream_sched.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 104 2019-05-24 17:39:00 +02:00
structs.h sctp: send pmtu probe only if packet loss in Search Complete state 2021-07-25 23:06:02 +01:00
tsnmap.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 104 2019-05-24 17:39:00 +02:00
ulpevent.h sctp: fix typo sctp_ulpevent_nofity_peer_addr_change 2020-05-27 15:08:02 -07:00
ulpqueue.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 104 2019-05-24 17:39:00 +02:00