]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'mptcp-checksums'
authorDavid S. Miller <davem@davemloft.net>
Wed, 18 May 2022 12:05:43 +0000 (13:05 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 May 2022 12:05:43 +0000 (13:05 +0100)
commit9d827d8db2639c00c52f4fa40c62b0e5bfe5f2c6
tree80ed5a6fcfb75df26fa2c223b0663d86112563a9
parent123044eae107d6347326f381deb33a2ccf1e6662
parentfb8a2816f55eef5c801bf4da2f8a1d98ad8177fd
Merge branch 'mptcp-checksums'

Mat Martineau says:

====================
mptcp: Fix checksum byte order on little-endian

These patches address a bug in the byte ordering of MPTCP checksums on
little-endian architectures. The __sum16 type is always big endian, but
was being cast to u16 and then byte-swapped (on little-endian archs)
when reading/writing the checksum field in MPTCP option headers.

MPTCP checksums are off by default, but are enabled if one or both peers
request it in the SYN/SYNACK handshake.

The corrected code is verified to interoperate between big-endian and
little-endian machines.

Patch 1 fixes the checksum byte order, patch 2 partially mitigates
interoperation with peers sending bad checksums by falling back to TCP
instead of resetting the connection.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>