selftests: netfilter: test for sctp collision processing in nf_conntrack
authorXin Long <lucien.xin@gmail.com>
Tue, 3 Oct 2023 17:17:54 +0000 (13:17 -0400)
committerFlorian Westphal <fw@strlen.de>
Wed, 4 Oct 2023 12:12:01 +0000 (14:12 +0200)
commitcf791b22bef7d9352ff730a8727d3871942d6001
tree92f7b9db9ead005cbe031ebdecb112f6f5c44607
parent8e56b063c86569e51eed1c5681ce6361fa97fc7a
selftests: netfilter: test for sctp collision processing in nf_conntrack

This patch adds a test case to reproduce the SCTP DATA chunk retransmission
timeout issue caused by the improper SCTP collision processing in netfilter
nf_conntrack_proto_sctp.

In this test, client sends a INIT chunk, but the INIT_ACK replied from
server is delayed until the server sends a INIT chunk to start a new
connection from its side. After the connection is complete from server
side, the delayed INIT_ACK arrives in nf_conntrack_proto_sctp.

The delayed INIT_ACK should be dropped in nf_conntrack_proto_sctp instead
of updating the vtag with the out-of-date init_tag, otherwise, the vtag
in DATA chunks later sent by client don't match the vtag in the conntrack
entry and the DATA chunks get dropped.

Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
tools/testing/selftests/netfilter/Makefile
tools/testing/selftests/netfilter/conntrack_sctp_collision.sh [new file with mode: 0755]
tools/testing/selftests/netfilter/sctp_collision.c [new file with mode: 0644]