Did you try VPP native AVF driver [1] ? It seems we disable vlan stripping during device init. You'll need to create VF but you can use extras/scripts/vfctl script in VPP source dir.
Best ben [1] https://docs.fd.io/vpp/20.09/d1/def/avf_plugin_doc.html > -----Original Message----- > From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Mateusz > Kowalski > Sent: mardi 4 août 2020 08:51 > To: vpp-dev@lists.fd.io > Subject: Re: [vpp-dev] VLAN tags stripped and packets dropped > > To some extent answering my own question, I have found the following > thread - http://mails.dpdk.org/archives/users/2018-June/003175.html - > "[...] if adding vlan filter, the packet will be received with vlan > stripped even if the vlan_strip is disabled. It’s i40e HW limitation, > different from ixgbe" > > I wonder if this has changed, though... > > Another thing, more on the VPP side, would be a question whether I could > explicitly disable offloading VLAN filter. Any ideas regarding this part? > > > Cheers, > Mateusz > > > On 03/08/2020 16:43, Mateusz Kowalski wrote: > > > Hello everyone, > > I have a problem with VLANs being stripped off when using DPDK i40e > driver with Intel X710 10GbE even though I'm not enabling stripping in my > setup. The stripping happens as soon as I create a sub-interface. The > summary of the observed behaviour is as follows > > > * no sub-interfaces, `vlan offload: strip off filter off qinq > off`, pcap and trace [1] show proper VLAN tag on the packet received > * sub-interface created with a VLAN 979, `vlan offload: strip > off filter on qinq off`, pcap and trace [2] shows the packet received > without any VLAN with PKT_RX_VLAN_STRIPPED flag present > > * no configuration regarding VLAN stripping is in place [3] [6] > > > This problem resembles very much an issue from a few years ago - > http://mails.dpdk.org/archives/dev/2016-May/039694.html - but I did not > find anything back then what would help me resolve that one here. VPP used > is v20.05. What happens effectively is that I can't use this interface > with VLAN - as soon as I set an IP address on the sub-interface [4] and > try reaching it from the outside, it fails to exchange ARPs [5] because > the traffic enters the main interface instead of sub-interface. > > Thanks for any advice on how to proceed or whether I can debug > anything more to provide more info. > > Best, > Mateusz > > > [1] > Packet 2 > 00:00:25:799112: dpdk-input > eno5vf0chocobomb rx queue 0 > buffer 0x9bd41: current data 0, length 60, buffer-pool 0, ref- > count 1, totlen-nifb 0, trace handle 0x1000001 > ext-hdr-valid > l4-cksum-computed l4-cksum-correct > PKT MBUF: port 0, nb_segs 1, pkt_len 60 > buf_len 2176, data_len 60, ol_flags 0x180, data_off 128, > phys_addr 0x26f50c0 > packet_type 0x3 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0 > rss 0x0 fdir.hi 0x0 fdir.lo 0x0 > Packet Offload Flags > PKT_RX_IP_CKSUM_GOOD (0x0080) IP cksum of RX pkt. is valid > PKT_RX_L4_CKSUM_GOOD (0x0100) L4 cksum of RX pkt. is valid > Packet Types > RTE_PTYPE_L2_ETHER_ARP (0x0003) ARP packet > ARP: 48:df:37:b9:5d:90 -> ff:ff:ff:ff:ff:ff 802.1q vlan 979 > request, type ethernet/IP4, address size 6/4 > 48:df:37:b9:5d:90/152.88.1.8 -> 00:00:00:00:00:00/152.88.1.3 > 00:00:25:799114: ethernet-input > frame: flags 0x3, hw-if-index 1, sw-if-index 1 > ARP: 48:df:37:b9:5d:90 -> ff:ff:ff:ff:ff:ff 802.1q vlan 979 > 00:00:25:799114: error-drop > rx:eno5vf0chocobomb > 00:00:25:799115: drop > ethernet-input: unknown vlan > > [2] > Packet 34 > 20:34:17:437905: dpdk-input > eno5vf0chocobomb rx queue 0 > buffer 0x9ee4f: current data 0, length 60, buffer-pool 0, ref- > count 1, totlen-nifb 0, trace handle 0x1000021 > ext-hdr-valid > l4-cksum-computed l4-cksum-correct > PKT MBUF: port 0, nb_segs 1, pkt_len 60 > buf_len 2176, data_len 60, ol_flags 0x1c1, data_off 128, > phys_addr 0x27b9440 > packet_type 0x3 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0 > rss 0x0 fdir.hi 0x0 fdir.lo 0x0 > Packet Offload Flags > PKT_RX_VLAN (0x0001) RX packet is a 802.1q VLAN packet > PKT_RX_VLAN_STRIPPED (0x0040) RX packet VLAN tag stripped > PKT_RX_IP_CKSUM_GOOD (0x0080) IP cksum of RX pkt. is valid > PKT_RX_L4_CKSUM_GOOD (0x0100) L4 cksum of RX pkt. is valid > Packet Types > RTE_PTYPE_L2_ETHER_ARP (0x0003) ARP packet > ... > > [3] > > dpdk { > > dev 0000:b2:02.0 { > > name eno5vf0chocobomb > > } > > uio-driver vfio-pci > > } > > [4] > # show interface address > eno5vf0chocobomb (up): > eno5vf0chocobomb.979 (up): > L3 152.88.1.3/28 > > [5] > 20:34:17:437905: dpdk-input > eno5vf0chocobomb rx queue 0 > buffer 0x9ee4f: current data 0, length 60, buffer-pool 0, ref- > count 1, totlen-nifb 0, trace handle 0x1000021 > ext-hdr-valid > l4-cksum-computed l4-cksum-correct > PKT MBUF: port 0, nb_segs 1, pkt_len 60 > buf_len 2176, data_len 60, ol_flags 0x1c1, data_off 128, > phys_addr 0x27b9440 > packet_type 0x3 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0 > rss 0x0 fdir.hi 0x0 fdir.lo 0x0 > Packet Offload Flags > PKT_RX_VLAN (0x0001) RX packet is a 802.1q VLAN packet > PKT_RX_VLAN_STRIPPED (0x0040) RX packet VLAN tag stripped > PKT_RX_IP_CKSUM_GOOD (0x0080) IP cksum of RX pkt. is valid > PKT_RX_L4_CKSUM_GOOD (0x0100) L4 cksum of RX pkt. is valid > Packet Types > RTE_PTYPE_L2_ETHER_ARP (0x0003) ARP packet > ARP: 48:df:37:b8:fe:a0 -> ff:ff:ff:ff:ff:ff > request, type ethernet/IP4, address size 6/4 > 48:df:37:b8:fe:a0/152.88.1.7 -> 00:00:00:00:00:00/152.88.1.3 > 20:34:17:437906: ethernet-input > frame: flags 0x3, hw-if-index 1, sw-if-index 1 > ARP: 48:df:37:b8:fe:a0 -> ff:ff:ff:ff:ff:ff > 20:34:17:437906: arp-input > request, type ethernet/IP4, address size 6/4 > 48:df:37:b8:fe:a0/152.88.1.7 -> 00:00:00:00:00:00/152.88.1.3 > 20:34:17:437907: arp-disabled > request, type ethernet/IP4, address size 6/4 > 48:df:37:b8:fe:a0/152.88.1.7 -> 00:00:00:00:00:00/152.88.1.3 > 20:34:17:437907: error-drop > rx:eno5vf0chocobomb > 20:34:17:437907: drop > arp-disabled: ARP Disabled on this interface > > [6] > eno5vf0chocobomb 1 up eno5vf0chocobomb > Link speed: 1 Gbps > Ethernet address ce:5b:ea:e3:45:65 > Intel X710/XL710 Family VF > carrier up full duplex mtu 1500 > flags: admin-up pmd maybe-multiseg tx-offload intel-phdr-cksum > rx-ip4-cksum > Devargs: > rx: queues 1 (max 16), desc 1024 (min 64 max 4096 align 32) > tx: queues 2 (max 16), desc 1024 (min 64 max 4096 align 32) > pci: device 8086:154c subsystem 103c:0000 address 0000:b2:02.00 > numa 0 > max rx packet len: 9728 > promiscuous: unicast off all-multicast on > vlan offload: strip off filter off qinq off > rx offload avail: vlan-strip ipv4-cksum udp-cksum tcp-cksum > qinq-strip > outer-ipv4-cksum vlan-filter jumbo-frame > scatter > rx offload active: ipv4-cksum jumbo-frame scatter > tx offload avail: vlan-insert ipv4-cksum udp-cksum tcp-cksum > sctp-cksum > tcp-tso outer-ipv4-cksum qinq-insert vxlan- > tnl-tso > gre-tnl-tso ipip-tnl-tso geneve-tnl-tso > multi-segs > tx offload active: udp-cksum tcp-cksum multi-segs > rss avail: ipv4-frag ipv4-tcp ipv4-udp ipv4-sctp ipv4- > other ipv6-frag > ipv6-tcp ipv6-udp ipv6-sctp ipv6-other l2- > payload > rss active: none > tx burst function: i40e_xmit_pkts > rx burst function: i40e_recv_scattered_pkts_vec_avx2 > > rx frames ok 3426 > rx bytes ok 210688 > extended stats: > rx good packets 3426 > rx good bytes 210688 > rx bytes 210688 > rx multicast packets 521 > rx broadcast packets 2905 > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#17133): https://lists.fd.io/g/vpp-dev/message/17133 Mute This Topic: https://lists.fd.io/mt/75966985/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-