-
Bug
-
Resolution: Unresolved
-
Undefined
-
None
-
rhel-9.2.0
-
None
-
None
-
rhel-sst-network-fastdatapath
-
ssg_networking
-
None
-
False
-
-
None
-
None
-
None
-
None
-
If docs needed, set a value
-
-
Unspecified
-
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
- 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/14300245#task163614958
case: dpdk-sriov-vf-multicast-test
- blocks
-
RHEL-6003 [BCM57504] [rhel8]vf can't receive multicast packets with trust off
- New
- external trackers