FreeBSD kernel IXGBE device code
if_ix.c File Reference
#include "opt_inet.h"
#include "opt_inet6.h"
#include "opt_rss.h"
#include "ixgbe.h"
#include "ixgbe_sriov.h"
#include "ifdi_if.h"
#include <net/netmap.h>
#include <dev/netmap/netmap_kern.h>
Include dependency graph for if_ix.c:

Go to the source code of this file.

Macros

#define BSIZEPKT_ROUNDUP   ((1<<IXGBE_SRRCTL_BSIZEPKT_SHIFT)-1)
 
#define QUEUE_NAME_LEN   32
 

Functions

static void * ixgbe_register (device_t)
 
static int ixgbe_if_attach_pre (if_ctx_t)
 
static int ixgbe_if_attach_post (if_ctx_t)
 
static int ixgbe_if_detach (if_ctx_t)
 
static int ixgbe_if_shutdown (if_ctx_t)
 
static int ixgbe_if_suspend (if_ctx_t)
 
static int ixgbe_if_resume (if_ctx_t)
 
static void ixgbe_if_stop (if_ctx_t)
 
void ixgbe_if_enable_intr (if_ctx_t)
 
static void ixgbe_if_disable_intr (if_ctx_t)
 
static void ixgbe_link_intr_enable (if_ctx_t)
 
static int ixgbe_if_rx_queue_intr_enable (if_ctx_t, uint16_t)
 
static void ixgbe_if_media_status (if_ctx_t, struct ifmediareq *)
 
static int ixgbe_if_media_change (if_ctx_t)
 
static int ixgbe_if_msix_intr_assign (if_ctx_t, int)
 
static int ixgbe_if_mtu_set (if_ctx_t, uint32_t)
 
static void ixgbe_if_crcstrip_set (if_ctx_t, int, int)
 
static void ixgbe_if_multi_set (if_ctx_t)
 
static int ixgbe_if_promisc_set (if_ctx_t, int)
 
static int ixgbe_if_tx_queues_alloc (if_ctx_t, caddr_t *, uint64_t *, int, int)
 
static int ixgbe_if_rx_queues_alloc (if_ctx_t, caddr_t *, uint64_t *, int, int)
 
static void ixgbe_if_queues_free (if_ctx_t)
 
static void ixgbe_if_timer (if_ctx_t, uint16_t)
 
static void ixgbe_if_update_admin_status (if_ctx_t)
 
static void ixgbe_if_vlan_register (if_ctx_t, u16)
 
static void ixgbe_if_vlan_unregister (if_ctx_t, u16)
 
static int ixgbe_if_i2c_req (if_ctx_t, struct ifi2creq *)
 
static bool ixgbe_if_needs_restart (if_ctx_t, enum iflib_restart_event)
 
int ixgbe_intr (void *)
 
static uint64_t ixgbe_if_get_counter (if_ctx_t, ift_counter)
 
static void ixgbe_enable_queue (struct ixgbe_softc *, u32)
 
static void ixgbe_disable_queue (struct ixgbe_softc *, u32)
 
static void ixgbe_add_device_sysctls (if_ctx_t)
 
static int ixgbe_allocate_pci_resources (if_ctx_t)
 
static int ixgbe_setup_low_power_mode (if_ctx_t)
 
static void ixgbe_config_dmac (struct ixgbe_softc *)
 
static void ixgbe_configure_ivars (struct ixgbe_softc *)
 
static void ixgbe_set_ivar (struct ixgbe_softc *, u8, u8, s8)
 
static u8ixgbe_mc_array_itr (struct ixgbe_hw *, u8 **, u32 *)
 
static bool ixgbe_sfp_probe (if_ctx_t)
 
static void ixgbe_free_pci_resources (if_ctx_t)
 
static int ixgbe_msix_link (void *)
 
static int ixgbe_msix_que (void *)
 
static void ixgbe_initialize_rss_mapping (struct ixgbe_softc *)
 
static void ixgbe_initialize_receive_units (if_ctx_t)
 
static void ixgbe_initialize_transmit_units (if_ctx_t)
 
static int ixgbe_setup_interface (if_ctx_t)
 
static void ixgbe_init_device_features (struct ixgbe_softc *)
 
static void ixgbe_check_fan_failure (struct ixgbe_softc *, u32, bool)
 
static void ixgbe_sbuf_fw_version (struct ixgbe_hw *, struct sbuf *)
 
static void ixgbe_print_fw_version (if_ctx_t)
 
static void ixgbe_add_media_types (if_ctx_t)
 
static void ixgbe_update_stats_counters (struct ixgbe_softc *)
 
static void ixgbe_config_link (if_ctx_t)
 
static void ixgbe_get_slot_info (struct ixgbe_softc *)
 
static void ixgbe_check_wol_support (struct ixgbe_softc *)
 
static void ixgbe_enable_rx_drop (struct ixgbe_softc *)
 
static void ixgbe_disable_rx_drop (struct ixgbe_softc *)
 
static void ixgbe_add_hw_stats (struct ixgbe_softc *)
 
static int ixgbe_set_flowcntl (struct ixgbe_softc *, int)
 
static int ixgbe_set_advertise (struct ixgbe_softc *, int)
 
static int ixgbe_get_default_advertise (struct ixgbe_softc *)
 
static void ixgbe_setup_vlan_hw_support (if_ctx_t)
 
static void ixgbe_config_gpie (struct ixgbe_softc *)
 
static void ixgbe_config_delay_values (struct ixgbe_softc *)
 
static int ixgbe_sysctl_flowcntl (SYSCTL_HANDLER_ARGS)
 
static int ixgbe_sysctl_advertise (SYSCTL_HANDLER_ARGS)
 
static int ixgbe_sysctl_interrupt_rate_handler (SYSCTL_HANDLER_ARGS)
 
static int ixgbe_sysctl_dmac (SYSCTL_HANDLER_ARGS)
 
static int ixgbe_sysctl_phy_temp (SYSCTL_HANDLER_ARGS)
 
static int ixgbe_sysctl_phy_overtemp_occurred (SYSCTL_HANDLER_ARGS)
 
static int ixgbe_sysctl_print_fw_version (SYSCTL_HANDLER_ARGS)
 
static int ixgbe_sysctl_rdh_handler (SYSCTL_HANDLER_ARGS)
 
static int ixgbe_sysctl_rdt_handler (SYSCTL_HANDLER_ARGS)
 
