From: Stefan Sperling Subject: Re: bge/bnx/iavf/igc/ix/ixl/ngbe/pcn: ifq_restart() fix To: Dmitry Bogdan Cc: tech@openbsd.org Date: Fri, 27 Jun 2025 13:53:00 +0200 On Thu, Jun 26, 2025 at 10:57:41PM +0300, Dmitry Bogdan wrote: > Hi Stephan and tech@ > I have such a great NIC as AMD Lance FastEthernet (and another one, much > more ancient 10mbit with RJ-45 and AUI interface). > > > pcn0 at pci4 dev 6 function 0 "AMD 79c970 PCnet-PCI" rev 0x25, Am79c971, > rev 5: apic 24 int 21, address 00:60:b0:eb:73:c5 > > lxtphy0 at pcn0 phy 1: LXT970, rev. 0 > > ukphy0 at pcn0 phy 31: Generic IEEE 802.3u media interface, rev. 1: OUI > 0x00001a, model 0x0001 > > I can not manage the interface to get stuck forever. Yes, when I run a > thing such as > > > iperf -u -l0 -t0 -c ${serveraddr} > > I see a tons of qdrops in kstat: > > >pcn0:0:txq:0 > > packets: 36982186 packets > > bytes: 1675836505 bytes > > qdrops: 48256453 packets > > errors: 0 packets > > qlen: 0 packets > > maxqlen: 511 packets > > oactive: false > > oactives: 4607637 > > and oactivee is set to true. > Also I can see ping drops (no buffer space avail) and delays. > > But when I stop the iperf client everything is going just fine. oactive in > kstat becomes false again. Pings are ok, browser works fine. > > Tested with 7.7 syspatch from 04 may AND with -current kernel + old 7.7 > user space + you modifications with done variable in pcn_txintr func. > Behavior is the same in both cases. Thanks for testing! So it seems no fix is needed for pcn(4) after all.