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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to