FreeBSD manual
download PDF document: axp.4.pdf
AXP(4) FreeBSD Kernel Interfaces Manual AXP(4)
NAME
axp - Advanced Micro Devices 10G Ethernet driver
SYNOPSIS
To compile this driver into the kernel, place the following lines in your
kernel configuration file:
device iflib
device axp
Alternatively, to load the driver as a module at boot time, place the
following line in loader.conf(5):
if_axp_load="YES"
DESCRIPTION
The axp driver enables PCI-E based 10G Ethernet controller inbuilt in the
AMD EPYC processors.
The following features are supported.
o 1G/10G SFP+ Link
o Jumbo frames (9000 Bytes)
o Transmit and Receive checksum offload
o TCP segmentation offload (TSO)
o VLAN tag insertion/extraction
o VLAN checksum offload
o VLAN TSO
o Receive side steering (RSS)
o IPV4 and IPV6 capable
o MSI-X interrupts
o Split header
All the above mentioned features are enabled by default.
For hardware related questions, please refer the documentation supplied
along with AMD EPYC processors.
SYSCTL VARIABLES
The following variables are available as sysctl(8) variables:
dev.ax.X.mac_stats
Dumps the transmit and receive statistics counter values for the
controller. This includes statistics specific to each transmit
and receive queue.
dev.ax.X.channels_info
Dumps the permissible and default configured transmit and receive
channel information.
dev.ax.X.ringparam_info
Dumps the permissible and default configured descriptor
information for the transmit and receive queue.
dev.ax.X.link_ksettings_info
Dumps the current link setting like link mode, speed, duplex
settings.
dev.ax.X.link_info
Dumps the current state of the Link.
dev.ax.X.drv_info
Dumps the driver and controller firmware version information.
dev.ax.X.YYYY_register
dev.ax.X.YYYY_register_values
Sysctl to dump a specific register from a specific block of the
controller. YYYY specifies the block. The following blocks are
supported.
o xpcs
o xgmac
o xprop
o xi2c
Set the offset of the register to the first variable, and then
read the value of the register by reading the second variable.
dev.ax.X.axgbe_debug_level
Configure the log-level for the driver. Default is 0. Supports
0-3.
dev.ax.X.link_workaround
This variable enables the workaround for an intermittent link
issue. When link does not come up for long time, this variable
can be set to 1 to reset the phy and bring up the link.
LOADER TUNABLES
The following variable is available as loader.conf(5) tunable.
dev.ax.X.sph_enable
This variable controls split header feature for the interface.
Default is 1, meaning the split header support is enabled.
This variable must be set before loading the driver, either via
loader.conf(5) or through kenv(1). This cannot be modified when
driver is loaded.
Setting this variable in loader.conf(5) needs the system to be
restarted to take effect. When using kenv(1), use the wrapper
variable dev.ax.sph_enable, which will configure(enable/disable)
split header support for all axp interfaces.
To use netmap with this device, split header support must be
disabled (set this variable to 0).
SEE ALSO
arp(4), iflib(4), netmap(4), vlan(4), ifconfig(8)
HISTORY
The axp device driver first appeared in FreeBSD 13.0.
Another version of the driver is already present in FreeBSD. This driver
was named as "axgbe" earlier, which is renamed as "axa" now. This driver
is for the ACPI based Ethernet controllers in the previous/older version
of the hardware. This driver is authored by <andrew@FreeBSD.org>.