cls: add rtnl_u32_get_classid() API
[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>
This commit is contained in:
parent
337af71720
commit
d8f080d94f
3 changed files with 16 additions and 0 deletions
|
@ -23,6 +23,7 @@ extern "C" {
|
|||
|
||||
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);
|
||||
|
|
|
@ -415,6 +415,20 @@ int rtnl_u32_set_classid(struct rtnl_cls *cls, uint32_t classid)
|
|||
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;
|
||||
|
|
|
@ -864,4 +864,5 @@ global:
|
|||
rtnl_tc_str2stat;
|
||||
rtnl_u32_add_mark;
|
||||
rtnl_u32_del_mark;
|
||||
rtnl_u32_get_classid;
|
||||
} libnl_3;
|
||||
|
|
Loading…
Add table
Reference in a new issue