On Fri, Feb 22, 2019 at 5:07 PM Or Gerlitz <gerlitz...@gmail.com> wrote: > > On Fri, Feb 22, 2019 at 9:49 AM Tonghao Zhang <xiangxia.m....@gmail.com> > wrote: > > > > On Fri, Feb 22, 2019 at 12:32 AM Or Gerlitz <gerlitz...@gmail.com> wrote: > > > > > > On Thu, Feb 21, 2019 at 3:42 PM <xiangxia.m....@gmail.com> wrote: > > > > > > > > From: Tonghao Zhang <xiangxia.m....@gmail.com> > > > > > > > > If we try to offload decapsulation actions to VFs hw, we get the log > > > > [1]. > > > > > > but the switching was on the tunnel type (if (tunnel_type == [...]) - > > Yes, but we try to offload tc flow to VF device. For example > > the p2p1_0 is VF, but not rep > > so this should go to the nic and not esw tc offload code path in en_tc.c nic and esw will call parse_cls_flower() to parse the flower flows, and more information is shown as below. > and the nic path (look for parse_tc_nic_actions or a like) doesn't have > a case for the tunnel key action - you should not have got to this code > at all, please look deeper to realize what is going on there, maybe p2p1_0 > is a rep? what does ip -d link show gives on it?
# ip -d link 14: eth0_p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether 98:03:9b:06:d9:09 brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 68 maxmtu 9978 addrgenmode none numtxqueues 128 numrxqueues 16 gso_max_size 65536 gso_max_segs 65535 portname p1 switchid 98039b06d909 vf 0 MAC 00:11:22:33:44:00, spoof checking off, link-state auto, trust off, query_rss off vf 1 MAC 00:11:22:33:44:01, spoof checking off, link-state auto, trust off, query_rss off 15: eth0_pf1vf0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether 8a:26:c0:33:17:2c brd ff:ff:ff:ff:ff:ff promiscuity 1 minmtu 68 maxmtu 9978 addrgenmode none numtxqueues 16 numrxqueues 16 gso_max_size 65536 gso_max_segs 65535 portname pf1vf0 switchid 98039b06d909 16: eth0_pf1vf1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether 96:34:55:5b:42:80 brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 68 maxmtu 9978 addrgenmode none numtxqueues 16 numrxqueues 16 gso_max_size 65536 gso_max_segs 65535 portname pf1vf1 switchid 98039b06d909 17: p2p1_0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether 00:11:22:33:44:00 brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 68 maxmtu 9978 addrgenmode none numtxqueues 64 numrxqueues 8 gso_max_size 65536 gso_max_segs 65535 18: p2p1_1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether 00:11:22:33:44:01 brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 68 maxmtu 9978 addrgenmode none numtxqueues 64 numrxqueues 8 gso_max_size 65536 gso_max_segs 65535 # ethtool -i p2p1_0 driver: mlx5_core version: 5.0-0 firmware-version: 14.24.1000 (MT_2420110034) bus-info: 0000:05:01.2 supports-statistics: yes supports-test: yes supports-eeprom-access: no supports-register-dump: no supports-priv-flags: yes # ethtool -i eth0_pf1vf0 driver: mlx5e_rep version: 5.0.0-rc7+ firmware-version: bus-info: supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: no supports-priv-flags: no the call trace: [ 586.669600] dump_stack+0x5a/0x73 [ 586.669651] mlx5e_tc_tun_parse+0x2c6/0x3a0 [mlx5_core] [ 586.669682] __parse_cls_flower.constprop.48+0x1b2/0xca0 [mlx5_core] [ 586.669746] parse_cls_flower+0x5d/0x110 [mlx5_core] [ 586.669771] mlx5e_configure_flower+0x40a/0x760 [mlx5_core] [ 586.669779] tc_setup_cb_call+0x55/0x80 [ 586.669787] fl_change+0x12a1/0x16b8 [cls_flower] [ 586.669797] tc_new_tfilter+0x570/0x890 [ 586.669808] rtnetlink_rcv_msg+0xed/0x320 [ 586.669817] netlink_rcv_skb+0xcb/0x100 [ 586.669822] netlink_unicast+0x17f/0x230 [ 586.669827] netlink_sendmsg+0x2d2/0x3d0