+++ 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 # 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 # ip li set ens2f2v0 promisc on # ip li set ens2f3v0 promisc on # ip li set ens2f3v0 allmulticast on # 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) # 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