]> git.ipfire.org Git - thirdparty/linux.git/commit
selftests: tc: act_pedit: require matching IPv4 L4 protocol
authorVictor Nogueira <victor@mojatatu.com>
Tue, 9 Jun 2026 18:56:35 +0000 (18:56 +0000)
committerJakub Kicinski <kuba@kernel.org>
Fri, 12 Jun 2026 22:17:57 +0000 (15:17 -0700)
commitf7d109f176f249108b2feb35b7315dfd8b79d20a
tree07c4bbcf5f5ec8cbdffa8e28c4ef1e5e6bce6c42
parentd504a978572202ef43ac5ecfec2030adda64b13e
selftests: tc: act_pedit: require matching IPv4 L4 protocol

Add a tdc test that checks the act_pedit extended L4 header mode does not
edit a packet whose IPv4 protocol does not match the selected transport
header.

The test installs an ingress pedit rule that sets the UDP destination
port, then injects a TCP packet with dport 2222. The UDP and TCP
destination ports sit at the same L4 offset, so a buggy kernel rewrites
the TCP dport. A second flower filter matches TCP dport 2222 and drops
the packet through an indexed gact action; the test then verifies via
JSON that this action saw exactly one packet, i.e. the dport was left
untouched and still matched 2222.

Signed-off-by: Victor Nogueira <victor@mojatatu.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/tc-testing/tc-tests/actions/pedit.json