diff options
author | Thomas Graf <tgraf@suug.ch> | 2011-06-09 11:32:13 (GMT) |
---|---|---|
committer | Thomas Graf <tgraf@suug.ch> | 2011-06-09 11:32:13 (GMT) |
commit | 09210d96197192b6b1f61756a7e1f39ccbb02e01 (patch) | |
tree | a54c78204e679109b7494abf6b04f3c52b9c52d6 /include | |
parent | 053c93fa8ab0047b957c721dfef33ba44443cd0f (diff) | |
download | libnl-09210d96197192b6b1f61756a7e1f39ccbb02e01.zip libnl-09210d96197192b6b1f61756a7e1f39ccbb02e01.tar.gz libnl-09210d96197192b6b1f61756a7e1f39ccbb02e01.tar.bz2 |
HTB: Add support for level and direct pkt stats, complete access functions
- Adds support for htb class level and direct packet
statistics
- Complete all get/set access functions
- Complete error handling
- Documentation
Diffstat (limited to 'include')
-rw-r--r-- | include/netlink-types.h | 2 | ||||
-rw-r--r-- | include/netlink/route/qdisc/htb.h | 28 |
2 files changed, 20 insertions, 10 deletions
diff --git a/include/netlink-types.h b/include/netlink-types.h index f842187..750c897 100644 --- a/include/netlink-types.h +++ b/include/netlink-types.h @@ -631,6 +631,7 @@ struct rtnl_htb_qdisc uint32_t qh_rate2quantum; uint32_t qh_defcls; uint32_t qh_mask; + uint32_t qh_direct_pkts; }; struct rtnl_htb_class @@ -642,6 +643,7 @@ struct rtnl_htb_class uint32_t ch_cbuffer; uint32_t ch_quantum; uint32_t ch_mask; + uint32_t ch_level; }; struct rtnl_cbq diff --git a/include/netlink/route/qdisc/htb.h b/include/netlink/route/qdisc/htb.h index 9061b9b..af0287d 100644 --- a/include/netlink/route/qdisc/htb.h +++ b/include/netlink/route/qdisc/htb.h @@ -6,7 +6,7 @@ * License as published by the Free Software Foundation version 2.1 * of the License. * - * Copyright (c) 2003-2010 Thomas Graf <tgraf@suug.ch> + * Copyright (c) 2003-2011 Thomas Graf <tgraf@suug.ch> * Copyright (c) 2005 Petr Gotthard <petr.gotthard@siemens.com> * Copyright (c) 2005 Siemens AG Oesterreich */ @@ -21,16 +21,24 @@ extern "C" { #endif -extern void rtnl_htb_set_rate2quantum(struct rtnl_qdisc *, uint32_t); -extern void rtnl_htb_set_defcls(struct rtnl_qdisc *, uint32_t); +extern uint32_t rtnl_htb_get_rate2quantum(struct rtnl_qdisc *); +extern int rtnl_htb_set_rate2quantum(struct rtnl_qdisc *, uint32_t); +extern uint32_t rtnl_htb_get_defcls(struct rtnl_qdisc *); +extern int rtnl_htb_set_defcls(struct rtnl_qdisc *, uint32_t); -extern void rtnl_htb_set_prio(struct rtnl_class *, uint32_t); -extern void rtnl_htb_set_rate(struct rtnl_class *, uint32_t); -extern uint32_t rtnl_htb_get_rate(struct rtnl_class *); -extern void rtnl_htb_set_ceil(struct rtnl_class *, uint32_t); -extern void rtnl_htb_set_rbuffer(struct rtnl_class *, uint32_t); -extern void rtnl_htb_set_cbuffer(struct rtnl_class *, uint32_t); -extern void rtnl_htb_set_quantum(struct rtnl_class *, uint32_t quantum); +extern uint32_t rtnl_htb_get_prio(struct rtnl_class *); +extern int rtnl_htb_set_prio(struct rtnl_class *, uint32_t); +extern uint32_t rtnl_htb_get_rate(struct rtnl_class *); +extern int rtnl_htb_set_rate(struct rtnl_class *, uint32_t); +extern uint32_t rtnl_htb_get_ceil(struct rtnl_class *); +extern int rtnl_htb_set_ceil(struct rtnl_class *, uint32_t); +extern uint32_t rtnl_htb_get_rbuffer(struct rtnl_class *); +extern int rtnl_htb_set_rbuffer(struct rtnl_class *, uint32_t); +extern uint32_t rtnl_htb_get_cbuffer(struct rtnl_class *); +extern int rtnl_htb_set_cbuffer(struct rtnl_class *, uint32_t); +extern uint32_t rtnl_htb_get_quantum(struct rtnl_class *); +extern int rtnl_htb_set_quantum(struct rtnl_class *, uint32_t); +extern int rtnl_htb_get_level(struct rtnl_class *); #ifdef __cplusplus } |