static int ixgbe_sysctl_tdt_handler (SYSCTL_HANDLER_ARGS)
 
static int ixgbe_sysctl_tdh_handler (SYSCTL_HANDLER_ARGS)
 
static int ixgbe_sysctl_eee_state (SYSCTL_HANDLER_ARGS)
 
static int ixgbe_sysctl_wol_enable (SYSCTL_HANDLER_ARGS)
 
static int ixgbe_sysctl_wufc (SYSCTL_HANDLER_ARGS)
 
static void ixgbe_handle_msf (void *)
 
static void ixgbe_handle_mod (void *)
 
static void ixgbe_handle_phy (void *)
 
 DRIVER_MODULE (ix, pci, ix_driver, ix_devclass, 0, 0)
 
 IFLIB_PNP_INFO (pci, ix_driver, ixgbe_vendor_info_array)
 
 MODULE_DEPEND (ix, pci, 1, 1, 1)
 
 MODULE_DEPEND (ix, ether, 1, 1, 1)
 
 MODULE_DEPEND (ix, iflib, 1, 1, 1)
 
static SYSCTL_NODE (_hw, OID_AUTO, ix, CTLFLAG_RD|CTLFLAG_MPSAFE, 0, "IXGBE driver parameters")
 
 SYSCTL_INT (_hw_ix, OID_AUTO, max_interrupt_rate, CTLFLAG_RDTUN, &ixgbe_max_interrupt_rate, 0, "Maximum interrupts per second")
 
 SYSCTL_INT (_hw_ix, OID_AUTO, flow_control, CTLFLAG_RDTUN, &ixgbe_flow_control, 0, "Default flow control used for all adapters")
 
 SYSCTL_INT (_hw_ix, OID_AUTO, advertise_speed, CTLFLAG_RDTUN, &ixgbe_advertise_speed, 0, "Default advertised speed for all adapters")
 
 SYSCTL_INT (_hw_ix, OID_AUTO, enable_msix, CTLFLAG_RDTUN, &ixgbe_enable_msix, 0, "Enable MSI-X interrupts")
 
 SYSCTL_INT (_hw_ix, OID_AUTO, unsupported_sfp, CTLFLAG_RDTUN, &allow_unsupported_sfp, 0, "Allow unsupported SFP modules...use at your own risk")
 
 SYSCTL_INT (_hw_ix, OID_AUTO, enable_fdir, CTLFLAG_RDTUN, &ixgbe_enable_fdir, 0, "Enable Flow Director")
 
 SYSCTL_INT (_hw_ix, OID_AUTO, enable_rss, CTLFLAG_RDTUN, &ixgbe_enable_rss, 0, "Enable Receive-Side Scaling (RSS)")
 
 SYSCTL_INT (_hw_ix, OID_AUTO, enable_aim, CTLFLAG_RWTUN, &ixgbe_enable_aim, 0, "Enable adaptive interrupt moderation")
 
 MALLOC_DEFINE (M_IXGBE, "ix", "ix driver allocations")
 
static bool ixgbe_if_needs_restart (if_ctx_t ctx __unused, enum iflib_restart_event event)
 
static bool ixgbe_is_sfp (struct ixgbe_hw *hw)
 
static void ixgbe_perform_aim (struct ixgbe_softc *sc, struct ix_rx_queue *que)
 
void ixgbe_if_init (if_ctx_t ctx)
 
static u_int ixgbe_mc_filter_apply (void *arg, struct sockaddr_dl *sdl, u_int idx)
 

Variables

char ixgbe_driver_version [] = "4.0.1-k"
 
static pci_vendor_info_t ixgbe_vendor_info_array []
 
static device_method_t ix_methods []
 
static driver_t ix_driver
 
devclass_t ix_devclass
 
static device_method_t ixgbe_if_methods []
 
static driver_t ixgbe_if_driver
 
static int ixgbe_max_interrupt_rate = (4000000 / IXGBE_LOW_LATENCY)
 
static int ixgbe_flow_control = ixgbe_fc_full
 
static int ixgbe_advertise_speed = 0
 
static int ixgbe_smart_speed = ixgbe_smart_speed_on
 
static int ixgbe_enable_msix = 1
 
static int allow_unsupported_sfp = false
 
static int ixgbe_enable_fdir = 0
 
static int ixgbe_enable_rss = 1
 
static int ixgbe_enable_aim = false
 
static int atr_sample_rate = 20
 
struct if_txrx ixgbe_txrx
 
static struct if_shared_ctx ixgbe_sctx_init
 

Macro Definition Documentation

◆ BSIZEPKT_ROUNDUP

#define BSIZEPKT_ROUNDUP   ((1<<IXGBE_SRRCTL_BSIZEPKT_SHIFT)-1)

Definition at line 662 of file if_ix.c.

◆ QUEUE_NAME_LEN

#define QUEUE_NAME_LEN   32

Function Documentation

◆ DRIVER_MODULE()

DRIVER_MODULE ( ix  ,
pci  ,
ix_driver  ,
ix_devclass  ,
,
 
)

◆ IFLIB_PNP_INFO()

IFLIB_PNP_INFO ( pci  ,
ix_driver  ,
ixgbe_vendor_info_array   
)

◆ ixgbe_add_device_sysctls()

◆ ixgbe_add_hw_stats()

static void ixgbe_add_hw_stats ( struct ixgbe_softc sc)
static

Definition at line 1600 of file if_ix.c.

