[Patch] fill prio and protocol attr bits when parsing cls message

Cong Wang xiyou.wangcong at gmail.com
Wed Mar 12 19:42:39 EDT 2014


Otherwise, the filter we get from a cls cache can't be used
for removal.

Cc: Thomas Haller <thaller at redhat.com>
Signed-off-by: Cong Wang <xiyou.wangcong at gmail.com>

---
diff --git a/lib/route/cls.c b/lib/route/cls.c
index 7a809bb..b7860c3 100644
--- a/lib/route/cls.c
+++ b/lib/route/cls.c
@@ -368,7 +368,11 @@ static int cls_msg_parser(struct nl_cache_ops *ops, struct sockaddr_nl *who,
 		goto errout;
 
 	cls->c_prio = TC_H_MAJ(cls->c_info) >> 16;
+	if (cls->c_prio)
+		cls->ce_mask |= CLS_ATTR_PRIO;
 	cls->c_protocol = ntohs(TC_H_MIN(cls->c_info));
+	if (cls->c_protocol)
+		cls->ce_mask |= CLS_ATTR_PROTOCOL;
 
 	err = pp->pp_cb(OBJ_CAST(cls), pp);
 errout:



More information about the libnl mailing list