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: Mon, 2 Aug 2021 17:08:48 +0300 From: Vadym Kochan <vadym.kochan@...ision.eu> To: "David S. Miller" <davem@...emloft.net>, Jakub Kicinski <kuba@...nel.org>, Jamal Hadi Salim <jhs@...atatu.com>, Cong Wang <xiyou.wangcong@...il.com>, Andrew Lunn <andrew@...n.ch>, Vladimir Oltean <olteanv@...il.com>, Serhiy Boiko <serhiy.boiko@...ision.eu>, Volodymyr Mytnyk <volodymyr.mytnyk@...ision.eu>, Taras Chornyi <taras.chornyi@...ision.eu> Cc: Vadym Kochan <vadym.kochan@...ision.eu>, Taras Chornyi <tchornyi@...vell.com>, Mickey Rachamim <mickeyr@...vell.com>, netdev@...r.kernel.org, linux-kernel@...r.kernel.org, Vadym Kochan <vkochan@...vell.com> Subject: [PATCH net-next v2 3/4] net: sched: introduce __tc_classid_to_hwtc() helper From: Vadym Kochan <vkochan@...vell.com> There might be a case when the ingress HW queues are globally shared in ASIC and are not per port (netdev). So add a __tc_classid_to_hwtc() version which accepts number of tc instead of netdev. Signed-off-by: Vadym Kochan <vkochan@...vell.com> --- include/net/sch_generic.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index c0069ac00e62..df04f4035a4b 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h @@ -668,11 +668,16 @@ qdisc_class_find(const struct Qdisc_class_hash *hash, u32 id) return NULL; } -static inline int tc_classid_to_hwtc(struct net_device *dev, u32 classid) +static inline int __tc_classid_to_hwtc(u32 tc_num, u32 classid) { u32 hwtc = TC_H_MIN(classid) - TC_H_MIN_PRIORITY; - return (hwtc < netdev_get_num_tc(dev)) ? hwtc : -EINVAL; + return (hwtc < tc_num) ? hwtc : -EINVAL; +} + +static inline int tc_classid_to_hwtc(struct net_device *dev, u32 classid) +{ + return __tc_classid_to_hwtc(netdev_get_num_tc(dev), classid); } int qdisc_class_hash_init(struct Qdisc_class_hash *); -- 2.17.1
Powered by blists - more mailing lists