* [PATCH v4 net-next 1/2] net/sched: act_mirred: refactor the handle of xmit
@ 2020-11-06 9:14 wenxu
2020-11-06 9:14 ` [PATCH v4 net-next 2/2] net/sched: act_frag: add implict packet fragment support wenxu
2020-11-06 9:23 ` [PATCH v4 net-next 1/2] net/sched: act_mirred: refactor the handle of xmit Marcelo Ricardo Leitner
0 siblings, 2 replies; 6+ messages in thread
From: wenxu @ 2020-11-06 9:14 UTC (permalink / raw)
To: kuba, marcelo.leitner, dcaratti; +Cc: netdev
From: wenxu <wenxu@ucloud.cn>
This one is prepare for the next patch.
Signed-off-by: wenxu <wenxu@ucloud.cn>
---
v4: no change
include/net/sch_generic.h | 5 -----
net/sched/act_mirred.c | 21 +++++++++++++++------
2 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h
index d8fd867..dd74f06 100644
--- a/include/net/sch_generic.h
+++ b/include/net/sch_generic.h
@@ -1281,9 +1281,4 @@ void mini_qdisc_pair_init(struct mini_Qdisc_pair *miniqp, struct Qdisc *qdisc,
void mini_qdisc_pair_block_init(struct mini_Qdisc_pair *miniqp,
struct tcf_block *block);
-static inline int skb_tc_reinsert(struct sk_buff *skb, struct tcf_result *res)
-{
- return res->ingress ? netif_receive_skb(skb) : dev_queue_xmit(skb);
-}
-
#endif
diff --git a/net/sched/act_mirred.c b/net/sched/act_mirred.c
index e24b7e2..17d0095 100644
--- a/net/sched/act_mirred.c
+++ b/net/sched/act_mirred.c
@@ -205,6 +205,18 @@ static int tcf_mirred_init(struct net *net, struct nlattr *nla,
return err;
}
+static int tcf_mirred_forward(bool want_ingress, struct sk_buff *skb)
+{
+ int err;
+
+ if (!want_ingress)
+ err = dev_queue_xmit(skb);
+ else
+ err = netif_receive_skb(skb);
+
+ return err;
+}
+
static int tcf_mirred_act(struct sk_buff *skb, const struct tc_action *a,
struct tcf_result *res)
{
@@ -287,18 +299,15 @@ static int tcf_mirred_act(struct sk_buff *skb, const struct tc_action *a,
/* let's the caller reinsert the packet, if possible */
if (use_reinsert) {
res->ingress = want_ingress;
- if (skb_tc_reinsert(skb, res))
+ err = tcf_mirred_forward(res->ingress, skb);
+ if (err)
tcf_action_inc_overlimit_qstats(&m->common);
__this_cpu_dec(mirred_rec_level);
return TC_ACT_CONSUMED;
}
}
- if (!want_ingress)
- err = dev_queue_xmit(skb2);
- else
- err = netif_receive_skb(skb2);
-
+ err = tcf_mirred_forward(want_ingress, skb2);
if (err) {
out:
tcf_action_inc_overlimit_qstats(&m->common);
--
1.8.3.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v4 net-next 2/2] net/sched: act_frag: add implict packet fragment support.
2020-11-06 9:14 [PATCH v4 net-next 1/2] net/sched: act_mirred: refactor the handle of xmit wenxu
@ 2020-11-06 9:14 ` wenxu
2020-11-06 9:24 ` Marcelo Ricardo Leitner
2020-11-06 18:15 ` Vlad Buslov
2020-11-06 9:23 ` [PATCH v4 net-next 1/2] net/sched: act_mirred: refactor the handle of xmit Marcelo Ricardo Leitner
1 sibling, 2 replies; 6+ messages in thread
From: wenxu @ 2020-11-06 9:14 UTC (permalink / raw)
To: kuba, marcelo.leitner, dcaratti; +Cc: netdev
From: wenxu <wenxu@ucloud.cn>
Currently kernel tc subsystem can do conntrack in act_ct. But when several
fragment packets go through the act_ct, function tcf_ct_handle_fragments
will defrag the packets to a big one. But the last action will redirect
mirred to a device which maybe lead the reassembly big packet over the mtu
of target device.
This patch add support for a xmit hook to mirred, that gets executed before
xmiting the packet. Then, when act_ct gets loaded, it configs that hook.
The frag xmit hook maybe reused by other modules.
Signed-off-by: wenxu <wenxu@ucloud.cn>
---
v2: Fix the crash for act_frag module without load
v3: modify the kconfig describe and put tcf_xmit_hook_is_enabled
in the tcf_dev_queue_xmit, and xchg atomic for tcf_xmit_hook
v4: using skb_protocol and fix line length exceeds 80 columns
include/net/act_api.h | 16 +++++
net/sched/Kconfig | 13 ++++
net/sched/Makefile | 1 +
net/sched/act_api.c | 51 +++++++++++++++
net/sched/act_ct.c | 7 +++
net/sched/act_frag.c | 164 +++++++++++++++++++++++++++++++++++++++++++++++++
net/sched/act_mirred.c | 2 +-
7 files changed, 253 insertions(+), 1 deletion(-)
create mode 100644 net/sched/act_frag.c
diff --git a/include/net/act_api.h b/include/net/act_api.h
index 8721492..403a618 100644
--- a/include/net/act_api.h
+++ b/include/net/act_api.h
@@ -239,6 +239,22 @@ int tcf_action_check_ctrlact(int action, struct tcf_proto *tp,
struct netlink_ext_ack *newchain);
struct tcf_chain *tcf_action_set_ctrlact(struct tc_action *a, int action,
struct tcf_chain *newchain);
+
+int tcf_dev_queue_xmit(struct sk_buff *skb, int (*xmit)(struct sk_buff *skb));
+int tcf_set_xmit_hook(int (*xmit_hook)(struct sk_buff *skb,
+ int (*xmit)(struct sk_buff *skb)));
+void tcf_clear_xmit_hook(void);
+
+#if IS_ENABLED(CONFIG_NET_ACT_FRAG)
+int tcf_frag_xmit_hook(struct sk_buff *skb, int (*xmit)(struct sk_buff *skb));
+#else
+static inline int tcf_frag_xmit_hook(struct sk_buff *skb,
+ int (*xmit)(struct sk_buff *skb))
+{
+ return 0;
+}
+#endif
+
#endif /* CONFIG_NET_CLS_ACT */
static inline void tcf_action_stats_update(struct tc_action *a, u64 bytes,
diff --git a/net/sched/Kconfig b/net/sched/Kconfig
index a3b37d8..9a240c7 100644
--- a/net/sched/Kconfig
+++ b/net/sched/Kconfig
@@ -974,9 +974,22 @@ config NET_ACT_TUNNEL_KEY
To compile this code as a module, choose M here: the
module will be called act_tunnel_key.
+config NET_ACT_FRAG
+ tristate "Packet fragmentation"
+ depends on NET_CLS_ACT
+ help
+ Say Y here to allow fragmenting big packets when outputting
+ with the mirred action.
+
+ If unsure, say N.
+
+ To compile this code as a module, choose M here: the
+ module will be called act_frag.
+
config NET_ACT_CT
tristate "connection tracking tc action"
depends on NET_CLS_ACT && NF_CONNTRACK && NF_NAT && NF_FLOW_TABLE
+ depends on NET_ACT_FRAG
help
Say Y here to allow sending the packets to conntrack module.
diff --git a/net/sched/Makefile b/net/sched/Makefile
index 66bbf9a..c146186 100644
--- a/net/sched/Makefile
+++ b/net/sched/Makefile
@@ -29,6 +29,7 @@ obj-$(CONFIG_NET_IFE_SKBMARK) += act_meta_mark.o
obj-$(CONFIG_NET_IFE_SKBPRIO) += act_meta_skbprio.o
obj-$(CONFIG_NET_IFE_SKBTCINDEX) += act_meta_skbtcindex.o
obj-$(CONFIG_NET_ACT_TUNNEL_KEY)+= act_tunnel_key.o
+obj-$(CONFIG_NET_ACT_FRAG) += act_frag.o
obj-$(CONFIG_NET_ACT_CT) += act_ct.o
obj-$(CONFIG_NET_ACT_GATE) += act_gate.o
obj-$(CONFIG_NET_SCH_FIFO) += sch_fifo.o
diff --git a/net/sched/act_api.c b/net/sched/act_api.c
index f66417d..e7b501c 100644
--- a/net/sched/act_api.c
+++ b/net/sched/act_api.c
@@ -22,6 +22,57 @@
#include <net/act_api.h>
#include <net/netlink.h>
+static int (*tcf_xmit_hook)(struct sk_buff *skb,
+ int (*xmit)(struct sk_buff *skb));
+static DEFINE_STATIC_KEY_FALSE(tcf_xmit_hook_in_use);
+
+static void tcf_inc_xmit_hook(void)
+{
+ static_branch_inc(&tcf_xmit_hook_in_use);
+}
+
+static void tcf_dec_xmit_hook(void)
+{
+ static_branch_dec(&tcf_xmit_hook_in_use);
+}
+
+static bool tcf_xmit_hook_enabled(void)
+{
+ return static_branch_unlikely(&tcf_xmit_hook_in_use);
+}
+
+int tcf_set_xmit_hook(int (*xmit_hook)(struct sk_buff *skb,
+ int (*xmit)(struct sk_buff *skb)))
+{
+ if (!tcf_xmit_hook_enabled())
+ xchg(&tcf_xmit_hook, xmit_hook);
+ else if (xmit_hook != tcf_xmit_hook)
+ return -EBUSY;
+
+ tcf_inc_xmit_hook();
+
+ return 0;
+}
+EXPORT_SYMBOL_GPL(tcf_set_xmit_hook);
+
+void tcf_clear_xmit_hook(void)
+{
+ tcf_dec_xmit_hook();
+
+ if (!tcf_xmit_hook_enabled())
+ xchg(&tcf_xmit_hook, NULL);
+}
+EXPORT_SYMBOL_GPL(tcf_clear_xmit_hook);
+
+int tcf_dev_queue_xmit(struct sk_buff *skb, int (*xmit)(struct sk_buff *skb))
+{
+ if (tcf_xmit_hook_enabled())
+ return tcf_xmit_hook(skb, xmit);
+ else
+ return xmit(skb);
+}
+EXPORT_SYMBOL_GPL(tcf_dev_queue_xmit);
+
static void tcf_action_goto_chain_exec(const struct tc_action *a,
struct tcf_result *res)
{
diff --git a/net/sched/act_ct.c b/net/sched/act_ct.c
index aba3cd8..c45984a 100644
--- a/net/sched/act_ct.c
+++ b/net/sched/act_ct.c
@@ -1541,8 +1541,14 @@ static int __init ct_init_module(void)
if (err)
goto err_register;
+ err = tcf_set_xmit_hook(tcf_frag_xmit_hook);
+ if (err)
+ goto err_action;
+
return 0;
+err_action:
+ tcf_unregister_action(&act_ct_ops, &ct_net_ops);
err_register:
tcf_ct_flow_tables_uninit();
err_tbl_init:
@@ -1552,6 +1558,7 @@ static int __init ct_init_module(void)
static void __exit ct_cleanup_module(void)
{
+ tcf_clear_xmit_hook();
tcf_unregister_action(&act_ct_ops, &ct_net_ops);
tcf_ct_flow_tables_uninit();
destroy_workqueue(act_ct_wq);
diff --git a/net/sched/act_frag.c b/net/sched/act_frag.c
new file mode 100644
index 0000000..3a7ab92
--- /dev/null
+++ b/net/sched/act_frag.c
@@ -0,0 +1,164 @@
+// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB
+#include <net/netlink.h>
+#include <net/act_api.h>
+#include <net/dst.h>
+#include <net/ip.h>
+#include <net/ip6_fib.h>
+
+struct tcf_frag_data {
+ unsigned long dst;
+ struct qdisc_skb_cb cb;
+ __be16 inner_protocol;
+ u16 vlan_tci;
+ __be16 vlan_proto;
+ unsigned int l2_len;
+ u8 l2_data[VLAN_ETH_HLEN];
+ int (*xmit)(struct sk_buff *skb);
+};
+
+static DEFINE_PER_CPU(struct tcf_frag_data, tcf_frag_data_storage);
+
+static int tcf_frag_xmit(struct net *net, struct sock *sk, struct sk_buff *skb)
+{
+ struct tcf_frag_data *data = this_cpu_ptr(&tcf_frag_data_storage);
+
+ if (skb_cow_head(skb, data->l2_len) < 0) {
+ kfree_skb(skb);
+ return -ENOMEM;
+ }
+
+ __skb_dst_copy(skb, data->dst);
+ *qdisc_skb_cb(skb) = data->cb;
+ skb->inner_protocol = data->inner_protocol;
+ if (data->vlan_tci & VLAN_CFI_MASK)
+ __vlan_hwaccel_put_tag(skb, data->vlan_proto,
+ data->vlan_tci & ~VLAN_CFI_MASK);
+ else
+ __vlan_hwaccel_clear_tag(skb);
+
+ /* Reconstruct the MAC header. */
+ skb_push(skb, data->l2_len);
+ memcpy(skb->data, &data->l2_data, data->l2_len);
+ skb_postpush_rcsum(skb, skb->data, data->l2_len);
+ skb_reset_mac_header(skb);
+
+ data->xmit(skb);
+
+ return 0;
+}
+
+static void tcf_frag_prepare_frag(struct sk_buff *skb,
+ int (*xmit)(struct sk_buff *skb))
+{
+ unsigned int hlen = skb_network_offset(skb);
+ struct tcf_frag_data *data;
+
+ data = this_cpu_ptr(&tcf_frag_data_storage);
+ data->dst = skb->_skb_refdst;
+ data->cb = *qdisc_skb_cb(skb);
+ data->xmit = xmit;
+ data->inner_protocol = skb->inner_protocol;
+ if (skb_vlan_tag_present(skb))
+ data->vlan_tci = skb_vlan_tag_get(skb) | VLAN_CFI_MASK;
+ else
+ data->vlan_tci = 0;
+ data->vlan_proto = skb->vlan_proto;
+ data->l2_len = hlen;
+ memcpy(&data->l2_data, skb->data, hlen);
+
+ memset(IPCB(skb), 0, sizeof(struct inet_skb_parm));
+ skb_pull(skb, hlen);
+}
+
+static unsigned int
+tcf_frag_dst_get_mtu(const struct dst_entry *dst)
+{
+ return dst->dev->mtu;
+}
+
+static struct dst_ops tcf_frag_dst_ops = {
+ .family = AF_UNSPEC,
+ .mtu = tcf_frag_dst_get_mtu,
+};
+
+static int tcf_fragment(struct net *net, struct sk_buff *skb,
+ u16 mru, int (*xmit)(struct sk_buff *skb))
+{
+ if (skb_network_offset(skb) > VLAN_ETH_HLEN) {
+ net_warn_ratelimited("L2 header too long to fragment\n");
+ goto err;
+ }
+
+ if (skb_protocol(skb, true) == htons(ETH_P_IP)) {
+ struct dst_entry tcf_frag_dst;
+ unsigned long orig_dst;
+
+ tcf_frag_prepare_frag(skb, xmit);
+ dst_init(&tcf_frag_dst, &tcf_frag_dst_ops, NULL, 1,
+ DST_OBSOLETE_NONE, DST_NOCOUNT);
+ tcf_frag_dst.dev = skb->dev;
+
+ orig_dst = skb->_skb_refdst;
+ skb_dst_set_noref(skb, &tcf_frag_dst);
+ IPCB(skb)->frag_max_size = mru;
+
+ ip_do_fragment(net, skb->sk, skb, tcf_frag_xmit);
+ refdst_drop(orig_dst);
+ } else if (skb_protocol(skb, true) == htons(ETH_P_IPV6)) {
+ unsigned long orig_dst;
+ struct rt6_info tcf_frag_rt;
+
+ tcf_frag_prepare_frag(skb, xmit);
+ memset(&tcf_frag_rt, 0, sizeof(tcf_frag_rt));
+ dst_init(&tcf_frag_rt.dst, &tcf_frag_dst_ops, NULL, 1,
+ DST_OBSOLETE_NONE, DST_NOCOUNT);
+ tcf_frag_rt.dst.dev = skb->dev;
+
+ orig_dst = skb->_skb_refdst;
+ skb_dst_set_noref(skb, &tcf_frag_rt.dst);
+ IP6CB(skb)->frag_max_size = mru;
+
+ ipv6_stub->ipv6_fragment(net, skb->sk, skb, tcf_frag_xmit);
+ refdst_drop(orig_dst);
+ } else {
+ net_warn_ratelimited("Fail frag %s: eth=%x, MRU=%d, MTU=%d\n",
+ netdev_name(skb->dev),
+ ntohs(skb_protocol(skb, true)), mru,
+ skb->dev->mtu);
+ goto err;
+ }
+
+ qdisc_skb_cb(skb)->mru = 0;
+ return 0;
+err:
+ kfree_skb(skb);
+ return -1;
+}
+
+int tcf_frag_xmit_hook(struct sk_buff *skb, int (*xmit)(struct sk_buff *skb))
+{
+ u16 mru = qdisc_skb_cb(skb)->mru;
+ int err;
+
+ if (mru && skb->len > mru + skb->dev->hard_header_len)
+ err = tcf_fragment(dev_net(skb->dev), skb, mru, xmit);
+ else
+ err = xmit(skb);
+
+ return err;
+}
+EXPORT_SYMBOL_GPL(tcf_frag_xmit_hook);
+
+static int __init frag_init_module(void)
+{
+ return 0;
+}
+
+static void __exit frag_cleanup_module(void)
+{
+}
+
+module_init(frag_init_module);
+module_exit(frag_cleanup_module);
+MODULE_AUTHOR("wenxu <wenxu@ucloud.cn>");
+MODULE_LICENSE("GPL v2");
diff --git a/net/sched/act_mirred.c b/net/sched/act_mirred.c
index 17d0095..7153c67 100644
--- a/net/sched/act_mirred.c
+++ b/net/sched/act_mirred.c
@@ -210,7 +210,7 @@ static int tcf_mirred_forward(bool want_ingress, struct sk_buff *skb)
int err;
if (!want_ingress)
- err = dev_queue_xmit(skb);
+ err = tcf_dev_queue_xmit(skb, dev_queue_xmit);
else
err = netif_receive_skb(skb);
--
1.8.3.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v4 net-next 1/2] net/sched: act_mirred: refactor the handle of xmit
2020-11-06 9:14 [PATCH v4 net-next 1/2] net/sched: act_mirred: refactor the handle of xmit wenxu
2020-11-06 9:14 ` [PATCH v4 net-next 2/2] net/sched: act_frag: add implict packet fragment support wenxu
@ 2020-11-06 9:23 ` Marcelo Ricardo Leitner
1 sibling, 0 replies; 6+ messages in thread
From: Marcelo Ricardo Leitner @ 2020-11-06 9:23 UTC (permalink / raw)
To: wenxu; +Cc: kuba, dcaratti, netdev
On Fri, Nov 06, 2020 at 05:14:15PM +0800, wenxu@ucloud.cn wrote:
> From: wenxu <wenxu@ucloud.cn>
>
> This one is prepare for the next patch.
>
> Signed-off-by: wenxu <wenxu@ucloud.cn>
Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v4 net-next 2/2] net/sched: act_frag: add implict packet fragment support.
2020-11-06 9:14 ` [PATCH v4 net-next 2/2] net/sched: act_frag: add implict packet fragment support wenxu
@ 2020-11-06 9:24 ` Marcelo Ricardo Leitner
2020-11-06 18:15 ` Vlad Buslov
1 sibling, 0 replies; 6+ messages in thread
From: Marcelo Ricardo Leitner @ 2020-11-06 9:24 UTC (permalink / raw)
To: wenxu; +Cc: kuba, dcaratti, netdev
On Fri, Nov 06, 2020 at 05:14:16PM +0800, wenxu@ucloud.cn wrote:
> From: wenxu <wenxu@ucloud.cn>
>
> Currently kernel tc subsystem can do conntrack in act_ct. But when several
> fragment packets go through the act_ct, function tcf_ct_handle_fragments
> will defrag the packets to a big one. But the last action will redirect
> mirred to a device which maybe lead the reassembly big packet over the mtu
> of target device.
>
> This patch add support for a xmit hook to mirred, that gets executed before
> xmiting the packet. Then, when act_ct gets loaded, it configs that hook.
> The frag xmit hook maybe reused by other modules.
>
> Signed-off-by: wenxu <wenxu@ucloud.cn>
Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Thanks wenxu.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v4 net-next 2/2] net/sched: act_frag: add implict packet fragment support.
2020-11-06 9:14 ` [PATCH v4 net-next 2/2] net/sched: act_frag: add implict packet fragment support wenxu
2020-11-06 9:24 ` Marcelo Ricardo Leitner
@ 2020-11-06 18:15 ` Vlad Buslov
2020-11-07 13:26 ` wenxu
1 sibling, 1 reply; 6+ messages in thread
From: Vlad Buslov @ 2020-11-06 18:15 UTC (permalink / raw)
To: wenxu; +Cc: kuba, marcelo.leitner, dcaratti, netdev
On Fri 06 Nov 2020 at 11:14, wenxu@ucloud.cn wrote:
> From: wenxu <wenxu@ucloud.cn>
>
> Currently kernel tc subsystem can do conntrack in act_ct. But when several
> fragment packets go through the act_ct, function tcf_ct_handle_fragments
> will defrag the packets to a big one. But the last action will redirect
> mirred to a device which maybe lead the reassembly big packet over the mtu
> of target device.
>
> This patch add support for a xmit hook to mirred, that gets executed before
> xmiting the packet. Then, when act_ct gets loaded, it configs that hook.
> The frag xmit hook maybe reused by other modules.
>
> Signed-off-by: wenxu <wenxu@ucloud.cn>
> ---
> v2: Fix the crash for act_frag module without load
> v3: modify the kconfig describe and put tcf_xmit_hook_is_enabled
> in the tcf_dev_queue_xmit, and xchg atomic for tcf_xmit_hook
> v4: using skb_protocol and fix line length exceeds 80 columns
>
Hi wenxu,
With you patches applied I get following warnings when running some of
our CT tests:
[ 550.183105] #############################
[ 550.184266] ## TEST test-ct-nat-tcp.sh ##
[ 550.185448] #############################
[ 551.195494] :test: Fedora 32 (Thirty Two)
[ 551.198730] :test: Linux c-237-12-1-009 5.10.0-rc1+
[ 551.240834] :test: NIC enp0s8f0 FW 16.28.2006 PCI 0000:00:08.0 DEVICE 0x1017 ConnectX-5
[ 551.273669] :test: Flow steering mode for enp0s8f0 is dmfs
[ 551.275449] :test: Flow steering mode for enp0s8f1 is dmfs
[ 551.394256] mlx5_core 0000:00:08.2 enp0s8f0v0: Link up
[ 551.499484] mlx5_core 0000:00:08.3 enp0s8f0v1: Link up
[ 551.507950] :test: unbind vfs of enp0s8f0
[ 552.150367] IPv6: ADDRCONF(NETDEV_CHANGE): enp0s8f0v1: link becomes ready
[ 554.016485] :test: Change enp0s8f0 eswitch (0000:00:08.0) mode to switchdev
[ 554.061589] :test: unbind vfs of enp0s8f0
[ 554.080874] :test: bind vfs of enp0s8f0
[ 554.091882] mlx5_core 0000:00:08.2: firmware version: 16.28.2006
[ 554.358663] mlx5_core 0000:00:08.2: Rate limit: 127 rates are supported, range: 0Mbps to 97656Mbps
[ 554.379635] mlx5_core 0000:00:08.2: MLX5E: StrdRq(1) RqSz(8) StrdSz(2048) RxCqeCmprss(0)
[ 554.491159] mlx5_core 0000:00:08.2: Supported tc offload range - chains: 1, prios: 1
[ 554.529531] mlx5_core 0000:00:08.3: firmware version: 16.28.2006
[ 554.547950] mlx5_core 0000:00:08.2 enp0s8f0v0: renamed from eth2
[ 554.804482] mlx5_core 0000:00:08.3: Rate limit: 127 rates are supported, range: 0Mbps to 97656Mbps
[ 554.829599] mlx5_core 0000:00:08.3: MLX5E: StrdRq(1) RqSz(8) StrdSz(2048) RxCqeCmprss(0)
[ 554.937838] mlx5_core 0000:00:08.3: Supported tc offload range - chains: 1, prios: 1
[ 554.987058] mlx5_core 0000:00:08.3 enp0s8f0v1: renamed from eth2
[ 556.075683] :test: Test CT nat tcp
[ 556.269658] mlx5_core 0000:00:08.2 enp0s8f0v0: Link up
[ 556.273890] IPv6: ADDRCONF(NETDEV_CHANGE): enp0s8f0v0: link becomes ready
[ 556.397755] mlx5_core 0000:00:08.3 enp0s8f0v1: Link up
[ 557.333042] IPv6: ADDRCONF(NETDEV_CHANGE): enp0s8f0v1: link becomes ready
[ 558.471852] skb len=7292 headroom=78 headlen=1500 tailroom=0
mac=(64,14) net=(78,20) trans=98
shinfo(txflags=0 nr_frags=4 gso(size=1448 type=1 segs=5))
csum(0x100062 ip_summed=3 complete_sw=0 valid=0 level=0)
hash(0x0 sw=0 l4=0) proto=0x0800 pkttype=3 iif=14
[ 558.486166] dev name=enp0s8f0_1 feat=0x0x0002010000116c13
[ 558.487124] skb linear: 00000000: 45 00 1c 7c 94 ca 40 00 40 06 6d a1 07 07 07 01
[ 558.488470] skb linear: 00000010: 07 07 07 02 b9 42 13 89 7a 20 ea 81 fd 01 29 3e
[ 558.489824] skb linear: 00000020: 80 18 01 f6 38 7f 00 00 01 01 08 0a 44 e2 8a ea
[ 558.491180] skb linear: 00000030: 78 8a d7 32 08 00 00 00 34 35 36 37 38 39 30 31
[ 558.492537] skb linear: 00000040: 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37
[ 558.493888] skb linear: 00000050: 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33
[ 558.495241] skb linear: 00000060: 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39
[ 558.496584] skb linear: 00000070: 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35
[ 558.498042] skb linear: 00000080: 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31
[ 558.499471] skb linear: 00000090: 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37
[ 558.500915] skb linear: 000000a0: 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33
[ 558.502355] skb linear: 000000b0: 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39
[ 558.503772] skb linear: 000000c0: 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35
[ 558.505188] skb linear: 000000d0: 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31
[ 558.506609] skb linear: 000000e0: 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37
[ 558.508035] skb linear: 000000f0: 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33
[ 558.509464] skb linear: 00000100: 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39
[ 558.510925] ------------[ cut here ]------------
[ 558.511817] mlx5_core: caps=(0x0002010000116c13, 0x0000000000000000)
[ 558.513008] WARNING: CPU: 0 PID: 0 at net/core/dev.c:3192 skb_warn_bad_offload+0x72/0xe0
[ 558.514525] Modules linked in: act_mirred act_ct act_frag nf_flow_table cls_flower act_gact sch_ingress openvswitch nsh nf_conncount mlx5_ib mlx5_core mlxfw pci_hyperv_intf ptp pps_core nfsv3 nfs_acl rpcrdma rdma_ucm ib_srpt ib_isert iscsi_target_mod target_core_mod ib_iser ib_umad rdma_cm ib_ipoib iw_cm ib_cm xt_conntrack xt_MASQUERADE nf_conntrack_netlink nfnetlink xt_addrtype iptable_filter iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 br_netfilter bridge stp llc rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver nfs lockd g
race nfs_ssc fscache ib_uverbs ib_core rfkill overlay iTCO_wdt iTCO_vendor_support kvm_intel kvm irqbypass virtio_net i2c_i801 crc32_pclmul net_failover ghash_clmulni_intel pcspkr lpc_ich i2c_smbus failover mfd_core sunrpc sch_fq_codel drm i2c_core ip_tables crc32c_intel serio_raw [last unloaded: mlxfw]
[ 558.527278] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.10.0-rc1+ #12
[ 558.528431] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
[ 558.530434] RIP: 0010:skb_warn_bad_offload+0x72/0xe0
[ 558.531377] Code: 8d 95 c8 00 00 00 48 8d 88 e8 01 00 00 48 85 c0 48 c7 c0 18 3f 12 82 48 0f 44 c8 4c 89 e6 48 c7 c7 7f 0e 31 82 e8 b4 65 1a 00 <0f> 0b 5b 5d 41 5c c3 80 7d 00 00 49 c7 c4 b3 81 28 82 74 ac be 25
[ 558.534683] RSP: 0018:ffffc90000003768 EFLAGS: 00010286
[ 558.535672] RAX: 0000000000000000 RBX: ffff888104b4a900 RCX: 000000000000083f
[ 558.536970] RDX: 0000000000000000 RSI: 00000000000000f6 RDI: 000000000000083f
[ 558.538268] RBP: ffff888132900000 R08: ffffffff82621c28 R09: 0000000000013ffb
[ 558.539569] R10: 00000000ffffc000 R11: 3fffffffffffffff R12: ffffffffa0a03723
[ 558.540855] R13: ffffc90000003829 R14: 0000000000000000 R15: ffffc90000003828
[ 558.542162] FS: 0000000000000000(0000) GS:ffff8882f5800000(0000) knlGS:0000000000000000
[ 558.543670] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 558.544742] CR2: 00007f3985fad780 CR3: 000000016c9cc006 CR4: 0000000000770ef0
[ 558.546040] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 558.547335] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 558.548621] PKRU: 55555554
[ 558.549212] Call Trace:
[ 558.549790] <IRQ>
[ 558.550260] skb_checksum_help+0x10a/0x120
[ 558.551078] ip_do_fragment+0x300/0x500
[ 558.551844] ? tcf_frag_dst_get_mtu+0x10/0x10 [act_frag]
[ 558.552848] ? fl_mask_lookup+0x164/0x4b0 [cls_flower]
[ 558.553820] tcf_fragment+0x1a8/0x410 [act_frag]
[ 558.554722] ? dst_discard_out+0x10/0x10
[ 558.555501] ? dst_dev_put+0x60/0x60
[ 558.556227] tcf_mirred_act+0x41f/0x457 [act_mirred]
[ 558.557180] tcf_action_exec+0x75/0x120
[ 558.557951] fl_classify+0x1c6/0x1d0 [cls_flower]
[ 558.558856] __tcf_classify+0x52/0x100
[ 558.559601] tcf_classify_ingress+0x65/0x140
[ 558.560433] __netif_receive_skb_core+0x742/0xf10
[ 558.561349] ? inet_gro_complete+0xa0/0xd0
[ 558.564649] __netif_receive_skb_list_core+0xfa/0x200
[ 558.565609] netif_receive_skb_list_internal+0x19f/0x2c0
[ 558.566633] ? mlx5e_handle_rx_cqe_mpwrq_rep+0x158/0x200 [mlx5_core]
[ 558.567798] napi_complete_done+0x6f/0x180
[ 558.568633] mlx5e_napi_poll+0x13b/0x600 [mlx5_core]
[ 558.569591] ? mlx5e_completion_event+0x3c/0x40 [mlx5_core]
[ 558.570643] net_rx_action+0x130/0x3a0
[ 558.571406] ? atomic_notifier_call_chain+0x54/0x70
[ 558.572340] __do_softirq+0xc5/0x283
[ 558.573081] asm_call_irq_on_stack+0xf/0x20
[ 558.573878] </IRQ>
[ 558.574353] do_softirq_own_stack+0x37/0x40
[ 558.575157] irq_exit_rcu+0x9c/0xd0
[ 558.575851] common_interrupt+0x74/0x130
[ 558.576607] asm_common_interrupt+0x1e/0x40
[ 558.577418] RIP: 0010:native_safe_halt+0xe/0x10
[ 558.578277] Code: 02 20 48 8b 00 a8 08 75 c4 e9 7b ff ff ff cc cc cc cc cc cc cc cc cc cc cc cc cc cc e9 07 00 00 00 0f 00 2d cc 01 55 00 fb f4 <c3> 90 e9 07 00 00 00 0f 00 2d bc 01 55 00 f4 c3 cc cc 0f 1f 44 00
[ 558.581470] RSP: 0018:ffffffff82403eb8 EFLAGS: 00000202
[ 558.583946] RAX: ffff8882f582c900 RBX: 0000000000000000 RCX: ffff8882f582c900
[ 558.585147] RDX: 00000000000ca6ea RSI: 7fffff7dff2b52f5 RDI: 0000000000000086
[ 558.586360] RBP: ffffffff82413940 R08: 000000cd42e4dffb R09: 00000082704a9c8a
[ 558.587556] R10: 00000000000302ee R11: 0000000000000000 R12: 0000000000000000
[ 558.588756] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
[ 558.590118] default_idle+0xa/0x10
[ 558.590769] default_idle_call+0x38/0xb0
[ 558.591494] do_idle+0x1f7/0x270
[ 558.592126] cpu_startup_entry+0x19/0x20
[ 558.592857] start_kernel+0x511/0x533
[ 558.603117] secondary_startup_64_no_verify+0xa6/0xab
[ 558.604021] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.10.0-rc1+ #12
[ 558.605119] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
[ 558.606961] Call Trace:
[ 558.607462] <IRQ>
[ 558.607903] dump_stack+0x6b/0x83
[ 558.608529] __warn.cold+0x24/0x75
[ 558.609177] ? skb_warn_bad_offload+0x72/0xe0
[ 558.609959] report_bug+0x9a/0xc0
[ 558.610581] handle_bug+0x35/0x80
[ 558.611212] exc_invalid_op+0x14/0x70
[ 558.611893] asm_exc_invalid_op+0x12/0x20
[ 558.612618] RIP: 0010:skb_warn_bad_offload+0x72/0xe0
[ 558.613486] Code: 8d 95 c8 00 00 00 48 8d 88 e8 01 00 00 48 85 c0 48 c7 c0 18 3f 12 82 48 0f 44 c8 4c 89 e6 48 c7 c7 7f 0e 31 82 e8 b4 65 1a 00 <0f> 0b 5b 5d 41 5c c3 80 7d 00 00 49 c7 c4 b3 81 28 82 74 ac be 25
[ 558.616519] RSP: 0018:ffffc90000003768 EFLAGS: 00010286
[ 558.617431] RAX: 0000000000000000 RBX: ffff888104b4a900 RCX: 000000000000083f
[ 558.618619] RDX: 0000000000000000 RSI: 00000000000000f6 RDI: 000000000000083f
[ 558.619857] RBP: ffff888132900000 R08: ffffffff82621c28 R09: 0000000000013ffb
[ 558.621100] R10: 00000000ffffc000 R11: 3fffffffffffffff R12: ffffffffa0a03723
[ 558.622361] R13: ffffc90000003829 R14: 0000000000000000 R15: ffffc90000003828
[ 558.623617] ? skb_warn_bad_offload+0x72/0xe0
[ 558.624439] skb_checksum_help+0x10a/0x120
[ 558.625222] ip_do_fragment+0x300/0x500
[ 558.625958] ? tcf_frag_dst_get_mtu+0x10/0x10 [act_frag]
[ 558.626928] ? fl_mask_lookup+0x164/0x4b0 [cls_flower]
[ 558.627866] tcf_fragment+0x1a8/0x410 [act_frag]
[ 558.628725] ? dst_discard_out+0x10/0x10
[ 558.629486] ? dst_dev_put+0x60/0x60
[ 558.630191] tcf_mirred_act+0x41f/0x457 [act_mirred]
[ 558.631128] tcf_action_exec+0x75/0x120
[ 558.631884] fl_classify+0x1c6/0x1d0 [cls_flower]
[ 558.632772] __tcf_classify+0x52/0x100
[ 558.633516] tcf_classify_ingress+0x65/0x140
[ 558.634344] __netif_receive_skb_core+0x742/0xf10
[ 558.635235] ? inet_gro_complete+0xa0/0xd0
[ 558.636019] __netif_receive_skb_list_core+0xfa/0x200
[ 558.636965] netif_receive_skb_list_internal+0x19f/0x2c0
[ 558.637969] ? mlx5e_handle_rx_cqe_mpwrq_rep+0x158/0x200 [mlx5_core]
[ 558.639129] napi_complete_done+0x6f/0x180
[ 558.639934] mlx5e_napi_poll+0x13b/0x600 [mlx5_core]
[ 558.640877] ? mlx5e_completion_event+0x3c/0x40 [mlx5_core]
[ 558.641900] net_rx_action+0x130/0x3a0
[ 558.642630] ? atomic_notifier_call_chain+0x54/0x70
[ 558.643543] __do_softirq+0xc5/0x283
[ 558.644261] asm_call_irq_on_stack+0xf/0x20
[ 558.645061] </IRQ>
[ 558.645541] do_softirq_own_stack+0x37/0x40
[ 558.646357] irq_exit_rcu+0x9c/0xd0
[ 558.647053] common_interrupt+0x74/0x130
[ 558.647816] asm_common_interrupt+0x1e/0x40
[ 558.648627] RIP: 0010:native_safe_halt+0xe/0x10
[ 558.649498] Code: 02 20 48 8b 00 a8 08 75 c4 e9 7b ff ff ff cc cc cc cc cc cc cc cc cc cc cc cc cc cc e9 07 00 00 00 0f 00 2d cc 01 55 00 fb f4 <c3> 90 e9 07 00 00 00 0f 00 2d bc 01 55 00 f4 c3 cc cc 0f 1f 44 00
[ 558.652723] RSP: 0018:ffffffff82403eb8 EFLAGS: 00000202
[ 558.653764] RAX: ffff8882f582c900 RBX: 0000000000000000 RCX: ffff8882f582c900
[ 558.655116] RDX: 00000000000ca6ea RSI: 7fffff7dff2b52f5 RDI: 0000000000000086
[ 558.656387] RBP: ffffffff82413940 R08: 000000cd42e4dffb R09: 00000082704a9c8a
[ 558.657670] R10: 00000000000302ee R11: 0000000000000000 R12: 0000000000000000
[ 558.658939] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
[ 558.660205] default_idle+0xa/0x10
[ 558.660878] default_idle_call+0x38/0xb0
[ 558.661643] do_idle+0x1f7/0x270
[ 558.662298] cpu_startup_entry+0x19/0x20
[ 558.663066] start_kernel+0x511/0x533
[ 558.663787] secondary_startup_64_no_verify+0xa6/0xab
[ 558.664746] ---[ end trace 1643bf725be8b62e ]---
[ 558.665713] skb len=7292 headroom=78 headlen=1500 tailroom=0
mac=(64,14) net=(78,20) trans=98
shinfo(txflags=0 nr_frags=4 gso(size=1448 type=1 segs=5))
csum(0x100062 ip_summed=3 complete_sw=0 valid=0 level=0)
hash(0x0 sw=0 l4=0) proto=0x0800 pkttype=3 iif=14
[ 558.670604] dev name=enp0s8f0_1 feat=0x0x0002010000116c13
[ 558.671613] skb linear: 00000000: 45 00 1c 7c 94 cf 40 00 40 06 6d 9c 07 07 07 01
[ 558.673039] skb linear: 00000010: 07 07 07 02 b9 42 13 89 7a 21 06 c9 fd 01 29 3e
[ 558.674473] skb linear: 00000020: 80 18 01 f6 38 7f 00 00 01 01 08 0a 44 e2 8a ea
[ 558.675894] skb linear: 00000030: 78 8a d7 32 30 31 32 33 34 35 36 37 38 39 30 31
[ 558.677323] skb linear: 00000040: 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37
[ 558.678755] skb linear: 00000050: 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33
[ 558.681051] skb linear: 00000060: 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39
[ 558.682487] skb linear: 00000070: 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35
[ 558.683940] skb linear: 00000080: 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31
[ 558.685390] skb linear: 00000090: 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37
[ 558.686844] skb linear: 000000a0: 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33
[ 558.688298] skb linear: 000000b0: 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39
[ 558.689751] skb linear: 000000c0: 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35
[ 558.691204] skb linear: 000000d0: 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31
[ 558.692657] skb linear: 000000e0: 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37
[ 558.694101] skb linear: 000000f0: 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33
[ 558.695523] skb linear: 00000100: 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39
[ 558.696959] ------------[ cut here ]------------
[ 558.697849] mlx5_core: caps=(0x0002010000116c13, 0x0000000000000000)
[ 558.699029] WARNING: CPU: 0 PID: 9 at net/core/dev.c:3192 skb_warn_bad_offload+0x72/0xe0
[ 558.700529] Modules linked in: act_mirred act_ct act_frag nf_flow_table cls_flower act_gact sch_ingress openvswitch nsh nf_conncount mlx5_ib mlx5_core mlxfw pci_hyperv_intf ptp pps_core nfsv3 nfs_acl rpcrdma rdma_ucm ib_srpt ib_isert iscsi_target_mod target_core_mod ib_iser ib_umad rdma_cm ib_ipoib iw_cm ib_cm xt_conntrack xt_MASQUERADE nf_conntrack_netlink nfnetlink xt_addrtype iptable_filter iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 br_netfilter bridge stp llc rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver nfs lockd g
race nfs_ssc fscache ib_uverbs ib_core rfkill overlay iTCO_wdt iTCO_vendor_support kvm_intel kvm irqbypass virtio_net i2c_i801 crc32_pclmul net_failover ghash_clmulni_intel pcspkr lpc_ich i2c_smbus failover mfd_core sunrpc sch_fq_codel drm i2c_core ip_tables crc32c_intel serio_raw [last unloaded: mlxfw]
[ 558.713098] CPU: 0 PID: 9 Comm: ksoftirqd/0 Tainted: G W 5.10.0-rc1+ #12
[ 558.714596] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
[ 558.716595] RIP: 0010:skb_warn_bad_offload+0x72/0xe0
[ 558.717532] Code: 8d 95 c8 00 00 00 48 8d 88 e8 01 00 00 48 85 c0 48 c7 c0 18 3f 12 82 48 0f 44 c8 4c 89 e6 48 c7 c7 7f 0e 31 82 e8 b4 65 1a 00 <0f> 0b 5b 5d 41 5c c3 80 7d 00 00 49 c7 c4 b3 81 28 82 74 ac be 25
[ 558.720777] RSP: 0018:ffffc90000057658 EFLAGS: 00010282
[ 558.721758] RAX: 0000000000000000 RBX: ffff888104b4b700 RCX: 0000000000000000
[ 558.723049] RDX: ffff8882f5828ba0 RSI: ffff8882f5818b00 RDI: ffff8882f5818b00
[ 558.724334] RBP: ffff888132900000 R08: ffffffff82621c28 R09: 0000000000013ffb
[ 558.725663] R10: 00000000ffffc000 R11: 3fffffffffffffff R12: ffffffffa0a03723
[ 558.726966] R13: ffffc90000057719 R14: 0000000000000000 R15: ffffc90000057718
[ 558.728245] FS: 0000000000000000(0000) GS:ffff8882f5800000(0000) knlGS:0000000000000000
[ 558.729740] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 558.730804] CR2: 00007f3985fad780 CR3: 000000016c9cc006 CR4: 0000000000770ef0
[ 558.732088] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 558.733373] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 558.734662] PKRU: 55555554
[ 558.735242] Call Trace:
[ 558.735776] skb_checksum_help+0x10a/0x120
[ 558.736580] ip_do_fragment+0x300/0x500
[ 558.737342] ? tcf_frag_dst_get_mtu+0x10/0x10 [act_frag]
[ 558.738344] ? fl_mask_lookup+0x164/0x4b0 [cls_flower]
[ 558.739308] tcf_fragment+0x1a8/0x410 [act_frag]
[ 558.740197] ? dst_discard_out+0x10/0x10
[ 558.740981] ? dst_dev_put+0x60/0x60
[ 558.741693] tcf_mirred_act+0x41f/0x457 [act_mirred]
[ 558.742637] tcf_action_exec+0x75/0x120
[ 558.743402] fl_classify+0x1c6/0x1d0 [cls_flower]
[ 558.744308] __tcf_classify+0x52/0x100
[ 558.745054] tcf_classify_ingress+0x65/0x140
[ 558.745882] __netif_receive_skb_core+0x742/0xf10
[ 558.746776] ? inet_gro_receive+0x225/0x2c0
[ 558.747589] __netif_receive_skb_list_core+0xfa/0x200
[ 558.748542] netif_receive_skb_list_internal+0x19f/0x2c0
[ 558.749533] ? napi_gro_flush+0x9c/0xf0
[ 558.750299] napi_complete_done+0x6f/0x180
[ 558.751118] mlx5e_napi_poll+0x13b/0x600 [mlx5_core]
[ 558.752059] net_rx_action+0x130/0x3a0
[ 558.752806] __do_softirq+0xc5/0x283
[ 558.753524] run_ksoftirqd+0x26/0x40
[ 558.754249] smpboot_thread_fn+0xb8/0x150
[ 558.755035] ? smpboot_register_percpu_thread+0xe0/0xe0
[ 558.756019] kthread+0x118/0x130
[ 558.756673] ? kthread_create_worker_on_cpu+0x70/0x70
[ 558.757627] ret_from_fork+0x1f/0x30
[ 558.758346] CPU: 0 PID: 9 Comm: ksoftirqd/0 Tainted: G W 5.10.0-rc1+ #12
[ 558.759819] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
[ 558.761788] Call Trace:
[ 558.762318] dump_stack+0x6b/0x83
[ 558.772522] __warn.cold+0x24/0x75
[ 558.773164] ? skb_warn_bad_offload+0x72/0xe0
[ 558.773955] report_bug+0x9a/0xc0
[ 558.774581] handle_bug+0x35/0x80
[ 558.775224] exc_invalid_op+0x14/0x70
[ 558.775913] asm_exc_invalid_op+0x12/0x20
[ 558.776641] RIP: 0010:skb_warn_bad_offload+0x72/0xe0
[ 558.777512] Code: 8d 95 c8 00 00 00 48 8d 88 e8 01 00 00 48 85 c0 48 c7 c0 18 3f 12 82 48 0f 44 c8 4c 89 e6 48 c7 c7 7f 0e 31 82 e8 b4 65 1a 00 <0f> 0b 5b 5d 41 5c c3 80 7d 00 00 49 c7 c4 b3 81 28 82 74 ac be 25
[ 558.780535] RSP: 0018:ffffc90000057658 EFLAGS: 00010282
[ 558.781447] RAX: 0000000000000000 RBX: ffff888104b4b700 RCX: 0000000000000000
[ 558.782633] RDX: ffff8882f5828ba0 RSI: ffff8882f5818b00 RDI: ffff8882f5818b00
[ 558.783816] RBP: ffff888132900000 R08: ffffffff82621c28 R09: 0000000000013ffb
[ 558.785102] R10: 00000000ffffc000 R11: 3fffffffffffffff R12: ffffffffa0a03723
[ 558.786382] R13: ffffc90000057719 R14: 0000000000000000 R15: ffffc90000057718
[ 558.787665] ? skb_warn_bad_offload+0x72/0xe0
[ 558.788500] skb_checksum_help+0x10a/0x120
[ 558.789296] ip_do_fragment+0x300/0x500
[ 558.790050] ? tcf_frag_dst_get_mtu+0x10/0x10 [act_frag]
[ 558.791029] ? fl_mask_lookup+0x164/0x4b0 [cls_flower]
[ 558.791989] tcf_fragment+0x1a8/0x410 [act_frag]
[ 558.792946] ? dst_discard_out+0x10/0x10
[ 558.793718] ? dst_dev_put+0x60/0x60
[ 558.794431] tcf_mirred_act+0x41f/0x457 [act_mirred]
[ 558.795360] tcf_action_exec+0x75/0x120
[ 558.796111] fl_classify+0x1c6/0x1d0 [cls_flower]
[ 558.797001] __tcf_classify+0x52/0x100
[ 558.797736] tcf_classify_ingress+0x65/0x140
[ 558.798546] __netif_receive_skb_core+0x742/0xf10
[ 558.799429] ? inet_gro_receive+0x225/0x2c0
[ 558.800236] __netif_receive_skb_list_core+0xfa/0x200
[ 558.801169] netif_receive_skb_list_internal+0x19f/0x2c0
[ 558.802149] ? napi_gro_flush+0x9c/0xf0
[ 558.802900] napi_complete_done+0x6f/0x180
[ 558.803701] mlx5e_napi_poll+0x13b/0x600 [mlx5_core]
[ 558.804634] net_rx_action+0x130/0x3a0
[ 558.805370] __do_softirq+0xc5/0x283
[ 558.806087] run_ksoftirqd+0x26/0x40
[ 558.806799] smpboot_thread_fn+0xb8/0x150
[ 558.807574] ? smpboot_register_percpu_thread+0xe0/0xe0
[ 558.808540] kthread+0x118/0x130
[ 558.809192] ? kthread_create_worker_on_cpu+0x70/0x70
[ 558.810141] ret_from_fork+0x1f/0x30
[ 558.810858] ---[ end trace 1643bf725be8b62f ]---
[ 558.812075] skb len=2948 headroom=78 headlen=1500 tailroom=0
mac=(64,14) net=(78,20) trans=98
shinfo(txflags=0 nr_frags=1 gso(size=1448 type=1 segs=2))
csum(0x100062 ip_summed=3 complete_sw=0 valid=0 level=0)
hash(0x0 sw=0 l4=0) proto=0x0800 pkttype=3 iif=14
[ 558.816979] dev name=enp0s8f0_1 feat=0x0x0002010000116c13
[ 558.817993] skb linear: 00000000: 45 00 0b 84 94 d7 40 00 40 06 7e 8c 07 07 07 01
[ 558.819425] skb linear: 00000010: 07 07 07 02 b9 42 13 89 7a 20 f5 d1 fd 01 29 3e
[ 558.820852] skb linear: 00000020: 80 18 01 f6 27 87 00 00 01 01 08 0a 44 e2 8c 3e
[ 558.822292] skb linear: 00000030: 78 8a d8 86 36 37 38 39 30 31 32 33 34 35 36 37
[ 558.823720] skb linear: 00000040: 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33
[ 558.825158] skb linear: 00000050: 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39
[ 558.829260] skb linear: 00000060: 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35
[ 558.833164] skb linear: 00000070: 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31
[ 558.837120] skb linear: 00000080: 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37
[ 558.841051] skb linear: 00000090: 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33
[ 558.842835] skb linear: 000000a0: 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39
[ 558.844263] skb linear: 000000b0: 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35
[ 558.845689] skb linear: 000000c0: 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31
[ 558.847101] skb linear: 000000d0: 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37
[ 558.848533] skb linear: 000000e0: 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33
[ 558.849964] skb linear: 000000f0: 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39
[ 558.851381] skb linear: 00000100: 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35
[ 558.852809] ------------[ cut here ]------------
[ 558.853686] mlx5_core: caps=(0x0002010000116c13, 0x0000000000000000)
[ 558.854865] WARNING: CPU: 0 PID: 0 at net/core/dev.c:3192 skb_warn_bad_offload+0x72/0xe0
[ 558.856371] Modules linked in: act_mirred act_ct act_frag nf_flow_table cls_flower act_gact sch_ingress openvswitch nsh nf_conncount mlx5_ib mlx5_core mlxfw pci_hyperv_intf ptp pps_core nfsv3 nfs_acl rpcrdma rdma_ucm ib_srpt ib_isert iscsi_target_mod target_core_mod ib_iser ib_umad rdma_cm ib_ipoib iw_cm ib_cm xt_conntrack xt_MASQUERADE nf_conntrack_netlink nfnetlink xt_addrtype iptable_filter iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 br_netfilter bridge stp llc rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver nfs lockd g
race nfs_ssc fscache ib_uverbs ib_core rfkill overlay iTCO_wdt iTCO_vendor_support kvm_intel kvm irqbypass virtio_net i2c_i801 crc32_pclmul net_failover ghash_clmulni_intel pcspkr lpc_ich i2c_smbus failover mfd_core sunrpc sch_fq_codel drm i2c_core ip_tables crc32c_intel serio_raw [last unloaded: mlxfw]
[ 558.868905] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W 5.10.0-rc1+ #12
[ 558.870347] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
[ 558.872329] RIP: 0010:skb_warn_bad_offload+0x72/0xe0
[ 558.873268] Code: 8d 95 c8 00 00 00 48 8d 88 e8 01 00 00 48 85 c0 48 c7 c0 18 3f 12 82 48 0f 44 c8 4c 89 e6 48 c7 c7 7f 0e 31 82 e8 b4 65 1a 00 <0f> 0b 5b 5d 41 5c c3 80 7d 00 00 49 c7 c4 b3 81 28 82 74 ac be 25
[ 558.876571] RSP: 0018:ffffc90000003768 EFLAGS: 00010286
[ 558.877569] RAX: 0000000000000000 RBX: ffff888104b4b700 RCX: 000000000000083f
[ 558.878873] RDX: 0000000000000000 RSI: 00000000000000f6 RDI: 000000000000083f
[ 558.880178] RBP: ffff888132900000 R08: ffffffff82621c28 R09: 0000000000013ffb
[ 558.881481] R10: 00000000ffffc000 R11: 3fffffffffffffff R12: ffffffffa0a03723
[ 558.882796] R13: ffffc90000003829 R14: 0000000000000000 R15: ffffc90000003828
[ 558.884104] FS: 0000000000000000(0000) GS:ffff8882f5800000(0000) knlGS:0000000000000000
[ 558.885632] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 558.886687] CR2: 00007f3985fad780 CR3: 000000016c9cc006 CR4: 0000000000770ef0
[ 558.887961] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 558.889245] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 558.890531] PKRU: 55555554
[ 558.891111] Call Trace:
[ 558.891645] <IRQ>
[ 558.892118] skb_checksum_help+0x10a/0x120
[ 558.892925] ip_do_fragment+0x300/0x500
[ 558.893684] ? tcf_frag_dst_get_mtu+0x10/0x10 [act_frag]
[ 558.894676] ? fl_mask_lookup+0x164/0x4b0 [cls_flower]
[ 558.895650] tcf_fragment+0x1a8/0x410 [act_frag]
[ 558.896537] ? dst_discard_out+0x10/0x10
[ 558.897309] ? dst_dev_put+0x60/0x60
[ 558.898036] tcf_mirred_act+0x41f/0x457 [act_mirred]
[ 558.898973] tcf_action_exec+0x75/0x120
[ 558.899736] fl_classify+0x1c6/0x1d0 [cls_flower]
[ 558.901587] __tcf_classify+0x52/0x100
[ 558.902331] tcf_classify_ingress+0x65/0x140
[ 558.903156] __netif_receive_skb_core+0x742/0xf10
[ 558.904050] ? inet_gro_complete+0xa0/0xd0
[ 558.904843] __netif_receive_skb_list_core+0xfa/0x200
[ 558.905799] netif_receive_skb_list_internal+0x19f/0x2c0
[ 558.906798] ? mlx5e_handle_rx_cqe_mpwrq_rep+0x158/0x200 [mlx5_core]
[ 558.907951] napi_complete_done+0x6f/0x180
[ 558.908759] mlx5e_napi_poll+0x13b/0x600 [mlx5_core]
[ 558.909713] ? mlx5e_completion_event+0x3c/0x40 [mlx5_core]
[ 558.910753] net_rx_action+0x130/0x3a0
[ 558.911502] ? atomic_notifier_call_chain+0x54/0x70
[ 558.912437] __do_softirq+0xc5/0x283
[ 558.913161] asm_call_irq_on_stack+0xf/0x20
[ 558.913988] </IRQ>
[ 558.914472] do_softirq_own_stack+0x37/0x40
[ 558.915296] irq_exit_rcu+0x9c/0xd0
[ 558.916005] common_interrupt+0x74/0x130
[ 558.916781] asm_common_interrupt+0x1e/0x40
[ 558.917605] RIP: 0010:native_safe_halt+0xe/0x10
[ 558.918476] Code: 02 20 48 8b 00 a8 08 75 c4 e9 7b ff ff ff cc cc cc cc cc cc cc cc cc cc cc cc cc cc e9 07 00 00 00 0f 00 2d cc 01 55 00 fb f4 <c3> 90 e9 07 00 00 00 0f 00 2d bc 01 55 00 f4 c3 cc cc 0f 1f 44 00
[ 558.921722] RSP: 0018:ffffffff82403eb8 EFLAGS: 00000202
[ 558.922708] RAX: ffff8882f582c900 RBX: 0000000000000000 RCX: ffff8882f582c900
[ 558.923989] RDX: 00000000000ca72a RSI: 7fffff7dead813b5 RDI: 0000000000000086
[ 558.925272] RBP: ffffffff82413940 R08: 000000cd42e4dffb R09: 00000082704a9c8a
[ 558.926561] R10: 00000000000302ee R11: 0000000000000000 R12: 0000000000000000
[ 558.927836] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
[ 558.929107] default_idle+0xa/0x10
[ 558.929812] default_idle_call+0x38/0xb0
[ 558.930581] do_idle+0x1f7/0x270
[ 558.931244] cpu_startup_entry+0x19/0x20
[ 558.932011] start_kernel+0x511/0x533
[ 558.932742] secondary_startup_64_no_verify+0xa6/0xab
[ 558.933708] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W 5.10.0-rc1+ #12
[ 558.935150] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
[ 558.937107] Call Trace:
[ 558.937642] <IRQ>
[ 558.938100] dump_stack+0x6b/0x83
[ 558.938764] __warn.cold+0x24/0x75
[ 558.939513] ? skb_warn_bad_offload+0x72/0xe0
[ 558.940342] report_bug+0x9a/0xc0
[ 558.940996] handle_bug+0x35/0x80
[ 558.941680] exc_invalid_op+0x14/0x70
[ 558.951946] asm_exc_invalid_op+0x12/0x20
[ 558.952699] RIP: 0010:skb_warn_bad_offload+0x72/0xe0
[ 558.953571] Code: 8d 95 c8 00 00 00 48 8d 88 e8 01 00 00 48 85 c0 48 c7 c0 18 3f 12 82 48 0f 44 c8 4c 89 e6 48 c7 c7 7f 0e 31 82 e8 b4 65 1a 00 <0f> 0b 5b 5d 41 5c c3 80 7d 00 00 49 c7 c4 b3 81 28 82 74 ac be 25
[ 558.956566] RSP: 0018:ffffc90000003768 EFLAGS: 00010286
[ 558.957474] RAX: 0000000000000000 RBX: ffff888104b4b700 RCX: 000000000000083f
[ 558.958653] RDX: 0000000000000000 RSI: 00000000000000f6 RDI: 000000000000083f
[ 558.959836] RBP: ffff888132900000 R08: ffffffff82621c28 R09: 0000000000013ffb
[ 558.961013] R10: 00000000ffffc000 R11: 3fffffffffffffff R12: ffffffffa0a03723
[ 558.962194] R13: ffffc90000003829 R14: 0000000000000000 R15: ffffc90000003828
[ 558.963375] ? skb_warn_bad_offload+0x72/0xe0
[ 558.964214] skb_checksum_help+0x10a/0x120
[ 558.965001] ip_do_fragment+0x300/0x500
[ 558.965747] ? tcf_frag_dst_get_mtu+0x10/0x10 [act_frag]
[ 558.966728] ? fl_mask_lookup+0x164/0x4b0 [cls_flower]
[ 558.967662] tcf_fragment+0x1a8/0x410 [act_frag]
[ 558.968524] ? dst_discard_out+0x10/0x10
[ 558.969279] ? dst_dev_put+0x60/0x60
[ 558.969986] tcf_mirred_act+0x41f/0x457 [act_mirred]
[ 558.970903] tcf_action_exec+0x75/0x120
[ 558.971646] fl_classify+0x1c6/0x1d0 [cls_flower]
[ 558.972534] __tcf_classify+0x52/0x100
[ 558.973269] tcf_classify_ingress+0x65/0x140
[ 558.974081] __netif_receive_skb_core+0x742/0xf10
[ 558.974958] ? inet_gro_complete+0xa0/0xd0
[ 558.975738] __netif_receive_skb_list_core+0xfa/0x200
[ 558.976680] netif_receive_skb_list_internal+0x19f/0x2c0
[ 558.977668] ? mlx5e_handle_rx_cqe_mpwrq_rep+0x158/0x200 [mlx5_core]
[ 558.978809] napi_complete_done+0x6f/0x180
[ 558.979594] mlx5e_napi_poll+0x13b/0x600 [mlx5_core]
[ 558.980534] ? mlx5e_completion_event+0x3c/0x40 [mlx5_core]
[ 558.981557] net_rx_action+0x130/0x3a0
[ 558.982294] ? atomic_notifier_call_chain+0x54/0x70
[ 558.983202] __do_softirq+0xc5/0x283
[ 558.983905] asm_call_irq_on_stack+0xf/0x20
[ 558.984699] </IRQ>
[ 558.985169] do_softirq_own_stack+0x37/0x40
[ 558.985967] irq_exit_rcu+0x9c/0xd0
[ 558.986661] common_interrupt+0x74/0x130
[ 558.987429] asm_common_interrupt+0x1e/0x40
[ 558.988231] RIP: 0010:native_safe_halt+0xe/0x10
[ 558.989090] Code: 02 20 48 8b 00 a8 08 75 c4 e9 7b ff ff ff cc cc cc cc cc cc cc cc cc cc cc cc cc cc e9 07 00 00 00 0f 00 2d cc 01 55 00 fb f4 <c3> 90 e9 07 00 00 00 0f 00 2d bc 01 55 00 f4 c3 cc cc 0f 1f 44 00
[ 558.992327] RSP: 0018:ffffffff82403eb8 EFLAGS: 00000202
[ 558.993284] RAX: ffff8882f582c900 RBX: 0000000000000000 RCX: ffff8882f582c900
[ 558.994544] RDX: 00000000000ca72a RSI: 7fffff7dead813b5 RDI: 0000000000000086
[ 558.995808] RBP: ffffffff82413940 R08: 000000cd42e4dffb R09: 00000082704a9c8a
[ 558.997068] R10: 00000000000302ee R11: 0000000000000000 R12: 0000000000000000
[ 558.998337] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
[ 558.999606] default_idle+0xa/0x10
[ 559.000294] default_idle_call+0x38/0xb0
[ 559.001054] do_idle+0x1f7/0x270
[ 559.001701] cpu_startup_entry+0x19/0x20
[ 559.002462] start_kernel+0x511/0x533
[ 559.003179] secondary_startup_64_no_verify+0xa6/0xab
[ 559.004126] ---[ end trace 1643bf725be8b630 ]---
[ 559.005066] skb len=2948 headroom=78 headlen=1500 tailroom=0
mac=(64,14) net=(78,20) trans=98
shinfo(txflags=0 nr_frags=1 gso(size=1448 type=1 segs=2))
csum(0x100062 ip_summed=3 complete_sw=0 valid=0 level=0)
hash(0x0 sw=0 l4=0) proto=0x0800 pkttype=3 iif=14
[ 559.009931] dev name=enp0s8f0_1 feat=0x0x0002010000116c13
[ 559.010930] skb linear: 00000000: 45 00 0b 84 94 d9 40 00 40 06 7e 8a 07 07 07 01
[ 559.012357] skb linear: 00000010: 07 07 07 02 b9 42 13 89 7a 21 01 21 fd 01 29 3e
[ 559.013777] skb linear: 00000020: 80 10 01 f6 27 87 00 00 01 01 08 0a 44 e2 8c 3e
[ 559.015206] skb linear: 00000030: 78 8a d8 86 32 33 34 35 36 37 38 39 30 31 32 33
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v4 net-next 2/2] net/sched: act_frag: add implict packet fragment support.
2020-11-06 18:15 ` Vlad Buslov
@ 2020-11-07 13:26 ` wenxu
0 siblings, 0 replies; 6+ messages in thread
From: wenxu @ 2020-11-07 13:26 UTC (permalink / raw)
To: Vlad Buslov; +Cc: kuba, marcelo.leitner, dcaratti, netdev
在 2020/11/7 2:15, Vlad Buslov 写道:
> [ 558.577418] RIP: 0010:native_safe_halt+0xe/0x10
> [ 558.578277] Code: 02 20 48 8b 00 a8 08 75 c4 e9 7b ff ff ff cc cc cc cc cc cc cc cc cc cc cc cc cc cc e9 07 00 00 00 0f 00 2d cc 01 55 00 fb f4 <c3> 90 e9 07 00 00 00 0f 00 2d bc 01 55 00 f4 c3 cc cc 0f 1f 44 00
> [ 558.581470] RSP: 0018:ffffffff82403eb8 EFLAGS: 00000202
> [ 558.583946] RAX: ffff8882f582c900 RBX: 0000000000000000 RCX: ffff8882f582c900
> [ 558.585147] RDX: 00000000000ca6ea RSI: 7fffff7dff2b52f5 RDI: 0000000000000086
> [ 558.586360] RBP: ffffffff82413940 R08: 000000cd42e4dffb R09: 00000082704a9c8a
> [ 558.587556] R10: 00000000000302ee R11: 0000000000000000 R12: 0000000000000000
> [ 558.588756] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
> [ 558.590118] default_idle+0xa/0x10
> [ 558.590769] default_idle_call+0x38/0xb0
> [ 558.591494] do_idle+0x1f7/0x270
> [ 558.592126] cpu_startup_entry+0x19/0x20
> [ 558.592857] start_kernel+0x511/0x533
> [ 558.603117] secondary_startup_64_no_verify+0xa6/0xab
> [ 558.604021] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.10.0-rc1+ #12
> [ 558.605119] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
> [ 558.606961] Call Trace:
> [ 558.607462] <IRQ>
> [ 558.607903] dump_stack+0x6b/0x83
> [ 558.608529] __warn.cold+0x24/0x75
> [ 558.609177] ? skb_warn_bad_offload+0x72/0xe0
> [ 558.609959] report_bug+0x9a/0xc0
> [ 558.610581] handle_bug+0x35/0x80
> [ 558.611212] exc_invalid_op+0x14/0x70
> [ 558.611893] asm_exc_invalid_op+0x12/0x20
> [ 558.612618] RIP: 0010:skb_warn_bad_offload+0x72/0xe0
> [ 558.613486] Code: 8d 95 c8 00 00 00 48 8d 88 e8 01 00 00 48 85 c0 48 c7 c0 18 3f 12 82 48 0f 44 c8 4c 89 e6 48 c7 c7 7f 0e 31 82 e8 b4 65 1a 00 <0f> 0b 5b 5d 41 5c c3 80 7d 00 00 49 c7 c4 b3 81 28 82 74 ac be 25
> [ 558.616519] RSP: 0018:ffffc90000003768 EFLAGS: 00010286
> [ 558.617431] RAX: 0000000000000000 RBX: ffff888104b4a900 RCX: 000000000000083f
> [ 558.618619] RDX: 0000000000000000 RSI: 00000000000000f6 RDI: 000000000000083f
> [ 558.619857] RBP: ffff888132900000 R08: ffffffff82621c28 R09: 0000000000013ffb
> [ 558.621100] R10: 00000000ffffc000 R11: 3fffffffffffffff R12: ffffffffa0a03723
> [ 558.622361] R13: ffffc90000003829 R14: 0000000000000000 R15: ffffc90000003828
> [ 558.623617] ? skb_warn_bad_offload+0x72/0xe0
> [ 558.624439] skb_checksum_help+0x10a/0x120
> [ 558.625222] ip_do_fragment+0x300/0x500
> [ 558.625958] ? tcf_frag_dst_get_mtu+0x10/0x10 [act_frag]
> [ 558.626928] ? fl_mask_lookup+0x164/0x4b0 [cls_flower]
> [ 558.627866] tcf_fragment+0x1a8/0x410 [act_frag]
> [ 558.628725] ? dst_discard_out+0x10/0x10
> [ 558.629486] ? dst_dev_put+0x60/0x60
> [ 558.630191] tcf_mirred_act+0x41f/0x457 [act_mirred]
> [ 558.631128] tcf_action_exec+0x75/0x120
> [ 558.631884] fl_classify+0x1c6/0x1d0 [cls_flower]
> [ 558.632772] __tcf_classify+0x52/0x100
> [ 558.633516] tcf_classify_ingress+0x65/0x140
> [ 558.634344] __netif_receive_skb_core+0x742/0xf10
> [ 558.635235] ? inet_gro_complete+0xa0/0xd0
> [ 558.636019] __netif_receive_skb_list_core+0xfa/0x200
> [ 558.636965] netif_receive_skb_list_internal+0x19f/0x2c0
> [ 558.637969] ? mlx5e_handle_rx_cqe_mpwrq_rep+0x158/0x200 [mlx5_core]
> [ 558.639129] napi_complete_done+0x6f/0x180
> [ 558.639934] mlx5e_napi_poll+0x13b/0x600 [mlx5_core]
> [ 558.640877] ? mlx5e_completion_event+0x3c/0x40 [mlx5_core]
> [ 558.641900] net_rx_action+0x130/0x3a0
> [ 558.642630] ? atomic_notifier_call_chain+0x54/0x70
> [ 558.643543] __do_softirq+0xc5/0x283
> [ 558.644261] asm_call_irq_on_stack+0xf/0x20
> [ 558.645061] </IRQ>
> [ 558.645541] do_softirq_own_stack+0x37/0x40
> [ 558.646357] irq_exit_rcu+0x9c/0xd0
> [ 558.647053] common_interrupt+0x74/0x130
> [ 558.647816] asm_common_interrupt+0x1e/0x40
> [ 558.648627] RIP: 0010:native_safe_halt+0xe/0x10
> [ 558.649498] Code: 02 20 48 8b 00 a8 08 75 c4 e9 7b ff ff ff cc cc cc cc cc cc cc cc cc cc cc cc cc cc e9 07 00 00 00 0f 00 2d cc 01 55 00 fb f4 <c3> 90 e9 07 00 00 00 0f 00 2d bc 01 55 00 f4 c3 cc cc 0f 1f 44 00
> [ 558.652723] RSP: 0018:ffffffff82403eb8 EFLAGS: 00000202
> [ 558.653764] RAX: ffff8882f582c900 RBX: 0000000000000000 RCX: ffff8882f582c900
> [ 558.655116] RDX: 00000000000ca6ea RSI: 7fffff7dff2b52f5 RDI: 0000000000000086
> [ 558.656387] RBP: ffffffff82413940 R08: 000000cd42e4dffb R09: 00000082704a9c8a
> [ 558.657670] R10: 00000000000302ee R11: 0000000000000000 R12: 0000000000000000
> [ 558.658939] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
> [ 558.660205] default_idle+0xa/0x10
> [ 558.660878] default_idle_call+0x38/0xb0
> [ 558.661643] do_idle+0x1f7/0x270
> [ 558.662298] cpu_startup_entry+0x19/0x20
> [ 558.663066] start_kernel+0x511/0x533
> [ 558.663787] secondary_startup_64_no_verify+0xa6/0xab
> [ 558.664746] ---[ end trace 1643bf725be8b62e ]---
> [ 558.665713] skb len=7292 headroom=78 headlen=1500 tailroom=0
> mac=(64,14) net=(78,20) trans=98
> shinfo(txflags=0 nr_frags=4 gso(size=1448 type=1 segs=5))
> csum(0x100062 ip_summed=3 complete_sw=0 valid=0 level=0)
> hash(0x0 sw=0 l4=0) proto=0x0800 pkttype=3 iif=14
> [ 558.670604] dev name=enp0s8f0_1 feat=0x0x0002010000116c13
> [ 558.671613] skb linear: 00000000: 45 00 1c 7c 94 cf 40 00 40 06 6d 9c 07 07 07 01
> [ 558.673039] skb linear: 00000010: 07 07 07 02 b9 42 13 89 7a 21 06 c9 fd 01 29 3e
> [ 558.674473] skb linear: 00000020: 80 18 01 f6 38 7f 00 00 01 01 08 0a 44 e2 8a ea
> [ 558.675894] skb linear: 00000030: 78 8a d7 32 30 31 32 33 34 35 36 37 38 39 30 31
> [ 558.677323] skb linear: 00000040: 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37
> [ 558.678755] skb linear: 00000050: 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33
> [ 558.681051] skb linear: 00000060: 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39
> [ 558.682487] skb linear: 00000070: 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35
> [ 558.683940] skb linear: 00000080: 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31
> [ 558.685390] skb linear: 00000090: 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37
> [ 558.686844] skb linear: 000000a0: 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33
> [ 558.688298] skb linear: 000000b0: 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39
> [ 558.689751] skb linear: 000000c0: 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35
> [ 558.691204] skb linear: 000000d0: 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31
> [ 558.692657] skb linear: 000000e0: 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37
> [ 558.694101] skb linear: 000000f0: 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33
> [ 558.695523] skb linear: 00000100: 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39
Hi Vlad,
I find the packet in the warning is not a defrag one. It is a gso packet.
The tcf_frag_xmit_hook should first check the mru. I think the
problem is qdisc_skb_cb(skb)->mru is not init in the sch_handle_ingress.
BR
wenxu
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-11-07 13:27 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-11-06 9:14 [PATCH v4 net-next 1/2] net/sched: act_mirred: refactor the handle of xmit wenxu
2020-11-06 9:14 ` [PATCH v4 net-next 2/2] net/sched: act_frag: add implict packet fragment support wenxu
2020-11-06 9:24 ` Marcelo Ricardo Leitner
2020-11-06 18:15 ` Vlad Buslov
2020-11-07 13:26 ` wenxu
2020-11-06 9:23 ` [PATCH v4 net-next 1/2] net/sched: act_mirred: refactor the handle of xmit Marcelo Ricardo Leitner
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.