Hi Alexis,
On 1/3/25 1:54 PM, Alexis Lothoré wrote:
Hi Bastien,
On 1/3/25 11:10, Bastien Curutchet (eBPF Foundation) wrote:
[...]
+ SYS(fail, "ip link add veth%d index %d%d%d type veth peer name veth0 netns %s",
+ i, i, i, i, ns_name);
nit: since you have to run an ip command through SYS anyway, you can reduce the
open ns/run command/close ns dance (and all the resulting error checks) by
running directly `SYS("ip netns exec %s ip link add [...]", NS0, [...])`
[...]
True, thanks.
+ ret = bpf_xdp_attach(if_nametoindex("veth2"),
+ bpf_program__fd(prog_to_111),
+ data->xdp_flags, NULL);
nit: since we are setting static if index at veth creation (which looks needed
for this test), the if_nametoindex could be replaced by the corresponding index,
which could be directly a define
Also true, thanks.
+ if (!ASSERT_GE(ret, 0, "bpf_xdp_attach"))
+ goto close;
+
+ ret = bpf_xdp_attach(if_nametoindex("veth1"),
+ bpf_program__fd(prog_to_222),
+ data->xdp_flags, NULL);
+ if (!ASSERT_GE(ret, 0, "bpf_xdp_attach"))
+ goto close;
+
+ close_netns(nstoken);
+
+ nstoken = open_netns(NS1);
+ if (!ASSERT_OK_PTR(nstoken, "open NS1"))
+ goto close;
+
+ SYS(close, "ping -c 1 %s.2", IPV4_NETWORK);
+
+ close_netns(nstoken);
+
+ nstoken = open_netns(NS2);
+ if (!ASSERT_OK_PTR(nstoken, "open NS2"))
+ goto close;
+
+ SYS(close, "ping -c 1 %s.1", IPV4_NETWORK);
Is it really useful to check ping originating from both interfaces, isn´t a
single ping able to stimulate programs attached to both veth0 ?
Indeed, I think a single ping would be enough, I just wanted to stick
with what test_xdp_redirect.sh does.
Aside from those minor points, LGTM :)
Best regards,
Bastien