DPDK patches and discussions
 help / color / mirror / Atom feed
From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [dpdk-dev] [Bug 312] i40evf could not receive mulicast packets
Date: Wed, 10 Jul 2019 04:16:21 +0000	[thread overview]
Message-ID: <bug-312-3@http.bugs.dpdk.org/> (raw)

https://bugs.dpdk.org/show_bug.cgi?id=312

            Bug ID: 312
           Summary: i40evf could not receive mulicast packets
           Product: DPDK
           Version: 19.05
          Hardware: x86
                OS: Linux
            Status: CONFIRMED
          Severity: major
          Priority: Normal
         Component: ethdev
          Assignee: dev@dpdk.org
          Reporter: tb.bingel@qq.com
  Target Milestone: ---

Hi all, 

I found i40e with SRIOV mode, the vf in DPDK could not receive the multicast
packets. Was it a bug?


> Testing Environment:

>> network card : Ethernet controller: Intel Corporation Ethernet Controller
>> XL710 for 40GbE QSFP
>> CPU : Intel(R) Xeon(R) Silver 4116 CPU @ 2.10GHz
>> OS : Ubuntu 16.04
>> DPDK: 19.05

> Testing Steps:

====================================
# Step 1. Start to send multicast continuously from one PC
$ python multicast.py -I 192.168.99.142 "hello world"
Thu, 04 Jul 2019 11:53:23 DEBUG    Joined the multicast network: 224.0.0.5 on
192.168.99.142
Thu, 04 Jul 2019 11:53:23 INFO     Sent data: '000000001 1562212403.14 hello
world'
Thu, 04 Jul 2019 11:53:24 INFO     Sent data: '000000002 1562212404.14 hello
world'
Thu, 04 Jul 2019 11:53:25 INFO     Sent data: '000000003 1562212405.14 hello
world'
Thu, 04 Jul 2019 11:53:26 INFO     Sent data: '000000004 1562212406.14 hello
world'


# Step 2. Test VF in NONE-dpdk mode can receive multicast
$ sudo ./dpdk-devbind.py -s

Network devices using DPDK-compatible driver
============================================

Network devices using kernel driver
===================================
0000:19:00.0 'I350 Gigabit Network Connection 1521' if=eth0 drv=igb
unused=igb_uio *Active*
0000:3b:00.0 'Ethernet Controller XL710 for 40GbE QSFP+ 1583' if=eth4 drv=i40e
unused=igb_uio *Active*
0000:3b:00.1 'Ethernet Controller XL710 for 40GbE QSFP+ 1583' if=eth5 drv=i40e
unused=igb_uio
0000:3b:0a.0 'Ethernet Virtual Function 700 Series 154c' if=eth6 drv=i40evf
unused=igb_uio      <<<<  VF 

$ sudo ifconfig eth6 192.168.99.141/24   #   <<< configure IP for VF
$ sudo ifconfig eth5 up      # <<<<   configure PF interface to UP/Running
status


$ sudo tcpdump -i eth6 -n -A -XX host 192.168.99.142 &  # <<<< start to capture
on VF card
...   <<<<<<<<<<   noting
$ sudo ip maddr add 01:00:5e:00:00:05 dev eth6   # <<<< configure maddr for VF

$ sudo tcpdump -i eth6 -n -A -XX host 192.168.99.142
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth6, link-type EN10MB (Ethernet), capture size 262144 bytes
12:00:21.075607 IP 192.168.99.142.56250 > 224.0.0.5.5405: UDP, length 34
        0x0000:  0100 5e00 0005 f8f2 1e35 e651 0800 4500  ..^......5.Q..E.
        0x0010:  003e c9c2 4000 0111 abb0 c0a8 638e e000  .>..@.......c...
        0x0020:  0005 dbba 151d 002a f9de 3030 3030 3030  .......*..000000
        0x0030:  3431 3120 3135 3632 3231 3238 3231 2e31  411.1562212821.1
        0x0040:  2068 656c 6c6f 2077 6f72 6c64            .hello.world
