[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7e607709-eca0-2ab6-2379-99cec519d859@zonque.org>
Date: Wed, 17 Aug 2016 17:51:44 +0200
From: Daniel Mack <daniel@...que.org>
To: Tejun Heo <htejun@...com>
Cc: daniel@...earbox.net, ast@...com, davem@...emloft.net,
kafai@...com, fw@...len.de, pablo@...filter.org, harald@...hat.com,
netdev@...r.kernel.org
Subject: Re: [RFC PATCH 3/5] bpf: add BPF_PROG_ATTACH and BPF_PROG_DETACH
commands
On 08/17/2016 05:06 PM, Tejun Heo wrote:
> What I'd suggest is keeping two sets of pointers, one set for the
> programs explicitly attached to the cgroup and the other for programs
> which are to be executed for the cgroup. The two pointers in the
> latter set will point to the closest non-null program in its ancestry.
> Note that the pointers may point to programs belonging to different
> ancestors.
>
> A - B - C
> \ D - E
>
> Let's say B has both ingress and egress programs and D only has
> egress. E's execution pointers should point to D's egress program and
> B's ingress program.
>
> The pointers would need to be updated
>
> 1. When a program is installed or removed. For simplicity's sake, we
> can just walk the whole hierarchy. If that's too expensive
> (shouldn't be), we can find out the closest ancestor where both
> programs can be determined and then walk from there.
>
> 2. When a new cgroup is created, it should inherit its execution table
> from its parent.
Ok, yes, that sounds sane to me. Will implement that scheme.
Thanks!
Daniel
Powered by blists - more mailing lists