On Tue, Nov 17, 2015 at 04:25:54PM -0500, David Miller wrote:
In preparation, this patch adds sock->sk_cgroup which points to the
associated cgroup. A sock is associated on creation and stays
associated to the same cgroup until freed; unfortunately, this ends up
adding another cgroup field to struct sock on top of sk_cgrp_prioidx
and sk_classid. I tried to think of a way to somehow overload the
existing fields but couldn't come up with a reasonable one.
sk->sk_cgrp_prioidx is simply sk->sk_cgroup->id, is it not?
Unfortunately, sk->sk_cgrp_prioidx is an arbitrary value which can be
configured through "net_cls.classid". :(
We really need to consolidate this before we stuff even more members
into the socket for control group support, sorry.
Yeah, it is messy. I'll see if I can come up with a non-crazy way to
combine the other two fields with ->sk_cgroup.