Lines Matching +full:coexist +full:- +full:support

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
35 network drivers, refer to the Intel Support website:
36 https://www.intel.com/support
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
105 -------------
108 - PF reset - resets only components associated with the given PF, does not
111 - CORE reset - whole adapter is affected, reset all PFs
113 - GLOBAL reset - same as CORE but mac and phy components are also reinitialized
117 - PF reset:
119 # ethtool --reset <ethX> irq dma filter offload
121 - CORE reset:
123 # ethtool --reset <ethX> irq-shared dma-shared filter-shared offload-shared \
124 ram-shared
126 - GLOBAL reset:
128 # ethtool --reset <ethX> irq-shared dma-shared filter-shared offload-shared \
129 mac-shared phy-shared ram-shared
133 # ethtool --reset <repr> irq dma filter offload
137 ---------------------
142 # dmesg -n 8
148 ------------------------------
151 Profiles can be used to, for example, add support for new protocols, change
161 ice.pkg is missing, you can find it in the linux-firmware repository or from
173 - If you encounter issues with the DDP package file, you may need to download
177 - The ice.pkg file is a symbolic link to the default DDP package file.
179 - You cannot update the DDP package if any PF drivers are already loaded. To
183 - Only the first loaded PF per device can download a package for that device.
190 2. Rename the file ice-xxxxxxxxxxxxxxxx.pkg, where 'xxxxxxxxxxxxxxxx' is the
191 unique 64-bit PCI Express device serial number (in hex) of the device you
194 if the 64-bit serial number is b887a3ffffca0568, then the file name would be
195 ice-b887a3ffffca0568.pkg.
200 # lspci -vv -s af:00.0 | grep -i Serial
201 Capabilities: [150 v1] Device Serial Number b8-87-a3-ff-ff-ca-05-68
206 # lspci -vv -s af:00.0 | grep -i Serial | awk '{print $7}' | sed s/-//g
217 NOTE: The presence of a device-specific DDP package file overrides the loading
222 -------------------------------
225 - Directs receive packets according to their flows to different queues
226 - Enables tight control on routing a flow in the platform
227 - Matches flows and CPU cores for flow affinity
231 - IPv4
232 - TCPv4
233 - UDPv4
234 - SCTPv4
235 - IPv6
236 - TCPv6
237 - UDPv6
238 - SCTPv6
245 NOTE: This driver allows you to filter traffic based on a user-defined flexible
246 two-byte pattern and offset by using the ethtool user-def and mask fields. Only
247 L3 and L4 flow types are supported for user-defined flexible filters. For a
253 ---------------------
258 # ethtool -K <ethX> ntuple <off|on>
261 flushed from the driver cache and hardware. All needed filters must be re-added
262 when ntuple is re-enabled.
266 # ethtool -u <ethX>
270 # ethtool -U <ethX> flow-type <type> src-ip <ip> [m <ip_mask>] dst-ip <ip>
271 [m <ip_mask>] src-port <port> [m <port_mask>] dst-port <port> [m <port_mask>]
275 <ethX> - the Ethernet device to program
276 <type> - can be ip4, tcp4, udp4, sctp4, ip6, tcp6, udp6, sctp6
277 <ip> - the IP address to match on
278 <ip_mask> - the IPv4 address to mask on
280 <port> - the port number to match on
281 <port_mask> - the 16-bit integer for masking
283 <queue> - the queue to direct traffic toward (-1 discards the
288 # ethtool -U <ethX> delete <N>
297 # ethtool -U <ethX> flow-type tcp4 src-ip 192.168.10.1 dst-ip \
298 192.168.10.2 src-port 2000 dst-port 2001 action 2 [loc 1]
302 # ethtool -U <ethX> flow-type tcp4 src-ip 192.168.10.1 dst-ip \
305 To set a filter based on a user-defined pattern and offset::
307 # ethtool -U <ethX> flow-type tcp4 src-ip 192.168.10.1 dst-ip \
308 192.168.10.2 user-def 0x4FFFF action 2 [loc 1]
310 where the value of the user-def field contains the offset (4 bytes) and
316 # ethtool -U enp130s0 flow-type tcp4 src-ip 192.168.0.1 dst-ip 192.168.0.5
317 src-port 5300 dst-port 80 action 7
321 # ethtool -U <ethX> flow-type tcp4 src-ip 192.168.0.0 m 0.255.255.255 dst-ip
322 192.168.5.12 src-port 12600 dst-port 31 action 12
326 For each flow-type, the programmed filters must all have the same matching
329 # ethtool -U enp130s0 flow-type ip4 src-ip 192.168.0.1 src-port 5300 action 7
330 # ethtool -U enp130s0 flow-type ip4 src-ip 192.168.0.5 src-port 55 action 10
333 specifies src-ip and the second specifies dst-ip::
335 # ethtool -U enp130s0 flow-type ip4 src-ip 192.168.0.1 src-port 5300 action 7
336 # ethtool -U enp130s0 flow-type ip4 dst-ip 192.168.0.5 src-port 55 action 10
342 The ice driver does not support matching on a subportion of a field, thus
347 -------------------------------
348 The driver also supports matching user-defined data within the packet payload.
349 This flexible data is specified using the "user-def" field of the ethtool
363 ... user-def 0x4FFFF ...
371 flow-type tcp4 ... user-def 0x8BEAF ...
386 The user-defined flexible offset is also considered part of the input set and
393 -------------
399 # ethtool -N <ethX> rx-flow-hash <type> <option>
404 gtpc4 signifying GTP-C over IPv4
405 gtpc4t signifying GTP-C (include TEID) over IPv4
406 gtpu4 signifying GTP-U over IPV4
407 gtpu4e signifying GTP-U and Extension Header over IPV4
408 gtpu4u signifying GTP-U PSC Uplink over IPV4
409 gtpu4d signifying GTP-U PSC Downlink over IPV4
412 gtpc6 signifying GTP-C over IPv6
413 gtpc6t signifying GTP-C (include TEID) over IPv6
414 gtpu6 signifying GTP-U over IPV6
415 gtpu6e signifying GTP-U and Extension Header over IPV6
416 gtpu6u signifying GTP-U PSC Uplink over IPV6
417 gtpu6d signifying GTP-U PSC Downlink over IPV6
427 ----------------------------------------
428 Devices based on the Intel(R) Ethernet Controller 800 Series support
429 Accelerated Receive Flow Steering (aRFS) on the PF. aRFS is a load-balancing
435 - aRFS requires that ntuple filtering is enabled via ethtool.
436 - aRFS support is limited to the following packet types:
438 - TCP over IPv4 and IPv6
439 - UDP over IPv4 and IPv6
440 - Nonfragmented packets
442 - aRFS only supports Flow Director filters, which consist of the
444 - aRFS and ethtool's ntuple interface both use the device's Flow Director. aRFS
445 and ntuple features can coexist, but you may encounter unexpected results if
455 # ethtool -K <ethX> ntuple on
464 3. Set up the number of entries in the per-queue flow table. For example:
469 # for file in /sys/class/net/$IFACE/queues/rx-*/rps_flow_cnt; do
482 See ``/Documentation/core-api/irq/irq-affinity.rst``
487 # ethtool -K <ethX> ntuple off
498 # taskset -c 4 netserver
505 # netperf -H <Host IPv4 Address> -t TCP_STREAM
509 --------------------------------
525 Note: You cannot use SR-IOV when link aggregation (LAG)/bonding is active, and
530 ----------------------------------
533 # ip -s link show dev <ethX>
543 Configuring VLAN Tagging on SR-IOV Enabled Adapter Ports
544 --------------------------------------------------------
545 To configure VLAN tagging for the ports on an SR-IOV enabled adapter, use the
561 ----------------------------------------------
573 --------------------------------
591 -----------------------------------
618 NOTE: By default, the ethtool private flag vf-true-promisc-support is set to
623 # ethtool --set-priv-flags <ethX> vf-true-promisc-support on
625 The vf-true-promisc-support private flag does not enable promiscuous mode;
629 vf-true-promisc-support private flag is only exposed to the first PF of the
631 vf-true-promisc-support setting.
643 ----------------------------------------
649 - If the PF driver logs MDD events from the VF, confirm that the correct VF
651 - To restore functionality, you can manually reload the VF or VM or enable
653 - When automatic VF resets are enabled, the PF driver will immediately reset
655 - If automatic VF resets are disabled, the PF will not automatically reset the
660 # ethtool --set-priv-flags <ethX> mdd-auto-reset-vf on|off
663 MAC and VLAN Anti-Spoofing Feature for VFs
664 ------------------------------------------
674 ------------
675 Jumbo Frames support is enabled by changing the Maximum Transmission Unit (MTU)
704 ------------------------------
706 between copper-based adapters and fiber-based adapters.
709 connections will attempt to auto-negotiate with its link partner to determine
711 using auto-negotiation, you may need to manually configure the adapter and link
714 support auto-negotiation or one that has been forced to a specific speed or
737 --------------------------
751 mutually exclusive variants of DCBX support:
753 1) Firmware-based LLDP Agent
754 2) Software-based LLDP Agent
756 In firmware-based mode, firmware intercepts all LLDP traffic and handles DCBX
763 In software-based mode, LLDP traffic is forwarded to the network stack and user
766 be both queried and set locally. This mode requires the FW-based LLDP Agent to
771 - You can enable and disable the firmware-based LLDP Agent using an ethtool
772 private flag. Refer to the "FW-LLDP (Firmware Link Layer Discovery Protocol)"
774 - In software-based DCBX mode, you can configure DCB parameters using software
779 - The driver implements the DCB netlink interface layer to allow the user space
781 - iSCSI with DCB is not supported.
784 FW-LLDP (Firmware Link Layer Discovery Protocol)
785 ------------------------------------------------
786 Use ethtool to change FW-LLDP settings. The FW-LLDP setting is per port and
791 # ethtool --set-priv-flags <ethX> fw-lldp-agent on
795 # ethtool --set-priv-flags <ethX> fw-lldp-agent off
799 # ethtool --show-priv-flags <ethX>
807 ------------
822 # ethtool -A <ethX> rx <on|off> tx <on|off>
824 Note: This command only enables or disables Flow Control if auto-negotiation is
825 disabled. If auto-negotiation is enabled, this command changes the parameters
826 used for auto-negotiation with the link partner.
828 Note: Flow Control auto-negotiation is part of link auto-negotiation. Depending
829 on your device, you may not be able to change the auto-negotiation setting.
833 - The ice driver requires flow control on both the port and link partner. If
836 - You may encounter issues with link-level flow control (LFC) after disabling
840 # ethtool -A <ethX> rx off tx off
841 # ethtool -A <ethX> rx on tx on
845 ----
852 -------
853 This driver supports MACVLAN. Kernel support for MACVLAN can be tested by
860 - In passthru mode, you can only set up one MACVLAN device. It will inherit the
864 IEEE 802.1ad (QinQ) Support
865 ---------------------------
874 - Receive checksum offloads and VLAN acceleration are not supported for 802.1ad
877 - 0x88A8 traffic will not be received unless VLAN stripping is disabled with
880 # ethtool -K <ethX> rxvlan off
882 - 0x88A8/0x8100 double VLANs cannot be used with 0x8100 or 0x8100/0x8100 VLANS
886 - The VF can only transmit 0x88A8/0x8100 (i.e., 802.1ad/802.1Q) traffic if:
892 - The VF may not receive all network traffic based on the Inner VLAN header
893 when VF true promiscuous mode (vf-true-promisc-support) and double VLANs are
894 enabled in SR-IOV mode.
905 ---------------------------------
911 # ethtool -k <ethX>
915 ------------------------
924 - The application sending UDP packets must support UDP segmentation offload.
928 # ethtool -K <ethX> tx-udp-segmentation [off|on]
932 -----------
943 ---------------------
945 running on the NIC must support FW logging; if the FW doesn't support FW logging
1064 'fwlog/nr_messages'. The range is 1-128 (1 means push every log message, 128
1091 -----------------------
1098 # ethtool -S <ethX> | grep "rx_dropped"
1101 the number of descriptors using 'ethtool -G'::
1103 # ethtool -G <ethX> rx <N>
1111 -----------------------
1119 # ethtool -C <ethX> adaptive-rx off adaptive-tx off
1126 Setting rx-usecs and tx-usecs to 80 will limit interrupts to about
1129 # ethtool -C <ethX> adaptive-rx off adaptive-tx off rx-usecs 80 tx-usecs 80
1133 Disable adaptive ITR and ITR by setting rx-usecs and tx-usecs to 0
1136 # ethtool -C <ethX> adaptive-rx off adaptive-tx off rx-usecs 0 tx-usecs 0
1138 Per-queue interrupt rate settings:
1146 # ethtool --per-queue <ethX> queue_mask 0xa --coalesce adaptive-rx off
1147 rx-usecs 10
1151 # ethtool --per-queue <ethX> queue_mask 0xa --show-coalesce
1153 Bounding interrupt rates using rx-usecs-high:
1155 :Valid Range: 0-236 (0=no limit)
1157 The range of 0-236 microseconds provides an effective range of 4,237 to
1158 250,000 interrupts per second. The value of rx-usecs-high can be set
1159 independently of rx-usecs and tx-usecs in the same ethtool command, and is
1161 underlying hardware supports granularity in 4-microsecond intervals, so
1167 second, it limits total interrupts per second to 50,000 via the rx-usecs-high
1172 # ethtool -C <ethX> adaptive-rx off adaptive-tx off rx-usecs-high 20
1173 rx-usecs 5 tx-usecs 5
1177 ------------------------
1188 # ethtool -L <virt_interface> rx <max> tx <max>
1191 Support chapter
1193 For general information, go to the Intel support website at:
1194 https://www.intel.com/support/
1198 to intel-wired-lan@lists.osuosl.org.