Lines Matching +full:auto +full:- +full:detects

1 .. SPDX-License-Identifier: GPL-2.0+
8 Copyright(c) 2018-2021 Intel Corporation.
13 - Overview
14 - Identifying Your Adapter
15 - Important Notes
16 - Additional Features & Configurations
17 - Performance Optimization
28 This driver supports XDP (Express Data Path) and AF_XDP zero-copy. Note that
43 -------------------------------------------
54 1) Make sure that your system's physical memory is in a high-performance
63 Configuring SR-IOV for improved network security
64 ------------------------------------------------
66 support SR-IOV, the virtual function (VF) may be subject to malicious behavior.
67 Software-generated layer two frames, like IEEE 802.3x (link flow control), IEEE
68 802.1Qbb (priority based flow-control), and others of this type, are not
71 unintended traffic streams, configure all SR-IOV enabled ports for VLAN tagging
75 See "Configuring VLAN Tagging on SR-IOV Enabled Adapter Ports" later in this
80 -------------------------------------------------------------
91 -------
98 Netdev, due to the 4-byte CRC being stripped by the device. The difference
106 ---------------------
111 # dmesg -n 8
117 ------------------------------
130 ice.pkg is missing, you can find it in the linux-firmware repository or from
142 - If you encounter issues with the DDP package file, you may need to download
146 - The ice.pkg file is a symbolic link to the default DDP package file.
148 - You cannot update the DDP package if any PF drivers are already loaded. To
152 - Only the first loaded PF per device can download a package for that device.
159 2. Rename the file ice-xxxxxxxxxxxxxxxx.pkg, where 'xxxxxxxxxxxxxxxx' is the
160 unique 64-bit PCI Express device serial number (in hex) of the device you
163 if the 64-bit serial number is b887a3ffffca0568, then the file name would be
164 ice-b887a3ffffca0568.pkg.
169 # lspci -vv -s af:00.0 | grep -i Serial
170 Capabilities: [150 v1] Device Serial Number b8-87-a3-ff-ff-ca-05-68
175 # lspci -vv -s af:00.0 | grep -i Serial | awk '{print $7}' | sed s/-//g
186 NOTE: The presence of a device-specific DDP package file overrides the loading
191 -------------------------------
194 - Directs receive packets according to their flows to different queues
195 - Enables tight control on routing a flow in the platform
196 - Matches flows and CPU cores for flow affinity
200 - IPv4
201 - TCPv4
202 - UDPv4
203 - SCTPv4
204 - IPv6
205 - TCPv6
206 - UDPv6
207 - SCTPv6
214 NOTE: This driver allows you to filter traffic based on a user-defined flexible
215 two-byte pattern and offset by using the ethtool user-def and mask fields. Only
216 L3 and L4 flow types are supported for user-defined flexible filters. For a
222 ---------------------
227 # ethtool -K <ethX> ntuple <off|on>
230 flushed from the driver cache and hardware. All needed filters must be re-added
231 when ntuple is re-enabled.
235 # ethtool -u <ethX>
239 # ethtool -U <ethX> flow-type <type> src-ip <ip> [m <ip_mask>] dst-ip <ip>
240 [m <ip_mask>] src-port <port> [m <port_mask>] dst-port <port> [m <port_mask>]
244 <ethX> - the Ethernet device to program
245 <type> - can be ip4, tcp4, udp4, sctp4, ip6, tcp6, udp6, sctp6
246 <ip> - the IP address to match on
247 <ip_mask> - the IPv4 address to mask on
249 <port> - the port number to match on
250 <port_mask> - the 16-bit integer for masking
252 <queue> - the queue to direct traffic toward (-1 discards the
257 # ethtool -U <ethX> delete <N>
266 # ethtool -U <ethX> flow-type tcp4 src-ip 192.168.10.1 dst-ip \
267 192.168.10.2 src-port 2000 dst-port 2001 action 2 [loc 1]
271 # ethtool -U <ethX> flow-type tcp4 src-ip 192.168.10.1 dst-ip \
274 To set a filter based on a user-defined pattern and offset::
276 # ethtool -U <ethX> flow-type tcp4 src-ip 192.168.10.1 dst-ip \
277 192.168.10.2 user-def 0x4FFFF action 2 [loc 1]
279 where the value of the user-def field contains the offset (4 bytes) and
285 # ethtool -U enp130s0 flow-type tcp4 src-ip 192.168.0.1 dst-ip 192.168.0.5
286 src-port 5300 dst-port 80 action 7
290 # ethtool -U <ethX> flow-type tcp4 src-ip 192.168.0.0 m 0.255.255.255 dst-ip
291 192.168.5.12 src-port 12600 dst-port 31 action 12
295 For each flow-type, the programmed filters must all have the same matching
298 # ethtool -U enp130s0 flow-type ip4 src-ip 192.168.0.1 src-port 5300 action 7
299 # ethtool -U enp130s0 flow-type ip4 src-ip 192.168.0.5 src-port 55 action 10
302 specifies src-ip and the second specifies dst-ip::
304 # ethtool -U enp130s0 flow-type ip4 src-ip 192.168.0.1 src-port 5300 action 7
305 # ethtool -U enp130s0 flow-type ip4 dst-ip 192.168.0.5 src-port 55 action 10
316 -------------------------------
317 The driver also supports matching user-defined data within the packet payload.
318 This flexible data is specified using the "user-def" field of the ethtool
332 ... user-def 0x4FFFF ...
340 flow-type tcp4 ... user-def 0x8BEAF ...
355 The user-defined flexible offset is also considered part of the input set and
362 -------------
368 # ethtool -N <ethX> rx-flow-hash <type> <option>
373 gtpc4 signifying GTP-C over IPv4
374 gtpc4t signifying GTP-C (include TEID) over IPv4
375 gtpu4 signifying GTP-U over IPV4
376 gtpu4e signifying GTP-U and Extension Header over IPV4
377 gtpu4u signifying GTP-U PSC Uplink over IPV4
378 gtpu4d signifying GTP-U PSC Downlink over IPV4
381 gtpc6 signifying GTP-C over IPv6
382 gtpc6t signifying GTP-C (include TEID) over IPv6
383 gtpu6 signifying GTP-U over IPV6
384 gtpu6e signifying GTP-U and Extension Header over IPV6
385 gtpu6u signifying GTP-U PSC Uplink over IPV6
386 gtpu6d signifying GTP-U PSC Downlink over IPV6
396 ----------------------------------------
398 Accelerated Receive Flow Steering (aRFS) on the PF. aRFS is a load-balancing
404 - aRFS requires that ntuple filtering is enabled via ethtool.
405 - aRFS support is limited to the following packet types:
407 - TCP over IPv4 and IPv6
408 - UDP over IPv4 and IPv6
409 - Nonfragmented packets
411 - aRFS only supports Flow Director filters, which consist of the
413 - aRFS and ethtool's ntuple interface both use the device's Flow Director. aRFS
424 # ethtool -K <ethX> ntuple on
433 3. Set up the number of entries in the per-queue flow table. For example:
438 # for file in /sys/class/net/$IFACE/queues/rx-*/rps_flow_cnt; do
451 See ``/Documentation/core-api/irq/irq-affinity.rst``
456 # ethtool -K <ethX> ntuple off
467 # taskset -c 4 netserver
474 # netperf -H <Host IPv4 Address> -t TCP_STREAM
478 --------------------------------
494 Note: You cannot use SR-IOV when link aggregation (LAG)/bonding is active, and
499 ----------------------------------
502 # ip -s link show dev <ethX>
512 Configuring VLAN Tagging on SR-IOV Enabled Adapter Ports
513 --------------------------------------------------------
514 To configure VLAN tagging for the ports on an SR-IOV enabled adapter, use the
530 ----------------------------------------------
542 --------------------------------
560 -----------------------------------
587 NOTE: By default, the ethtool private flag vf-true-promisc-support is set to
592 # ethtool --set-priv-flags <ethX> vf-true-promisc-support on
594 The vf-true-promisc-support private flag does not enable promiscuous mode;
598 vf-true-promisc-support private flag is only exposed to the first PF of the
600 vf-true-promisc-support setting.
612 ----------------------------------------
618 - If the PF driver logs MDD events from the VF, confirm that the correct VF
620 - To restore functionality, you can manually reload the VF or VM or enable
622 - When automatic VF resets are enabled, the PF driver will immediately reset
623 the VF and reenable queues when it detects MDD events on the receive path.
624 - If automatic VF resets are disabled, the PF will not automatically reset the
625 VF when it detects MDD events.
629 # ethtool --set-priv-flags <ethX> mdd-auto-reset-vf on|off
632 MAC and VLAN Anti-Spoofing Feature for VFs
633 ------------------------------------------
643 ------------
673 ------------------------------
675 between copper-based adapters and fiber-based adapters.
678 connections will attempt to auto-negotiate with its link partner to determine
680 using auto-negotiation, you may need to manually configure the adapter and link
683 support auto-negotiation or one that has been forced to a specific speed or
706 --------------------------
722 1) Firmware-based LLDP Agent
723 2) Software-based LLDP Agent
725 In firmware-based mode, firmware intercepts all LLDP traffic and handles DCBX
732 In software-based mode, LLDP traffic is forwarded to the network stack and user
735 be both queried and set locally. This mode requires the FW-based LLDP Agent to
740 - You can enable and disable the firmware-based LLDP Agent using an ethtool
741 private flag. Refer to the "FW-LLDP (Firmware Link Layer Discovery Protocol)"
743 - In software-based DCBX mode, you can configure DCB parameters using software
748 - The driver implements the DCB netlink interface layer to allow the user space
750 - iSCSI with DCB is not supported.
753 FW-LLDP (Firmware Link Layer Discovery Protocol)
754 ------------------------------------------------
755 Use ethtool to change FW-LLDP settings. The FW-LLDP setting is per port and
760 # ethtool --set-priv-flags <ethX> fw-lldp-agent on
764 # ethtool --set-priv-flags <ethX> fw-lldp-agent off
768 # ethtool --show-priv-flags <ethX>
776 ------------
791 # ethtool -A <ethX> rx <on|off> tx <on|off>
793 Note: This command only enables or disables Flow Control if auto-negotiation is
794 disabled. If auto-negotiation is enabled, this command changes the parameters
795 used for auto-negotiation with the link partner.
797 Note: Flow Control auto-negotiation is part of link auto-negotiation. Depending
798 on your device, you may not be able to change the auto-negotiation setting.
802 - The ice driver requires flow control on both the port and link partner. If
805 - You may encounter issues with link-level flow control (LFC) after disabling
809 # ethtool -A <ethX> rx off tx off
810 # ethtool -A <ethX> rx on tx on
814 ----
821 -------
829 - In passthru mode, you can only set up one MACVLAN device. It will inherit the
834 ---------------------------
843 - Receive checksum offloads and VLAN acceleration are not supported for 802.1ad
846 - 0x88A8 traffic will not be received unless VLAN stripping is disabled with
849 # ethtool -K <ethX> rxvlan off
851 - 0x88A8/0x8100 double VLANs cannot be used with 0x8100 or 0x8100/0x8100 VLANS
855 - The VF can only transmit 0x88A8/0x8100 (i.e., 802.1ad/802.1Q) traffic if:
861 - The VF may not receive all network traffic based on the Inner VLAN header
862 when VF true promiscuous mode (vf-true-promisc-support) and double VLANs are
863 enabled in SR-IOV mode.
874 ---------------------------------
880 # ethtool -k <ethX>
884 ------------------------
893 - The application sending UDP packets must support UDP segmentation offload.
897 # ethtool -K <ethX> tx-udp-segmentation [off|on]
901 -----------
912 ---------------------
1033 'fwlog/nr_messages'. The range is 1-128 (1 means push every log message, 128
1060 -----------------------
1067 # ethtool -S <ethX> | grep "rx_dropped"
1070 the number of descriptors using 'ethtool -G'::
1072 # ethtool -G <ethX> rx <N>
1080 -----------------------
1088 # ethtool -C <ethX> adaptive-rx off adaptive-tx off
1095 Setting rx-usecs and tx-usecs to 80 will limit interrupts to about
1098 # ethtool -C <ethX> adaptive-rx off adaptive-tx off rx-usecs 80 tx-usecs 80
1102 Disable adaptive ITR and ITR by setting rx-usecs and tx-usecs to 0
1105 # ethtool -C <ethX> adaptive-rx off adaptive-tx off rx-usecs 0 tx-usecs 0
1107 Per-queue interrupt rate settings:
1115 # ethtool --per-queue <ethX> queue_mask 0xa --coalesce adaptive-rx off
1116 rx-usecs 10
1120 # ethtool --per-queue <ethX> queue_mask 0xa --show-coalesce
1122 Bounding interrupt rates using rx-usecs-high:
1124 :Valid Range: 0-236 (0=no limit)
1126 The range of 0-236 microseconds provides an effective range of 4,237 to
1127 250,000 interrupts per second. The value of rx-usecs-high can be set
1128 independently of rx-usecs and tx-usecs in the same ethtool command, and is
1130 underlying hardware supports granularity in 4-microsecond intervals, so
1136 second, it limits total interrupts per second to 50,000 via the rx-usecs-high
1141 # ethtool -C <ethX> adaptive-rx off adaptive-tx off rx-usecs-high 20
1142 rx-usecs 5 tx-usecs 5
1146 ------------------------
1157 # ethtool -L <virt_interface> rx <max> tx <max>
1167 to intel-wired-lan@lists.osuosl.org.