cls_cgroup: introduce a helper: bk_cls_classid()
Subsystems (4)
RFC PATCH 2/4 cls_cgroup: introduce a helper: bk_cls_classid()
it can save classid from skb->sk->sk_classid
to skb->bk_classid
Signed-off-by Libo Chen <[email protected]>
--- include/net/cls_cgroup.h | 11 +++++++++++ net/sched/cls_cgroup.c | 1 - 2 files changed, 11 insertions(+), 1 deletion(-)
include/net/cls_cgroup.h +11 -0
@@ -16,6 +16,7 @@#include <linux/cgroup.h> #include <linux/hardirq.h> #include <linux/rcupdate.h> +#include <net/sock.h> #if IS_ENABLED (CONFIG_NET_CLS_CGROUP )struct cgroup_cls_state
@@ -26,6 +27,12 @@ struct cgroup_cls_statevoid sock_update_classid (struct sock *sk); +static inline void bk_cls_classid (struct sk_buff *skb) +{ +if (skb->sk && skb->sk->sk_classid) + skb->backup_classid = skb->sk->sk_classid; +} +#if IS_BUILTIN (CONFIG_NET_CLS_CGROUP )static inline u32 task_cls_classid (struct task_struct *p) {
@@ -61,6 +68,10 @@ static inline u32 task_cls_classid(struct task_struct *p) }#endif #else /* !CGROUP_NET_CLS_CGROUP */ +static inline void bk_cls_classid (struct sk_buff *skb) +{ +} +static inline void sock_update_classid (struct sock *sk) { }
net/sched/cls_cgroup.c +0 -1
@@ -20,7 +20,6 @@#include <linux/fdtable.h> #include <net/rtnetlink.h> #include <net/pkt_cls.h> -#include <net/sock.h> #include <net/cls_cgroup.h> static inline struct cgroup_cls_state *css_cls_state (struct cgroup_subsys_state *css)
Signature · 1 line
1.8.2.2