RGE(4)

NAME
rge - RealTek RTL8125/RTL8126/RTL8127/Killer E3000 PCIe Ethernet adapter driver

SYNOPSIS
To compile this driver into the kernel, place the following lines in your kernel configuration file:

device rge

Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):

    if_rge_load="YES"

DESCRIPTION
The rge driver provides support for various NICs based on the RealTek RTL8125, RTL8126 and RTL8127 PCIe Ethernet controllers.

All of the NICs supported by this driver support 10, 100 and 1000Mbit over CAT5 cable. NICs based on the RTL8125 additionally support 2.5Gbit over CAT6 cable. NICs based on the RTL8126 additionally support 2.5Gbit and 5Gbit over CAT6 cable. NICs based on the RTL8127 additionally support 2.5Gbit, 5Gbit and 10Gbit over CAT6 cable.

All NICs supported by the rge driver have TCP/IP checksum offload, hardware VLAN tagging/insertion features, Wake On Lan (WOL), and use a descriptor-based DMA mechanism. They are also capable of TCP large send (TCP segmentation offload).

The RTL8125, RTL8126 and RTL8127 devices are single-chip solutions combining both a MAC and PHY. The rge driver manages the PHY directly rather than using the miibus(4) interface. Standalone cards are available in 1x PCIe models.

The RTL8125, RTL8126 and RTL8127 also support jumbo frames, which can be configured via the interface MTU setting. The MTU is limited to 9126. Selecting an MTU larger than 1500 bytes with the ifconfig(8) utility configures the adapter to receive and transmit jumbo frames.

The rge driver supports the following media types:

autoselect
    Enable autoselection of the media type and options. The user can manually override the autoselected mode by adding media options to rc.conf(5).

10baseT/UTP
    Set 10Mbps operation. The ifconfig(8) mediaopt option can also be used to select either full-duplex or half-duplex modes.

100baseTX
    Set 100Mbps (Fast Ethernet) operation. The ifconfig(8) mediaopt option can also be used to select either full-duplex or half-duplex modes.

1000baseT
    Set 1000baseT operation over twisted pair. The RealTek gigE chips support 1000Mbps in full-duplex mode only.

2500Base-T
    Set 2500Base-T operation over twisted pair. The RealTek devices support 2.5Gbit in full-duplex mode only.

5000Base-T
    Set 5000Base-T operation over twisted pair. The RealTek devices support 5Gbit in full-duplex mode only.

10Gbase-T
    Set 10Gbase-T operation over twisted pair. The RealTek devices support 10Gbit in full-duplex mode only.

The rge driver supports the following media options:

full-duplex
    Force full duplex operation.

half-duplex
    Force half duplex operation.

For more information on configuring this device, see ifconfig(8).

HARDWARE
The rge driver supports the following PCIe Ethernet adapters:

•   RealTek RTL8125 (up to 2.5 Gbps)
•   RealTek RTL8126 (up to 5 Gbps)
•   RealTek RTL8127 (up to 10 Gbps)
•   Killer E3000 (up to 2.5 Gbps)
•   Killer E5000 (up to 5 Gbps)

SYSCTL VARIABLES
The following variables are available as both sysctl(8) variables and loader(8) tunables:

dev.rge.%d.debug
    Configure runtime debug output. This is a 32 bit bitmask.

dev.rge.%d.rx_process_limit
    Maximum number of RX packets to process per interrupt. The default value is 16. Increasing this value may improve throughput on high-speed links at the cost of increased interrupt latency.

dev.rge.%d.disable_aspm
    Disable PCIe Active State Power Management (ASPM) and Extended Configuration Power Management (ECPM). The default value is 0 (leave ASPM enabled). Setting this to 1 reduces latency at the cost of increased power consumption. This tunable can only be set in loader.conf(5) and requires a reboot to take effect.

DIAGNOSTICS

rge%d: watchdog timeout The device has stopped responding to the network, or there is a problem with the network connection (cable).

SEE ALSO
altq(4), arp(4), miibus(4), netintro(4), ng_ether(4), polling(4), re(4), vlan(4), ifconfig(8) https://www.realtek.com/.

HISTORY
The rge device driver first appeared in FreeBSD 16.0.

AUTHORS
The rge driver was written by Kevin Lo <kevlo@openbsd.org> and ported to FreeBSD by Adrian Chadd <adrian@freebsd.org>.