summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2011-06-09 11:32:13 (GMT)
committerThomas Graf <tgraf@suug.ch>2011-06-09 11:32:13 (GMT)
commit09210d96197192b6b1f61756a7e1f39ccbb02e01 (patch)
treea54c78204e679109b7494abf6b04f3c52b9c52d6 /include
parent053c93fa8ab0047b957c721dfef33ba44443cd0f (diff)
downloadlibnl-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.h2
-rw-r--r--include/netlink/route/qdisc/htb.h28
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
}