Bug 270644 - if_bnxt: IPv6 udp traffic always routed to Tx queue 0 on BCM574xx/BCM575xx controllers
Summary: if_bnxt: IPv6 udp traffic always routed to Tx queue 0 on BCM574xx/BCM575xx co...
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 12.3-RELEASE
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-net (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-04-04 17:59 UTC by Sumit Saxena
Modified: 2023-04-05 00:50 UTC (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sumit Saxena 2023-04-04 17:59:57 UTC
BCM574xx/BCM575xx controllers are managed by "if_bnxt" driver module. I am observing an issue with these controllers while running IPv6 UDP traffic. The traffic is always routed to Tx queue 0 even though more than one Tx queues are configured. 

Network topology: SUT1(BCM574xx) <---> Switch <---> SUT2/(BCM574xx)

Steps to reproduce:

1. Run iperf server on SUT2:
iperf3 -s

2. Run iperf client on SUT1(System under test): 
iperf3 -c ::<SUT2_address> -P 32 -t 3600 -l 1000 -w 1000 -u 

3. Checked Tx packet stats from sysctl and observed that all packets are routed to txq0. 

# sysctl dev.bnxt.2.hwstats | grep ucast_pkts | grep txq
dev.bnxt.2.hwstats.txq9.ucast_pkts: 0
dev.bnxt.2.hwstats.txq8.ucast_pkts: 0
dev.bnxt.2.hwstats.txq7.ucast_pkts: 0
dev.bnxt.2.hwstats.txq6.ucast_pkts: 0
dev.bnxt.2.hwstats.txq5.ucast_pkts: 0
dev.bnxt.2.hwstats.txq4.ucast_pkts: 0
dev.bnxt.2.hwstats.txq3.ucast_pkts: 0
dev.bnxt.2.hwstats.txq2.ucast_pkts: 0
dev.bnxt.2.hwstats.txq1.ucast_pkts: 6
dev.bnxt.2.hwstats.txq0.ucast_pkts: 105706

Expected results:
IPv6 udp traffic should be fairly distributed among all Tx queues.

Note: 
The same issue is not observed with IPv4 UDP traffic. 

Selection of Tx queue is done by FreeBSD "iflib" layer.
Is it a iflib layer issue ? or the driver missed to do certain settings ?