Skip to contentSkip to conversation

cls_cgroup: introduce a helper: bk_cls_classid()

RFC PATCH In review Libo Chen 1 participant 1 message Jan 3, 2014

Subsystems (4)
lore
Share & tools
lore

Libo Chen

author
#0 lore raw

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

---
 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
index 33d03b6..4249ea3 100644
@@ -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_state
 
 void 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
index f9d21258..d228a5d 100644
@@ -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