summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2011-03-17 16:31:08 (GMT)
committerThomas Graf <tgraf@suug.ch>2011-03-17 16:31:08 (GMT)
commit5dc897d5de9f54078221b241e0122713207f5e0c (patch)
treeb8ed4235f308f02647cbcb72ef9bf3fa7a3bfed8
parent552c85cab787fde0aeb68b50eb56690e7652710c (diff)
downloadlibnl-5dc897d5de9f54078221b241e0122713207f5e0c.zip
libnl-5dc897d5de9f54078221b241e0122713207f5e0c.tar.gz
libnl-5dc897d5de9f54078221b241e0122713207f5e0c.tar.bz2
provide function to retrieve htb rate
-rw-r--r--include/netlink/route/sch/htb.h1
-rw-r--r--lib/route/sch/htb.c9
2 files changed, 10 insertions, 0 deletions
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.