Hi Mohammed,

Are you sure packets are sent to the correct destination mac address? Looking 
at DPDK stats, it reports a lot of 'unicast packets' but only ~1800 'good 
packets' which in turn are all delivered to VPP.
The fact that xconnect works also hints toward a mac destination issue, as 
xconnect put the interfaces in promiscuous mode.
You can check by setting the interface manually in promiscuous mode and look at 
a packet trace:
vpp# set interface promiscuous on HundredGigabitEthernet86/0/0
vpp# clear trace
vpp# trace add dpdk-input 10
vpp# show trace

ben

> -----Original Message-----
> From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Mohammed
> Alshohayeb
> Sent: mardi 19 mai 2020 03:32
> To: vpp-dev@lists.fd.io
> Subject: [vpp-dev] DPDK packets received by NIC but not delivered to
> engine
> 
> I am having an issue where I see packets in the #show hardware-interfaces
> but only a very small fraction is deliver to the vlib engine
> 
> Here are the things I've tried
> 
> 
> *     Using different packet generators (pktgen/trex/tcpreplay)
> *     Using variety of physical servers
> *     All versions running from 19.01 to 20.01
> *     Tried multiple NICs (Mellanox ConnectX5) and Chelsio T6 (cxgb)
> *     Made sure checksums are ok since some NICs drop bad frames in the
> pmd
> 
> 
> The vpp.conf is straight forward
> 
> unix {
>   nodaemon
>   log /var/log/vpp/vpp.log
>   cli-listen /run/vpp/cli.sock
>   interactive
> }
> dpdk {
>     dev 0000:86:00.0
>     dev 0000:86:00.1
> }
> 
> Notes
> - When connecting the two interfaces via xconnect things work well
> - Tried using the macswap plugin and enabling it but exhibited the same
> very slow behaviour
> 
> Here is the show interface counters after pushing ~1000000 packets
> 
> 
> 
> vpp# sh hardware-interfaces
> 
>               Name                Idx   Link  Hardware
> 
> HundredGigabitEthernet86/0/0       1     up   HundredGigabitEthernet86/0/0
> 
>   Link speed: 100 Gbps
> 
>   Ethernet address ec:0d:9a:cd:94:8a
> 
>   Mellanox ConnectX-4 Family
> 
>     carrier up full duplex mtu 9206
> 
>     flags: admin-up pmd maybe-multiseg rx-ip4-cksum
> 
>     rx: queues 1 (max 65535), desc 1024 (min 0 max 65535 align 1)
> 
>     tx: queues 1 (max 65535), desc 1024 (min 0 max 65535 align 1)
> 
>     pci: device 15b3:1017 subsystem 15b3:0007 address 0000:86:00.00 numa 1
> 
>     module: unknown
> 
>     max rx packet len: 65536
> 
>     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 vlan-
> filter
> 
>                        jumbo-frame scatter timestamp keep-crc
> 
>     rx offload active: ipv4-cksum jumbo-frame scatter
> 
>     tx offload avail:  vlan-insert ipv4-cksum udp-cksum tcp-cksum tcp-tso
> 
>                        outer-ipv4-cksum vxlan-tnl-tso gre-tnl-tso multi-
> segs
> 
>                        udp-tnl-tso ip-tnl-tso
> 
>     tx offload active: multi-segs
> 
>     rss avail:         ipv4 ipv4-frag ipv4-tcp ipv4-udp ipv4-other ipv6
> ipv6-frag
> 
>                        ipv6-tcp ipv6-udp ipv6-other ipv6-tcp-ex ipv6-udp-
> ex
> 
>                        ipv6-ex ipv6-tcp-ex ipv6-udp-ex
> 
>     rss active:        none
> 
>     tx burst function: mlx5_tx_burst_vec
> 
>     rx burst function: mlx5_rx_burst
> 
> 
> 
>     rx frames ok                                        1847
> 
>     rx bytes ok                                       465972
> 
>     extended stats:
> 
>       rx good packets                                   1847
> 
>       rx good bytes                                   465972
> 
>       rx q0packets                                      1847
> 
>       rx q0bytes                                      465972
> 
>       rx port unicast packets                         100006
> 
>       rx port unicast bytes                       1034369007
> 
>       rx port multicast packets                         1838
> 
>       rx port multicast bytes                         462894
> 
>       rx port broadcast packets                            9
> 
>       rx port broadcast bytes                           3078
> 
>       rx packets phy                                 1000042
> 
>       rx bytes phy                                1038835147
> 
> 
> 
> 
> 
> 
> 
> vpp# sh int
> 
>               Name               Idx    State  MTU (L3/IP4/IP6/MPLS)
> Counter          Count
> 
> HundredGigabitEthernet86/0/0      1      up          9000/0/0/0     rx
> packets                  1856
> 
>                                                                     rx
> bytes                  467272
> 
>                                                                     drops
> 1856
> 
>                                                                     ip4
> 1816
> 
>                                                                     ip6
> 26
> 
> local0                            0     down          0/0/0/0
> 
> vpp#
> 
> You can see the packets are received in the unicast but for some reason
> they are not being forwarded to further
> 
> Is there something obvious I am missing?
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#16450): https://lists.fd.io/g/vpp-dev/message/16450
Mute This Topic: https://lists.fd.io/mt/74316945/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