| From: |
| xiangxia.m.yue-AT-gmail.com |
| To: |
| netdev-AT-vger.kernel.org |
| Subject: |
| [net-next v9 0/2] net: sched: allow user to select txqueue |
| Date: |
| Tue, 22 Feb 2022 19:23:24 +0800 |
| Message-ID: |
| <20220222112326.15070-1-xiangxia.m.yue@gmail.com> |
| Cc: |
| Tonghao Zhang <xiangxia.m.yue-AT-gmail.com>, Jamal Hadi Salim <jhs-AT-mojatatu.com>, Cong Wang <xiyou.wangcong-AT-gmail.com>, Jiri Pirko <jiri-AT-resnulli.us>, "David S. Miller" <davem-AT-davemloft.net>, Jakub Kicinski <kuba-AT-kernel.org>, Jonathan Lemon <jonathan.lemon-AT-gmail.com>, Eric Dumazet <edumazet-AT-google.com>, Alexander Lobakin <alobakin-AT-pm.me>, Paolo Abeni <pabeni-AT-redhat.com>, Talal Ahmad <talalahmad-AT-google.com>, Kevin Hao <haokexin-AT-gmail.com>, Ilias Apalodimas <ilias.apalodimas-AT-linaro.org>, Kees Cook <keescook-AT-chromium.org>, Kumar Kartikeya Dwivedi <memxor-AT-gmail.com>, Antoine Tenart <atenart-AT-kernel.org>, Wei Wang <weiwan-AT-google.com>, Arnd Bergmann <arnd-AT-arndb.de> |
| Archive-link: |
| Article |
From: Tonghao Zhang <xiangxia.m.yue@gmail.com>
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 | 1 +
include/net/tc_act/tc_skbedit.h | 1 +
include/uapi/linux/tc_act/tc_skbedit.h | 8 +++
net/core/dev.c | 31 +++++++++-
net/sched/act_skbedit.c | 84 ++++++++++++++++++++++++--
6 files changed, 122 insertions(+), 6 deletions(-)
--
v9:
* 2/2 add more commit message.
v8:
* 1/2 remove the inline keyword.
v7:
* 1/2 fix build warn, move pick tx queue into egress_needed_key for
simplifing codes.
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 <xiyou.wangcong@gmail.com>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Jonathan Lemon <jonathan.lemon@gmail.com>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Alexander Lobakin <alobakin@pm.me>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Talal Ahmad <talalahmad@google.com>
Cc: Kevin Hao <haokexin@gmail.com>
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Cc: Antoine Tenart <atenart@kernel.org>
Cc: Wei Wang <weiwan@google.com>
Cc: Arnd Bergmann <arnd@arndb.de>
--
2.27.0