Bug 2226779

Summary: [BCM57504] [rehl9] vlan fliter with ipv6 traffic doesn't forward in dpdk testpmd
Product: Red Hat Enterprise Linux 9 Reporter: Jiying Qiu <jiqiu>
Component: dpdkAssignee: Maxime Coquelin <maxime.coquelin>
Status: NEW --- QA Contact: Hekai Wang <hewang>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 9.2CC: fleitner, ovs-qe
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jiying Qiu 2023-07-26 13:49:41 UTC
Description of problem:
sent ipv6 vlan traffic ,testpmd didn't forward

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

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)

# ethtool -i ens2f2np2
driver: bnxt_en
version: 5.14.0-284.18.1.el9_2.x86_64
firmware-version: 225.0.144.0/pkg 225.1.95.0
expansion-rom-version: 
bus-info: 0000:5e:00.2
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no

How reproducible:
always

Steps to Reproduce:
Server and Client is connected back to back
Server side : 
1. bind 2 BCM57504 ports to vfio-pci
# driverctl list-overrides
0000:5e:00.2 vfio-pci
0000:5e:00.3 vfio-pci
2.start testpmd with command - dpdk-testpmd -a 0000:5e:00.2 -a 0000:5e:00.3 -- -i --auto-start
3. use the following commands in testpmd
testpmd> set verbose 9
Change verbose level from 0 to 9
testpmd> vlan set filter on 0
testpmd> vlan set filter on 1
testpmd> rx_vlan add 2 0
testpmd> rx_vlan add 2 1
testpmd> set fwd io
Set io packet forwarding mode
testpmd> vlan set strip off 0
testpmd> vlan set strip off 1
testpmd> start

Client Side:
start scapy, sent packets
send_pkt_num = 10
size = 64
pkt = Ether()/Dot1Q(type=0x8100,vlan=2)/IPv6(src="3000::100",dst="3000::200")
pkt.dst = 'Client_nic2_mac'
payload = 10 * 'x'
pkt.add_payload(payload.encode())
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:
There should be 10 packets in testpmd, And the Client nic2 should receive 10 packets

Additional info:
send ipv4 ,it works
pkt = Ether()/Dot1Q(type=0x8100,vlan=2)

Comment 1 Jiying Qiu 2023-07-27 08:33:05 UTC
Beaker job: 
https://beaker.engineering.redhat.com/recipes/14300246#task163614963 dpdk-vlan-test