Lines Matching +full:flow +full:- +full:controlled

1 .. SPDX-License-Identifier: GPL-2.0+
8 Copyright(c) 1999-2018 Intel Corporation.
13 - Overview
14 - Identifying Your Adapter
15 - Intel(R) Ethernet Flow Director
16 - Additional Configurations
17 - Known Issues
18 - Support
47 ----------------------
49 …intel.com/content/dam/www/public/us/en/documents/release-notes/xl710-ethernet-controller-feature-m…
64 -----------------------
76 ------------------------
77 Allows you to send all packets with a specific VLAN tag to a particular SR-IOV
100 NOTE: By default, the ethtool priv-flag vf-true-promisc-support is set to
105 #ethtool -set-priv-flags p261p1 vf-true-promisc-support on
107 The vf-true-promisc-support priv-flag does not enable promiscuous mode; rather,
111 vf-true-promisc-support priv-flag is only exposed to the first PF of the
113 regardless of the vf-true-promisc-support setting.
123 Intel(R) Ethernet Flow Director
124 -------------------------------
125 The Intel Ethernet Flow Director performs the following tasks:
127 - Directs receive packets according to their flows to different queues.
128 - Enables tight control on routing a flow in the platform.
129 - Matches flows and CPU cores for flow affinity.
130 - Supports multiple parameters for flexible flow classification and load
133 NOTE: The Linux i40e driver supports the following flow types: IPv4, TCPv4, and
134 UDPv4. For a given flow type, it supports valid combinations of IP addresses
140 user-defined flexible two-byte pattern and offset by using the ethtool user-def
141 and mask fields. Only L3 and L4 flow types are supported for user-defined
142 flexible filters. For a given flow type, you must clear all Intel Ethernet Flow
143 Director filters before changing the input set (for that flow type).
145 To enable or disable the Intel Ethernet Flow Director::
147 # ethtool -K ethX ntuple <on|off>
150 the driver cache and hardware. All needed filters must be re-added when ntuple
151 is re-enabled.
153 To add a filter that directs packet to queue 2, use -U or -N switch::
155 # ethtool -N ethX flow-type tcp4 src-ip 192.168.10.1 dst-ip \
156 192.168.10.2 src-port 2000 dst-port 2001 action 2 [loc 1]
160 # ethtool -N ethX flow-type tcp4 src-ip 192.168.10.1 dst-ip \
165 # ethtool <-u|-n> ethX
168 --------------------------------------------------
170 An ATR Intel Ethernet Flow Director filter rule is added when a TCP-IP flow
171 starts and is deleted when the flow ends. When a TCP-IP Intel Ethernet Flow
173 driver. To re-enable ATR, the sideband can be disabled with the ethtool -K
176 ethtool -K [adapter] ntuple [off|on]
178 If sideband is re-enabled after ATR is re-enabled, ATR remains enabled until a
179 TCP-IP flow is added. When all TCP-IP sideband rules are deleted, ATR is
180 automatically re-enabled.
186 ------------------------
191 ethtool -U <device> flow-type <type> src-ip <ip> dst-ip <ip> src-port <port> \
192 dst-port <port> action <queue>
195 <device> - the ethernet device to program
196 <type> - can be ip4, tcp4, udp4, or sctp4
197 <ip> - the ip address to match on
198 <port> - the port number to match on
199 <queue> - the queue to direct traffic towards (-1 discards matching traffic)
203 ethtool -u <device>
207 ethtool -U <device> delete <N>
215 ethtool -U enp130s0 flow-type tcp4 src-ip 192.168.0.1 dst-ip 192.168.0.5 \
216 src-port 5300 dst-port 80 action 7
218 For each flow-type, the programmed filters must all have the same matching
221 ethtool -U enp130s0 flow-type ip4 src-ip 192.168.0.1 src-port 5300 action 7
222 ethtool -U enp130s0 flow-type ip4 src-ip 192.168.0.5 src-port 55 action 10
225 specifies src-ip and the second specifies dst-ip::
227 ethtool -U enp130s0 flow-type ip4 src-ip 192.168.0.1 src-port 5300 action 7
228 ethtool -U enp130s0 flow-type ip4 dst-ip 192.168.0.5 src-port 55 action 10
234 Matching on a sub-portion of a field is not supported by the i40e driver, thus
237 The driver also supports matching user-defined data within the packet payload.
238 This flexible data is specified using the "user-def" field of the ethtool
241 +----------------------------+--------------------------+
243 +----------------------------+--------------------------+
245 +----------------------------+--------------------------+
251 ... user-def 0x4FFFF ...
259 flow-type tcp4 ... user-def 0x8BEAF ...
273 The user-defined flexible offset is also considered part of the input set and
292 Setting the link-down-on-close Private Flag
293 -------------------------------------------
294 When the link-down-on-close private flag is set to "on", the port's link will
297 Use ethtool to view and set link-down-on-close, as follows::
299 ethtool --show-priv-flags ethX
300 ethtool --set-priv-flags ethX link-down-on-close [on|off]
303 ---------------------
308 dmesg -n 8
313 ------------
330 /etc/sysconfig/network-scripts/ifcfg-eth<x> // for RHEL
341 -------
348 ----------------------------------------------------
349 -n --show-nfc
350 Retrieves the receive network flow classification configurations.
352 rx-flow-hash tcp4|udp4|ah4|esp4|sctp4|tcp6|udp6|ah6|esp6|sctp6
355 -N --config-nfc
356 Configures the receive network flow classification.
358 rx-flow-hash tcp4|udp4|ah4|esp4|sctp4|tcp6|udp6|ah6|esp6|sctp6 m|v|t|s|d|f|n|r...
368 ------------------------------
370 between copper-based adapters and fiber-based adapters.
373 connections will attempt to auto-negotiate with its link partner to determine
375 using auto-negotiation, you may need to manually configure the adapter and link
378 support auto-negotiation or one that has been forced to a specific speed or
395 An Intel(R) Ethernet Network Adapter using fiber-based connections, however,
396 will not attempt to auto-negotiate with its link partner since those adapters
400 ----
405 Flow Control
406 ------------
407 Ethernet Flow Control (IEEE 802.3x) can be configured with ethtool to enable
413 NOTE: You must have a flow control capable link partner.
415 Flow Control is on by default.
417 Use ethtool to change the flow control settings.
419 To enable or disable Rx or Tx Flow Control::
421 ethtool -A eth? rx <on|off> tx <on|off>
423 Note: This command only enables or disables Flow Control if auto-negotiation is
424 disabled. If auto-negotiation is enabled, this command changes the parameters
425 used for auto-negotiation with the link partner.
427 To enable or disable auto-negotiation::
429 ethtool -s eth? autoneg <on|off>
431 Note: Flow Control auto-negotiation is part of link auto-negotiation. Depending
432 on your device, you may not be able to change the auto-negotiation setting.
434 RSS Hash Flow
435 -------------
436 Allows you to set the hash bytes per flow type and any combination of one or
441 # ethtool -N <dev> rx-flow-hash <type> <option>
454 MAC and VLAN anti-spoofing feature
455 ----------------------------------
463 ------------------------------------------------------------
466 "ethtool -T <netdev name>" to get a definitive list of PTP capabilities
470 ---------------------------
489 --------------------------------------
495 VXLAN offloading is controlled by the Tx and Rx checksum offload options
503 ---------------------------
516 1 to ((100 - 4) + 1 = 97)
520 speed. The accepted range of values is 1-100. The value is used as a limiter,
527 per Port (MFP) and SR-IOV are enabled. An error from i40e is logged that says
532 --------------------------
536 priority flow control (802.1Qbb) which can limit or eliminate the number of
545 NOTE: Firmware LLDP can be disabled by setting the private flag disable-fw-lldp.
547 The i40e driver implements the DCB netlink interface layer to allow user-space
551 The kernel assumes that TC0 is available, and will disable Priority Flow
556 -----------------------
557 :Valid Range: 0-235 (0=no limit)
565 # ethtool -C ethX rx-usecs-high N
567 The range of 0-235 microseconds provides an effective range of 4,310 to 250,000
568 interrupts per second. The value of rx-usecs-high can be set independently of
569 rx-usecs and tx-usecs in the same ethtool command, and is also independent of
571 granularity in 4-microsecond intervals, so adjacent values may result in the
576 # ethtool -C ethX adaptive-rx off adaptive-tx off rx-usecs-high 20 rx-usecs \
577 5 tx-usecs 5
582 limits total interrupts per second to 50,000 via the rx-usecs-high parameter.
595 ------------------------
599 for file in `ls /sys/class/net/<ethX>/queues/tx-*/xps_cpus`;
610 Non-virtualized Environments
611 ----------------------------
616 - The following settings will distribute the IRQs across all the cores evenly::
618 # scripts/set_irq_affinity -x all <interface1> , [ <interface2>, ... ]
620 - The following settings will distribute the IRQs across all the cores that are
623 # scripts/set_irq_affinity -x local <interface1> ,[ <interface2>, ... ]
630 - Setting rx-usecs and tx-usecs to 125 will limit interrupts to about 8000
635 # ethtool -C <interface> adaptive-rx off adaptive-tx off rx-usecs 125 \
636 tx-usecs 125
641 - Setting rx-usecs and tx-usecs to 250 will limit interrupts to about 4000
646 # ethtool -C <interface> adaptive-rx off adaptive-tx off rx-usecs 250 \
647 tx-usecs 250
654 # ethtool -C <interface> adaptive-rx off adaptive-tx off rx-usecs 0 \
655 tx-usecs 0
658 -------------------------------
677 sets priorities 0-3 to use tc0 and 4-7 to use tc1)
691 monitoring tools such as `ifstat` or `sar -n DEV [interval] [number of samples]`
695 # ethtool -K <interface> hw-tc-offload on
697 3. Apply TCs to ingress (RX) flow of interface::
702 - Run all tc commands from the iproute2 <pathtoiproute2>/tc/ directory.
703 - ADq is not compatible with cloud filters.
704 - Setting up channels via ethtool (ethtool -L) is not supported when the
706 - You must have iproute2 latest version
707 - NVM version 6.01 or later is required.
708 - ADq cannot be enabled when any the following features are enabled: Data
711 - If another driver (for example, DPDK) has set cloud filters, you cannot
713 - Tunnel filters are not supported in ADq. If encapsulated packets do
714 arrive in non-tunnel mode, filtering will be done on the inner headers.
715 For example, for VXLAN traffic in non-tunnel mode, PCTYPE is identified
718 - If a TC filter on a PF matches traffic over a VF (on the PF), that
722 - If traffic matches multiple TC filters that point to different TCs,
737 * SR-IOV
740 * Auto-media detect
743 ----------------------------------------------------------------
750 "multi-driver" module parameter may mitigate some of the issues.
753 ---------------------------------------------------
754 The kernel assumes that TC0 is available, and will disable Priority Flow
766 to intel-wired-lan@lists.osuosl.org.