A few days ago I received a new Intel 12th gen Thinkpad with an Intel I219-V ADL(16) NIC:
The NIC is recognized OOTB with 13.1-RELEASE as well as 13.2-RC1 (which is currently installed), however, it only works reliable (or at all) with MTU set at 5360 or higher. Anything lower and performance is absolutely horrible (e.g. scp few kb/sec) with constant connection stalls/drops and the interface going dark for a few seconds every now and then. Ping times fluctuate heavily between ~1ms to 20+ms with occasional drops to >1000s and going dark for several seconds if I try to put some load (e.g. file transfer via scp) on the interface. dmesg never shows any errors and no link state up/down when the interface goes silent.
As soon as I set MTU=5360 or higher, ping runs stable with ~1ms ping times to/from my workstation on the same switch and transfer speeds with scp are above 100MB/s and stable.
I already tried disabling LRO and checksum offloading, which doesn't affect this behaviour in any way.
I have no issues using jumbo frame MTUs as a workaround b/c MTU discovery seems to work perfectly fine and on switches or to/from hosts with an MTU of 1500 connections so far have been reliable stable; but a properly working driver would be more convenient and correct IMHO. (also using different MTUs within an infrastructure always bites back at some time...)
I'm currently running 13.2-RC1 but I've also observed those connection problems with ssh being very laggy and dropping connections every 1-2mins with 13.1-RELEASE which I installed first. RC isn't supported here, so I can switch back to 13.1-RELEASE for testing if required.
Code:
# grep em0 /var/run/dmesg.boot
em0: <Intel(R) I219-V ADL(16)> mem 0xbc300000-0xbc31ffff at device 31.6 on pci0
em0: EEPROM V0.5-4
em0: Using 1024 TX descriptors and 1024 RX descriptors
em0: Using an MSI interrupt
em0: Ethernet address: e8:80:88:5b:44:44
em0: netmap queues/slots: TX 1/1024, RX 1/1024
em0: link state changed to UP
# pciconf -l | grep em0
em0@pci0:0:31:6: class=0x020000 rev=0x01 hdr=0x00 vendor=0x8086 device=0x1a1f subvendor=0x17aa subdevice=0x22e8
The NIC is recognized OOTB with 13.1-RELEASE as well as 13.2-RC1 (which is currently installed), however, it only works reliable (or at all) with MTU set at 5360 or higher. Anything lower and performance is absolutely horrible (e.g. scp few kb/sec) with constant connection stalls/drops and the interface going dark for a few seconds every now and then. Ping times fluctuate heavily between ~1ms to 20+ms with occasional drops to >1000s and going dark for several seconds if I try to put some load (e.g. file transfer via scp) on the interface. dmesg never shows any errors and no link state up/down when the interface goes silent.
As soon as I set MTU=5360 or higher, ping runs stable with ~1ms ping times to/from my workstation on the same switch and transfer speeds with scp are above 100MB/s and stable.
I already tried disabling LRO and checksum offloading, which doesn't affect this behaviour in any way.
I have no issues using jumbo frame MTUs as a workaround b/c MTU discovery seems to work perfectly fine and on switches or to/from hosts with an MTU of 1500 connections so far have been reliable stable; but a properly working driver would be more convenient and correct IMHO. (also using different MTUs within an infrastructure always bites back at some time...)
I'm currently running 13.2-RC1 but I've also observed those connection problems with ssh being very laggy and dropping connections every 1-2mins with 13.1-RELEASE which I installed first. RC isn't supported here, so I can switch back to 13.1-RELEASE for testing if required.