[net-next v6 0/2] net: sched: allow user to select txqueue
flat view
From: <hidden>
Date: 2021-12-22 12:09:26
From: Tonghao Zhang <redacted> Patch 1 allow user to select txqueue in clsact hook. Patch 2 support skbhash, classid, cpuid to select txqueue. Tonghao Zhang (2): net: sched: use queue_mapping to pick tx queue net: sched: support hash/classid/cpuid selecting tx queue include/linux/netdevice.h | 3 + include/linux/rtnetlink.h | 3 + include/net/tc_act/tc_skbedit.h | 1 + include/uapi/linux/tc_act/tc_skbedit.h | 8 +++ net/core/dev.c | 44 +++++++++++- net/sched/act_skbedit.c | 96 ++++++++++++++++++++++++-- 6 files changed, 149 insertions(+), 6 deletions(-) -- v6: * 1/2 use static key and compiled when CONFIG_NET_EGRESS configured. v5: * 1/2 merge netdev_xmit_reset_txqueue(void), netdev_xmit_skip_txqueue(void), to netdev_xmit_skip_txqueue(bool skip). v4: * 1/2 introduce netdev_xmit_reset_txqueue() and invoked in __dev_queue_xmit(), so ximt.skip_txqueue will not affect selecting tx queue in next netdev, or next packets. more details, see commit log. * 2/2 fix the coding style, rename: SKBEDIT_F_QUEUE_MAPPING_HASH -> SKBEDIT_F_TXQ_SKBHASH SKBEDIT_F_QUEUE_MAPPING_CLASSID -> SKBEDIT_F_TXQ_CLASSID SKBEDIT_F_QUEUE_MAPPING_CPUID -> SKBEDIT_F_TXQ_CPUID * 2/2 refactor tcf_skbedit_hash, if type of hash is not specified, use the queue_mapping, because hash % mapping_mod == 0 in "case 0:" * 2/2 merge the check and add extack v3: * 2/2 fix the warning, add cpuid hash type. v2: * 1/2 change skb->tc_skip_txqueue to per-cpu var, add more commit message. * 2/2 optmize the codes. Cc: Jamal Hadi Salim <jhs@mojatatu.com> Cc: Cong Wang <redacted> Cc: Jiri Pirko <jiri@resnulli.us> Cc: "David S. Miller" <davem@davemloft.net> Cc: Jakub Kicinski <kuba@kernel.org> Cc: Jonathan Lemon <redacted> Cc: Eric Dumazet <redacted> Cc: Alexander Lobakin <redacted> Cc: Paolo Abeni <pabeni@redhat.com> Cc: Talal Ahmad <redacted> Cc: Kevin Hao <redacted> Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org> Cc: Kees Cook <redacted> Cc: Kumar Kartikeya Dwivedi <memxor@gmail.com> Cc: Antoine Tenart <atenart@kernel.org> Cc: Wei Wang <redacted> Cc: Arnd Bergmann <arnd@arndb.de> -- 2.27.0