xref: /freebsd/share/man/man4/axp.4 (revision e0c4386e7e71d93b0edc0c8fa156263fc4a8b0b6)
1.\" Copyright (c) 2020, Advanced Micro Devices Inc.
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions are met:
6.\"
7.\" 1. Redistributions of source code must retain the above copyright notice,
8.\"    this list of conditions and the following disclaimer.
9.\"
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\"    notice, this list of conditions and the following disclaimer in the
12.\"    documentation and/or other materials provided with the distribution.
13.\"
14.\" 3. Neither the name of Advanced Micro Devices Inc., nor the names of its
15.\"    contributors may be used to endorse or promote products derived from
16.\"    this software without specific prior written permission.
17.\"
18.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19.\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21.\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28.\" POSSIBILITY OF SUCH DAMAGE.
29.\"
30.\" * Other names and brands may be claimed as the property of others.
31.\"
32.Dd February 19, 2021
33.Dt AXP 4
34.Os
35.Sh NAME
36.Nm axp
37.Nd "Advanced Micro Devices 10G Ethernet driver"
38.Sh SYNOPSIS
39To compile this driver into the kernel,
40place the following lines in your
41kernel configuration file:
42.Bd -ragged -offset indent
43.Cd "device iflib"
44.Cd "device axp"
45.Ed
46.Pp
47Alternatively, to load the driver as a
48module at boot time, place the following line in
49.Xr loader.conf 5 :
50.Bd -literal -offset indent
51if_axp_load="YES"
52.Ed
53.Sh DESCRIPTION
54The
55.Nm
56driver enables PCI-E based 10G Ethernet controller inbuilt in the
57AMD EPYC processors.
58.Pp
59The following features are supported.
60.Pp
61.Bl -bullet -compact
62.It
631G/10G SFP+ Link
64.It
65Jumbo frames (9000 Bytes)
66.It
67Transmit and Receive checksum offload
68.It
69TCP segmentation offload (TSO)
70.It
71VLAN tag insertion/extraction
72.It
73VLAN checksum offload
74.It
75VLAN TSO
76.It
77Receive side steering (RSS)
78.It
79IPV4 and IPV6 capable
80.It
81MSI-X interrupts
82.It
83Split header
84.El
85.Pp
86All the above mentioned features are enabled by default.
87.Pp
88For hardware related questions, please refer the documentation supplied
89along with AMD EPYC processors.
90.Sh SYSCTL VARIABLES
91The following variables are available as
92.Xr sysctl 8
93variables:
94.Bl -tag -width indent
95.It Va dev.ax.X.mac_stats
96Dumps the transmit and receive statistics counter values for the controller.
97This includes statistics specific to each transmit and receive queue.
98.It Va dev.ax.X.channels_info
99Dumps the permissible and default configured transmit and receive channel
100information.
101.It Va dev.ax.X.ringparam_info
102Dumps the permissible and default configured descriptor information for the
103transmit and receive queue.
104.It Va dev.ax.X.link_ksettings_info
105Dumps the current link setting like link mode, speed, duplex settings.
106.It Va dev.ax.X.pauseparam_info
107Dumps the current flow-control settings.
108.It Va dev.ax.X.coalesce_info
109Dumps the current interrupt coalescing settings.
110.It Va dev.ax.X.link_info
111Dumps the current state of the Link.
112.It Va dev.ax.X.drv_info
113Dumps the driver and controller firmware version information.
114.It Va dev.ax.X.YYYY_register
115.It Va dev.ax.X.YYYY_register_values
116Sysctl to dump a specific register from a specific block of the controller.
117YYYY specifies the block.
118The following blocks are supported.
119.Bl -bullet -compact
120.It
121xpcs
122.It
123xgmac
124.It
125xprop
126.It
127xi2c
128.El
129.Pp
130Set the offset of the register to the first variable, and then read the value
131of the register by reading the second variable.
132.It Va dev.ax.X.axgbe_debug_level
133Configure the log-level for the driver.
134Default is 0.
135Supports 0-3.
136.It Va dev.ax.X.link_workaround
137This variable enables the workaround for an intermittent link issue.
138When link does not come up for long time, this variable can be set to 1 to
139reset the phy and bring up the link.
140.El
141.Sh LOADER TUNABLES
142The following variable is available as
143.Xr loader.conf 5
144tunable.
145.Bl -tag -width indent
146.It Va dev.ax.X.sph_enable
147This variable controls split header feature for the interface.
148Default is 1, meaning the split header support is enabled.
149.Pp
150This variable must be set before loading the driver, either via
151.Xr loader.conf 5
152or through
153.Xr kenv 1 .
154This cannot be modified when driver is loaded.
155.Pp
156Setting this variable in
157.Xr loader.conf 5
158needs the system to be restarted to take effect.
159When using
160.Xr kenv 1 ,
161use the wrapper variable
162.Va dev.ax.sph_enable ,
163which will configure(enable/disable) split header support for all
164.Nm
165interfaces.
166.Pp
167To use netmap with this device, split header support must be disabled
168(set this variable to 0).
169.El
170.Sh SEE ALSO
171.Xr arp 4 ,
172.Xr iflib 4 ,
173.Xr netmap 4 ,
174.Xr vlan 4 ,
175.Xr ifconfig 8
176.Sh HISTORY
177The
178.Nm
179device driver first appeared in
180.Fx 13.0 .
181.Pp
182Another version of the driver is already present in
183.Fx .
184This driver was named as "axgbe" earlier, which is renamed as "axa" now.
185This driver is for the ACPI based Ethernet controllers in the previous/older
186version of the hardware.
187This driver is authored by
188.Aq Mt andrew@FreeBSD.org .
189.Sh AUTHORS
190The
191.Nm
192device driver was written by
193.An Advanced Micro Devices Inc .
194.Pp
195For any issues and support requirements, email the details to
196.Aq Mt rajesh1.kumar@amd.com .
197