References ixgbe_hw_stats::bprc, ixgbe_hw_stats::bptc, ixgbe_hw_stats::crcerrs, ixgbe_softc::ctx, ixgbe_softc::dropped_pkts, ixgbe_hw_stats::errbc, ixgbe_hw_stats::gorc, ixgbe_hw_stats::gotc, ixgbe_hw_stats::gprc, ixgbe_hw_stats::gptc, ixgbe_softc::ierrors, ixgbe_hw_stats::illerrc, ix_rx_queue::irqs, IXGBE_SYSCTL_DESC_RX_ERRS, ixgbe_sysctl_interrupt_rate_handler(), ixgbe_sysctl_rdh_handler(), ixgbe_sysctl_rdt_handler(), ixgbe_sysctl_tdh_handler(), ixgbe_sysctl_tdt_handler(), ixgbe_softc::link_irq, ixgbe_hw_stats::lxoffrxc, ixgbe_hw_stats::lxofftxc, ixgbe_hw_stats::lxonrxc, ixgbe_hw_stats::lxontxc, ixgbe_hw_stats::mlfc, ixgbe_hw_stats::mngprc, ixgbe_hw_stats::mngptc, ixgbe_hw_stats::mpc, ixgbe_hw_stats::mprc, ixgbe_hw_stats::mptc, ixgbe_hw_stats::mrfc, ixgbe_hw_stats::mspdc, num_rx_queues, num_tx_queues, ixgbe_softc::pf, ixgbe_hw_stats::prc1023, ixgbe_hw_stats::prc127, ixgbe_hw_stats::prc1522, ixgbe_hw_stats::prc255, ixgbe_hw_stats::prc511, ixgbe_hw_stats::prc64, ixgbe_hw_stats::ptc1023, ixgbe_hw_stats::ptc127, ixgbe_hw_stats::ptc1522, ixgbe_hw_stats::ptc255, ixgbe_hw_stats::ptc511, ixgbe_hw_stats::ptc64, QUEUE_NAME_LEN, ixgbe_hw_stats::rfc, ixgbe_hw_stats::rjc, ixgbe_hw_stats::rlec, ixgbe_hw_stats::roc, ixgbe_hw_stats::ruc, rx_ring::rx_bytes, rx_ring::rx_copies, rx_ring::rx_discarded, rx_ring::rx_packets, ixgbe_softc::rx_queues, ix_rx_queue::rxr, tx_ring::sc, rx_ring::sc, ixgbe_softc::stats, ixgbe_hw_stats::tor, tx_ring::total_packets, ixgbe_hw_stats::tpr, ixgbe_hw_stats::tpt, tx_ring::tso_tx, ixgbe_softc::tx_queues, ix_tx_queue::txr, ixgbe_softc::watchdog_events, and ixgbe_hw_stats::xec.

Referenced by ixgbe_if_attach_post().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ixgbe_add_media_types()

◆ ixgbe_allocate_pci_resources()

static int ixgbe_allocate_pci_resources ( if_ctx_t  ctx)
static

◆ ixgbe_check_fan_failure()

static void ixgbe_check_fan_failure ( struct ixgbe_softc sc,
u32  reg,
bool  in_interrupt 
)
static

Definition at line 4751 of file if_ix.c.

References ixgbe_softc::dev, ixgbe_softc::hw, IXGBE_EICR_GPI_SDP1_BY_MAC, and IXGBE_ESDP_SDP1.

Referenced by ixgbe_if_attach_pre(), and ixgbe_msix_link().

Here is the caller graph for this function:

◆ ixgbe_check_wol_support()

static void ixgbe_check_wol_support ( struct ixgbe_softc sc)
static

Definition at line 1147 of file if_ix.c.

References ixgbe_hw::bus, ixgbe_bus_info::func, ixgbe_softc::hw, IXGBE_DEVICE_CAPS_WOL_PORT0, IXGBE_DEVICE_CAPS_WOL_PORT0_1, ixgbe_get_device_caps(), IXGBE_READ_REG, IXGBE_WUFC, ixgbe_hw::wol_enabled, ixgbe_softc::wol_support, and ixgbe_softc::wufc.

Referenced by ixgbe_if_attach_pre().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ixgbe_config_delay_values()

◆ ixgbe_config_dmac()

◆ ixgbe_config_gpie()

◆ ixgbe_config_link()

◆ ixgbe_configure_ivars()

static void ixgbe_configure_ivars ( struct ixgbe_softc sc)
static

◆ ixgbe_disable_queue()

static void ixgbe_disable_queue ( struct ixgbe_softc sc,
u32  vector 
)
static

Definition at line 3901 of file if_ix.c.

References ixgbe_softc::hw, IXGBE_EIMC, IXGBE_EIMC_EX, IXGBE_EIMS_RTX_QUEUE, ixgbe_mac_82598EB, IXGBE_WRITE_REG, ixgbe_hw::mac, and ixgbe_mac_info::type.

Referenced by ixgbe_msix_que().

Here is the caller graph for this function:

◆ ixgbe_disable_rx_drop()

static void ixgbe_disable_rx_drop ( struct ixgbe_softc sc)
static

◆ ixgbe_enable_queue()

static void ixgbe_enable_queue ( struct ixgbe_softc sc,
u32  vector 
)
static

Definition at line 3878 of file if_ix.c.

References ixgbe_softc::hw, IXGBE_EIMS, IXGBE_EIMS_EX, IXGBE_EIMS_RTX_QUEUE, ixgbe_mac_82598EB, IXGBE_WRITE_REG, ixgbe_hw::mac, and ixgbe_mac_info::type.

Referenced by ixgbe_if_enable_intr(), and ixgbe_if_rx_queue_intr_enable().

Here is the caller graph for this function:

◆ ixgbe_enable_rx_drop()

static void ixgbe_enable_rx_drop ( struct ixgbe_softc sc)
static

◆ ixgbe_free_pci_resources()

static void ixgbe_free_pci_resources ( if_ctx_t  ctx)
static

Definition at line 3986 of file if_ix.c.

References ixgbe_softc::ctx, ixgbe_softc::irq, ixgbe_softc::pci_mem, ix_rx_queue::que_irq, ixgbe_softc::rx_queues, and ix_rx_queue::sc.

Referenced by ixgbe_if_attach_pre(), and ixgbe_if_detach().

Here is the caller graph for this function:

◆ ixgbe_get_default_advertise()

◆ ixgbe_get_slot_info()

◆ ixgbe_handle_mod()

◆ ixgbe_handle_msf()

static void ixgbe_handle_msf ( void *  context)
static

◆ ixgbe_handle_phy()

static void ixgbe_handle_phy ( void *  context)
static

Definition at line 3612 of file if_ix.c.

References ixgbe_softc::ctx, ixgbe_softc::dev, ixgbe_phy_operations::handle_lasi, ixgbe_softc::hw, IXGBE_ERR_OVERTEMP, ixgbe_phy_info::ops, and ixgbe_hw::phy.

Referenced by ixgbe_if_update_admin_status().

Here is the caller graph for this function:

◆ ixgbe_if_attach_post()

◆ ixgbe_if_attach_pre()

◆ ixgbe_if_crcstrip_set()

static void ixgbe_if_crcstrip_set ( if_ctx_t  ctx,
int  onoff,
int  crcstrip 
)
static

◆ ixgbe_if_detach()

static int ixgbe_if_detach ( if_ctx_t  ctx)
static

