OSDN Git Service

libbpf: Set NLM_F_EXCL when creating qdisc
authorKumar Kartikeya Dwivedi <memxor@gmail.com>
Sat, 12 Jun 2021 02:35:01 +0000 (08:05 +0530)
committerDaniel Borkmann <daniel@iogearbox.net>
Tue, 15 Jun 2021 12:00:30 +0000 (14:00 +0200)
This got lost during the refactoring across versions. We always use
NLM_F_EXCL when creating some TC object, so reflect what the function
says and set the flag.

Fixes: 715c5ce454a6 ("libbpf: Add low level TC-BPF management API")
Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20210612023502.1283837-3-memxor@gmail.com
tools/lib/bpf/netlink.c

index efbb50a..cf9381f 100644 (file)
@@ -457,7 +457,7 @@ static int tc_qdisc_modify(struct bpf_tc_hook *hook, int cmd, int flags)
 
 static int tc_qdisc_create_excl(struct bpf_tc_hook *hook)
 {
-       return tc_qdisc_modify(hook, RTM_NEWQDISC, NLM_F_CREATE);
+       return tc_qdisc_modify(hook, RTM_NEWQDISC, NLM_F_CREATE | NLM_F_EXCL);
 }
 
 static int tc_qdisc_delete(struct bpf_tc_hook *hook)