From: Minxi Hou <houminxi@gmail.com>
To: netdev@vger.kernel.org
Cc: aconole@redhat.com, echaudro@redhat.com, i.maximets@ovn.org,
davem@davemloft.net, kuba@kernel.org, pabeni@redhat.com,
edumazet@google.com, horms@kernel.org, shuah@kernel.org,
linux-kselftest@vger.kernel.org, dev@openvswitch.org,
Minxi Hou <houminxi@gmail.com>
Subject: [PATCH v3 0/2] selftests: openvswitch: add SCTP flow key and NAT tests
Date: Sun, 6 Sep 2026 12:52:49 -0400 [thread overview]
Message-ID: <20260906165251.1176875-1-houminxi@gmail.com> (raw)
Two new OVS selftests for SCTP:
- patch 1 adds an SCTP flow-key test over IPv6: a client/server
association is driven through three pipeline phases and the payload
is checked on the receiver, so a broken SCTP key extract breaks the
match and the delivery both.
- patch 2 adds SCTP conntrack NAT coverage with port translation:
DNAT rewrites the destination to 172.31.110.20:5555, the reply comes
back through the CT inverse tuple, and both post-recirc directions
are matched on the translated ports. This exercises the SCTP branch
of ovs_nat_update_key(), which a plain address-only NAT rule never
reaches.
Both tests probe for the kernel features they need and skip with
$ksft_skip when conntrack/NAT support is missing.
Changes in v3 (review findings from the Sashiko pass on v2):
- restore the tab alignment of the new usage() entries
- wait for the receiver payload with ovs_wait in both tests; a bare
grep can race the background socat writing the file
- add CONFIG_NF_CT_PROTO_SCTP to the selftest config fragment; without
it the conntrack table never sees the SCTP association
- probe with ct(commit,nat) so a kernel without NAT support skips the
test instead of failing when the real flows are added
- translate the destination port in the NAT test (4443 to 5555) so the
SCTP port-rewrite path in ovs_nat_update_key() is actually covered
- correct the commit logs: drop the INIT/DATA chunk claim (the flow
key only carries the ports), drop the parse_ipv6hdr coverage claim,
and point patch 2 at ovs_nat_update_key() instead of
ovs_flow_key_update_l3l4() which only runs on the defrag path
Minxi Hou (2):
selftests/net/openvswitch: add SCTP flow key test over IPv6
selftests/net/openvswitch: add SCTP NAT test with port translation
.../testing/selftests/net/openvswitch/config | 1 +
.../selftests/net/openvswitch/openvswitch.sh | 182 ++++++++++++++++++
2 files changed, 183 insertions(+)
base-commit: d0ec95a8a4e79f2fd6063fc8932415db8c227689
--
2.55.0
next reply other threads:[~2026-09-06 16:53 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-06 16:52 Minxi Hou [this message]
2026-09-06 16:52 ` [PATCH v3 1/2] selftests/net/openvswitch: add SCTP flow key test over IPv6 Minxi Hou
2026-09-09 14:28 ` Aaron Conole
2026-09-06 16:52 ` [PATCH v3 2/2] selftests/net/openvswitch: add SCTP NAT test with port translation Minxi Hou
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260906165251.1176875-1-houminxi@gmail.com \
--to=houminxi@gmail.com \
--cc=aconole@redhat.com \
--cc=davem@davemloft.net \
--cc=dev@openvswitch.org \
--cc=echaudro@redhat.com \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=i.maximets@ovn.org \
--cc=kuba@kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=shuah@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.