◆ ixgbe_if_disable_intr()

static void ixgbe_if_disable_intr ( if_ctx_t  ctx)
static

◆ ixgbe_if_enable_intr()

◆ ixgbe_if_get_counter()

static uint64_t ixgbe_if_get_counter ( if_ctx_t  ctx,
ift_counter  cnt 
)
static

◆ ixgbe_if_i2c_req()

static int ixgbe_if_i2c_req ( if_ctx_t  ctx,
struct ifi2creq *  req 
)
static

◆ ixgbe_if_init()

void ixgbe_if_init ( if_ctx_t  ctx)

Definition at line 3029 of file if_ix.c.

References ixgbe_mac_info::addr, ixgbe_hw::addr_ctrl, ixgbe_softc::ctx, ixgbe_softc::feat_en, ixgbe_softc::hw, ixgbe_phy_operations::identify, INIT_DEBUGOUT, ixgbe_align_all_queue_indices, ixgbe_config_delay_values(), ixgbe_config_dmac(), ixgbe_config_gpie(), ixgbe_config_link(), ixgbe_configure_ivars(), IXGBE_CTRL_EXT, IXGBE_CTRL_EXT_PFRSTD, IXGBE_EIAM, IXGBE_EIAM_EX, IXGBE_EICS_RTX_QUEUE, IXGBE_EITR, ixgbe_enable_msix, ixgbe_enable_rx_dma(), IXGBE_ERR_SFP_NOT_SUPPORTED, IXGBE_ETH_LENGTH_OF_ADDRESS, IXGBE_FEATURE_SRIOV, ixgbe_if_enable_intr(), ixgbe_if_multi_set(), ixgbe_init_fdir, ixgbe_init_hw(), ixgbe_initialize_iov, ixgbe_initialize_receive_units(), ixgbe_initialize_transmit_units(), IXGBE_LINK_ITR, ixgbe_mac_82598EB, IXGBE_MHADD, IXGBE_MHADD_MFS_SHIFT, ixgbe_phy_none, IXGBE_RAH_AV, IXGBE_READ_REG, IXGBE_RXCTRL, IXGBE_RXCTRL_DMBYPS, IXGBE_RXCTRL_RXEN, IXGBE_RXDCTL, IXGBE_RXDCTL_ENABLE, ixgbe_set_ivar(), ixgbe_set_phy_power(), ixgbe_set_rar(), ixgbe_setup_vlan_hw_support(), ixgbe_start_hw(), IXGBE_TXDCTL, IXGBE_TXDCTL_ENABLE, IXGBE_WRITE_REG, ixgbe_hw::mac, tx_ring::me, rx_ring::me, msec_delay, num_rx_queues, num_tx_queues, ixgbe_phy_info::ops, ixgbe_hw::phy, ixgbe_softc::pool, ixgbe_addr_filter_info::rar_used_count, ixgbe_softc::rx_mbuf_sz, ixgbe_softc::rx_queues, ix_rx_queue::rxr, tx_ring::sc, rx_ring::sc, ix_tx_queue::sc, ixgbe_softc::task_requests, ixgbe_softc::tx_queues, ix_tx_queue::txr, ixgbe_mac_info::type, ixgbe_phy_info::type, ixgbe_softc::vector, and wmb.

Referenced by ixgbe_if_resume().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ixgbe_if_media_change()

◆ ixgbe_if_media_status()

◆ ixgbe_if_msix_intr_assign()

◆ ixgbe_if_mtu_set()

static int ixgbe_if_mtu_set ( if_ctx_t  ctx,
uint32_t  mtu 
)
static

Definition at line 2956 of file if_ix.c.

References ixgbe_softc::ctx, IOCTL_DEBUGOUT, IXGBE_MAX_MTU, and IXGBE_MTU_HDR.

◆ ixgbe_if_multi_set()

static void ixgbe_if_multi_set ( if_ctx_t  ctx)
static

Definition at line 3407 of file if_ix.c.

References ixgbe_softc::ctx, ixgbe_softc::hw, IOCTL_DEBUGOUT, IXGBE_FCTRL, IXGBE_FCTRL_MPE, IXGBE_FCTRL_UPE, ixgbe_mc_array_itr(), ixgbe_mc_filter_apply(), IXGBE_READ_REG, ixgbe_update_mc_addr_list(), IXGBE_WRITE_REG, MAX_NUM_MULTICAST_ADDRESSES, and ixgbe_softc::mta.

Referenced by ixgbe_if_init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ixgbe_if_needs_restart() [1/2]

static bool ixgbe_if_needs_restart ( if_ctx_t ctx  __unused,
enum iflib_restart_event  event 
)
static

Definition at line 1256 of file if_ix.c.

◆ ixgbe_if_needs_restart() [2/2]

static bool ixgbe_if_needs_restart ( if_ctx_t  ,
enum  iflib_restart_event 
)
static

◆ ixgbe_if_promisc_set()

static int ixgbe_if_promisc_set ( if_ctx_t  ctx,
int  flags 
)
static

◆ ixgbe_if_queues_free()

static void ixgbe_if_queues_free ( if_ctx_t  ctx)
static

Definition at line 521 of file if_ix.c.

References ixgbe_softc::ctx, ixgbe_softc::rx_queues, tx_ring::sc, ix_rx_queue::sc, ix_tx_queue::sc, ixgbe_softc::tx_queues, tx_ring::tx_rsq, and ix_tx_queue::txr.

Referenced by ixgbe_if_tx_queues_alloc().

Here is the caller graph for this function:

◆ ixgbe_if_resume()

static int ixgbe_if_resume ( if_ctx_t  ctx)
static

Definition at line 2921 of file if_ix.c.

References ixgbe_softc::ctx, ixgbe_softc::dev, ixgbe_softc::hw, INIT_DEBUGOUT, ixgbe_if_init(), IXGBE_READ_REG, IXGBE_WRITE_REG, IXGBE_WUFC, and IXGBE_WUS.

Here is the call graph for this function:

◆ ixgbe_if_rx_queue_intr_enable()

static int ixgbe_if_rx_queue_intr_enable ( if_ctx_t  ctx,
uint16_t  rxqid 
)
static

Definition at line 3864 of file if_ix.c.

References ixgbe_softc::ctx, ixgbe_enable_queue(), ix_rx_queue::msix, ixgbe_softc::rx_queues, and ix_rx_queue::sc.

Here is the call graph for this function:

◆ ixgbe_if_rx_queues_alloc()

static int ixgbe_if_rx_queues_alloc ( if_ctx_t  ctx,
caddr_t *  vaddrs,
uint64_t *  paddrs,
int  nrxqs,
int  nrxqsets 
)
static

◆ ixgbe_if_shutdown()

static int ixgbe_if_shutdown ( if_ctx_t  ctx)
static

Definition at line 2887 of file if_ix.c.

References INIT_DEBUGOUT, and ixgbe_setup_low_power_mode().

Here is the call graph for this function:

◆ ixgbe_if_stop()

◆ ixgbe_if_suspend()

static int ixgbe_if_suspend ( if_ctx_t  ctx)
static

Definition at line 2904 of file if_ix.c.

References INIT_DEBUGOUT, and ixgbe_setup_low_power_mode().

Here is the call graph for this function:

◆ ixgbe_if_timer()

static void ixgbe_if_timer ( if_ctx_t  ctx,
uint16_t  qid 
)
static

Definition at line 3471 of file if_ix.c.

References ixgbe_softc::ctx, ixgbe_softc::hw, ixgbe_check_link(), ixgbe_sfp_probe(), ixgbe_softc::link_speed, ixgbe_softc::link_up, and ixgbe_softc::sfp_probe.

Here is the call graph for this function:

◆ ixgbe_if_tx_queues_alloc()

static int ixgbe_if_tx_queues_alloc ( if_ctx_t  ctx,
caddr_t *  vaddrs,
uint64_t *  paddrs,
int  ntxqs,
int  ntxqsets 
)
static

◆ ixgbe_if_update_admin_status()

◆ ixgbe_if_vlan_register()

static void ixgbe_if_vlan_register ( if_ctx_t  ctx,
u16  vtag 
)
static

Definition at line 1878 of file if_ix.c.

References ixgbe_softc::ctx, ixgbe_setup_vlan_hw_support(), ixgbe_softc::num_vlans, and ixgbe_softc::shadow_vfta.

Here is the call graph for this function:

◆ ixgbe_if_vlan_unregister()

static void ixgbe_if_vlan_unregister ( if_ctx_t  ctx,
u16  vtag 
)
static

Definition at line 1896 of file if_ix.c.

References ixgbe_softc::ctx, ixgbe_setup_vlan_hw_support(), ixgbe_softc::num_vlans, and ixgbe_softc::shadow_vfta.

Here is the call graph for this function:

◆ ixgbe_init_device_features()

◆ ixgbe_initialize_receive_units()

◆ ixgbe_initialize_rss_mapping()

◆ ixgbe_initialize_transmit_units()

◆ ixgbe_intr()

◆ ixgbe_is_sfp()

◆ ixgbe_link_intr_enable()

static void ixgbe_link_intr_enable ( if_ctx_t  ctx)
static

◆ ixgbe_mc_array_itr()

static u8 * ixgbe_mc_array_itr ( struct ixgbe_hw hw,
u8 **  update_ptr,
u32 vmdq 
)
static

Definition at line 3452 of file if_ix.c.

References ixgbe_mc_addr::addr, and ixgbe_mc_addr::vmdq.

Referenced by ixgbe_if_multi_set().

Here is the caller graph for this function:

◆ ixgbe_mc_filter_apply()

static u_int ixgbe_mc_filter_apply ( void *  arg,
struct sockaddr_dl *  sdl,
u_int  idx 
)
static

Definition at line 3393 of file if_ix.c.

References ixgbe_mc_addr::addr, IXGBE_ETH_LENGTH_OF_ADDRESS, MAX_NUM_MULTICAST_ADDRESSES, ixgbe_softc::mta, ixgbe_softc::pool, and ixgbe_mc_addr::vmdq.

Referenced by ixgbe_if_multi_set().

Here is the caller graph for this function:

◆ ixgbe_msix_link()

◆ ixgbe_msix_que()

static int ixgbe_msix_que ( void *  arg)
static

Definition at line 2205 of file if_ix.c.

References ixgbe_softc::ctx, ixgbe_softc::enable_aim, ix_rx_queue::irqs, ixgbe_disable_queue(), ixgbe_perform_aim(), ix_rx_queue::msix, and ix_rx_queue::sc.

Referenced by ixgbe_if_msix_intr_assign().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ixgbe_perform_aim()

static void ixgbe_perform_aim ( struct ixgbe_softc sc,
struct ix_rx_queue que 
)
inlinestatic

◆ ixgbe_print_fw_version()

static void ixgbe_print_fw_version ( if_ctx_t  ctx)
static

Definition at line 4804 of file if_ix.c.

References ixgbe_softc::ctx, ixgbe_softc::dev, ixgbe_softc::hw, and ixgbe_sbuf_fw_version().

Referenced by ixgbe_if_attach_post().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ixgbe_register()

static void * ixgbe_register ( device_t  dev)
static

Definition at line 860 of file if_ix.c.

References ixgbe_sctx_init.

◆ ixgbe_sbuf_fw_version()

◆ ixgbe_set_advertise()

◆ ixgbe_set_flowcntl()

static int ixgbe_set_flowcntl ( struct ixgbe_softc sc,
int  fc 
)
static

Definition at line 4042 of file if_ix.c.

References ixgbe_fc_info::disable_fc_autoneg, ixgbe_hw::fc, ixgbe_softc::hw, ixgbe_disable_rx_drop(), ixgbe_enable_rx_drop(), ixgbe_fc_enable(), ixgbe_fc_full, ixgbe_fc_none, ixgbe_fc_rx_pause, ixgbe_fc_tx_pause, and ixgbe_fc_info::requested_mode.

Referenced by ixgbe_sysctl_flowcntl().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ixgbe_set_ivar()

static void ixgbe_set_ivar ( struct ixgbe_softc sc,
u8  entry,
u8  vector,
s8  type 
)
static

◆ ixgbe_setup_interface()

static int ixgbe_setup_interface ( if_ctx_t  ctx)
static

Definition at line 1172 of file if_ix.c.

References ixgbe_softc::ctx, ixgbe_softc::hw, ixgbe_softc::ifp, INIT_DEBUGOUT, ixgbe_add_media_types(), ixgbe_get_supported_physical_layer(), ixgbe_softc::media, and ixgbe_softc::phy_layer.

Referenced by ixgbe_if_attach_post().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ixgbe_setup_low_power_mode()

◆ ixgbe_setup_vlan_hw_support()

