From 5dc897d5de9f54078221b241e0122713207f5e0c Mon Sep 17 00:00:00 2001 From: Thomas Graf Date: Thu, 17 Mar 2011 17:31:08 +0100 Subject: [PATCH] provide function to retrieve htb rate --- include/netlink/route/sch/htb.h | 1 + lib/route/sch/htb.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/include/netlink/route/sch/htb.h b/include/netlink/route/sch/htb.h index c15923e..9061b9b 100644 --- a/include/netlink/route/sch/htb.h +++ b/include/netlink/route/sch/htb.h @@ -26,6 +26,7 @@ extern void 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); diff --git a/lib/route/sch/htb.c b/lib/route/sch/htb.c index 4af8a04..79a58be 100644 --- a/lib/route/sch/htb.c +++ b/lib/route/sch/htb.c @@ -361,6 +361,15 @@ void rtnl_htb_set_rate(struct rtnl_class *class, uint32_t rate) d->ch_mask |= SCH_HTB_HAS_RATE; } +uint32_t rtnl_htb_get_rate(struct rtnl_class *class) +{ + struct rtnl_htb_class *d = htb_class(class); + if (d == NULL) + return 0; + + return d->ch_rate.rs_rate; +} + /** * Set ceil of HTB class. * @arg class HTB class to be modified.