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
106 ---------------------
111 # dmesg -n 8
117 ------------------------------
120 Profiles can be used to, for example, add support for new protocols, change
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
311 The ice driver does not support matching on a subportion of a field, thus
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>
383 ----------------------------------------
384 Devices based on the Intel(R) Ethernet Controller 800 Series support
385 Accelerated Receive Flow Steering (aRFS) on the PF. aRFS is a load-balancing
391 - aRFS requires that ntuple filtering is enabled via ethtool.
392 - aRFS support is limited to the following packet types:
394 - TCP over IPv4 and IPv6
395 - UDP over IPv4 and IPv6
396 - Nonfragmented packets
398 - aRFS only supports Flow Director filters, which consist of the
400 - aRFS and ethtool's ntuple interface both use the device's Flow Director. aRFS
401 and ntuple features can coexist, but you may encounter unexpected results if
411 # ethtool -K <ethX> ntuple on
420 3. Set up the number of entries in the per-queue flow table. For example:
425 # for file in /sys/class/net/$IFACE/queues/rx-*/rps_flow_cnt; do
438 See ``/Documentation/core-api/irq/irq-affinity.rst``
443 # ethtool -K <ethX> ntuple off
454 # taskset -c 4 netserver
461 # netperf -H <Host IPv4 Address> -t TCP_STREAM
465 --------------------------------
481 Note: You cannot use SR-IOV when link aggregation (LAG)/bonding is active, and
486 ----------------------------------
489 # ip -s link show dev <ethX>
499 Configuring VLAN Tagging on SR-IOV Enabled Adapter Ports
500 --------------------------------------------------------
501 To configure VLAN tagging for the ports on an SR-IOV enabled adapter, use the
517 ----------------------------------------------
529 --------------------------------
547 -----------------------------------
574 NOTE: By default, the ethtool private flag vf-true-promisc-support is set to
579 # ethtool --set-priv-flags <ethX> vf-true-promisc-support on
581 The vf-true-promisc-support private flag does not enable promiscuous mode;
585 vf-true-promisc-support private flag is only exposed to the first PF of the
587 vf-true-promisc-support setting.
599 ----------------------------------------
605 - If the PF driver logs MDD events from the VF, confirm that the correct VF
607 - To restore functionality, you can manually reload the VF or VM or enable
609 - When automatic VF resets are enabled, the PF driver will immediately reset
611 - If automatic VF resets are disabled, the PF will not automatically reset the
616 # ethtool --set-priv-flags <ethX> mdd-auto-reset-vf on|off
619 MAC and VLAN Anti-Spoofing Feature for VFs
620 ------------------------------------------
630 ------------
631 Jumbo Frames support is enabled by changing the Maximum Transmission Unit (MTU)
660 ------------------------------
662 between copper-based adapters and fiber-based adapters.
665 connections will attempt to auto-negotiate with its link partner to determine
667 using auto-negotiation, you may need to manually configure the adapter and link
670 support auto-negotiation or one that has been forced to a specific speed or
693 --------------------------
707 mutually exclusive variants of DCBX support:
709 1) Firmware-based LLDP Agent
710 2) Software-based LLDP Agent
712 In firmware-based mode, firmware intercepts all LLDP traffic and handles DCBX
719 In software-based mode, LLDP traffic is forwarded to the network stack and user
722 be both queried and set locally. This mode requires the FW-based LLDP Agent to
727 - You can enable and disable the firmware-based LLDP Agent using an ethtool
728 private flag. Refer to the "FW-LLDP (Firmware Link Layer Discovery Protocol)"
730 - In software-based DCBX mode, you can configure DCB parameters using software
735 - The driver implements the DCB netlink interface layer to allow the user space
737 - iSCSI with DCB is not supported.
740 FW-LLDP (Firmware Link Layer Discovery Protocol)
741 ------------------------------------------------
742 Use ethtool to change FW-LLDP settings. The FW-LLDP setting is per port and
747 # ethtool --set-priv-flags <ethX> fw-lldp-agent on
751 # ethtool --set-priv-flags <ethX> fw-lldp-agent off
755 # ethtool --show-priv-flags <ethX>
763 ------------
778 # ethtool -A <ethX> rx <on|off> tx <on|off>
780 Note: This command only enables or disables Flow Control if auto-negotiation is
781 disabled. If auto-negotiation is enabled, this command changes the parameters
782 used for auto-negotiation with the link partner.
784 Note: Flow Control auto-negotiation is part of link auto-negotiation. Depending
785 on your device, you may not be able to change the auto-negotiation setting.
789 - The ice driver requires flow control on both the port and link partner. If
792 - You may encounter issues with link-level flow control (LFC) after disabling
796 # ethtool -A <ethX> rx off tx off
797 # ethtool -A <ethX> rx on tx on
801 ----
808 -------
809 This driver supports MACVLAN. Kernel support for MACVLAN can be tested by
816 - In passthru mode, you can only set up one MACVLAN device. It will inherit the
820 IEEE 802.1ad (QinQ) Support
821 ---------------------------
830 - Receive checksum offloads and VLAN acceleration are not supported for 802.1ad
833 - 0x88A8 traffic will not be received unless VLAN stripping is disabled with
836 # ethtool -K <ethX> rxvlan off
838 - 0x88A8/0x8100 double VLANs cannot be used with 0x8100 or 0x8100/0x8100 VLANS
842 - The VF can only transmit 0x88A8/0x8100 (i.e., 802.1ad/802.1Q) traffic if:
848 - The VF may not receive all network traffic based on the Inner VLAN header
849 when VF true promiscuous mode (vf-true-promisc-support) and double VLANs are
850 enabled in SR-IOV mode.
861 ---------------------------------
867 # ethtool -k <ethX>
871 ------------------------
880 - The application sending UDP packets must support UDP segmentation offload.
884 # ethtool -K <ethX> tx-udp-segmentation [off|on]
888 -----------
899 ---------------------
901 running on the NIC must support FW logging; if the FW doesn't support FW logging
1020 'fwlog/nr_messages'. The range is 1-128 (1 means push every log message, 128
1047 -----------------------
1054 # ethtool -S <ethX> | grep "rx_dropped"
1057 the number of descriptors using 'ethtool -G'::
1059 # ethtool -G <ethX> rx <N>
1067 -----------------------
1075 # ethtool -C <ethX> adaptive-rx off adaptive-tx off
1082 Setting rx-usecs and tx-usecs to 80 will limit interrupts to about
1085 # ethtool -C <ethX> adaptive-rx off adaptive-tx off rx-usecs 80 tx-usecs 80
1089 Disable adaptive ITR and ITR by setting rx-usecs and tx-usecs to 0
1092 # ethtool -C <ethX> adaptive-rx off adaptive-tx off rx-usecs 0 tx-usecs 0
1094 Per-queue interrupt rate settings:
1102 # ethtool --per-queue <ethX> queue_mask 0xa --coalesce adaptive-rx off
1103 rx-usecs 10
1107 # ethtool --per-queue <ethX> queue_mask 0xa --show-coalesce
1109 Bounding interrupt rates using rx-usecs-high:
1111 :Valid Range: 0-236 (0=no limit)
1113 The range of 0-236 microseconds provides an effective range of 4,237 to
1114 250,000 interrupts per second. The value of rx-usecs-high can be set
1115 independently of rx-usecs and tx-usecs in the same ethtool command, and is
1117 underlying hardware supports granularity in 4-microsecond intervals, so
1123 second, it limits total interrupts per second to 50,000 via the rx-usecs-high
1128 # ethtool -C <ethX> adaptive-rx off adaptive-tx off rx-usecs-high 20
1129 rx-usecs 5 tx-usecs 5
1133 ------------------------
1144 # ethtool -L <virt_interface> rx <max> tx <max>
1147 Support chapter
1149 For general information, go to the Intel support website at:
1150 https://www.intel.com/support/
1154 to intel-wired-lan@lists.osuosl.org.