◆ ixgbe_sfp_probe()

◆ ixgbe_sysctl_advertise()

static int ixgbe_sysctl_advertise ( SYSCTL_HANDLER_ARGS  )
static

Definition at line 4129 of file if_ix.c.

References ixgbe_softc::advertise, and ixgbe_set_advertise().

Referenced by ixgbe_add_device_sysctls().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ixgbe_sysctl_dmac()

static int ixgbe_sysctl_dmac ( SYSCTL_HANDLER_ARGS  )
static

Definition at line 4313 of file if_ix.c.

References ixgbe_softc::ctx, and ixgbe_softc::dmac.

Referenced by ixgbe_add_device_sysctls().

Here is the caller graph for this function:

◆ ixgbe_sysctl_eee_state()

static int ixgbe_sysctl_eee_state ( SYSCTL_HANDLER_ARGS  )
static

Definition at line 4602 of file if_ix.c.

References ixgbe_softc::ctx, ixgbe_softc::dev, ixgbe_softc::feat_cap, ixgbe_softc::feat_en, ixgbe_softc::hw, IXGBE_FEATURE_EEE, and ixgbe_setup_eee().

Referenced by ixgbe_add_device_sysctls().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ixgbe_sysctl_flowcntl()

static int ixgbe_sysctl_flowcntl ( SYSCTL_HANDLER_ARGS  )
static

Definition at line 4013 of file if_ix.c.

References ixgbe_fc_info::current_mode, ixgbe_hw::fc, ixgbe_softc::hw, and ixgbe_set_flowcntl().

Referenced by ixgbe_add_device_sysctls().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ixgbe_sysctl_interrupt_rate_handler()

static int ixgbe_sysctl_interrupt_rate_handler ( SYSCTL_HANDLER_ARGS  )
static

Definition at line 2644 of file if_ix.c.

References ixgbe_softc::hw, IXGBE_EITR, ixgbe_max_interrupt_rate, IXGBE_READ_REG, IXGBE_WRITE_REG, ix_rx_queue::msix, and ix_rx_queue::sc.

Referenced by ixgbe_add_hw_stats().

Here is the caller graph for this function:

◆ ixgbe_sysctl_phy_overtemp_occurred()

static int ixgbe_sysctl_phy_overtemp_occurred ( SYSCTL_HANDLER_ARGS  )
static

◆ ixgbe_sysctl_phy_temp()

static int ixgbe_sysctl_phy_temp ( SYSCTL_HANDLER_ARGS  )
static

◆ ixgbe_sysctl_print_fw_version()

static int ixgbe_sysctl_print_fw_version ( SYSCTL_HANDLER_ARGS  )
static

Definition at line 4833 of file if_ix.c.

References ixgbe_softc::dev, ixgbe_softc::hw, and ixgbe_sbuf_fw_version().

Referenced by ixgbe_add_device_sysctls().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ixgbe_sysctl_rdh_handler()

static int ixgbe_sysctl_rdh_handler ( SYSCTL_HANDLER_ARGS  )
static

Definition at line 1829 of file if_ix.c.

References ixgbe_softc::hw, IXGBE_RDH, IXGBE_READ_REG, rx_ring::me, and rx_ring::sc.

Referenced by ixgbe_add_hw_stats().

Here is the caller graph for this function:

◆ ixgbe_sysctl_rdt_handler()

static int ixgbe_sysctl_rdt_handler ( SYSCTL_HANDLER_ARGS  )
static

Definition at line 1852 of file if_ix.c.

References ixgbe_softc::hw, IXGBE_RDT, IXGBE_READ_REG, rx_ring::me, and rx_ring::sc.

Referenced by ixgbe_add_hw_stats().

Here is the caller graph for this function:

◆ ixgbe_sysctl_tdh_handler()

static int ixgbe_sysctl_tdh_handler ( SYSCTL_HANDLER_ARGS  )
static

Definition at line 1783 of file if_ix.c.

References ixgbe_softc::hw, IXGBE_READ_REG, IXGBE_TDH, tx_ring::me, and tx_ring::sc.

Referenced by ixgbe_add_hw_stats().

Here is the caller graph for this function:

◆ ixgbe_sysctl_tdt_handler()

static int ixgbe_sysctl_tdt_handler ( SYSCTL_HANDLER_ARGS  )
static

Definition at line 1806 of file if_ix.c.

References ixgbe_softc::hw, IXGBE_READ_REG, IXGBE_TDT, tx_ring::me, and tx_ring::sc.

Referenced by ixgbe_add_hw_stats().

Here is the caller graph for this function:

◆ ixgbe_sysctl_wol_enable()

static int ixgbe_sysctl_wol_enable ( SYSCTL_HANDLER_ARGS  )
static

Definition at line 4407 of file if_ix.c.

References ixgbe_softc::hw, ixgbe_hw::wol_enabled, and ixgbe_softc::wol_support.

Referenced by ixgbe_add_device_sysctls().

Here is the caller graph for this function:

◆ ixgbe_sysctl_wufc()

static int ixgbe_sysctl_wufc ( SYSCTL_HANDLER_ARGS  )
static

Definition at line 4448 of file if_ix.c.

References ixgbe_softc::wufc.

Referenced by ixgbe_add_device_sysctls().

Here is the caller graph for this function:

◆ ixgbe_update_stats_counters()

static void ixgbe_update_stats_counters ( struct ixgbe_softc sc)
static

Definition at line 1455 of file if_ix.c.

