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

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

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • rhel-8.6.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

      +++ This bug was initially created as a clone of Bug #2226970 +++

      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):
      4.18.0-372.70.1.el8_6.x86_64
      dpdk-21.11-2.el8_6.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/14425585#task164650001
      case: dpdk-sriov-vf-multicast-test

      — Additional comment from Jiying Qiu on 2023-07-27 07:58:31 UTC —

      Card info:
      5e:00.2 Ethernet controller: Broadcom Inc. and subsidiaries BCM57504 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet (rev 11)
      5e:00.3 Ethernet controller: Broadcom Inc. and subsidiaries BCM57504 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet (rev 11)

      1. lspci -s 5e:00.2 -vv
        5e:00.2 Ethernet controller: Broadcom Inc. and subsidiaries BCM57504 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet (rev 11)
        Subsystem: Broadcom Inc. and subsidiaries Device 4250
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 73
        NUMA node: 0
        IOMMU group: 83
        Region 0: Memory at bf010000 (64-bit, prefetchable) [size=64K]
        Region 2: Memory at ba000000 (64-bit, prefetchable) [size=16M]
        Region 4: Memory at bf088000 (64-bit, prefetchable) [size=32K]
        Expansion ROM at b8900000 [disabled] [size=512K]
        Capabilities: [48] Power Management version 3
        Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
        Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=1 PME-
        Capabilities: [50] Vital Product Data
        Product Name: Broadcom NetXtreme E-Series Quad-port 25Gb SFP28 PCIe Ethernet Adapter
        Read-only fields:
        [PN] Part number: BCM957504-P425G
        [MN] Manufacture ID: 14E4
        [V0] Vendor specific: 225.1.95.0
        [V1] Vendor specific: 225.0.144.0
        [V3] Vendor specific: 225.0.144.0
        [V6] Vendor specific: 225.0.144.0
        [V7] Vendor specific: 0.0.0
        [V9] Vendor specific: 0.0.0
        [VB] Vendor specific: REV015DEV000
        [SN] Serial number: P425G2148000KYFV
        [RV] Reserved: checksum good, 109 byte(s) reserved
        End
        Capabilities: [a0] MSI-X: Enable+ Count=256 Masked-
        Vector table: BAR=4 offset=00000000
        PBA: BAR=4 offset=00004000
        Capabilities: [ac] Express (v2) Endpoint, MSI 00
        DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <4us, L1 <64us
        ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 75.000W
        DevCtl: CorrErr- NonFatalErr+ FatalErr+ UnsupReq+
        RlxdOrd+ ExtTag+ PhantFunc- AuxPwr+ NoSnoop+ FLReset-
        MaxPayload 256 bytes, MaxReadReq 4096 bytes
        DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr+ TransPend-
        LnkCap: Port #0, Speed 16GT/s, Width x16, ASPM not supported
        ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
        LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
        LnkSta: Speed 8GT/s (downgraded), Width x8 (downgraded)
        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
        DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR+
        10BitTagComp+ 10BitTagReq+ OBFF Via WAKE#, ExtFmt- EETLPPrefix-
        EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
        FRS- TPHComp- ExtTPHComp-
        AtomicOpsCap: 32bit- 64bit- 128bitCAS-
        DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis- LTR- OBFF Disabled,
        AtomicOpsCtl: ReqEn-
        LnkSta2: Current De-emphasis Level: 3.5dB, EqualizationComplete EqualizationPhase1-
        EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
        Retimer- 2Retimers- CrosslinkRes: unsupported
        Capabilities: [100 v1] Advanced Error Reporting
        UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
        UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt+ RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
        UESvrt: DLP+ SDES+ TLP+ FCP+ CmpltTO+ CmpltAbrt+ UnxCmplt- RxOF+ MalfTLP+ ECRC+ UnsupReq- ACSViol-
        CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
        CEMsk: RxErr- BadTLP+ BadDLLP+ Rollover+ Timeout+ AdvNonFatalErr+
        AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn+ ECRCChkCap+ ECRCChkEn+
        MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
        HeaderLog: 00000000 00000000 00000000 00000000
        Capabilities: [13c v1] Device Serial Number 5c-6f-69-ff-fe-82-8f-60
        Capabilities: [150 v1] Power Budgeting <?>
        Capabilities: [180 v1] Vendor Specific Information: ID=0000 Rev=0 Len=020 <?>
        Capabilities: [1b8 v1] Alternative Routing-ID Interpretation (ARI)
        ARICap: MFVC- ACS-, Next Function: 3
        ARICtl: MFVC- ACS-, Function Group: 0
        Capabilities: [1c0 v1] Single Root I/O Virtualization (SR-IOV)
        IOVCap: Migration-, Interrupt Message Number: 000
        IOVCtl: Enable+ Migration- Interrupt- MSE+ ARIHierarchy-
        IOVSta: Migration-
        Initial VFs: 8, Total VFs: 8, Number of VFs: 1, Function Dependency Link: 02
        VF offset: 270, stride: 1, Device ID: 1806
        Supported Page Size: 000005ff, System Page Size: 00000001
        Region 0: Memory at 00000000bf180000 (64-bit, prefetchable)
        Region 2: Memory at 00000000bd800000 (64-bit, prefetchable)
        Region 4: Memory at 00000000bf090000 (64-bit, prefetchable)
        VF Migration: offset: 00000000, BIR: 0
        Capabilities: [230 v1] Transaction Processing Hints
        Interrupt vector mode supported
        Device specific mode supported
        Steering table in MSI-X table
        Kernel driver in use: bnxt_en
        Kernel modules: bnxt_en

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

                Created:
                Updated: