Re: [PATCH bpf-next v4 2/3] libbpf: add low level TC-BPF API
From: Toke Høiland-Jørgensen <hidden>
Date: 2021-04-27 22:51:29
Also in:
bpf
Daniel Borkmann [off-list ref] writes:
On 4/28/21 12:36 AM, Toke Høiland-Jørgensen wrote:quoted
Daniel Borkmann [off-list ref] writes:[...]quoted
quoted
Small addendum: DECLARE_LIBBPF_OPTS(bpf_tc_hook, hook, .ifindex = 42, .which = BPF_TC_INGRESS|BPF_TC_EGRESS); err = bpf_tc_hook_create(&hook); [...] ... is also possible, of course, and then both bpf_tc_hook_{create,destroy}() are symmetric.It should be allowed, but it wouldn't actually make any difference which combination of TC_INGRESS and TC_EGRESS you specify, as long as one of them is set, right? I.e., we just attach the clsact qdisc in both cases...Yes, that is correct, for the bpf_tc_hook_create() whether you pass in BPF_TC_INGRESS, BPF_TC_EGRESS or BPF_TC_INGRESS|BPF_TC_EGRESS, you'll end up creating clsact qdisc in either of the three cases. Only the bpf_tc_hook_destroy() differs between all of them.
Right, just checking. Other than that, I like your proposal; it loses the "automatic removal of qdisc if we added it" feature, but that's probably OK: less magic is good. And as long as bpf_tc_hook_create() returns EEXIST if the qdisc already exists, the caller can do the same thing if they want. -Toke