mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
selftests/bpf: fix xdp_redirect xdp-features selftest for veth driver
xdp-features supported by veth driver are no more static, but they
depends on veth configuration (e.g. if GRO is enabled/disabled or
TX/RX queue configuration). Take it into account in xdp_redirect
xdp-features selftest for veth driver.
Fixes: fccca038f3
("veth: take into account device reconfiguration for xdp_features flag")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://lore.kernel.org/r/bc35455cfbb1d4f7f52536955ded81ad47d8dc54.1680777371.git.lorenzo@kernel.org
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
This commit is contained in:
parent
738a96c4a8
commit
919e659ed1
1 changed files with 27 additions and 3 deletions
|
@ -167,8 +167,7 @@ void test_xdp_do_redirect(void)
|
|||
|
||||
if (!ASSERT_EQ(query_opts.feature_flags,
|
||||
NETDEV_XDP_ACT_BASIC | NETDEV_XDP_ACT_REDIRECT |
|
||||
NETDEV_XDP_ACT_NDO_XMIT | NETDEV_XDP_ACT_RX_SG |
|
||||
NETDEV_XDP_ACT_NDO_XMIT_SG,
|
||||
NETDEV_XDP_ACT_RX_SG,
|
||||
"veth_src query_opts.feature_flags"))
|
||||
goto out;
|
||||
|
||||
|
@ -176,11 +175,36 @@ void test_xdp_do_redirect(void)
|
|||
if (!ASSERT_OK(err, "veth_dst bpf_xdp_query"))
|
||||
goto out;
|
||||
|
||||
if (!ASSERT_EQ(query_opts.feature_flags,
|
||||
NETDEV_XDP_ACT_BASIC | NETDEV_XDP_ACT_REDIRECT |
|
||||
NETDEV_XDP_ACT_RX_SG,
|
||||
"veth_dst query_opts.feature_flags"))
|
||||
goto out;
|
||||
|
||||
/* Enable GRO */
|
||||
SYS("ethtool -K veth_src gro on");
|
||||
SYS("ethtool -K veth_dst gro on");
|
||||
|
||||
err = bpf_xdp_query(ifindex_src, XDP_FLAGS_DRV_MODE, &query_opts);
|
||||
if (!ASSERT_OK(err, "veth_src bpf_xdp_query gro on"))
|
||||
goto out;
|
||||
|
||||
if (!ASSERT_EQ(query_opts.feature_flags,
|
||||
NETDEV_XDP_ACT_BASIC | NETDEV_XDP_ACT_REDIRECT |
|
||||
NETDEV_XDP_ACT_NDO_XMIT | NETDEV_XDP_ACT_RX_SG |
|
||||
NETDEV_XDP_ACT_NDO_XMIT_SG,
|
||||
"veth_dst query_opts.feature_flags"))
|
||||
"veth_src query_opts.feature_flags gro on"))
|
||||
goto out;
|
||||
|
||||
err = bpf_xdp_query(ifindex_dst, XDP_FLAGS_DRV_MODE, &query_opts);
|
||||
if (!ASSERT_OK(err, "veth_dst bpf_xdp_query gro on"))
|
||||
goto out;
|
||||
|
||||
if (!ASSERT_EQ(query_opts.feature_flags,
|
||||
NETDEV_XDP_ACT_BASIC | NETDEV_XDP_ACT_REDIRECT |
|
||||
NETDEV_XDP_ACT_NDO_XMIT | NETDEV_XDP_ACT_RX_SG |
|
||||
NETDEV_XDP_ACT_NDO_XMIT_SG,
|
||||
"veth_dst query_opts.feature_flags gro on"))
|
||||
goto out;
|
||||
|
||||
memcpy(skel->rodata->expect_dst, &pkt_udp.eth.h_dest, ETH_ALEN);
|
||||
|
|
Loading…
Add table
Reference in a new issue