References ixgbe_hw_stats::bprc, ixgbe_hw_stats::bptc, ixgbe_hw_stats::crcerrs, ixgbe_hw_stats::errbc, ixgbe_hw_stats::fccrc, ixgbe_hw_stats::fclast, ixgbe_hw_stats::fcoedwrc, ixgbe_hw_stats::fcoedwtc, ixgbe_hw_stats::fcoeprc, ixgbe_hw_stats::fcoeptc, ixgbe_hw_stats::fcoerpdc, ixgbe_hw_stats::gorc, ixgbe_hw_stats::gotc, ixgbe_hw_stats::gprc, ixgbe_hw_stats::gptc, ixgbe_softc::hw, ixgbe_hw_stats::illerrc, IXGBE_BPRC, IXGBE_BPTC, IXGBE_CRCERRS, IXGBE_ERRBC, IXGBE_FCCRC, IXGBE_FCLAST, IXGBE_FCOEDWRC, IXGBE_FCOEDWTC, IXGBE_FCOEPRC, IXGBE_FCOEPTC, IXGBE_FCOERPDC, IXGBE_GORCH, IXGBE_GORCL, IXGBE_GOTCH, IXGBE_GOTCL, IXGBE_GPRC, IXGBE_GPTC, IXGBE_ILLERRC, IXGBE_LXOFFRXC, IXGBE_LXOFFRXCNT, IXGBE_LXOFFTXC, IXGBE_LXONRXC, IXGBE_LXONRXCNT, IXGBE_LXONTXC, ixgbe_mac_82598EB, IXGBE_MLFC, IXGBE_MNGPDC, IXGBE_MNGPRC, IXGBE_MNGPTC, IXGBE_MPC, IXGBE_MPRC, IXGBE_MPTC, IXGBE_MRFC, IXGBE_MSPDC, IXGBE_PRC1023, IXGBE_PRC127, IXGBE_PRC1522, IXGBE_PRC255, IXGBE_PRC511, IXGBE_PRC64, IXGBE_PTC1023, IXGBE_PTC127, IXGBE_PTC1522, IXGBE_PTC255, IXGBE_PTC511, IXGBE_PTC64, IXGBE_QPRC, IXGBE_QPRDC, IXGBE_QPTC, IXGBE_READ_REG, IXGBE_RFC, IXGBE_RJC, IXGBE_RLEC, IXGBE_ROC, IXGBE_RUC, IXGBE_SET_COLLISIONS, IXGBE_SET_IBYTES, IXGBE_SET_IERRORS, IXGBE_SET_IMCASTS, IXGBE_SET_IPACKETS, IXGBE_SET_IQDROPS, IXGBE_SET_OBYTES, IXGBE_SET_OMCASTS, IXGBE_SET_OPACKETS, IXGBE_TORH, IXGBE_TORL, IXGBE_TPR, IXGBE_TPT, IXGBE_XEC, ixgbe_hw_stats::lxoffrxc, ixgbe_hw_stats::lxofftxc, ixgbe_hw_stats::lxonrxc, ixgbe_hw_stats::lxontxc, ixgbe_hw::mac, ixgbe_hw_stats::mlfc, ixgbe_hw_stats::mngpdc, ixgbe_hw_stats::mngprc, ixgbe_hw_stats::mngptc, ixgbe_hw_stats::mpc, ixgbe_hw_stats::mprc, ixgbe_hw_stats::mptc, ixgbe_hw_stats::mrfc, ixgbe_hw_stats::mspdc, ixgbe_softc::pf, ixgbe_hw_stats::prc1023, ixgbe_hw_stats::prc127, ixgbe_hw_stats::prc1522, ixgbe_hw_stats::prc255, ixgbe_hw_stats::prc511, ixgbe_hw_stats::prc64, ixgbe_hw_stats::ptc1023, ixgbe_hw_stats::ptc127, ixgbe_hw_stats::ptc1522, ixgbe_hw_stats::ptc255, ixgbe_hw_stats::ptc511, ixgbe_hw_stats::ptc64, ixgbe_hw_stats::qprc, ixgbe_hw_stats::qprdc, ixgbe_hw_stats::qptc, ixgbe_hw_stats::rfc, ixgbe_hw_stats::rjc, ixgbe_hw_stats::rlec, ixgbe_hw_stats::roc, ixgbe_hw_stats::ruc, ixgbe_softc::shared, ixgbe_softc::stats, ixgbe_hw_stats::tor, ixgbe_hw_stats::tpr, ixgbe_hw_stats::tpt, ixgbe_mac_info::type, and ixgbe_hw_stats::xec.

Referenced by ixgbe_if_attach_post(), and ixgbe_if_update_admin_status().

Here is the caller graph for this function:

◆ MALLOC_DEFINE()

MALLOC_DEFINE ( M_IXGBE  ,
"ix"  ,
"ix driver allocations"   
)

◆ MODULE_DEPEND() [1/3]

MODULE_DEPEND ( ix  ,
ether  ,
,
,
 
)

◆ MODULE_DEPEND() [2/3]

MODULE_DEPEND ( ix  ,
iflib  ,
,
,
 
)

◆ MODULE_DEPEND() [3/3]

MODULE_DEPEND ( ix  ,
pci  ,
,
,
 
)

◆ SYSCTL_INT() [1/8]

SYSCTL_INT ( _hw_ix  ,
OID_AUTO  ,
advertise_speed  ,
CTLFLAG_RDTUN  ,
ixgbe_advertise_speed,
,
"Default advertised speed for all adapters"   
)

◆ SYSCTL_INT() [2/8]

SYSCTL_INT ( _hw_ix  ,
OID_AUTO  ,
enable_aim  ,
CTLFLAG_RWTUN  ,
ixgbe_enable_aim,
,
"Enable adaptive interrupt moderation"   
)

◆ SYSCTL_INT() [3/8]

SYSCTL_INT ( _hw_ix  ,
OID_AUTO  ,
enable_fdir  ,
CTLFLAG_RDTUN  ,
ixgbe_enable_fdir,
,
"Enable Flow Director"   
)

◆ SYSCTL_INT() [4/8]

SYSCTL_INT ( _hw_ix  ,
OID_AUTO  ,
enable_msix  ,
CTLFLAG_RDTUN  ,
ixgbe_enable_msix,
,
"Enable MSI-X interrupts"   
)

◆ SYSCTL_INT() [5/8]

SYSCTL_INT ( _hw_ix  ,
OID_AUTO  ,
enable_rss  ,
CTLFLAG_RDTUN  ,
ixgbe_enable_rss,
,
"Enable Receive-Side Scaling (RSS)"   
)

◆ SYSCTL_INT() [6/8]

SYSCTL_INT ( _hw_ix  ,
OID_AUTO  ,
flow_control  ,
CTLFLAG_RDTUN  ,
ixgbe_flow_control,
,
"Default flow control used for all adapters"   
)

◆ SYSCTL_INT() [7/8]

SYSCTL_INT ( _hw_ix  ,
OID_AUTO  ,
max_interrupt_rate  ,
CTLFLAG_RDTUN  ,
ixgbe_max_interrupt_rate,
,
"Maximum interrupts per second"   
)

◆ SYSCTL_INT() [8/8]

SYSCTL_INT ( _hw_ix  ,
OID_AUTO  ,
unsupported_sfp  ,
CTLFLAG_RDTUN  ,
allow_unsupported_sfp,
,
"Allow unsupported SFP modules...use at your own risk"   
)

