Index | Thread | Search

From:
Hrvoje Popovski <hrvoje@srce.hr>
Subject:
Re: bnxt(4) tso
To:
Jonathan Matthew <jonathan@d14n.org>, tech@openbsd.org
Date:
Tue, 9 Jan 2024 11:11:23 +0100

Download raw body.

Thread
  • Jonathan Matthew:

    bnxt(4) tso

    • Hrvoje Popovski:

      bnxt(4) tso

    • Jan Klemkow:

      bnxt(4) tso

On 9.1.2024. 6:01, Jonathan Matthew wrote:
> This implements TSO for bnxt(4).  To do TSO, the nic needs the
> MSS and the size of all packet headers in 16-bit units.  The
> bits in the tx descriptor that indicate the packet size also need
> to be set based on the MSS.
> 
> Some testing shows that it makes tcpbench print much bigger numbers.
> 
> ok?
> 

Hi,

tested on 10Gbase-T bnxt nic with tcp iperf and 1 stream while doing
ifconfig down/up and sysctl net.inet.tcp.tso=1/0


bnxt0 at pci6 dev 0 function 0 "Broadcom BCM57416" rev 0x01: fw ver
214.4.65, msix, 8 queues, address 3c:ec:ef:86:dd:de
bnxt1 at pci6 dev 0 function 1 "Broadcom BCM57416" rev 0x01: fw ver
214.4.65, msix, 8 queues, address 3c:ec:ef:86:dd:df


without diff
bnxt0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
hwfeatures=1b7<CSUM_IPv4,CSUM_TCPv4,CSUM_UDPv4,VLAN_MTU,VLAN_HWTAGGING,CSUM_TCPv6,CSUM_UDPv6>
hardmtu 9500
media: Ethernet autoselect (1000baseT full-duplex)

bnxt1: flags=8802<UP,BROADCAST,SIMPLEX,MULTICAST> mtu 1500
hwfeatures=1b7<CSUM_IPv4,CSUM_TCPv4,CSUM_UDPv4,VLAN_MTU,VLAN_HWTAGGING,CSUM_TCPv6,CSUM_UDPv6>
hardmtu 9500
media: Ethernet autoselect (10GbaseT full-duplex)


ip4
sending traffic to bnxt - 5.05 Gbits/sec
sending traffic from bnxt - 3.17 Gbits/sec

ip6
sending traffic to bnxt - 4.61 Gbits/sec
sending traffic from bnxt - 2.65 Gbits/sec



with diff
bnxt0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
hwfeatures=31b7<CSUM_IPv4,CSUM_TCPv4,CSUM_UDPv4,VLAN_MTU,VLAN_HWTAGGING,CSUM_TCPv6,CSUM_UDPv6,TSOv4,TSOv6>
hardmtu 9500
media: Ethernet autoselect (1000baseT full-duplex)

bnxt1: flags=8802<UP,BROADCAST,SIMPLEX,MULTICAST> mtu 1500
hwfeatures=31b7<CSUM_IPv4,CSUM_TCPv4,CSUM_UDPv4,VLAN_MTU,VLAN_HWTAGGING,CSUM_TCPv6,CSUM_UDPv6,TSOv4,TSOv6>
hardmtu 9500
media: Ethernet autoselect (10GbaseT full-duplex)



ip4
sending traffic to bnxt - 4.80 Gbits/sec
sending traffic from bnxt - 8.53 Gbits/sec

ip6
sending traffic to bxnt - 4.42 Gbits/sec
sending traffic from bnxt - 9.28 Gbits/sec