From: Hrvoje Popovski Subject: Re: bnxt(4) tso To: Jonathan Matthew , tech@openbsd.org Date: Tue, 9 Jan 2024 11:11:23 +0100 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 mtu 1500 hwfeatures=1b7 hardmtu 9500 media: Ethernet autoselect (1000baseT full-duplex) bnxt1: flags=8802 mtu 1500 hwfeatures=1b7 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 mtu 1500 hwfeatures=31b7 hardmtu 9500 media: Ethernet autoselect (1000baseT full-duplex) bnxt1: flags=8802 mtu 1500 hwfeatures=31b7 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