lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 19 Jul 2007 01:23:50 +0200 From: Patrick McHardy <kaber@...sh.net> To: "Waskiewicz Jr, Peter P" <peter.p.waskiewicz.jr@...el.com> CC: netdev@...r.kernel.org Subject: Re: Question: how to detect if a qdisc is root or not? Waskiewicz Jr, Peter P wrote: > I've been tracking down an issue with the recent multiqueue code, > specifically with sch_prio and sch_rr loading as a root qdisc. Right > now, we do not want to allow child qdiscs of sch_rr and sch_prio to load > with multiqueue enabled; we want to restrict multiqueue-enabled qdiscs > to the root qdisc (since this is the only thing to push into the > device). The issue I have is I don't know how to detect if the qdisc > I'm currently processing is the root qdisc, or if it's a child. From > sch_prio.c: > > q->mq = RTA_GET_FLAG(tb[TCA_PRIO_MQ - 1]); > if (q->mq) { > if (sch->handle != TC_H_ROOT) > return -EINVAL; > > if (netif_is_multiqueue(sch->dev)) { > > Unfortunately, this code isn't working. This sch->handle is the handle > assigned to the qdisc upon creation, and it's not TC_H_ROOT. You're right, thats a bug. TC_H_ROOT is the parent ID, which is stored in sch->parent. IIRC its also passed to the ->init() function. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists