From fa89403149a59ed18015713f517a5cc9356caffd Mon Sep 17 00:00:00 2001 From: Thomas Graf Date: Tue, 19 Oct 2010 13:10:26 +0200 Subject: HTB: Append TCA_OPTIONS even if no options are set The kernel requires the TCA_OPTIONS{TCA_HTB_INIT} attribute to be present even if the default values are to be used. --- lib/route/sch/htb.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/route/sch/htb.c b/lib/route/sch/htb.c index a167136..f45c2cf 100644 --- a/lib/route/sch/htb.c +++ b/lib/route/sch/htb.c @@ -232,20 +232,20 @@ static struct nl_msg *htb_qdisc_get_opts(struct rtnl_qdisc *qdisc) struct tc_htb_glob opts; struct nl_msg *msg; - if (d == NULL) - return NULL; - msg = nlmsg_alloc(); if (msg == NULL) return NULL; memset(&opts, 0, sizeof(opts)); opts.version = TC_HTB_PROTOVER; + opts.rate2quantum = 10; - if (d->qh_mask & SCH_HTB_HAS_RATE2QUANTUM) - opts.rate2quantum = d->qh_rate2quantum; - if (d->qh_mask & SCH_HTB_HAS_DEFCLS) - opts.defcls = d->qh_defcls; + if (d) { + if (d->qh_mask & SCH_HTB_HAS_RATE2QUANTUM) + opts.rate2quantum = d->qh_rate2quantum; + if (d->qh_mask & SCH_HTB_HAS_DEFCLS) + opts.defcls = d->qh_defcls; + } nla_put(msg, TCA_HTB_INIT, sizeof(opts), &opts); -- cgit v0.12