Re: rge(4) RTL8125 2.5GbE testing: 2500baseT media type not available on 16.0-CURRENT
- In reply to: Chris Longros : "rge(4) RTL8125 2.5GbE testing: 2500baseT media type not available on 16.0-CURRENT"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 16 Feb 2026 22:16:15 UTC
hi! Would you mind filing a bug? I don't have anything that does 2.5G yet and yes, the options field is what's been tested and what works. WoL could be made to work as openbsd has that support in the driver. thanks! -a On Mon, 16 Feb 2026 at 13:29, Chris Longros <chris.longros@gmail.com> wrote: > > Hi all, > > I've been testing the rge(4) driver on FreeBSD 16.0-CURRENT (main-n283549-6d37c3db62ba, Feb 2 2026) with a Realtek RTL8125 2.5GbE Controller via VFIO/PCI passthrough from a Linux (Arch) host into a QEMU/KVM virtual machine. > > The driver attaches and works — DHCP, ping, DNS resolution, and general traffic all function correctly. However, the NIC negotiates at 1000baseT only, and 2500baseT is not available as a media type. > > Attempting to set 2500baseT returns: > ifconfig rge0 media 2500baseT mediaopt full-duplex > ifconfig: unknown media subtype: 2500baseT > > The OpenBSD rge(4) man page documents the RTL8125 as capable of 2500Mbps operation, and the FreshPorts entry for net/realtek-rge-kmod lists it as a 2500baseT adapter. It appears the FreeBSD port does not yet expose this media type. > > Hardware: > Realtek RTL8125 2.5GbE Controller (rev 05) > Gigabyte subvendor (vendor=0x10ec device=0x8125 subvendor=0x1458 subdevice=0xe000) > > dmesg: > rge0: <RTL8125> port 0xc000-0xc0ff mem 0xc000000000-0xc00000ffff,0xc000010000-0xc000013fff irq 11 at device 4.0 on pci0 > rge0: Ethernet address: xx:xx:xx:xx:xx:xx > rge0: link state changed to DOWN > rge0: link state changed to UP > > pciconf -lv: > rge0@pci0:0:4:0: class=0x020000 rev=0x05 hdr=0x00 vendor=0x10ec device=0x8125 subvendor=0x1458 subdevice=0xe000 > vendor = 'Realtek Semiconductor Co., Ltd.' > device = 'RTL8125 2.5GbE Controller' > class = network > subclass = ethernet > > ifconfig rge0: > rge0: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500 > options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM> > ether xx:xx:xx:xx:xx:xx > media: Ethernet autoselect (1000baseT <full-duplex>) > status: active > > sysctl dev.rge.0 (excerpt): > dev.rge.0.mac_stats.rge_tx_er: 6 > dev.rge.0.mac_stats.rge_rx_ok: 26274 > dev.rge.0.mac_stats.rge_tx_ok: 13115 > dev.rge.0.drv_stats.intr_system_errcnt: 0 > dev.rge.0.drv_stats.tx_watchdog_timeout_cnt: 0 > dev.rge.0.drv_stats.transmit_full_cnt: 0 > dev.rge.0.drv_stats.rx_ether_csum_err: 0 > > Additional observations: > - Hardware checksum offload (IPv4, TCP, UDP) works correctly — all csum_valid counters match csum_exists. > - No system errors, no watchdog timeouts, no transmit queue overflows. > - The 6 TX errors appear related to early link negotiation. > - The options field (0x9b) is limited compared to em0 — missing TSO, LRO, jumbo frames, WoL, etc. > - Testing was via VFIO passthrough, so the NIC had direct hardware access. > > I'm happy to run additional tests or provide more data if useful. I understand the driver was recently imported from OpenBSD and is still maturing — just wanted to contribute a data point. > > Cheers, > Chris