route/tc: add rtnl_tc_stat2str() and rtnl_tc_str2stat()

[thaller@redhat.com: add symbols to libnl-route-3.sym]

Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: Thomas Haller <thaller@redhat.com>
This commit is contained in:
Cong Wang 2015-01-28 17:12:12 -08:00 committed by Thomas Haller
parent c2151e8b7d
commit e75a1c373a
3 changed files with 26 additions and 0 deletions

View file

@ -97,6 +97,8 @@ extern uint32_t rtnl_tc_get_parent(struct rtnl_tc *);
extern int rtnl_tc_set_kind(struct rtnl_tc *, const char *);
extern char * rtnl_tc_get_kind(struct rtnl_tc *);
extern uint64_t rtnl_tc_get_stat(struct rtnl_tc *, enum rtnl_tc_stat);
extern char * rtnl_tc_stat2str(enum rtnl_tc_stat, char *, size_t);
extern int rtnl_tc_str2stat(const char *);
extern int rtnl_tc_calc_txtime(int, int);
extern int rtnl_tc_calc_bufsize(int, int);

View file

@ -564,6 +564,28 @@ uint64_t rtnl_tc_get_stat(struct rtnl_tc *tc, enum rtnl_tc_stat id)
* @{
*/
static const struct trans_tbl tc_stats[] = {
__ADD(RTNL_TC_PACKETS, packets),
__ADD(RTNL_TC_BYTES, bytes),
__ADD(RTNL_TC_RATE_BPS, rate_bps),
__ADD(RTNL_TC_RATE_PPS, rate_pps),
__ADD(RTNL_TC_QLEN, qlen),
__ADD(RTNL_TC_BACKLOG, backlog),
__ADD(RTNL_TC_DROPS, drops),
__ADD(RTNL_TC_REQUEUES, requeues),
__ADD(RTNL_TC_OVERLIMITS, overlimits),
};
char *rtnl_tc_stat2str(enum rtnl_tc_stat st, char *buf, size_t len)
{
return __type2str(st, buf, len, tc_stats, ARRAY_SIZE(tc_stats));
}
int rtnl_tc_str2stat(const char *name)
{
return __str2type(name, tc_stats, ARRAY_SIZE(tc_stats));
}
/**
* Calculate time required to transmit buffer at a specific rate
* @arg bufsize Size of buffer to be transmited in bytes.

View file

@ -850,6 +850,8 @@ global:
rtnl_skbedit_set_mark;
rtnl_skbedit_set_priority;
rtnl_skbedit_set_queue_mapping;
rtnl_tc_stat2str;
rtnl_tc_str2stat;
rtnl_u32_add_mark;
rtnl_u32_del_mark;
} libnl_3;