Bug 2232081 - [BCM57504] [rhel8]vf can't receive multicast packets with trust off
Summary: [BCM57504] [rhel8]vf can't receive multicast packets with trust off
Keywords:
Status: NEW
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: dpdk
Version: 8.6
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: OVS Triage
QA Contact: Jiying Qiu
URL:
Whiteboard:
Depends On: 2226970
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-08-15 08:11 UTC by Jiying Qiu
Modified: 2023-08-15 08:14 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 2226970
Environment:
Last Closed:
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-165815 0 None None None 2023-08-15 08:14:10 UTC

Description Jiying Qiu 2023-08-15 08:11:58 UTC
+++ 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


Note You need to log in before you can comment on or make changes to this bug.