├── src ├── Module.supported ├── i40e_filters.h ├── i40e_diag.h ├── kcompat_defs.h ├── kcompat_ubuntu_defs.h ├── i40e_alloc.h ├── i40e_filters.c ├── i40e_devids.h ├── i40e_xsk.h ├── i40e_status.h ├── linux │ └── auxiliary_bus.h ├── i40e_osdep.h ├── i40e_helper.h ├── i40e_diag.c ├── kcompat_gcc.h ├── i40e_adminq.h ├── auxiliary_compat.h ├── i40e_lan_hmc.h ├── i40e_txrx_common.h ├── i40e_trace.h ├── kcompat_rhel_defs.h ├── i40e_client.h ├── kcompat_sles_defs.h ├── Makefile ├── i40e_hmc.h ├── i40e_virtchnl_pf.h ├── kcompat_vfd.h ├── auxiliary.c ├── kcompat-lib.sh ├── i40e_dcb.h ├── kcompat_std_defs.h ├── i40e_ethtool_stats.h ├── kcompat_overflow.h └── i40e_hmc.c ├── scripts ├── dump_tables ├── virt_perf_default ├── check_aux_bus └── set_irq_affinity ├── SUMS ├── i40e.7 └── pci.updates /src/Module.supported: -------------------------------------------------------------------------------- 1 | i40e.ko external 2 | intel_auxiliary.ko external 3 | -------------------------------------------------------------------------------- /src/i40e_filters.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0-only */ 2 | /* Copyright (C) 2013-2023 Intel Corporation */ 3 | 4 | #ifndef _I40E_FILTERS_H_ 5 | #define _I40E_FILTERS_H_ 6 | 7 | #include "i40e.h" 8 | 9 | void __i40e_del_filter(struct i40e_vsi *vsi, struct i40e_mac_filter *f); 10 | 11 | #endif /* _I40E_FILTERS_H_ */ 12 | -------------------------------------------------------------------------------- /src/i40e_diag.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0-only */ 2 | /* Copyright (C) 2013-2023 Intel Corporation */ 3 | 4 | #ifndef _I40E_DIAG_H_ 5 | #define _I40E_DIAG_H_ 6 | 7 | #include "i40e_type.h" 8 | 9 | enum i40e_lb_mode { 10 | I40E_LB_MODE_NONE = 0x0, 11 | I40E_LB_MODE_PHY_LOCAL = I40E_AQ_LB_PHY_LOCAL, 12 | I40E_LB_MODE_PHY_REMOTE = I40E_AQ_LB_PHY_REMOTE, 13 | I40E_LB_MODE_MAC_LOCAL = I40E_AQ_LB_MAC_LOCAL, 14 | }; 15 | 16 | struct i40e_diag_reg_test_info { 17 | u32 offset; /* the base register */ 18 | u32 mask; /* bits that can be tested */ 19 | u32 elements; /* number of elements if array */ 20 | u32 stride; /* bytes between each element */ 21 | }; 22 | 23 | extern const struct i40e_diag_reg_test_info i40e_reg_list[]; 24 | 25 | i40e_status i40e_diag_reg_test(struct i40e_hw *hw); 26 | i40e_status i40e_diag_eeprom_test(struct i40e_hw *hw); 27 | 28 | #endif /* _I40E_DIAG_H_ */ 29 | -------------------------------------------------------------------------------- /src/kcompat_defs.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0-only */ 2 | /* Copyright (C) 2013-2023 Intel Corporation */ 3 | 4 | #ifndef _KCOMPAT_DEFS_H_ 5 | #define _KCOMPAT_DEFS_H_ 6 | 7 | #ifndef LINUX_VERSION_CODE 8 | #include 9 | #else 10 | #ifndef KERNEL_VERSION 11 | #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) 12 | #endif 13 | #endif /* LINUX_VERSION_CODE */ 14 | 15 | #ifndef UTS_RELEASE 16 | #include 17 | #endif 18 | 19 | /* 20 | * Include the definitions file for HAVE/NEED flags for the standard upstream 21 | * kernels. 22 | * 23 | * Then, based on the distribution we detect, load the distribution specific 24 | * definitions file that customizes the definitions for the target 25 | * distribution. 26 | */ 27 | #include "kcompat_std_defs.h" 28 | 29 | #ifdef CONFIG_SUSE_KERNEL 30 | #include "kcompat_sles_defs.h" 31 | #elif UBUNTU_VERSION_CODE 32 | #include "kcompat_ubuntu_defs.h" 33 | #elif RHEL_RELEASE_CODE 34 | #include "kcompat_rhel_defs.h" 35 | #endif 36 | 37 | #include "kcompat_generated_defs.h" 38 | 39 | #endif /* _KCOMPAT_DEFS_H_ */ 40 | -------------------------------------------------------------------------------- /src/kcompat_ubuntu_defs.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0-only */ 2 | /* Copyright (C) 2013-2023 Intel Corporation */ 3 | 4 | #ifndef _KCOMPAT_UBUNTU_DEFS_H_ 5 | #define _KCOMPAT_UBUNTU_DEFS_H_ 6 | 7 | /* This file contains the definitions for the Ubuntu specific distribution of 8 | * the Linux kernel. 9 | * 10 | * It checks the UBUNTU_VERSION_CODE to decide which features are available in 11 | * the target kernel. It assumes that kcompat_std_defs.h has already been 12 | * processed, and will #define or #undef the relevant flags based on what 13 | * features were backported by Ubuntu. 14 | */ 15 | 16 | #if !UTS_UBUNTU_RELEASE_ABI 17 | #error "UTS_UBUNTU_RELEASE_ABI is 0 or undefined" 18 | #endif 19 | 20 | #if !UBUNTU_VERSION_CODE 21 | #error "UBUNTU_VERSION_CODE is 0 or undefined" 22 | #endif 23 | 24 | #ifndef UBUNTU_VERSION 25 | #error "UBUNTU_VERSION is undefined" 26 | #endif 27 | 28 | /*****************************************************************************/ 29 | #if (UBUNTU_VERSION_CODE >= UBUNTU_VERSION(4,15,0,159) && \ 30 | UBUNTU_VERSION_CODE < UBUNTU_VERSION(4,15,0,999)) 31 | #undef NEED_SKB_FRAG_OFF 32 | #endif 33 | 34 | /*****************************************************************************/ 35 | #endif /* _KCOMPAT_UBUNTU_DEFS_H_ */ 36 | -------------------------------------------------------------------------------- /src/i40e_alloc.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0-only */ 2 | /* Copyright (C) 2013-2023 Intel Corporation */ 3 | 4 | #ifndef _I40E_ALLOC_H_ 5 | #define _I40E_ALLOC_H_ 6 | 7 | struct i40e_hw; 8 | 9 | /* Memory allocation types */ 10 | enum i40e_memory_type { 11 | i40e_mem_arq_buf = 0, /* ARQ indirect command buffer */ 12 | i40e_mem_asq_buf = 1, 13 | i40e_mem_atq_buf = 2, /* ATQ indirect command buffer */ 14 | i40e_mem_arq_ring = 3, /* ARQ descriptor ring */ 15 | i40e_mem_atq_ring = 4, /* ATQ descriptor ring */ 16 | i40e_mem_pd = 5, /* Page Descriptor */ 17 | i40e_mem_bp = 6, /* Backing Page - 4KB */ 18 | i40e_mem_bp_jumbo = 7, /* Backing Page - > 4KB */ 19 | i40e_mem_reserved 20 | }; 21 | 22 | /* prototype for functions used for dynamic memory allocation */ 23 | i40e_status i40e_allocate_dma_mem(struct i40e_hw *hw, 24 | struct i40e_dma_mem *mem, 25 | enum i40e_memory_type type, 26 | u64 size, u32 alignment); 27 | i40e_status i40e_free_dma_mem(struct i40e_hw *hw, 28 | struct i40e_dma_mem *mem); 29 | i40e_status i40e_allocate_virt_mem(struct i40e_hw *hw, 30 | struct i40e_virt_mem *mem, 31 | u32 size); 32 | i40e_status i40e_free_virt_mem(struct i40e_hw *hw, 33 | struct i40e_virt_mem *mem); 34 | 35 | #endif /* _I40E_ALLOC_H_ */ 36 | -------------------------------------------------------------------------------- /src/i40e_filters.c: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0-only */ 2 | /* Copyright (C) 2013-2023 Intel Corporation */ 3 | 4 | #include "i40e_filters.h" 5 | 6 | /** 7 | * __i40e_del_filter - Remove a specific filter from the VSI 8 | * @vsi: VSI to remove from 9 | * @f: the filter to remove from the list 10 | * 11 | * This function should be called instead of i40e_del_filter only if you know 12 | * the exact filter you will remove already, such as via i40e_find_filter or 13 | * i40e_find_mac. 14 | * 15 | * NOTE: This function is expected to be called with mac_filter_hash_lock 16 | * being held. 17 | * ANOTHER NOTE: This function MUST be called from within the context of 18 | * the "safe" variants of any list iterators, e.g. list_for_each_entry_safe() 19 | * instead of list_for_each_entry(). 20 | **/ 21 | void __i40e_del_filter(struct i40e_vsi *vsi, struct i40e_mac_filter *f) 22 | { 23 | if (!f) 24 | return; 25 | 26 | /* If the filter was never added to firmware then we can just delete it 27 | * directly and we don't want to set the status to remove or else an 28 | * admin queue command will unnecessarily fire. 29 | */ 30 | if (f->state == I40E_FILTER_FAILED || f->state == I40E_FILTER_NEW) { 31 | hash_del(&f->hlist); 32 | kfree(f); 33 | } else { 34 | f->state = I40E_FILTER_REMOVE; 35 | } 36 | 37 | vsi->flags |= I40E_VSI_FLAG_FILTER_CHANGED; 38 | set_bit(__I40E_MACVLAN_SYNC_PENDING, vsi->back->state); 39 | } 40 | 41 | -------------------------------------------------------------------------------- /src/i40e_devids.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0-only */ 2 | /* Copyright (C) 2013-2023 Intel Corporation */ 3 | 4 | #define _I40E_DEVIDS_H_ 5 | 6 | /* Device IDs */ 7 | #define I40E_DEV_ID_X710_N3000 0x0CF8 8 | #define I40E_DEV_ID_XXV710_N3000 0x0D58 9 | #define I40E_DEV_ID_SFP_XL710 0x1572 10 | #define I40E_DEV_ID_QEMU 0x1574 11 | #define I40E_DEV_ID_KX_B 0x1580 12 | #define I40E_DEV_ID_KX_C 0x1581 13 | #define I40E_DEV_ID_QSFP_A 0x1583 14 | #define I40E_DEV_ID_QSFP_B 0x1584 15 | #define I40E_DEV_ID_QSFP_C 0x1585 16 | #define I40E_DEV_ID_10G_BASE_T 0x1586 17 | #define I40E_DEV_ID_20G_KR2 0x1587 18 | #define I40E_DEV_ID_20G_KR2_A 0x1588 19 | #define I40E_DEV_ID_10G_BASE_T4 0x1589 20 | #define I40E_DEV_ID_25G_B 0x158A 21 | #define I40E_DEV_ID_25G_SFP28 0x158B 22 | #define I40E_DEV_ID_10G_BASE_T_BC 0x15FF 23 | #define I40E_DEV_ID_10G_B 0x104F 24 | #define I40E_DEV_ID_10G_SFP 0x104E 25 | #define I40E_DEV_ID_5G_BASE_T_BC 0x101F 26 | #define I40E_DEV_ID_1G_BASE_T_BC 0x0DD2 27 | #define I40E_IS_X710TL_DEVICE(d) \ 28 | (((d) == I40E_DEV_ID_10G_BASE_T_BC) || \ 29 | ((d) == I40E_DEV_ID_5G_BASE_T_BC) || \ 30 | ((d) == I40E_DEV_ID_1G_BASE_T_BC)) 31 | #define I40E_DEV_ID_KX_X722 0x37CE 32 | #define I40E_DEV_ID_QSFP_X722 0x37CF 33 | #define I40E_DEV_ID_SFP_X722 0x37D0 34 | #define I40E_DEV_ID_1G_BASE_T_X722 0x37D1 35 | #define I40E_DEV_ID_10G_BASE_T_X722 0x37D2 36 | #define I40E_DEV_ID_SFP_I_X722 0x37D3 37 | #define I40E_DEV_ID_SFP_X722_A 0x0DDA 38 | 39 | #define i40e_is_40G_device(d) ((d) == I40E_DEV_ID_QSFP_A || \ 40 | (d) == I40E_DEV_ID_QSFP_B || \ 41 | (d) == I40E_DEV_ID_QSFP_C) 42 | 43 | #define i40e_is_25G_device(d) ((d) == I40E_DEV_ID_25G_B || \ 44 | (d) == I40E_DEV_ID_25G_SFP28 || \ 45 | (d) == I40E_DEV_ID_XXV710_N3000) 46 | 47 | -------------------------------------------------------------------------------- /scripts/dump_tables: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Dump Tables script 3 | # Copyright (C) 2015 - 2023 Intel Corporation 4 | # 5 | # This script is used to generate a dump of the hardware state for 6 | # sending to linux.nics@intel.com for debugging purposes. This 7 | # script will generate a dump_tables.gz output file that can be 8 | # uploaded or emailed. 9 | 10 | # Usage: dump_tables eth1 11 | 12 | DEV=$1 13 | . /sys/class/net/$DEV/device/uevent 14 | # DRIVER=i40e 15 | # PCI_CLASS=20000 16 | # PCI_ID=8086:1583 17 | # PCI_SUBSYS_ID=8086:0002 18 | # PCI_SLOT_NAME=0000:06:00.0 19 | # MODALIAS=pci:v00008086d00001583sv00008086sd00000002bc02sc00i00 20 | 21 | if [ "$DEV" == "" ]; then 22 | echo Usage: $0 "" 23 | exit -1 24 | fi 25 | 26 | if [ "$PCI_SLOT_NAME" == "" ]; then 27 | echo kernel version `uname -r` is not supported, please report the bug at e1000.sourceforge.net 28 | exit -2 29 | fi 30 | 31 | CLUSTER=1 32 | TABLE=0 33 | INDEX=0 34 | 35 | OUTFILE=`mktemp` 36 | TMPFILE=`mktemp` 37 | 38 | # check for the debugfs directory being mounted 39 | if [ -d "/sys/kernel/debug/i40e" ]; then 40 | echo debugfs found 41 | else 42 | echo -n "mounting debugfs as /sys/kernel/debug: " 43 | mount -t debugfs none /sys/kernel/debug && echo Success || (echo Failure ; exit -3) 44 | fi 45 | 46 | dmesg -c > /dev/null 47 | until [ "$TABLE" == "0xff" ]; do 48 | until [ "$INDEX" == "0xffffffff" ]; do 49 | echo dump debug fwdata $CLUSTER $TABLE $INDEX > /sys/kernel/debug/i40e/$PCI_SLOT_NAME/command 50 | # check output, exit if no good 51 | dmesg | grep -q unknown && (echo error encountered, see log; exit -4) 52 | # store it, without modification 53 | dmesg >> $OUTFILE 54 | # erase it and prepare for parse 55 | dmesg -c > $TMPFILE 56 | TABLE=`grep rlen $TMPFILE | sed -e 's/.*next_table=\(.*\) .*\$/\1/'` 57 | INDEX=`grep rlen $TMPFILE | sed -e 's/.*next_index=\(.*\)\$/\1/'` 58 | echo -n . 59 | done 60 | INDEX=0 61 | done 62 | 63 | gzip $OUTFILE 64 | cp $OUTFILE.gz dump_tables.gz 65 | 66 | rm $OUTFILE.gz 67 | rm $TMPFILE 68 | 69 | echo Please send the file dump_tables.gz to linux.nics@intel.com or your Intel Support representative. 70 | -------------------------------------------------------------------------------- /src/i40e_xsk.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0-only */ 2 | /* Copyright (C) 2013-2023 Intel Corporation */ 3 | 4 | #ifndef _I40E_XSK_H_ 5 | #define _I40E_XSK_H_ 6 | 7 | #ifdef HAVE_AF_XDP_ZC_SUPPORT 8 | 9 | /* This value should match the pragma in the loop_unrolled_for 10 | * macro. Why 4? It is strictly empirical. It seems to be a good 11 | * compromise between the advantage of having simultaneous outstanding 12 | * reads to the DMA array that can hide each others latency and the 13 | * disadvantage of having a larger code path. 14 | */ 15 | #define PKTS_PER_BATCH 4 16 | 17 | #if __GNUC__ >= 8 18 | #define loop_unrolled_for _Pragma("GCC unroll 4") for 19 | #else 20 | #define loop_unrolled_for for 21 | #endif 22 | 23 | struct i40e_vsi; 24 | #ifdef HAVE_NETDEV_BPF_XSK_POOL 25 | struct xsk_buff_pool; 26 | #else 27 | struct xdp_umem; 28 | #endif /*HAVE_NETDEV_BPF_XSK_POOL */ 29 | struct zero_copy_allocator; 30 | 31 | int i40e_queue_pair_disable(struct i40e_vsi *vsi, int queue_pair); 32 | int i40e_queue_pair_enable(struct i40e_vsi *vsi, int queue_pair); 33 | #ifndef NO_XDP_QUERY_XSK_UMEM 34 | int i40e_xsk_umem_query(struct i40e_vsi *vsi, struct xdp_umem **umem, 35 | u16 qid); 36 | #endif /* NO_XDP_QUERY_XSK_UMEM */ 37 | #ifdef HAVE_NETDEV_BPF_XSK_POOL 38 | int i40e_xsk_pool_setup(struct i40e_vsi *vsi, struct xsk_buff_pool *pool, 39 | u16 qid); 40 | #else 41 | int i40e_xsk_umem_setup(struct i40e_vsi *vsi, struct xdp_umem *umem, 42 | u16 qid); 43 | #endif /* HAVE_NETDEV_BFP_XSK_POOL */ 44 | #ifndef HAVE_MEM_TYPE_XSK_BUFF_POOL 45 | void i40e_zca_free(struct zero_copy_allocator *alloc, unsigned long handle); 46 | #endif /* HAVE_MEM_TYPE_XSK_BUFF_POOL */ 47 | 48 | bool i40e_alloc_rx_buffers_zc(struct i40e_ring *rx_ring, u16 cleaned_count); 49 | int i40e_clean_rx_irq_zc(struct i40e_ring *rx_ring, int budget); 50 | 51 | bool i40e_clean_xdp_tx_irq(struct i40e_vsi *vsi, struct i40e_ring *tx_ring); 52 | #ifdef HAVE_NDO_XSK_WAKEUP 53 | int i40e_xsk_wakeup(struct net_device *dev, u32 queue_id, u32 flags); 54 | #else 55 | int i40e_xsk_async_xmit(struct net_device *dev, u32 queue_id); 56 | #endif /* HAVE_NDO_XSK_WAKEUP */ 57 | 58 | #ifdef HAVE_MEM_TYPE_XSK_BUFF_POOL 59 | int i40e_alloc_rx_bi_zc(struct i40e_ring *rx_ring); 60 | void i40e_clear_rx_bi_zc(struct i40e_ring *rx_ring); 61 | #endif /* HAVE_MEM_TYPE_XSK_BUFF_POOL */ 62 | 63 | #endif /* HAVE_AF_XDP_SUPPORT */ 64 | #endif /* _I40E_XSK_H_ */ 65 | 66 | -------------------------------------------------------------------------------- /src/i40e_status.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0-only */ 2 | /* Copyright (C) 2013-2023 Intel Corporation */ 3 | 4 | #ifndef _I40E_STATUS_H_ 5 | #define _I40E_STATUS_H_ 6 | 7 | /* Error Codes */ 8 | enum i40e_status_code { 9 | I40E_SUCCESS = 0, 10 | I40E_ERR_NVM = -1, 11 | I40E_ERR_NVM_CHECKSUM = -2, 12 | I40E_ERR_PHY = -3, 13 | I40E_ERR_CONFIG = -4, 14 | I40E_ERR_PARAM = -5, 15 | I40E_ERR_MAC_TYPE = -6, 16 | I40E_ERR_UNKNOWN_PHY = -7, 17 | I40E_ERR_LINK_SETUP = -8, 18 | I40E_ERR_ADAPTER_STOPPED = -9, 19 | I40E_ERR_INVALID_MAC_ADDR = -10, 20 | I40E_ERR_DEVICE_NOT_SUPPORTED = -11, 21 | I40E_ERR_PRIMARY_REQUESTS_PENDING = -12, 22 | I40E_ERR_INVALID_LINK_SETTINGS = -13, 23 | I40E_ERR_AUTONEG_NOT_COMPLETE = -14, 24 | I40E_ERR_RESET_FAILED = -15, 25 | I40E_ERR_SWFW_SYNC = -16, 26 | I40E_ERR_NO_AVAILABLE_VSI = -17, 27 | I40E_ERR_NO_MEMORY = -18, 28 | I40E_ERR_BAD_PTR = -19, 29 | I40E_ERR_RING_FULL = -20, 30 | I40E_ERR_INVALID_PD_ID = -21, 31 | I40E_ERR_INVALID_QP_ID = -22, 32 | I40E_ERR_INVALID_CQ_ID = -23, 33 | I40E_ERR_INVALID_CEQ_ID = -24, 34 | I40E_ERR_INVALID_AEQ_ID = -25, 35 | I40E_ERR_INVALID_SIZE = -26, 36 | I40E_ERR_INVALID_ARP_INDEX = -27, 37 | I40E_ERR_INVALID_FPM_FUNC_ID = -28, 38 | I40E_ERR_QP_INVALID_MSG_SIZE = -29, 39 | I40E_ERR_QP_TOOMANY_WRS_POSTED = -30, 40 | I40E_ERR_INVALID_FRAG_COUNT = -31, 41 | I40E_ERR_QUEUE_EMPTY = -32, 42 | I40E_ERR_INVALID_ALIGNMENT = -33, 43 | I40E_ERR_FLUSHED_QUEUE = -34, 44 | I40E_ERR_INVALID_PUSH_PAGE_INDEX = -35, 45 | I40E_ERR_INVALID_IMM_DATA_SIZE = -36, 46 | I40E_ERR_TIMEOUT = -37, 47 | I40E_ERR_OPCODE_MISMATCH = -38, 48 | I40E_ERR_CQP_COMPL_ERROR = -39, 49 | I40E_ERR_INVALID_VF_ID = -40, 50 | I40E_ERR_INVALID_HMCFN_ID = -41, 51 | I40E_ERR_BACKING_PAGE_ERROR = -42, 52 | I40E_ERR_NO_PBLCHUNKS_AVAILABLE = -43, 53 | I40E_ERR_INVALID_PBLE_INDEX = -44, 54 | I40E_ERR_INVALID_SD_INDEX = -45, 55 | I40E_ERR_INVALID_PAGE_DESC_INDEX = -46, 56 | I40E_ERR_INVALID_SD_TYPE = -47, 57 | I40E_ERR_MEMCPY_FAILED = -48, 58 | I40E_ERR_INVALID_HMC_OBJ_INDEX = -49, 59 | I40E_ERR_INVALID_HMC_OBJ_COUNT = -50, 60 | I40E_ERR_INVALID_SRQ_ARM_LIMIT = -51, 61 | I40E_ERR_SRQ_ENABLED = -52, 62 | I40E_ERR_ADMIN_QUEUE_ERROR = -53, 63 | I40E_ERR_ADMIN_QUEUE_TIMEOUT = -54, 64 | I40E_ERR_BUF_TOO_SHORT = -55, 65 | I40E_ERR_ADMIN_QUEUE_FULL = -56, 66 | I40E_ERR_ADMIN_QUEUE_NO_WORK = -57, 67 | I40E_ERR_BAD_IWARP_CQE = -58, 68 | I40E_ERR_NVM_BLANK_MODE = -59, 69 | I40E_ERR_NOT_IMPLEMENTED = -60, 70 | I40E_ERR_PE_DOORBELL_NOT_ENABLED = -61, 71 | I40E_ERR_DIAG_TEST_FAILED = -62, 72 | I40E_ERR_NOT_READY = -63, 73 | I40E_NOT_SUPPORTED = -64, 74 | I40E_ERR_FIRMWARE_API_VERSION = -65, 75 | I40E_ERR_ADMIN_QUEUE_CRITICAL_ERROR = -66, 76 | }; 77 | 78 | #endif /* _I40E_STATUS_H_ */ 79 | -------------------------------------------------------------------------------- /SUMS: -------------------------------------------------------------------------------- 1 | 08419 4 i40e-2.23.17/i40e.7 2 | 12529 18 i40e-2.23.17/COPYING 3 | 42001 5 i40e-2.23.17/scripts/virt_perf_default 4 | 58887 9 i40e-2.23.17/scripts/set_irq_affinity 5 | 21632 8 i40e-2.23.17/scripts/check_aux_bus 6 | 60555 2 i40e-2.23.17/scripts/dump_tables 7 | 42011 8 i40e-2.23.17/pci.updates 8 | 58831 96 i40e-2.23.17/README 9 | 37503 12 i40e-2.23.17/i40e.spec 10 | 59020 4 i40e-2.23.17/src/linux/auxiliary_bus.h 11 | 07430 22 i40e-2.23.17/src/i40e_client.c 12 | 39892 4 i40e-2.23.17/src/kcompat_gcc.h 13 | 02850 6 i40e-2.23.17/src/i40e_txrx_common.h 14 | 51639 1 i40e-2.23.17/src/kcompat_defs.h 15 | 30163 78 i40e-2.23.17/src/i40e_debugfs.c 16 | 09004 1 i40e-2.23.17/src/i40e_diag.h 17 | 40479 1 i40e-2.23.17/src/i40e_filters.h 18 | 28000 3 i40e-2.23.17/src/i40e_status.h 19 | 52122 14 i40e-2.23.17/src/kcompat-generator.sh 20 | 37033 8 i40e-2.23.17/src/kcompat-lib.sh 21 | 20294 7 i40e-2.23.17/src/Makefile 22 | 47574 10 i40e-2.23.17/src/kcompat_overflow.h 23 | 43934 19 i40e-2.23.17/src/common.mk 24 | 31117 7 i40e-2.23.17/src/i40e_virtchnl_pf.h 25 | 19880 134 i40e-2.23.17/src/i40e_txrx.c 26 | 45798 224 i40e-2.23.17/src/i40e_ethtool.c 27 | 34250 2 i40e-2.23.17/src/kcompat_ubuntu_defs.h 28 | 38939 74 i40e-2.23.17/src/kcompat.c 29 | 46463 3 i40e-2.23.17/src/i40e_xsk.h 30 | 37051 5 i40e-2.23.17/src/i40e_lan_hmc.h 31 | 31652 34 i40e-2.23.17/src/i40e_lan_hmc.c 32 | 20417 6 i40e-2.23.17/src/i40e_trace.h 33 | 18182 1 i40e-2.23.17/src/Module.supported 34 | 57162 3 i40e-2.23.17/src/i40e_osdep.h 35 | 35753 58 i40e-2.23.17/src/i40e_dcb.c 36 | 23438 2 i40e-2.23.17/src/i40e_devids.h 37 | 03635 38 i40e-2.23.17/src/i40e_xsk.c 38 | 02635 14 i40e-2.23.17/src/i40e_ddp.c 39 | 09035 8 i40e-2.23.17/src/kcompat_vfd.h 40 | 63420 5 i40e-2.23.17/src/auxiliary_compat.h 41 | 15921 8 i40e-2.23.17/src/auxiliary.c 42 | 45633 4 i40e-2.23.17/src/i40e_diag.c 43 | 19713 8 i40e-2.23.17/src/i40e_hmc.h 44 | 57391 49 i40e-2.23.17/src/i40e_nvm.c 45 | 34091 7 i40e-2.23.17/src/i40e_client.h 46 | 09692 10 i40e-2.23.17/src/i40e_hmc.c 47 | 62300 91 i40e-2.23.17/src/i40e_adminq_cmd.h 48 | 24127 4 i40e-2.23.17/src/i40e_helper.h 49 | 14398 76 i40e-2.23.17/src/kcompat_vfd.c 50 | 08193 55 i40e-2.23.17/src/i40e_ptp.c 51 | 41714 8 i40e-2.23.17/src/kcompat_sles_defs.h 52 | 60127 10 i40e-2.23.17/src/i40e_ethtool_stats.h 53 | 43576 2 i40e-2.23.17/src/i40e_alloc.h 54 | 46067 10 i40e-2.23.17/src/kcompat_std_defs.h 55 | 22763 216 i40e-2.23.17/src/kcompat.h 56 | 53759 30 i40e-2.23.17/src/i40e_dcb_nl.c 57 | 10266 26 i40e-2.23.17/src/i40e_prototype.h 58 | 58182 22 i40e-2.23.17/src/i40e_txrx.h 59 | 36726 6 i40e-2.23.17/src/kcompat_rhel_defs.h 60 | 10641 74 i40e-2.23.17/src/virtchnl.h 61 | 31584 523 i40e-2.23.17/src/i40e_main.c 62 | 02089 9 i40e-2.23.17/src/i40e_dcb.h 63 | 46314 245 i40e-2.23.17/src/i40e_virtchnl_pf.c 64 | 58911 50 i40e-2.23.17/src/i40e_type.h 65 | 26033 4 i40e-2.23.17/src/i40e_adminq.h 66 | 60492 2 i40e-2.23.17/src/i40e_filters.c 67 | 39407 61 i40e-2.23.17/src/kcompat_impl.h 68 | 54262 50 i40e-2.23.17/src/i40e.h 69 | 11111 214 i40e-2.23.17/src/i40e_common.c 70 | 42075 34 i40e-2.23.17/src/i40e_adminq.c 71 | 25109 369 i40e-2.23.17/src/i40e_register.h 72 | -------------------------------------------------------------------------------- /i40e.7: -------------------------------------------------------------------------------- 1 | .\" LICENSE 2 | .\" 3 | .\" This software program is released under the terms of a license agreement between you ('Licensee') and Intel. Do not use or load this software or any associated materials (collectively, the 'Software') until you have carefully read the full terms and conditions of the LICENSE located in this software package. By loading or using the Software, you agree to the terms of this Agreement. If you do not agree with the terms of this Agreement, do not install or use the Software. 4 | .\" 5 | .\" * Other names and brands may be claimed as the property of others. 6 | .\" 7 | . 8 | .TH i40e 1 "February 24, 2022" 9 | .SH NAME 10 | i40e \-This file describes the Linux* Base Driver 11 | for the Intel Ethernet Controller XL710 Family of Controllers. 12 | .SH SYNOPSIS 13 | .PD 0.4v 14 | modprobe i40e [