[
{ type: install
  message: <<EOM
Add the following lines to your /boot/loader.conf
to override the built-in FreeBSD re(4) driver.

if_re_load="YES"
if_re_name="/boot/modules/if_re.ko"

By default, the size of allocated mbufs is enough
to receive the largest Ethernet frame supported
by the card.  If your memory is highly fragmented,
trying to allocate contiguous pages (more than
4096 bytes) may result in driver hangs.
For this reason the value is tunable at boot time,
e.g. if you don't need Jumbo frames you can lower
the memory requirements and avoid this issue with:

hw.re.max_rx_mbuf_sz="2048"

To enable Wake on LAN (WoL) support you might need
to set the following tunables:

hw.re.s5wol="1"
hw.re.s0_magic_packet="1"

By default the driver negotiates 802.3x flow
control with the link partner.  If a congested
peer throttles your transmit path with pause
frames (e.g. a 2.5GbE card behind a 1GbE switch),
you can disable flow control with:

hw.re.flow_control="0"

The driver programs the PCIe Max Read Request
Size for better transmit performance.  On Realtek
SoC platforms this can be disabled with:

hw.re.config_soc_lan="1"

Driver versions before 1102.01 could hang the
RTL8125 transmitter when sending small UDP
packets (e.g. IPv6 DNS queries).  This is fixed,
but if you still experience network hangs with
IPv6 enabled, you can disable the checksum
offloading by adding the following parameters to
the related ifconfig line in your /etc/rc.conf
file, and please report the issue:

-rxcsum -txcsum -rxcsum6 -txcsum6
EOM
}
]
