[Bug 270644] if_bnxt: IPv6 udp traffic always routed to Tx queue 0 on BCM574xx/BCM575xx controllers

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 04 Apr 2023 17:59:57 UTC

            Bug ID: 270644
           Summary: if_bnxt: IPv6 udp traffic always routed to Tx queue 0
                    on BCM574xx/BCM575xx controllers
           Product: Base System
           Version: 12.3-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: sumit.saxena@broadcom.com

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

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.

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 ?

You are receiving this mail because:
You are the assignee for the bug.