sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftargetA/translations/zh_CN/networking/device_drivers/ethernet/intel/iavfmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/zh_TW/networking/device_drivers/ethernet/intel/iavfmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/it_IT/networking/device_drivers/ethernet/intel/iavfmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/ja_JP/networking/device_drivers/ethernet/intel/iavfmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/ko_KR/networking/device_drivers/ethernet/intel/iavfmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/sp_SP/networking/device_drivers/ethernet/intel/iavfmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h!SPDX-License-Identifier: GPL-2.0+h]h!SPDX-License-Identifier: GPL-2.0+}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhh[/var/lib/git/docbuild/linux/Documentation/networking/device_drivers/ethernet/intel/iavf.rsthKubhsection)}(hhh](htitle)}(hALinux Base Driver for Intel(R) Ethernet Adaptive Virtual Functionh]hALinux Base Driver for Intel(R) Ethernet Adaptive Virtual Function}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(h`Intel Ethernet Adaptive Virtual Function Linux driver. Copyright(c) 2013-2018 Intel Corporation.h]h`Intel Ethernet Adaptive Virtual Function Linux driver. Copyright(c) 2013-2018 Intel Corporation.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(hContentsh]hContents}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubh bullet_list)}(hhh](h list_item)}(hOverviewh]h)}(hhh]hOverview}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(hIdentifying Your Adapterh]h)}(hj h]hIdentifying Your Adapter}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(hAdditional Configurationsh]h)}(hj!h]hAdditional Configurations}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(hKnown Issues/Troubleshootingh]h)}(hj8h]hKnown Issues/Troubleshooting}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj6ubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(hSupport h]h)}(hSupporth]hSupport}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjMubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubeh}(h]h ]h"]h$]h&]bullet-uh1hhhhK hhhhubeh}(h]contentsah ]h"]contentsah$]h&]uh1hhhhhhhhK ubh)}(hhh](h)}(hOverviewh]hOverview}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjuhhhhhKubh)}(hWThis file describes the iavf Linux Base Driver. This driver was formerly called i40evf.h]hWThis file describes the iavf Linux Base Driver. This driver was formerly called i40evf.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjuhhubh)}(hThe iavf driver supports the below mentioned virtual function devices and can only be activated on kernels running the i40e or newer Physical Function (PF) driver compiled with CONFIG_PCI_IOV. The iavf driver requires CONFIG_PCI_MSI to be enabled.h]hThe iavf driver supports the below mentioned virtual function devices and can only be activated on kernels running the i40e or newer Physical Function (PF) driver compiled with CONFIG_PCI_IOV. The iavf driver requires CONFIG_PCI_MSI to be enabled.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjuhhubh)}(hCThe guest OS loading the iavf driver must support MSI-X interrupts.h]hCThe guest OS loading the iavf driver must support MSI-X interrupts.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjuhhubeh}(h]overviewah ]h"]overviewah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hIdentifying Your Adapterh]hIdentifying Your Adapter}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK!ubhdefinition_list)}(hhh]hdefinition_list_item)}(hThe driver in this kernel is compatible with devices based on the following: * Intel(R) XL710 X710 Virtual Function * Intel(R) X722 Virtual Function * Intel(R) XXV710 Virtual Function * Intel(R) Ethernet Adaptive Virtual Function h](hterm)}(hLThe driver in this kernel is compatible with devices based on the following:h]hLThe driver in this kernel is compatible with devices based on the following:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK'hjubh definition)}(hhh]h)}(hhh](h)}(h$Intel(R) XL710 X710 Virtual Functionh]h)}(hjh]h$Intel(R) XL710 X710 Virtual Function}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(hIntel(R) X722 Virtual Functionh]h)}(hjh]hIntel(R) X722 Virtual Function}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK%hjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(h Intel(R) XXV710 Virtual Functionh]h)}(hjh]h Intel(R) XXV710 Virtual Function}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK&hjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(h,Intel(R) Ethernet Adaptive Virtual Function h]h)}(h+Intel(R) Ethernet Adaptive Virtual Functionh]h+Intel(R) Ethernet Adaptive Virtual Function}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK'hj1ubah}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]jk*uh1hhhhK$hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhK'hjubah}(h]h ]h"]h$]h&]uh1jhjhhhNhNubh)}(hRFor the best performance, make sure the latest NVM/FW is installed on your device.h]hRFor the best performance, make sure the latest NVM/FW is installed on your device.}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK)hjhhubh)}(hFor information on how to identify your adapter, and for the latest NVM/FW images and Intel network drivers, refer to the Intel Support website: https://www.intel.com/supporth](hFor information on how to identify your adapter, and for the latest NVM/FW images and Intel network drivers, refer to the Intel Support website: }(hjphhhNhNubh reference)}(hhttps://www.intel.com/supporth]hhttps://www.intel.com/support}(hjzhhhNhNubah}(h]h ]h"]h$]h&]refurij|uh1jxhjpubeh}(h]h ]h"]h$]h&]uh1hhhhK,hjhhubeh}(h]identifying-your-adapterah ]h"]identifying your adapterah$]h&]uh1hhhhhhhhK!ubh)}(hhh](h)}(h&Additional Features and Configurationsh]h&Additional Features and Configurations}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK2ubh)}(hhh](h)}(hViewing Link Messagesh]hViewing Link Messages}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK5ubh)}(hLink messages will not be displayed to the console if the distribution is restricting system messages. In order to see network driver link messages on your console, set dmesg to eight by entering the following::h]hLink messages will not be displayed to the console if the distribution is restricting system messages. In order to see network driver link messages on your console, set dmesg to eight by entering the following:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK6hjhhubh literal_block)}(h # dmesg -n 8h]h # dmesg -n 8}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhK:hjhhubj)}(hhh]j)}(h0NOTE: This setting is not saved across reboots. h](j)}(hNOTE:h]hNOTE:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK=hjubj)}(hhh]h)}(h)This setting is not saved across reboots.h]h)This setting is not saved across reboots.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK=hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhK=hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]viewing-link-messagesah ]h"]viewing link messagesah$]h&]uh1hhjhhhhhK5ubh)}(hhh](h)}(hethtoolh]hethtool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK@ubh)}(hXThe driver utilizes the ethtool interface for driver configuration and diagnostics, as well as displaying statistical information. The latest ethtool version is required for this functionality. Download it at: https://www.kernel.org/pub/software/network/ethtool/h](hThe driver utilizes the ethtool interface for driver configuration and diagnostics, as well as displaying statistical information. The latest ethtool version is required for this functionality. Download it at: }(hj(hhhNhNubjy)}(h4https://www.kernel.org/pub/software/network/ethtool/h]h4https://www.kernel.org/pub/software/network/ethtool/}(hj0hhhNhNubah}(h]h ]h"]h$]h&]refurij2uh1jxhj(ubeh}(h]h ]h"]h$]h&]uh1hhhhKAhjhhubeh}(h]ethtoolah ]h"]ethtoolah$]h&]uh1hhjhhhhhK@ubh)}(hhh](h)}(hSetting VLAN Tag Strippingh]hSetting VLAN Tag Stripping}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMhhhhhKGubh)}(hXpIf you have applications that require Virtual Functions (VFs) to receive packets with VLAN tags, you can disable VLAN tag stripping for the VF. The Physical Function (PF) processes requests issued from the VF to enable or disable VLAN tag stripping. Note that if the PF has assigned a VLAN to a VF, then requests from that VF to set VLAN tag stripping will be ignored.h]hXpIf you have applications that require Virtual Functions (VFs) to receive packets with VLAN tags, you can disable VLAN tag stripping for the VF. The Physical Function (PF) processes requests issued from the VF to enable or disable VLAN tag stripping. Note that if the PF has assigned a VLAN to a VF, then requests from that VF to set VLAN tag stripping will be ignored.}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKHhjMhhubh)}(hTo enable/disable VLAN tag stripping for a VF, issue the following command from inside the VM in which you are running the VF::h]h~To enable/disable VLAN tag stripping for a VF, issue the following command from inside the VM in which you are running the VF:}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKNhjMhhubj)}(h$# ethtool -K rxvlan on/offh]h$# ethtool -K rxvlan on/off}hjzsbah}(h]h ]h"]h$]h&]hhuh1jhhhKQhjMhhubh)}(hor alternatively::h]hor alternatively:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShjMhhubj)}(h+# ethtool --offload rxvlan on/offh]h+# ethtool --offload rxvlan on/off}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhKUhjMhhubeh}(h]setting-vlan-tag-strippingah ]h"]setting vlan tag strippingah$]h&]uh1hhjhhhhhKGubh)}(hhh](h)}(hAdaptive Virtual Functionh]hAdaptive Virtual Function}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKXubh)}(hXUAdaptive Virtual Function (AVF) allows the virtual function driver, or VF, to adapt to changing feature sets of the physical function driver (PF) with which it is associated. This allows system administrators to update a PF without having to update all the VFs associated with it. All AVFs have a single common device ID and branding string.h]hXUAdaptive Virtual Function (AVF) allows the virtual function driver, or VF, to adapt to changing feature sets of the physical function driver (PF) with which it is associated. This allows system administrators to update a PF without having to update all the VFs associated with it. All AVFs have a single common device ID and branding string.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKYhjhhubh)}(hAVFs have a minimum set of features known as "base mode," but may provide additional features depending on what features are available in the PF with which the AVF is associated. The following are base mode features:h]hAVFs have a minimum set of features known as “base mode,” but may provide additional features depending on what features are available in the PF with which the AVF is associated. The following are base mode features:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK_hjhhubh)}(hhh](h)}(hQ4 Queue Pairs (QP) and associated Configuration Status Registers (CSRs) for Tx/Rxh]h)}(hQ4 Queue Pairs (QP) and associated Configuration Status Registers (CSRs) for Tx/Rxh]hQ4 Queue Pairs (QP) and associated Configuration Status Registers (CSRs) for Tx/Rx}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKchjubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubh)}(h i40e descriptors and ring formath]h)}(hjh]h i40e descriptors and ring format}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKehjubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubh)}(h Descriptor write-back completionh]h)}(hj h]h Descriptor write-back completion}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKfhj ubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubh)}(h<1 control queue, with i40e descriptors, CSRs and ring formath]h)}(hj$h]h<1 control queue, with i40e descriptors, CSRs and ring format}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKghj"ubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubh)}(h55 MSI-X interrupt vectors and corresponding i40e CSRsh]h)}(hj;h]h55 MSI-X interrupt vectors and corresponding i40e CSRs}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhj9ubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubh)}(h%1 Interrupt Throttle Rate (ITR) indexh]h)}(hjRh]h%1 Interrupt Throttle Rate (ITR) index}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKihjPubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubh)}(h(1 Virtual Station Interface (VSI) per VFh]h)}(hjih]h(1 Virtual Station Interface (VSI) per VF}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhjgubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubh)}(h1 Traffic Class (TC), TC0h]h)}(hjh]h1 Traffic Class (TC), TC0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKkhj~ubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubh)}(h]Receive Side Scaling (RSS) with 64 entry indirection table and key, configured through the PFh]h)}(h]Receive Side Scaling (RSS) with 64 entry indirection table and key, configured through the PFh]h]Receive Side Scaling (RSS) with 64 entry indirection table and key, configured through the PF}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKlhjubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubh)}(h%1 unicast MAC address reserved per VFh]h)}(hjh]h%1 unicast MAC address reserved per VF}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKnhjubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubh)}(h"16 MAC address filters for each VFh]h)}(hjh]h"16 MAC address filters for each VF}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKohjubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubh)}(h+Stateless offloads - non-tunneled checksumsh]h)}(hjh]h+Stateless offloads - non-tunneled checksums}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKphjubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubh)}(h AVF device IDh]h)}(hjh]h AVF device ID}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKqhjubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubh)}(hFHW mailbox is used for VF to PF communications (including on Windows) h]h)}(hEHW mailbox is used for VF to PF communications (including on Windows)h]hEHW mailbox is used for VF to PF communications (including on Windows)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKrhj ubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubeh}(h]h ]h"]h$]h&]jkjluh1hhhhKchjhhubeh}(h]adaptive-virtual-functionah ]h"]adaptive virtual functionah$]h&]uh1hhjhhhhhKXubh)}(hhh](h)}(hIEEE 802.1ad (QinQ) Supporth]hIEEE 802.1ad (QinQ) Support}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/hhhhhKuubh)}(hXNThe IEEE 802.1ad standard, informally known as QinQ, allows for multiple VLAN IDs within a single Ethernet frame. VLAN IDs are sometimes referred to as "tags," and multiple VLAN IDs are thus referred to as a "tag stack." Tag stacks allow L2 tunneling and the ability to segregate traffic within a particular VLAN ID, among other uses.h]hXVThe IEEE 802.1ad standard, informally known as QinQ, allows for multiple VLAN IDs within a single Ethernet frame. VLAN IDs are sometimes referred to as “tags,” and multiple VLAN IDs are thus referred to as a “tag stack.” Tag stacks allow L2 tunneling and the ability to segregate traffic within a particular VLAN ID, among other uses.}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKvhj/hhubh)}(h?The following are examples of how to configure 802.1ad (QinQ)::h]h>The following are examples of how to configure 802.1ad (QinQ):}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK|hj/hhubj)}(h# ip link add link eth0 eth0.24 type vlan proto 802.1ad id 24 # ip link add link eth0.24 eth0.24.371 type vlan proto 802.1Q id 371h]h# ip link add link eth0 eth0.24 type vlan proto 802.1ad id 24 # ip link add link eth0.24 eth0.24.371 type vlan proto 802.1Q id 371}hj\sbah}(h]h ]h"]h$]h&]hhuh1jhhhK~hj/hhubh)}(h*Where "24" and "371" are example VLAN IDs.h]h2Where “24” and “371” are example VLAN IDs.}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj/hhubj)}(hhh]j)}(huNOTES: Receive checksum offloads, cloud filters, and VLAN acceleration are not supported for 802.1ad (QinQ) packets. h](j)}(hNOTES:h]hNOTES:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhj{ubj)}(hhh]h)}(hmReceive checksum offloads, cloud filters, and VLAN acceleration are not supported for 802.1ad (QinQ) packets.h]hmReceive checksum offloads, cloud filters, and VLAN acceleration are not supported for 802.1ad (QinQ) packets.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhj{ubeh}(h]h ]h"]h$]h&]uh1jhhhKhjxubah}(h]h ]h"]h$]h&]uh1jhj/hhhhhNubeh}(h]ieee-802-1ad-qinq-supportah ]h"]ieee 802.1ad (qinq) supportah$]h&]uh1hhjhhhhhKuubh)}(hhh](h)}(hApplication Device Queues (ADq)h]hApplication Device Queues (ADq)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hApplication Device Queues (ADq) allows you to dedicate one or more queues to a specific application. This can reduce latency for the specified application, and allow Tx traffic to be rate limited per application. Follow the steps below to set ADq.h]hApplication Device Queues (ADq) allows you to dedicate one or more queues to a specific application. This can reduce latency for the specified application, and allow Tx traffic to be rate limited per application. Follow the steps below to set ADq.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h Requirements:h]h Requirements:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hhh](h)}(h@The sch_mqprio, act_mirred and cls_flower modules must be loadedh]h)}(hjh]h@The sch_mqprio, act_mirred and cls_flower modules must be loaded}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubh)}(hThe latest version of iproute2h]h)}(hjh]hThe latest version of iproute2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubh)}(hRIf another driver (for example, DPDK) has set cloud filters, you cannot enable ADQh]h)}(hRIf another driver (for example, DPDK) has set cloud filters, you cannot enable ADQh]hRIf another driver (for example, DPDK) has set cloud filters, you cannot enable ADQ}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubh)}(hDepending on the underlying PF device, ADQ cannot be enabled when the following features are enabled: + Data Center Bridging (DCB) + Multiple Functions per Port (MFP) + Sideband Filters h](h)}(heDepending on the underlying PF device, ADQ cannot be enabled when the following features are enabled:h]heDepending on the underlying PF device, ADQ cannot be enabled when the following features are enabled:}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj.ubh)}(hhh](h)}(hData Center Bridging (DCB)h]h)}(hjEh]hData Center Bridging (DCB)}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjCubah}(h]h ]h"]h$]h&]uh1hhj@ubh)}(h!Multiple Functions per Port (MFP)h]h)}(hj\h]h!Multiple Functions per Port (MFP)}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjZubah}(h]h ]h"]h$]h&]uh1hhj@ubh)}(hSideband Filters h]h)}(hSideband Filtersh]hSideband Filters}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjqubah}(h]h ]h"]h$]h&]uh1hhj@ubeh}(h]h ]h"]h$]h&]jk+uh1hhhhKhj.ubeh}(h]h ]h"]h$]h&]uh1hhjhhhNhNubeh}(h]h ]h"]h$]h&]jkjluh1hhhhKhjhhubh)}(h{1. Create traffic classes (TCs). Maximum of 8 TCs can be created per interface. The shaper bw_rlimit parameter is optional.h]h{1. Create traffic classes (TCs). Maximum of 8 TCs can be created per interface. The shaper bw_rlimit parameter is optional.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hrExample: Sets up two tcs, tc0 and tc1, with 16 queues each and max tx rate set to 1Gbit for tc0 and 3Gbit for tc1.h]hrExample: Sets up two tcs, tc0 and tc1, with 16 queues each and max tx rate set to 1Gbit for tc0 and 3Gbit for tc1.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(htc qdisc add dev root mqprio num_tc 2 map 0 0 0 0 1 1 1 1 queues 16@0 16@16 hw 1 mode channel shaper bw_rlimit min_rate 1Gbit 2Gbit max_rate 1Gbit 3Gbith]htc qdisc add dev root mqprio num_tc 2 map 0 0 0 0 1 1 1 1 queues 16@0 16@16 hw 1 mode channel shaper bw_rlimit min_rate 1Gbit 2Gbit max_rate 1Gbit 3Gbit}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjhhubh)}(hmap: priority mapping for up to 16 priorities to tcs (e.g. map 0 0 0 0 1 1 1 1 sets priorities 0-3 to use tc0 and 4-7 to use tc1)h]hmap: priority mapping for up to 16 priorities to tcs (e.g. map 0 0 0 0 1 1 1 1 sets priorities 0-3 to use tc0 and 4-7 to use tc1)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hqueues: for each tc, @ (e.g. queues 16@0 16@16 assigns 16 queues to tc0 at offset 0 and 16 queues to tc1 at offset 16. Max total number of queues for all tcs is 64 or number of cores, whichever is lower.)h](h=queues: for each tc, @ (e.g. queues 16@0 }(hjhhhNhNubjy)}(h16@16h]h16@16}(hjhhhNhNubah}(h]h ]h"]h$]h&]refuri mailto:16@16uh1jxhjubh assigns 16 queues to tc0 at offset 0 and 16 queues to tc1 at offset 16. Max total number of queues for all tcs is 64 or number of cores, whichever is lower.)}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hhw 1 mode channel: ‘channel’ with ‘hw’ set to 1 is a new new hardware offload mode in mqprio that makes full use of the mqprio options, the TCs, the queue configurations, and the QoS parameters.h]hhw 1 mode channel: ‘channel’ with ‘hw’ set to 1 is a new new hardware offload mode in mqprio that makes full use of the mqprio options, the TCs, the queue configurations, and the QoS parameters.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hvshaper bw_rlimit: for each tc, sets minimum and maximum bandwidth rates. Totals must be equal or less than port speed.h]hvshaper bw_rlimit: for each tc, sets minimum and maximum bandwidth rates. Totals must be equal or less than port speed.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hFor example: min_rate 1Gbit 3Gbit: Verify bandwidth limit using network monitoring tools such as ``ifstat`` or ``sar -n DEV [interval] [number of samples]``h](haFor example: min_rate 1Gbit 3Gbit: Verify bandwidth limit using network monitoring tools such as }(hjhhhNhNubhliteral)}(h ``ifstat``h]hifstat}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh or }(hjhhhNhNubj)}(h-``sar -n DEV [interval] [number of samples]``h]h)sar -n DEV [interval] [number of samples]}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hhh]j)}(hnNOTE: Setting up channels via ethtool (ethtool -L) is not supported when the TCs are configured using mqprio. h](j)}(hNOTE:h]hNOTE:}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjEubj)}(hhh]h)}(hgSetting up channels via ethtool (ethtool -L) is not supported when the TCs are configured using mqprio.h]hgSetting up channels via ethtool (ethtool -L) is not supported when the TCs are configured using mqprio.}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjWubah}(h]h ]h"]h$]h&]uh1jhjEubeh}(h]h ]h"]h$]h&]uh1jhhhKhjBubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubhenumerated_list)}(hhh](h)}(hPEnable HW TC offload on interface:: # ethtool -K hw-tc-offload on h](h)}(h#Enable HW TC offload on interface::h]h"Enable HW TC offload on interface:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubj)}(h)# ethtool -K hw-tc-offload onh]h)# ethtool -K hw-tc-offload on}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjubeh}(h]h ]h"]h$]h&]uh1hhj|hhhhhNubh)}(hWApply TCs to ingress (RX) flow of interface:: # tc qdisc add dev ingress h](h)}(h-Apply TCs to ingress (RX) flow of interface::h]h,Apply TCs to ingress (RX) flow of interface:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubj)}(h&# tc qdisc add dev ingressh]h&# tc qdisc add dev ingress}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjubeh}(h]h ]h"]h$]h&]uh1hhj|hhhhhNubeh}(h]h ]h"]h$]h&]enumtypearabicprefixhsuffix.startKuh1jzhjhhhhhKubj)}(hhh]j)}(hXbNOTES: - Run all tc commands from the iproute2 /tc/ directory - ADq is not compatible with cloud filters - Setting up channels via ethtool (ethtool -L) is not supported when the TCs are configured using mqprio - You must have iproute2 latest version - NVM version 6.01 or later is required - ADq cannot be enabled when any the following features are enabled: Data Center Bridging (DCB), Multiple Functions per Port (MFP), or Sideband Filters - If another driver (for example, DPDK) has set cloud filters, you cannot enable ADq - Tunnel filters are not supported in ADq. If encapsulated packets do arrive in non-tunnel mode, filtering will be done on the inner headers. For example, for VXLAN traffic in non-tunnel mode, PCTYPE is identified as a VXLAN encapsulated packet, outer headers are ignored. Therefore, inner headers are matched. - If a TC filter on a PF matches traffic over a VF (on the PF), that traffic will be routed to the appropriate queue of the PF, and will not be passed on the VF. Such traffic will end up getting dropped higher up in the TCP/IP stack as it does not match PF address data. - If traffic matches multiple TC filters that point to different TCs, that traffic will be duplicated and sent to all matching TC queues. The hardware switch mirrors the packet to a VSI list when multiple filters are matched. h](j)}(hNOTES:h]hNOTES:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(hhh]h)}(hhh](h)}(hDRun all tc commands from the iproute2 /tc/ directoryh]h)}(hjh]hDRun all tc commands from the iproute2 /tc/ directory}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(h(ADq is not compatible with cloud filtersh]h)}(hj h]h(ADq is not compatible with cloud filters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1hhjubh)}(hfSetting up channels via ethtool (ethtool -L) is not supported when the TCs are configured using mqprioh]h)}(hfSetting up channels via ethtool (ethtool -L) is not supported when the TCs are configured using mqprioh]hfSetting up channels via ethtool (ethtool -L) is not supported when the TCs are configured using mqprio}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1hhjubh)}(h%You must have iproute2 latest versionh]h)}(hj:h]h%You must have iproute2 latest version}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj8ubah}(h]h ]h"]h$]h&]uh1hhjubh)}(h%NVM version 6.01 or later is requiredh]h)}(hjQh]h%NVM version 6.01 or later is required}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjOubah}(h]h ]h"]h$]h&]uh1hhjubh)}(hADq cannot be enabled when any the following features are enabled: Data Center Bridging (DCB), Multiple Functions per Port (MFP), or Sideband Filtersh]h)}(hADq cannot be enabled when any the following features are enabled: Data Center Bridging (DCB), Multiple Functions per Port (MFP), or Sideband Filtersh]hADq cannot be enabled when any the following features are enabled: Data Center Bridging (DCB), Multiple Functions per Port (MFP), or Sideband Filters}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjfubah}(h]h ]h"]h$]h&]uh1hhjubh)}(hRIf another driver (for example, DPDK) has set cloud filters, you cannot enable ADqh]h)}(hRIf another driver (for example, DPDK) has set cloud filters, you cannot enable ADqh]hRIf another driver (for example, DPDK) has set cloud filters, you cannot enable ADq}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj~ubah}(h]h ]h"]h$]h&]uh1hhjubh)}(hX5Tunnel filters are not supported in ADq. If encapsulated packets do arrive in non-tunnel mode, filtering will be done on the inner headers. For example, for VXLAN traffic in non-tunnel mode, PCTYPE is identified as a VXLAN encapsulated packet, outer headers are ignored. Therefore, inner headers are matched.h]h)}(hX5Tunnel filters are not supported in ADq. If encapsulated packets do arrive in non-tunnel mode, filtering will be done on the inner headers. For example, for VXLAN traffic in non-tunnel mode, PCTYPE is identified as a VXLAN encapsulated packet, outer headers are ignored. Therefore, inner headers are matched.h]hX5Tunnel filters are not supported in ADq. If encapsulated packets do arrive in non-tunnel mode, filtering will be done on the inner headers. For example, for VXLAN traffic in non-tunnel mode, PCTYPE is identified as a VXLAN encapsulated packet, outer headers are ignored. Therefore, inner headers are matched.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(hX If a TC filter on a PF matches traffic over a VF (on the PF), that traffic will be routed to the appropriate queue of the PF, and will not be passed on the VF. Such traffic will end up getting dropped higher up in the TCP/IP stack as it does not match PF address data.h]h)}(hX If a TC filter on a PF matches traffic over a VF (on the PF), that traffic will be routed to the appropriate queue of the PF, and will not be passed on the VF. Such traffic will end up getting dropped higher up in the TCP/IP stack as it does not match PF address data.h]hX If a TC filter on a PF matches traffic over a VF (on the PF), that traffic will be routed to the appropriate queue of the PF, and will not be passed on the VF. Such traffic will end up getting dropped higher up in the TCP/IP stack as it does not match PF address data.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(hIf traffic matches multiple TC filters that point to different TCs, that traffic will be duplicated and sent to all matching TC queues. The hardware switch mirrors the packet to a VSI list when multiple filters are matched. h]h)}(hIf traffic matches multiple TC filters that point to different TCs, that traffic will be duplicated and sent to all matching TC queues. The hardware switch mirrors the packet to a VSI list when multiple filters are matched.h]hIf traffic matches multiple TC filters that point to different TCs, that traffic will be duplicated and sent to all matching TC queues. The hardware switch mirrors the packet to a VSI list when multiple filters are matched.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]jkjluh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhNhNubeh}(h]application-device-queues-adqah ]h"]application device queues (adq)ah$]h&]uh1hhjhhhhhKubeh}(h]&additional-features-and-configurationsah ]h"]&additional features and configurationsah$]h&]uh1hhhhhhhhK2ubh)}(hhh](h)}(hKnown Issues/Troubleshootingh]hKnown Issues/Troubleshooting}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhKubh)}(hhh](h)}(hQBonding fails with VFs bound to an Intel(R) Ethernet Controller 700 series deviceh]hQBonding fails with VFs bound to an Intel(R) Ethernet Controller 700 series device}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhKubh)}(hXIf you bind Virtual Functions (VFs) to an Intel(R) Ethernet Controller 700 series based device, the VF slaves may fail when they become the active slave. If the MAC address of the VF is set by the PF (Physical Function) of the device, when you add a slave, or change the active-backup slave, Linux bonding tries to sync the backup slave's MAC address to the same MAC address as the active slave. Linux bonding will fail at this point. This issue will not occur if the VF's MAC address is not set by the PF.h]hXIf you bind Virtual Functions (VFs) to an Intel(R) Ethernet Controller 700 series based device, the VF slaves may fail when they become the active slave. If the MAC address of the VF is set by the PF (Physical Function) of the device, when you add a slave, or change the active-backup slave, Linux bonding tries to sync the backup slave’s MAC address to the same MAC address as the active slave. Linux bonding will fail at this point. This issue will not occur if the VF’s MAC address is not set by the PF.}(hj( hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj hhubeh}(h]Pbonding-fails-with-vfs-bound-to-an-intel-r-ethernet-controller-700-series-deviceah ]h"]Qbonding fails with vfs bound to an intel(r) ethernet controller 700 series deviceah$]h&]uh1hhj hhhhhKubh)}(hhh](h)}(h1Traffic Is Not Being Passed Between VM and Clienth]h1Traffic Is Not Being Passed Between VM and Client}(hjA hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj> hhhhhKubh)}(hX>You may not be able to pass traffic between a client system and a Virtual Machine (VM) running on a separate host if the Virtual Function (VF, or Virtual NIC) is not in trusted mode and spoof checking is enabled on the VF. Note that this situation can occur in any combination of client, host, and guest operating system. For information on how to set the VF to trusted mode, refer to the section "VLAN Tag Packet Steering" in this readme document. For information on setting spoof checking, refer to the section "MAC and VLAN anti-spoofing feature" in this readme document.h]hXFYou may not be able to pass traffic between a client system and a Virtual Machine (VM) running on a separate host if the Virtual Function (VF, or Virtual NIC) is not in trusted mode and spoof checking is enabled on the VF. Note that this situation can occur in any combination of client, host, and guest operating system. For information on how to set the VF to trusted mode, refer to the section “VLAN Tag Packet Steering” in this readme document. For information on setting spoof checking, refer to the section “MAC and VLAN anti-spoofing feature” in this readme document.}(hjO hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj> hhubeh}(h]1traffic-is-not-being-passed-between-vm-and-clientah ]h"]1traffic is not being passed between vm and clientah$]h&]uh1hhj hhhhhKubh)}(hhh](h)}(h=Do not unload port driver if VF with active VM is bound to ith]h=Do not unload port driver if VF with active VM is bound to it}(hjh hhhNhNubah}(h]h ]h"]h$]h&]uh1hhje hhhhhKubh)}(hDo not unload a port's driver if a Virtual Function (VF) with an active Virtual Machine (VM) is bound to it. Doing so will cause the port to appear to hang. Once the VM shuts down, or otherwise releases the VF, the command will complete.h]hDo not unload a port’s driver if a Virtual Function (VF) with an active Virtual Machine (VM) is bound to it. Doing so will cause the port to appear to hang. Once the VM shuts down, or otherwise releases the VF, the command will complete.}(hjv hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhje hhubeh}(h]=do-not-unload-port-driver-if-vf-with-active-vm-is-bound-to-itah ]h"]=do not unload port driver if vf with active vm is bound to itah$]h&]uh1hhj hhhhhKubh)}(hhh](h)}(h Using four traffic classes failsh]h Using four traffic classes fails}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhKubh)}(hDo not try to reserve more than three traffic classes in the iavf driver. Doing so will fail to set any traffic classes and will cause the driver to write errors to stdout. Use a maximum of three queues to avoid this issue.h]hDo not try to reserve more than three traffic classes in the iavf driver. Doing so will fail to set any traffic classes and will cause the driver to write errors to stdout. Use a maximum of three queues to avoid this issue.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj hhubeh}(h] using-four-traffic-classes-failsah ]h"] using four traffic classes failsah$]h&]uh1hhj hhhhhKubh)}(hhh](h)}(h2Multiple log error messages on iavf driver removalh]h2Multiple log error messages on iavf driver removal}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhMubh)}(h~If you have several VFs and you remove the iavf driver, several instances of the following log errors are written to the log::h]h}If you have several VFs and you remove the iavf driver, several instances of the following log errors are written to the log:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubj)}(hUnable to send opcode 2 to PF, err I40E_ERR_QUEUE_EMPTY, aq_err ok Unable to send the message to VF 2 aq_err 12 ARQ Overflow Error detectedh]hUnable to send opcode 2 to PF, err I40E_ERR_QUEUE_EMPTY, aq_err ok Unable to send the message to VF 2 aq_err 12 ARQ Overflow Error detected}hj sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhj hhubeh}(h]2multiple-log-error-messages-on-iavf-driver-removalah ]h"]2multiple log error messages on iavf driver removalah$]h&]uh1hhj hhhhhMubh)}(hhh](h)}(h!Virtual machine does not get linkh]h!Virtual machine does not get link}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhM ubh)}(hIf the virtual machine has more than one virtual port assigned to it, and those virtual ports are bound to different physical ports, you may not get link on all of the virtual ports. The following command may work around the issue::h]hIf the virtual machine has more than one virtual port assigned to it, and those virtual ports are bound to different physical ports, you may not get link on all of the virtual ports. The following command may work around the issue:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM hj hhubj)}(h# ethtool -r h]h# ethtool -r }hj sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhj hhubh)}(hWhere is the PF interface in the host, for example: p5p1. You may need to run the command more than once to get link on all virtual ports.h]hWhere is the PF interface in the host, for example: p5p1. You may need to run the command more than once to get link on all virtual ports.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj hhubeh}(h]!virtual-machine-does-not-get-linkah ]h"]!virtual machine does not get linkah$]h&]uh1hhj hhhhhM ubh)}(hhh](h)}(h4MAC address of Virtual Function changes unexpectedlyh]h4MAC address of Virtual Function changes unexpectedly}(hj. hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+ hhhhhMubh)}(hX?If a Virtual Function's MAC address is not assigned in the host, then the VF (virtual function) driver will use a random MAC address. This random MAC address may change each time the VF driver is reloaded. You can assign a static MAC address in the host machine. This static MAC address will survive a VF driver reload.h]hXAIf a Virtual Function’s MAC address is not assigned in the host, then the VF (virtual function) driver will use a random MAC address. This random MAC address may change each time the VF driver is reloaded. You can assign a static MAC address in the host machine. This static MAC address will survive a VF driver reload.}(hj< hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhj+ hhubeh}(h]4mac-address-of-virtual-function-changes-unexpectedlyah ]h"]4mac address of virtual function changes unexpectedlyah$]h&]uh1hhj hhhhhMubh)}(hhh](h)}(hDriver Buffer Overflow Fixh]hDriver Buffer Overflow Fix}(hjU hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjR hhhhhMubh)}(hThe fix to resolve CVE-2016-8105, referenced in Intel SA-00069 https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00069.html is included in this and future versions of the driver.h](h?The fix to resolve CVE-2016-8105, referenced in Intel SA-00069 }(hjc hhhNhNubjy)}(hThttps://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00069.htmlh]hThttps://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00069.html}(hjk hhhNhNubah}(h]h ]h"]h$]h&]refurijm uh1jxhjc ubh7 is included in this and future versions of the driver.}(hjc hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjR hhubeh}(h]driver-buffer-overflow-fixah ]h"]driver buffer overflow fixah$]h&]uh1hhj hhhhhMubh)}(hhh](h)}(h6Multiple Interfaces on Same Ethernet Broadcast Networkh]h6Multiple Interfaces on Same Ethernet Broadcast Network}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhM$ubh)}(hX?Due to the default ARP behavior on Linux, it is not possible to have one system on two IP networks in the same Ethernet broadcast domain (non-partitioned switch) behave as expected. All Ethernet interfaces will respond to IP traffic for any IP address assigned to the system. This results in unbalanced receive traffic.h]hX?Due to the default ARP behavior on Linux, it is not possible to have one system on two IP networks in the same Ethernet broadcast domain (non-partitioned switch) behave as expected. All Ethernet interfaces will respond to IP traffic for any IP address assigned to the system. This results in unbalanced receive traffic.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM%hj hhubh)}(hWIf you have multiple interfaces in a server, either turn on ARP filtering by entering::h]hVIf you have multiple interfaces in a server, either turn on ARP filtering by entering:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM+hj hhubj)}(h1# echo 1 > /proc/sys/net/ipv4/conf/all/arp_filterh]h1# echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter}hj sbah}(h]h ]h"]h$]h&]hhuh1jhhhM.hj hhubj)}(hhh]j)}(hNOTE: This setting is not saved across reboots. The configuration change can be made permanent by adding the following line to the file /etc/sysctl.conf:: net.ipv4.conf.all.arp_filter = 1 h](j)}(hNOTE:h]hNOTE:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhM4hj ubj)}(hhh](h)}(hThis setting is not saved across reboots. The configuration change can be made permanent by adding the following line to the file /etc/sysctl.conf::h]hThis setting is not saved across reboots. The configuration change can be made permanent by adding the following line to the file /etc/sysctl.conf:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM1hj ubj)}(h net.ipv4.conf.all.arp_filter = 1h]h net.ipv4.conf.all.arp_filter = 1}hj sbah}(h]h ]h"]h$]h&]hhuh1jhhhM4hj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhhhM4hj ubah}(h]h ]h"]h$]h&]uh1jhj hhhhhNubh)}(hAnother alternative is to install the interfaces in separate broadcast domains (either in different switches or in a switch partitioned to VLANs).h]hAnother alternative is to install the interfaces in separate broadcast domains (either in different switches or in a switch partitioned to VLANs).}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM6hj hhubeh}(h]6multiple-interfaces-on-same-ethernet-broadcast-networkah ]h"]6multiple interfaces on same ethernet broadcast networkah$]h&]uh1hhj hhhhhM$ubh)}(hhh](h)}(hRx Page Allocation Errorsh]hRx Page Allocation Errors}(hj& hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj# hhhhhM:ubh)}(h'Page allocation failure. order:0' errors may occur under stress. This is caused by the way the Linux kernel reports this stressed condition.h]h‘Page allocation failure. order:0’ errors may occur under stress. This is caused by the way the Linux kernel reports this stressed condition.}(hj4 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhM;hj# hhubeh}(h]rx-page-allocation-errorsah ]h"]rx page allocation errorsah$]h&]uh1hhj hhhhhM:ubeh}(h]known-issues-troubleshootingah ]h"]known issues/troubleshootingah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hSupporth]hSupport}(hjU hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjR hhhhhM@ubh)}(hVFor general information, go to the Intel support website at: https://support.intel.comh](h=For general information, go to the Intel support website at: }(hjc hhhNhNubjy)}(hhttps://support.intel.comh]hhttps://support.intel.com}(hjk hhhNhNubah}(h]h ]h"]h$]h&]refurijm uh1jxhjc ubeh}(h]h ]h"]h$]h&]uh1hhhhMAhjR hhubh)}(hIf an issue is identified with the released source code on the supported kernel with a supported adapter, email the specific information related to the issue to intel-wired-lan@lists.osuosl.org.h](hIf an issue is identified with the released source code on the supported kernel with a supported adapter, email the specific information related to the issue to }(hj hhhNhNubjy)}(h intel-wired-lan@lists.osuosl.orgh]h intel-wired-lan@lists.osuosl.org}(hj hhhNhNubah}(h]h ]h"]h$]h&]refuri'mailto:intel-wired-lan@lists.osuosl.orguh1jxhj ubh.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMDhjR hhubeh}(h]supportah ]h"]supportah$]h&]uh1hhhhhhhhM@ubeh}(h]@linux-base-driver-for-intel-r-ethernet-adaptive-virtual-functionah ]h"]Alinux base driver for intel(r) ethernet adaptive virtual functionah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(j j jrjojjjjj j jjjJjGjjj,j)jjjjjO jL j; j8 jb j_ j j j j j j j( j% jO jL j j j j jG jD j j u nametypes}(j jrjjj jjJjj,jjjO j; jb j j j j( jO j j jG j uh}(j hjohjjujjj jjjjGjjjMj)jjj/jjjL j j8 j j_ j> j je j j j j j% j jL j+ j jR j j jD j# j jR u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]hsystem_message)}(hhh]h)}(h:Enumerated list start value not ordinal-1: "2" (ordinal 2)h]h>Enumerated list start value not ordinal-1: “2” (ordinal 2)}(hj< hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9 ubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehlineKuh1j7 hjhhhhhKubatransform_messages] transformerN include_log] decorationNhhub.