mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-30 22:54:17 -04:00
The ovskey flow-string parser has no OVS_KEY_ATTR_SCTP entry, so a flow string containing sctp(src=.../dst=...) parses without error but silently drops the L4 key. The resulting flow carries only ipv4(proto=132), and the kernel rejects it: match_validate() in flow_netlink.c requires OVS_KEY_ATTR_SCTP when the IP protocol is IPPROTO_SCTP and returns -EINVAL for the missing key. Register OVS_KEY_ATTR_SCTP in the parse table and add a matching selftest that verifies SCTP flow key matching (sctp src/dst port). One listener serves the whole test. socat's fork option handles each association in a child, so the flow rules are the only thing that changes between the three phases and the listener is never restarted underneath them. -t 1 bounds how long a forked child lingers after its association closes, and the existing kill -TERM of the captured pid on teardown removes the listener itself. Also enable CONFIG_IP_SCTP in the selftest kernel config. The config checker strips underscores before comparing keys, so the entry sorts before CONFIG_IPV6 rather than after it. Signed-off-by: Minxi Hou <houminxi@gmail.com> Reviewed-by: Aaron Conole <aconole@redhat.com> Link: https://patch.msgid.link/20260811181645.1918420-1-houminxi@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
15 lines
264 B
Plaintext
15 lines
264 B
Plaintext
CONFIG_GENEVE=m
|
|
CONFIG_INET_DIAG=y
|
|
CONFIG_IP_SCTP=y
|
|
CONFIG_IPV6=y
|
|
CONFIG_NETFILTER=y
|
|
CONFIG_NET_IPGRE=m
|
|
CONFIG_NET_IPGRE_DEMUX=m
|
|
CONFIG_NF_CONNTRACK=m
|
|
CONFIG_NF_CONNTRACK_OVS=y
|
|
CONFIG_OPENVSWITCH=m
|
|
CONFIG_PSAMPLE=m
|
|
CONFIG_VETH=y
|
|
CONFIG_VLAN_8021Q=y
|
|
CONFIG_VXLAN=m
|