12:00:22.077017 IP 192.168.99.142.56250 > 224.0.0.5.5405: UDP, length 35
        0x0000:  0100 5e00 0005 f8f2 1e35 e651 0800 4500  ..^......5.Q..E.
        0x0010:  003f caa4 4000 0111 aacd c0a8 638e e000  .?..@.......c...
        0x0020:  0005 dbba 151d 002b 247f 3030 3030 3030  .......+$.000000
        0x0030:  3431 3220 3135 3632 3231 3238 3232 2e31  412.1562212822.1
        0x0040:  3120 6865 6c6c 6f20 776f 726c 64         1.hello.world
12:00:23.078429 IP 192.168.99.142.56250 > 224.0.0.5.5405: UDP, length 35
 <<<< captured the multicast

Step 3: Test VF in DPDK mode could NOT receive multicast
$ sudo ifconfig eth6 down
$ sudo ./dpdk-devbind.py -b igb_uio eth6  # <<<<< bind vf to igb_uio

$ sudo ./build/kni -l 0-5 -n 4 -- -P -p 0x1 -m --config="(0,1,3)"  # <<<< 
start KNI program    
EAL: Detected 48 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Probing VFIO support...
EAL: PCI device 0000:19:00.0 on NUMA socket 0
EAL:   probe driver: 8086:1521 net_e1000_igb
EAL: PCI device 0000:19:00.1 on NUMA socket 0
EAL:   probe driver: 8086:1521 net_e1000_igb
EAL: PCI device 0000:19:00.2 on NUMA socket 0
EAL:   probe driver: 8086:1521 net_e1000_igb
EAL: PCI device 0000:19:00.3 on NUMA socket 0
EAL:   probe driver: 8086:1521 net_e1000_igb
EAL: PCI device 0000:3b:00.0 on NUMA socket 0
EAL:   probe driver: 8086:1583 net_i40e
EAL: PCI device 0000:3b:00.1 on NUMA socket 0
EAL:   probe driver: 8086:1583 net_i40e
EAL: PCI device 0000:3b:0a.0 on NUMA socket 0
EAL:   probe driver: 8086:154c net_i40e_vf
APP: Initialising port 0 ...

Checking link status
done
Port0 Link Up - speed 40000Mbps - full-duplex
APP: ========================
APP: KNI Running
APP: kill -SIGUSR1 140041
APP:     Show KNI Statistics.
APP: kill -SIGUSR2 140041
APP:     Zero KNI Statistics.
APP: ========================
APP: Lcore 1 is reading from port 0
APP: Lcore 2 has nothing to do
APP: Lcore 3 is writing to port 0
APP: Lcore 4 has nothing to do
APP: Lcore 0 has nothing to do
APP: Lcore 5 has nothing to do
APP: Configure network interface of 0 up
APP: vEth0 NIC Link is Up 40000 Mbps (AutoNeg) Full Duplex.

$ sudo ifconfig vEth0 192.168.99.141/24 up  # <<< configure KNI interface

$ sudo ip maddr add 01:00:5e:00:00:05 dev vEth0  # <<<< configure maddr for VF

$ sudo tcpdump -i vEth0 -n -A -XX -v host 192.168.99.142  # <<< start to
capture
...  <<< NOTHING

$ sudo ifconfig vEth0 allmulti   # <<<<  configure allmulti for VF in KNI
$ sudo ifconfig vEth0 promisc    # <<<<  configure promisc for VF in KNI

$ sudo tcpdump -i vEth0 -n -A -XX -v host 192.168.99.142
...  <<<<<< still NOTHING

-- 
You are receiving this mail because:
You are the assignee for the bug.

                 reply	other threads:[~2019-07-10  4:16 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-312-3@http.bugs.dpdk.org/ \
    --to=bugzilla@dpdk.org \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).