◆ SYSCTL_NODE()

static SYSCTL_NODE ( _hw  ,
OID_AUTO  ,
ix  ,
CTLFLAG_RD|  CTLFLAG_MPSAFE,
,
"IXGBE driver parameters"   
)
static

Variable Documentation

◆ allow_unsupported_sfp

int allow_unsupported_sfp = false
static

Definition at line 328 of file if_ix.c.

Referenced by ixgbe_if_attach_pre().

◆ atr_sample_rate

int atr_sample_rate = 20
static

Definition at line 369 of file if_ix.c.

Referenced by ixgbe_if_tx_queues_alloc().

◆ ix_devclass

devclass_t ix_devclass

Definition at line 236 of file if_ix.c.

◆ ix_driver

driver_t ix_driver
static
Initial value:
= {
"ix", ix_methods, sizeof(struct ixgbe_softc),
}
static device_method_t ix_methods[]
Definition: if_ix.c:215

Definition at line 232 of file if_ix.c.

◆ ix_methods

device_method_t ix_methods[]
static
Initial value:
= {
DEVMETHOD(device_register, ixgbe_register),
DEVMETHOD(device_probe, iflib_device_probe),
DEVMETHOD(device_attach, iflib_device_attach),
DEVMETHOD(device_detach, iflib_device_detach),
DEVMETHOD(device_shutdown, iflib_device_shutdown),
DEVMETHOD(device_suspend, iflib_device_suspend),
DEVMETHOD(device_resume, iflib_device_resume),
}
static void * ixgbe_register(device_t)
Definition: if_ix.c:860
#define DEVMETHOD_END
Definition: ixgbe.h:205

Definition at line 215 of file if_ix.c.

◆ ixgbe_advertise_speed

int ixgbe_advertise_speed = 0
static

Definition at line 302 of file if_ix.c.

Referenced by ixgbe_if_attach_post().

◆ ixgbe_driver_version

char ixgbe_driver_version[] = "4.0.1-k"

Definition at line 49 of file if_ix.c.

◆ ixgbe_enable_aim

int ixgbe_enable_aim = false
static

Definition at line 352 of file if_ix.c.

Referenced by ixgbe_add_device_sysctls().

◆ ixgbe_enable_fdir

int ixgbe_enable_fdir = 0
static

Definition at line 337 of file if_ix.c.

Referenced by ixgbe_init_device_features().

◆ ixgbe_enable_msix

int ixgbe_enable_msix = 1
static

Definition at line 319 of file if_ix.c.

Referenced by ixgbe_if_init(), and ixgbe_init_device_features().

◆ ixgbe_enable_rss

int ixgbe_enable_rss = 1
static

Definition at line 342 of file if_ix.c.

Referenced by ixgbe_init_device_features().

◆ ixgbe_flow_control

int ixgbe_flow_control = ixgbe_fc_full
static

Definition at line 297 of file if_ix.c.

Referenced by ixgbe_if_attach_pre().

◆ ixgbe_if_driver

driver_t ixgbe_if_driver
static
Initial value:
= {
"ixgbe_if", ixgbe_if_methods, sizeof(struct ixgbe_softc)
}
static device_method_t ixgbe_if_methods[]
Definition: if_ix.c:243

Definition at line 288 of file if_ix.c.

◆ ixgbe_if_methods

device_method_t ixgbe_if_methods[]
static

Definition at line 243 of file if_ix.c.

◆ ixgbe_max_interrupt_rate

int ixgbe_max_interrupt_rate = (4000000 / IXGBE_LOW_LATENCY)
static

Definition at line 292 of file if_ix.c.

Referenced by ixgbe_configure_ivars(), and ixgbe_sysctl_interrupt_rate_handler().

◆ ixgbe_sctx_init

struct if_shared_ctx ixgbe_sctx_init
static
Initial value:
= {
.isc_magic = IFLIB_MAGIC,
.isc_q_align = PAGE_SIZE,
.isc_tx_maxsize = IXGBE_TSO_SIZE + sizeof(struct ether_vlan_header),
.isc_tx_maxsegsize = PAGE_SIZE,
.isc_tso_maxsize = IXGBE_TSO_SIZE + sizeof(struct ether_vlan_header),
.isc_tso_maxsegsize = PAGE_SIZE,
.isc_rx_maxsize = PAGE_SIZE*4,
.isc_rx_nsegments = 1,
.isc_rx_maxsegsize = PAGE_SIZE*4,
.isc_nfl = 1,
.isc_ntxqs = 1,
.isc_nrxqs = 1,
.isc_admin_intrcnt = 1,
.isc_vendor_info = ixgbe_vendor_info_array,
.isc_driver_version = ixgbe_driver_version,
.isc_driver = &ixgbe_if_driver,
.isc_flags = IFLIB_TSO_INIT_IP,
.isc_nrxd_min = {MIN_RXD},
.isc_ntxd_min = {MIN_TXD},
.isc_nrxd_max = {MAX_RXD},
.isc_ntxd_max = {MAX_TXD},
.isc_nrxd_default = {DEFAULT_RXD},
.isc_ntxd_default = {DEFAULT_TXD},
}
static driver_t ixgbe_if_driver
Definition: if_ix.c:288
static pci_vendor_info_t ixgbe_vendor_info_array[]
Definition: if_ix.c:60
char ixgbe_driver_version[]
Definition: if_ix.c:49
#define DEFAULT_TXD
Definition: ixgbe.h:100
#define DEFAULT_RXD
Definition: ixgbe.h:115
#define MAX_RXD
Definition: ixgbe.h:117
#define MAX_TXD
Definition: ixgbe.h:102
#define MIN_RXD
Definition: ixgbe.h:118
#define IXGBE_TSO_SIZE
Definition: ixgbe.h:184
#define MIN_TXD
Definition: ixgbe.h:103

Definition at line 373 of file if_ix.c.

Referenced by ixgbe_register().

◆ ixgbe_smart_speed

Definition at line 313 of file if_ix.c.

Referenced by ixgbe_if_attach_pre().

◆ ixgbe_txrx

struct if_txrx ixgbe_txrx
extern

Definition at line 62 of file ix_txrx.c.

Referenced by ixgbe_if_attach_pre().

◆ ixgbe_vendor_info_array

pci_vendor_info_t ixgbe_vendor_info_array[]
static

Definition at line 60 of file if_ix.c.