docs: networking: device drivers: convert aquantia/atlantic.txt to ReST
- add SPDX header; - use copyright symbol; - adjust title and its markup; - comment out text-only TOC from html/pdf output; - mark code blocks and literals as such; - adjust identation, whitespaces and blank lines where needed; - add to networking/index.rst. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
8d299c7e91
commit
c958119a48
@@ -1,83 +1,96 @@
|
|||||||
Marvell(Aquantia) AQtion Driver for the aQuantia Multi-Gigabit PCI Express
|
.. SPDX-License-Identifier: GPL-2.0
|
||||||
Family of Ethernet Adapters
|
.. include:: <isonum.txt>
|
||||||
=============================================================================
|
|
||||||
|
|
||||||
Contents
|
===============================
|
||||||
========
|
Marvell(Aquantia) AQtion Driver
|
||||||
|
===============================
|
||||||
|
|
||||||
- Identifying Your Adapter
|
For the aQuantia Multi-Gigabit PCI Express Family of Ethernet Adapters
|
||||||
- Configuration
|
|
||||||
- Supported ethtool options
|
.. Contents
|
||||||
- Command Line Parameters
|
|
||||||
- Config file parameters
|
- Identifying Your Adapter
|
||||||
- Support
|
- Configuration
|
||||||
- License
|
- Supported ethtool options
|
||||||
|
- Command Line Parameters
|
||||||
|
- Config file parameters
|
||||||
|
- Support
|
||||||
|
- License
|
||||||
|
|
||||||
Identifying Your Adapter
|
Identifying Your Adapter
|
||||||
========================
|
========================
|
||||||
|
|
||||||
The driver in this release is compatible with AQC-100, AQC-107, AQC-108 based ethernet adapters.
|
The driver in this release is compatible with AQC-100, AQC-107, AQC-108
|
||||||
|
based ethernet adapters.
|
||||||
|
|
||||||
|
|
||||||
SFP+ Devices (for AQC-100 based adapters)
|
SFP+ Devices (for AQC-100 based adapters)
|
||||||
----------------------------------
|
-----------------------------------------
|
||||||
|
|
||||||
This release tested with passive Direct Attach Cables (DAC) and SFP+/LC Optical Transceiver.
|
This release tested with passive Direct Attach Cables (DAC) and SFP+/LC
|
||||||
|
Optical Transceiver.
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
=========================
|
=============
|
||||||
Viewing Link Messages
|
|
||||||
---------------------
|
Viewing Link Messages
|
||||||
|
---------------------
|
||||||
Link messages will not be displayed to the console if the distribution is
|
Link messages will not be displayed to the console if the distribution is
|
||||||
restricting system messages. In order to see network driver link messages on
|
restricting system messages. In order to see network driver link messages on
|
||||||
your console, set dmesg to eight by entering the following:
|
your console, set dmesg to eight by entering the following::
|
||||||
|
|
||||||
dmesg -n 8
|
dmesg -n 8
|
||||||
|
|
||||||
NOTE: This setting is not saved across reboots.
|
.. note::
|
||||||
|
|
||||||
Jumbo Frames
|
This setting is not saved across reboots.
|
||||||
------------
|
|
||||||
|
Jumbo Frames
|
||||||
|
------------
|
||||||
The driver supports Jumbo Frames for all adapters. Jumbo Frames support is
|
The driver supports Jumbo Frames for all adapters. Jumbo Frames support is
|
||||||
enabled by changing the MTU to a value larger than the default of 1500.
|
enabled by changing the MTU to a value larger than the default of 1500.
|
||||||
The maximum value for the MTU is 16000. Use the `ip` command to
|
The maximum value for the MTU is 16000. Use the `ip` command to
|
||||||
increase the MTU size. For example:
|
increase the MTU size. For example::
|
||||||
|
|
||||||
ip link set mtu 16000 dev enp1s0
|
ip link set mtu 16000 dev enp1s0
|
||||||
|
|
||||||
ethtool
|
ethtool
|
||||||
-------
|
-------
|
||||||
The driver utilizes the ethtool interface for driver configuration and
|
The driver utilizes the ethtool interface for driver configuration and
|
||||||
diagnostics, as well as displaying statistical information. The latest
|
diagnostics, as well as displaying statistical information. The latest
|
||||||
ethtool version is required for this functionality.
|
ethtool version is required for this functionality.
|
||||||
|
|
||||||
NAPI
|
NAPI
|
||||||
----
|
----
|
||||||
NAPI (Rx polling mode) is supported in the atlantic driver.
|
NAPI (Rx polling mode) is supported in the atlantic driver.
|
||||||
|
|
||||||
Supported ethtool options
|
Supported ethtool options
|
||||||
============================
|
=========================
|
||||||
Viewing adapter settings
|
|
||||||
---------------------
|
|
||||||
ethtool <ethX>
|
|
||||||
|
|
||||||
Output example:
|
Viewing adapter settings
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
ethtool <ethX>
|
||||||
|
|
||||||
|
Output example::
|
||||||
|
|
||||||
Settings for enp1s0:
|
Settings for enp1s0:
|
||||||
Supported ports: [ TP ]
|
Supported ports: [ TP ]
|
||||||
Supported link modes: 100baseT/Full
|
Supported link modes: 100baseT/Full
|
||||||
1000baseT/Full
|
1000baseT/Full
|
||||||
10000baseT/Full
|
10000baseT/Full
|
||||||
2500baseT/Full
|
2500baseT/Full
|
||||||
5000baseT/Full
|
5000baseT/Full
|
||||||
Supported pause frame use: Symmetric
|
Supported pause frame use: Symmetric
|
||||||
Supports auto-negotiation: Yes
|
Supports auto-negotiation: Yes
|
||||||
Supported FEC modes: Not reported
|
Supported FEC modes: Not reported
|
||||||
Advertised link modes: 100baseT/Full
|
Advertised link modes: 100baseT/Full
|
||||||
1000baseT/Full
|
1000baseT/Full
|
||||||
10000baseT/Full
|
10000baseT/Full
|
||||||
2500baseT/Full
|
2500baseT/Full
|
||||||
5000baseT/Full
|
5000baseT/Full
|
||||||
Advertised pause frame use: Symmetric
|
Advertised pause frame use: Symmetric
|
||||||
Advertised auto-negotiation: Yes
|
Advertised auto-negotiation: Yes
|
||||||
Advertised FEC modes: Not reported
|
Advertised FEC modes: Not reported
|
||||||
@@ -92,16 +105,22 @@ Supported ethtool options
|
|||||||
Wake-on: d
|
Wake-on: d
|
||||||
Link detected: yes
|
Link detected: yes
|
||||||
|
|
||||||
---
|
|
||||||
Note: AQrate speeds (2.5/5 Gb/s) will be displayed only with linux kernels > 4.10.
|
.. note::
|
||||||
But you can still use these speeds:
|
|
||||||
|
AQrate speeds (2.5/5 Gb/s) will be displayed only with linux kernels > 4.10.
|
||||||
|
But you can still use these speeds::
|
||||||
|
|
||||||
ethtool -s eth0 autoneg off speed 2500
|
ethtool -s eth0 autoneg off speed 2500
|
||||||
|
|
||||||
Viewing adapter information
|
Viewing adapter information
|
||||||
---------------------
|
---------------------------
|
||||||
ethtool -i <ethX>
|
|
||||||
|
|
||||||
Output example:
|
::
|
||||||
|
|
||||||
|
ethtool -i <ethX>
|
||||||
|
|
||||||
|
Output example::
|
||||||
|
|
||||||
driver: atlantic
|
driver: atlantic
|
||||||
version: 5.2.0-050200rc5-generic-kern
|
version: 5.2.0-050200rc5-generic-kern
|
||||||
@@ -115,12 +134,16 @@ Supported ethtool options
|
|||||||
supports-priv-flags: no
|
supports-priv-flags: no
|
||||||
|
|
||||||
|
|
||||||
Viewing Ethernet adapter statistics:
|
Viewing Ethernet adapter statistics
|
||||||
---------------------
|
-----------------------------------
|
||||||
ethtool -S <ethX>
|
|
||||||
|
|
||||||
Output example:
|
::
|
||||||
NIC statistics:
|
|
||||||
|
ethtool -S <ethX>
|
||||||
|
|
||||||
|
Output example::
|
||||||
|
|
||||||
|
NIC statistics:
|
||||||
InPackets: 13238607
|
InPackets: 13238607
|
||||||
InUCast: 13293852
|
InUCast: 13293852
|
||||||
InMCast: 52
|
InMCast: 52
|
||||||
@@ -164,85 +187,95 @@ Supported ethtool options
|
|||||||
Queue[3] InLroPackets: 0
|
Queue[3] InLroPackets: 0
|
||||||
Queue[3] InErrors: 0
|
Queue[3] InErrors: 0
|
||||||
|
|
||||||
Interrupt coalescing support
|
Interrupt coalescing support
|
||||||
---------------------------------
|
----------------------------
|
||||||
ITR mode, TX/RX coalescing timings could be viewed with:
|
|
||||||
|
|
||||||
ethtool -c <ethX>
|
ITR mode, TX/RX coalescing timings could be viewed with::
|
||||||
|
|
||||||
and changed with:
|
ethtool -c <ethX>
|
||||||
|
|
||||||
ethtool -C <ethX> tx-usecs <usecs> rx-usecs <usecs>
|
and changed with::
|
||||||
|
|
||||||
To disable coalescing:
|
ethtool -C <ethX> tx-usecs <usecs> rx-usecs <usecs>
|
||||||
|
|
||||||
ethtool -C <ethX> tx-usecs 0 rx-usecs 0 tx-max-frames 1 tx-max-frames 1
|
To disable coalescing::
|
||||||
|
|
||||||
Wake on LAN support
|
ethtool -C <ethX> tx-usecs 0 rx-usecs 0 tx-max-frames 1 tx-max-frames 1
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
WOL support by magic packet:
|
Wake on LAN support
|
||||||
|
-------------------
|
||||||
|
|
||||||
ethtool -s <ethX> wol g
|
WOL support by magic packet::
|
||||||
|
|
||||||
To disable WOL:
|
ethtool -s <ethX> wol g
|
||||||
|
|
||||||
ethtool -s <ethX> wol d
|
To disable WOL::
|
||||||
|
|
||||||
Set and check the driver message level
|
ethtool -s <ethX> wol d
|
||||||
---------------------------------
|
|
||||||
|
Set and check the driver message level
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
Set message level
|
Set message level
|
||||||
|
|
||||||
ethtool -s <ethX> msglvl <level>
|
::
|
||||||
|
|
||||||
|
ethtool -s <ethX> msglvl <level>
|
||||||
|
|
||||||
Level values:
|
Level values:
|
||||||
|
|
||||||
0x0001 - general driver status.
|
====== =============================
|
||||||
0x0002 - hardware probing.
|
0x0001 general driver status.
|
||||||
0x0004 - link state.
|
0x0002 hardware probing.
|
||||||
0x0008 - periodic status check.
|
0x0004 link state.
|
||||||
0x0010 - interface being brought down.
|
0x0008 periodic status check.
|
||||||
0x0020 - interface being brought up.
|
0x0010 interface being brought down.
|
||||||
0x0040 - receive error.
|
0x0020 interface being brought up.
|
||||||
0x0080 - transmit error.
|
0x0040 receive error.
|
||||||
0x0200 - interrupt handling.
|
0x0080 transmit error.
|
||||||
0x0400 - transmit completion.
|
0x0200 interrupt handling.
|
||||||
0x0800 - receive completion.
|
0x0400 transmit completion.
|
||||||
0x1000 - packet contents.
|
0x0800 receive completion.
|
||||||
0x2000 - hardware status.
|
0x1000 packet contents.
|
||||||
0x4000 - Wake-on-LAN status.
|
0x2000 hardware status.
|
||||||
|
0x4000 Wake-on-LAN status.
|
||||||
|
====== =============================
|
||||||
|
|
||||||
By default, the level of debugging messages is set 0x0001(general driver status).
|
By default, the level of debugging messages is set 0x0001(general driver status).
|
||||||
|
|
||||||
Check message level
|
Check message level
|
||||||
|
|
||||||
ethtool <ethX> | grep "Current message level"
|
::
|
||||||
|
|
||||||
If you want to disable the output of messages
|
ethtool <ethX> | grep "Current message level"
|
||||||
|
|
||||||
ethtool -s <ethX> msglvl 0
|
If you want to disable the output of messages::
|
||||||
|
|
||||||
|
ethtool -s <ethX> msglvl 0
|
||||||
|
|
||||||
|
RX flow rules (ntuple filters)
|
||||||
|
------------------------------
|
||||||
|
|
||||||
RX flow rules (ntuple filters)
|
|
||||||
---------------------------------
|
|
||||||
There are separate rules supported, that applies in that order:
|
There are separate rules supported, that applies in that order:
|
||||||
|
|
||||||
1. 16 VLAN ID rules
|
1. 16 VLAN ID rules
|
||||||
2. 16 L2 EtherType rules
|
2. 16 L2 EtherType rules
|
||||||
3. 8 L3/L4 5-Tuple rules
|
3. 8 L3/L4 5-Tuple rules
|
||||||
|
|
||||||
|
|
||||||
The driver utilizes the ethtool interface for configuring ntuple filters,
|
The driver utilizes the ethtool interface for configuring ntuple filters,
|
||||||
via "ethtool -N <device> <filter>".
|
via ``ethtool -N <device> <filter>``.
|
||||||
|
|
||||||
To enable or disable the RX flow rules:
|
To enable or disable the RX flow rules::
|
||||||
|
|
||||||
ethtool -K ethX ntuple <on|off>
|
ethtool -K ethX ntuple <on|off>
|
||||||
|
|
||||||
When disabling ntuple filters, all the user programed filters are
|
When disabling ntuple filters, all the user programed filters are
|
||||||
flushed from the driver cache and hardware. All needed filters must
|
flushed from the driver cache and hardware. All needed filters must
|
||||||
be re-added when ntuple is re-enabled.
|
be re-added when ntuple is re-enabled.
|
||||||
|
|
||||||
Because of the fixed order of the rules, the location of filters is also fixed:
|
Because of the fixed order of the rules, the location of filters is also fixed:
|
||||||
|
|
||||||
- Locations 0 - 15 for VLAN ID filters
|
- Locations 0 - 15 for VLAN ID filters
|
||||||
- Locations 16 - 31 for L2 EtherType filters
|
- Locations 16 - 31 for L2 EtherType filters
|
||||||
- Locations 32 - 39 for L3/L4 5-tuple filters (locations 32, 36 for IPv6)
|
- Locations 32 - 39 for L3/L4 5-tuple filters (locations 32, 36 for IPv6)
|
||||||
@@ -253,32 +286,34 @@ Supported ethtool options
|
|||||||
addresses can be supported. Source and destination ports are only compared for
|
addresses can be supported. Source and destination ports are only compared for
|
||||||
TCP/UDP/SCTP packets.
|
TCP/UDP/SCTP packets.
|
||||||
|
|
||||||
To add a filter that directs packet to queue 5, use <-N|-U|--config-nfc|--config-ntuple> switch:
|
To add a filter that directs packet to queue 5, use
|
||||||
|
``<-N|-U|--config-nfc|--config-ntuple>`` switch::
|
||||||
|
|
||||||
ethtool -N <ethX> flow-type udp4 src-ip 10.0.0.1 dst-ip 10.0.0.2 src-port 2000 dst-port 2001 action 5 <loc 32>
|
ethtool -N <ethX> flow-type udp4 src-ip 10.0.0.1 dst-ip 10.0.0.2 src-port 2000 dst-port 2001 action 5 <loc 32>
|
||||||
|
|
||||||
- action is the queue number.
|
- action is the queue number.
|
||||||
- loc is the rule number.
|
- loc is the rule number.
|
||||||
|
|
||||||
For "flow-type ip4|udp4|tcp4|sctp4|ip6|udp6|tcp6|sctp6" you must set the loc
|
For ``flow-type ip4|udp4|tcp4|sctp4|ip6|udp6|tcp6|sctp6`` you must set the loc
|
||||||
number within 32 - 39.
|
number within 32 - 39.
|
||||||
For "flow-type ip4|udp4|tcp4|sctp4|ip6|udp6|tcp6|sctp6" you can set 8 rules
|
For ``flow-type ip4|udp4|tcp4|sctp4|ip6|udp6|tcp6|sctp6`` you can set 8 rules
|
||||||
for traffic IPv4 or you can set 2 rules for traffic IPv6. Loc number traffic
|
for traffic IPv4 or you can set 2 rules for traffic IPv6. Loc number traffic
|
||||||
IPv6 is 32 and 36.
|
IPv6 is 32 and 36.
|
||||||
At the moment you can not use IPv4 and IPv6 filters at the same time.
|
At the moment you can not use IPv4 and IPv6 filters at the same time.
|
||||||
|
|
||||||
Example filter for IPv6 filter traffic:
|
Example filter for IPv6 filter traffic::
|
||||||
|
|
||||||
sudo ethtool -N <ethX> flow-type tcp6 src-ip 2001:db8:0:f101::1 dst-ip 2001:db8:0:f101::2 action 1 loc 32
|
sudo ethtool -N <ethX> flow-type tcp6 src-ip 2001:db8:0:f101::1 dst-ip 2001:db8:0:f101::2 action 1 loc 32
|
||||||
sudo ethtool -N <ethX> flow-type ip6 src-ip 2001:db8:0:f101::2 dst-ip 2001:db8:0:f101::5 action -1 loc 36
|
sudo ethtool -N <ethX> flow-type ip6 src-ip 2001:db8:0:f101::2 dst-ip 2001:db8:0:f101::5 action -1 loc 36
|
||||||
|
|
||||||
Example filter for IPv4 filter traffic:
|
Example filter for IPv4 filter traffic::
|
||||||
|
|
||||||
sudo ethtool -N <ethX> flow-type udp4 src-ip 10.0.0.4 dst-ip 10.0.0.7 src-port 2000 dst-port 2001 loc 32
|
sudo ethtool -N <ethX> flow-type udp4 src-ip 10.0.0.4 dst-ip 10.0.0.7 src-port 2000 dst-port 2001 loc 32
|
||||||
sudo ethtool -N <ethX> flow-type tcp4 src-ip 10.0.0.3 dst-ip 10.0.0.9 src-port 2000 dst-port 2001 loc 33
|
sudo ethtool -N <ethX> flow-type tcp4 src-ip 10.0.0.3 dst-ip 10.0.0.9 src-port 2000 dst-port 2001 loc 33
|
||||||
sudo ethtool -N <ethX> flow-type ip4 src-ip 10.0.0.6 dst-ip 10.0.0.4 loc 34
|
sudo ethtool -N <ethX> flow-type ip4 src-ip 10.0.0.6 dst-ip 10.0.0.4 loc 34
|
||||||
|
|
||||||
If you set action -1, then all traffic corresponding to the filter will be discarded.
|
If you set action -1, then all traffic corresponding to the filter will be discarded.
|
||||||
|
|
||||||
The maximum value action is 31.
|
The maximum value action is 31.
|
||||||
|
|
||||||
|
|
||||||
@@ -287,8 +322,9 @@ Supported ethtool options
|
|||||||
from L2 Ethertype filter with UserPriority since both User Priority and VLAN ID
|
from L2 Ethertype filter with UserPriority since both User Priority and VLAN ID
|
||||||
are passed in the same 'vlan' parameter.
|
are passed in the same 'vlan' parameter.
|
||||||
|
|
||||||
To add a filter that directs packets from VLAN 2001 to queue 5:
|
To add a filter that directs packets from VLAN 2001 to queue 5::
|
||||||
ethtool -N <ethX> flow-type ip4 vlan 2001 m 0xF000 action 1 loc 0
|
|
||||||
|
ethtool -N <ethX> flow-type ip4 vlan 2001 m 0xF000 action 1 loc 0
|
||||||
|
|
||||||
|
|
||||||
L2 EtherType filters allows filter packet by EtherType field or both EtherType
|
L2 EtherType filters allows filter packet by EtherType field or both EtherType
|
||||||
@@ -297,17 +333,17 @@ Supported ethtool options
|
|||||||
distinguish VLAN filter from L2 Ethertype filter with UserPriority since both
|
distinguish VLAN filter from L2 Ethertype filter with UserPriority since both
|
||||||
User Priority and VLAN ID are passed in the same 'vlan' parameter.
|
User Priority and VLAN ID are passed in the same 'vlan' parameter.
|
||||||
|
|
||||||
To add a filter that directs IP4 packess of priority 3 to queue 3:
|
To add a filter that directs IP4 packess of priority 3 to queue 3::
|
||||||
ethtool -N <ethX> flow-type ether proto 0x800 vlan 0x600 m 0x1FFF action 3 loc 16
|
|
||||||
|
|
||||||
|
ethtool -N <ethX> flow-type ether proto 0x800 vlan 0x600 m 0x1FFF action 3 loc 16
|
||||||
|
|
||||||
To see the list of filters currently present:
|
To see the list of filters currently present::
|
||||||
|
|
||||||
ethtool <-u|-n|--show-nfc|--show-ntuple> <ethX>
|
ethtool <-u|-n|--show-nfc|--show-ntuple> <ethX>
|
||||||
|
|
||||||
Rules may be deleted from the table itself. This is done using:
|
Rules may be deleted from the table itself. This is done using::
|
||||||
|
|
||||||
sudo ethtool <-N|-U|--config-nfc|--config-ntuple> <ethX> delete <loc>
|
sudo ethtool <-N|-U|--config-nfc|--config-ntuple> <ethX> delete <loc>
|
||||||
|
|
||||||
- loc is the rule number to be deleted.
|
- loc is the rule number to be deleted.
|
||||||
|
|
||||||
@@ -316,34 +352,37 @@ Supported ethtool options
|
|||||||
case, any flow that matches the filter criteria will be directed to the
|
case, any flow that matches the filter criteria will be directed to the
|
||||||
appropriate queue. RX filters is supported on all kernels 2.6.30 and later.
|
appropriate queue. RX filters is supported on all kernels 2.6.30 and later.
|
||||||
|
|
||||||
RSS for UDP
|
RSS for UDP
|
||||||
---------------------------------
|
-----------
|
||||||
|
|
||||||
Currently, NIC does not support RSS for fragmented IP packets, which leads to
|
Currently, NIC does not support RSS for fragmented IP packets, which leads to
|
||||||
incorrect working of RSS for fragmented UDP traffic. To disable RSS for UDP the
|
incorrect working of RSS for fragmented UDP traffic. To disable RSS for UDP the
|
||||||
RX Flow L3/L4 rule may be used.
|
RX Flow L3/L4 rule may be used.
|
||||||
|
|
||||||
Example:
|
Example::
|
||||||
ethtool -N eth0 flow-type udp4 action 0 loc 32
|
|
||||||
|
ethtool -N eth0 flow-type udp4 action 0 loc 32
|
||||||
|
|
||||||
|
UDP GSO hardware offload
|
||||||
|
------------------------
|
||||||
|
|
||||||
UDP GSO hardware offload
|
|
||||||
---------------------------------
|
|
||||||
UDP GSO allows to boost UDP tx rates by offloading UDP headers allocation
|
UDP GSO allows to boost UDP tx rates by offloading UDP headers allocation
|
||||||
into hardware. A special userspace socket option is required for this,
|
into hardware. A special userspace socket option is required for this,
|
||||||
could be validated with /kernel/tools/testing/selftests/net/
|
could be validated with /kernel/tools/testing/selftests/net/::
|
||||||
|
|
||||||
udpgso_bench_tx -u -4 -D 10.0.1.1 -s 6300 -S 100
|
udpgso_bench_tx -u -4 -D 10.0.1.1 -s 6300 -S 100
|
||||||
|
|
||||||
Will cause sending out of 100 byte sized UDP packets formed from single
|
Will cause sending out of 100 byte sized UDP packets formed from single
|
||||||
6300 bytes user buffer.
|
6300 bytes user buffer.
|
||||||
|
|
||||||
UDP GSO is configured by:
|
UDP GSO is configured by::
|
||||||
|
|
||||||
ethtool -K eth0 tx-udp-segmentation on
|
ethtool -K eth0 tx-udp-segmentation on
|
||||||
|
|
||||||
Private flags (testing)
|
Private flags (testing)
|
||||||
---------------------------------
|
-----------------------
|
||||||
|
|
||||||
Atlantic driver supports private flags for hardware custom features:
|
Atlantic driver supports private flags for hardware custom features::
|
||||||
|
|
||||||
$ ethtool --show-priv-flags ethX
|
$ ethtool --show-priv-flags ethX
|
||||||
|
|
||||||
@@ -354,7 +393,7 @@ Supported ethtool options
|
|||||||
PHYInternalLoopback: off
|
PHYInternalLoopback: off
|
||||||
PHYExternalLoopback: off
|
PHYExternalLoopback: off
|
||||||
|
|
||||||
Example:
|
Example::
|
||||||
|
|
||||||
$ ethtool --set-priv-flags ethX DMASystemLoopback on
|
$ ethtool --set-priv-flags ethX DMASystemLoopback on
|
||||||
|
|
||||||
@@ -370,93 +409,130 @@ Command Line Parameters
|
|||||||
The following command line parameters are available on atlantic driver:
|
The following command line parameters are available on atlantic driver:
|
||||||
|
|
||||||
aq_itr -Interrupt throttling mode
|
aq_itr -Interrupt throttling mode
|
||||||
----------------------------------------
|
---------------------------------
|
||||||
Accepted values: 0, 1, 0xFFFF
|
Accepted values: 0, 1, 0xFFFF
|
||||||
|
|
||||||
Default value: 0xFFFF
|
Default value: 0xFFFF
|
||||||
0 - Disable interrupt throttling.
|
|
||||||
1 - Enable interrupt throttling and use specified tx and rx rates.
|
====== ==============================================================
|
||||||
0xFFFF - Auto throttling mode. Driver will choose the best RX and TX
|
0 Disable interrupt throttling.
|
||||||
interrupt throtting settings based on link speed.
|
1 Enable interrupt throttling and use specified tx and rx rates.
|
||||||
|
0xFFFF Auto throttling mode. Driver will choose the best RX and TX
|
||||||
|
interrupt throtting settings based on link speed.
|
||||||
|
====== ==============================================================
|
||||||
|
|
||||||
aq_itr_tx - TX interrupt throttle rate
|
aq_itr_tx - TX interrupt throttle rate
|
||||||
----------------------------------------
|
--------------------------------------
|
||||||
|
|
||||||
Accepted values: 0 - 0x1FF
|
Accepted values: 0 - 0x1FF
|
||||||
|
|
||||||
Default value: 0
|
Default value: 0
|
||||||
|
|
||||||
TX side throttling in microseconds. Adapter will setup maximum interrupt delay
|
TX side throttling in microseconds. Adapter will setup maximum interrupt delay
|
||||||
to this value. Minimum interrupt delay will be a half of this value
|
to this value. Minimum interrupt delay will be a half of this value
|
||||||
|
|
||||||
aq_itr_rx - RX interrupt throttle rate
|
aq_itr_rx - RX interrupt throttle rate
|
||||||
----------------------------------------
|
--------------------------------------
|
||||||
|
|
||||||
Accepted values: 0 - 0x1FF
|
Accepted values: 0 - 0x1FF
|
||||||
|
|
||||||
Default value: 0
|
Default value: 0
|
||||||
|
|
||||||
RX side throttling in microseconds. Adapter will setup maximum interrupt delay
|
RX side throttling in microseconds. Adapter will setup maximum interrupt delay
|
||||||
to this value. Minimum interrupt delay will be a half of this value
|
to this value. Minimum interrupt delay will be a half of this value
|
||||||
|
|
||||||
Note: ITR settings could be changed in runtime by ethtool -c means (see below)
|
.. note::
|
||||||
|
|
||||||
|
ITR settings could be changed in runtime by ethtool -c means (see below)
|
||||||
|
|
||||||
Config file parameters
|
Config file parameters
|
||||||
=======================
|
======================
|
||||||
|
|
||||||
For some fine tuning and performance optimizations,
|
For some fine tuning and performance optimizations,
|
||||||
some parameters can be changed in the {source_dir}/aq_cfg.h file.
|
some parameters can be changed in the {source_dir}/aq_cfg.h file.
|
||||||
|
|
||||||
AQ_CFG_RX_PAGEORDER
|
AQ_CFG_RX_PAGEORDER
|
||||||
----------------------------------------
|
-------------------
|
||||||
|
|
||||||
Default value: 0
|
Default value: 0
|
||||||
|
|
||||||
RX page order override. Thats a power of 2 number of RX pages allocated for
|
RX page order override. Thats a power of 2 number of RX pages allocated for
|
||||||
each descriptor. Received descriptor size is still limited by AQ_CFG_RX_FRAME_MAX.
|
each descriptor. Received descriptor size is still limited by
|
||||||
|
AQ_CFG_RX_FRAME_MAX.
|
||||||
|
|
||||||
Increasing pageorder makes page reuse better (actual on iommu enabled systems).
|
Increasing pageorder makes page reuse better (actual on iommu enabled systems).
|
||||||
|
|
||||||
AQ_CFG_RX_REFILL_THRES
|
AQ_CFG_RX_REFILL_THRES
|
||||||
----------------------------------------
|
----------------------
|
||||||
|
|
||||||
Default value: 32
|
Default value: 32
|
||||||
|
|
||||||
RX refill threshold. RX path will not refill freed descriptors until the
|
RX refill threshold. RX path will not refill freed descriptors until the
|
||||||
specified number of free descriptors is observed. Larger values may help
|
specified number of free descriptors is observed. Larger values may help
|
||||||
better page reuse but may lead to packet drops as well.
|
better page reuse but may lead to packet drops as well.
|
||||||
|
|
||||||
AQ_CFG_VECS_DEF
|
AQ_CFG_VECS_DEF
|
||||||
------------------------------------------------------------
|
---------------
|
||||||
|
|
||||||
Number of queues
|
Number of queues
|
||||||
|
|
||||||
Valid Range: 0 - 8 (up to AQ_CFG_VECS_MAX)
|
Valid Range: 0 - 8 (up to AQ_CFG_VECS_MAX)
|
||||||
|
|
||||||
Default value: 8
|
Default value: 8
|
||||||
|
|
||||||
Notice this value will be capped by the number of cores available on the system.
|
Notice this value will be capped by the number of cores available on the system.
|
||||||
|
|
||||||
AQ_CFG_IS_RSS_DEF
|
AQ_CFG_IS_RSS_DEF
|
||||||
------------------------------------------------------------
|
-----------------
|
||||||
|
|
||||||
Enable/disable Receive Side Scaling
|
Enable/disable Receive Side Scaling
|
||||||
|
|
||||||
This feature allows the adapter to distribute receive processing
|
This feature allows the adapter to distribute receive processing
|
||||||
across multiple CPU-cores and to prevent from overloading a single CPU core.
|
across multiple CPU-cores and to prevent from overloading a single CPU core.
|
||||||
|
|
||||||
Valid values
|
Valid values
|
||||||
0 - disabled
|
|
||||||
1 - enabled
|
== ========
|
||||||
|
0 disabled
|
||||||
|
1 enabled
|
||||||
|
== ========
|
||||||
|
|
||||||
Default value: 1
|
Default value: 1
|
||||||
|
|
||||||
AQ_CFG_NUM_RSS_QUEUES_DEF
|
AQ_CFG_NUM_RSS_QUEUES_DEF
|
||||||
------------------------------------------------------------
|
-------------------------
|
||||||
|
|
||||||
Number of queues for Receive Side Scaling
|
Number of queues for Receive Side Scaling
|
||||||
|
|
||||||
Valid Range: 0 - 8 (up to AQ_CFG_VECS_DEF)
|
Valid Range: 0 - 8 (up to AQ_CFG_VECS_DEF)
|
||||||
|
|
||||||
Default value: AQ_CFG_VECS_DEF
|
Default value: AQ_CFG_VECS_DEF
|
||||||
|
|
||||||
AQ_CFG_IS_LRO_DEF
|
AQ_CFG_IS_LRO_DEF
|
||||||
------------------------------------------------------------
|
-----------------
|
||||||
|
|
||||||
Enable/disable Large Receive Offload
|
Enable/disable Large Receive Offload
|
||||||
|
|
||||||
This offload enables the adapter to coalesce multiple TCP segments and indicate
|
This offload enables the adapter to coalesce multiple TCP segments and indicate
|
||||||
them as a single coalesced unit to the OS networking subsystem.
|
them as a single coalesced unit to the OS networking subsystem.
|
||||||
The system consumes less energy but it also introduces more latency in packets processing.
|
|
||||||
|
The system consumes less energy but it also introduces more latency in packets
|
||||||
|
processing.
|
||||||
|
|
||||||
Valid values
|
Valid values
|
||||||
0 - disabled
|
|
||||||
1 - enabled
|
== ========
|
||||||
|
0 disabled
|
||||||
|
1 enabled
|
||||||
|
== ========
|
||||||
|
|
||||||
Default value: 1
|
Default value: 1
|
||||||
|
|
||||||
AQ_CFG_TX_CLEAN_BUDGET
|
AQ_CFG_TX_CLEAN_BUDGET
|
||||||
----------------------------------------
|
----------------------
|
||||||
|
|
||||||
Maximum descriptors to cleanup on TX at once.
|
Maximum descriptors to cleanup on TX at once.
|
||||||
|
|
||||||
Default value: 256
|
Default value: 256
|
||||||
|
|
||||||
After the aq_cfg.h file changed the driver must be rebuilt to take effect.
|
After the aq_cfg.h file changed the driver must be rebuilt to take effect.
|
||||||
@@ -472,7 +548,8 @@ License
|
|||||||
=======
|
=======
|
||||||
|
|
||||||
aQuantia Corporation Network Driver
|
aQuantia Corporation Network Driver
|
||||||
Copyright(c) 2014 - 2019 aQuantia Corporation.
|
|
||||||
|
Copyright |copy| 2014 - 2019 aQuantia Corporation.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify it
|
This program is free software; you can redistribute it and/or modify it
|
||||||
under the terms and conditions of the GNU General Public License,
|
under the terms and conditions of the GNU General Public License,
|
@@ -30,6 +30,7 @@ Contents:
|
|||||||
3com/3c509
|
3com/3c509
|
||||||
3com/vortex
|
3com/vortex
|
||||||
amazon/ena
|
amazon/ena
|
||||||
|
aquantia/atlantic
|
||||||
|
|
||||||
.. only:: subproject and html
|
.. only:: subproject and html
|
||||||
|
|
||||||
|
@@ -1275,7 +1275,7 @@ L: netdev@vger.kernel.org
|
|||||||
S: Supported
|
S: Supported
|
||||||
W: https://www.marvell.com/
|
W: https://www.marvell.com/
|
||||||
Q: http://patchwork.ozlabs.org/project/netdev/list/
|
Q: http://patchwork.ozlabs.org/project/netdev/list/
|
||||||
F: Documentation/networking/device_drivers/aquantia/atlantic.txt
|
F: Documentation/networking/device_drivers/aquantia/atlantic.rst
|
||||||
F: drivers/net/ethernet/aquantia/atlantic/
|
F: drivers/net/ethernet/aquantia/atlantic/
|
||||||
|
|
||||||
AQUANTIA ETHERNET DRIVER PTP SUBSYSTEM
|
AQUANTIA ETHERNET DRIVER PTP SUBSYSTEM
|
||||||
|
Reference in New Issue
Block a user