Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-5997

[BCM57504] [rhel9]vf can't receive multicast packets with trust off

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • rhel-9.2.0
    • dpdk
    • None
    • None
    • rhel-sst-network-fastdatapath
    • ssg_networking
    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • If docs needed, set a value
    • None

      Description of problem:
      set vf trust off, then start testpmd and setup mcast_addr inside testpmd, The vf can't receive multicast packets

      Version-Release number of selected component (if applicable):
      5.14.0-284.18.1.el9_2.x86_64
      dpdk-22.11-4.el9.x86_64

      How reproducible:
      always

      Steps to Reproduce:
      Server and Client is connected back to back
      Server side :
      1. create 1 vf on each PF
      5f:02.0 Ethernet controller: Broadcom Inc. and subsidiaries BCM5750X NetXtreme-E Ethernet Virtual Function (rev 11)
      5f:03.0 Ethernet controller: Broadcom Inc. and subsidiaries BCM5750X NetXtreme-E Ethernet Virtual Function (rev 11)

      2. set trust off on vfs
      #ip li set ens2f2np2 vf 0 trust off
      #ip li set ens2f3np3 vf 0 trust off

      1. ip link
        113: ens2f2np2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
        link/ether 5c:6f:69:82:8f:62 brd ff:ff:ff:ff:ff:ff
        vf 0 link/ether c6:aa:3c:5e:68:dc brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
        altname enp94s0f2np2
        114: ens2f3np3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
        link/ether 5c:6f:69:82:8f:63 brd ff:ff:ff:ff:ff:ff
        vf 0 link/ether f6:4b:e7:c1:23:96 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
        altname enp94s0f3np3

      3.bind vf to vfio-pci, then start testpmd
      #driverctl set-override 0000:5f:02.0 vfio-pci
      #driverctl set-override 0000:5f:03.0 vfio-pci
      #dpdk-testpmd -a 0000:5f:02.0 -a 0000:5f:03.0 – -i --auto-start

      4.setup mcast_addr in testpmd
      testpmd> stop
      testpmd> set verbose 9
      Change verbose level from 0 to 9
      testpmd> mcast_addr add 0 33:33:f8:f8:f8:f8
      testpmd> mcast_addr add 1 33:33:f8:f8:f8:f8
      testpmd> start

      Client side:
      1. start scapy, sent multicast packets
      send_pkt_num = 10
      size = 64
      pkt = Ether()/IP(src="1.1.1.1",dst="2.2.2.2")
      payload = max(0, size - len(pkt)) * 'x'
      pkt.add_payload(payload.encode())
      pkt.dst= "33:33:f8:f8:f8:f8"
      pkt.show()
      sendp(pkt,count=send_pkt_num,inter=1,iface='Client_nic1_name')

      Actual results:
      There is no packet captured in testpmd

      Expected results:
      capture packets in testpmd

      Additional info:
      I test kernel vf with trust off,promisc on,allmulticast on. The vf can receive packets

      1. ip li set ens2f2v0 promisc on
      2. ip li set ens2f3v0 promisc on
      3. ip li set ens2f3v0 allmulticast on
      4. ip li set ens2f2v0 allmulticast on

      and then I set "set allmulti all on" and "set promisc all on" inside testpmd,there still no packets received in testpmd.

      Beaker job:
      https://beaker.engineering.redhat.com/recipes/14300245#task163614958
      case: dpdk-sriov-vf-multicast-test

              mcoqueli@redhat.com Maxime Coquelin
              rh-ee-jiqiu Jiying Qiu
              Maxime Coquelin Maxime Coquelin
              Hekai Wang Hekai Wang
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: