From: Thomas Graf Date: Tue, 19 Oct 2010 11:10:26 +0000 (+0200) Subject: HTB: Append TCA_OPTIONS even if no options are set X-Git-Tag: libnl3_0~100 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fa89403149a59ed18015713f517a5cc9356caffd;p=thirdparty%2Flibnl.git 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. --- 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);