[thaller@redhat.com: modified patch to use rtnl_tc_data_peek()]
http://lists.infradead.org/pipermail/libnl/2015-March/001841.html
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: Thomas Haller <thaller@redhat.com>
extern void rtnl_u32_set_handle(struct rtnl_cls *, int, int, int);
extern int rtnl_u32_set_classid(struct rtnl_cls *, uint32_t);
+extern int rtnl_u32_get_classid(struct rtnl_cls *, uint32_t *);
extern int rtnl_u32_set_divisor(struct rtnl_cls *, uint32_t);
extern int rtnl_u32_set_link(struct rtnl_cls *, uint32_t);
extern int rtnl_u32_set_hashtable(struct rtnl_cls *, uint32_t);
return 0;
}
+int rtnl_u32_get_classid(struct rtnl_cls *cls, uint32_t *classid)
+{
+ struct rtnl_u32 *u;
+
+ if (!(u = rtnl_tc_data_peek(TC_CAST(cls))))
+ return -NLE_INVAL;
+
+ if (!(u->cu_mask & U32_ATTR_CLASSID))
+ return -NLE_INVAL;
+
+ *classid = u->cu_classid;
+ return 0;
+}
+
int rtnl_u32_set_divisor(struct rtnl_cls *cls, uint32_t divisor)
{
struct rtnl_u32 *u;
rtnl_tc_str2stat;
rtnl_u32_add_mark;
rtnl_u32_del_mark;
+ rtnl_u32_get_classid;
} libnl_3;