Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
IX(4)			    Kernel Interfaces Manual			 IX(4)

NAME
       ix -- Intel 10Gb	Ethernet driver

SYNOPSIS
       To  compile  this  driver into the kernel, place	the following lines in
       your kernel configuration file:

	     device iflib
	     device ix

       Alternatively, to load the driver as a module at	boot time,  place  the
       following line in loader.conf(5):

	     if_ix_load="YES"

DESCRIPTION
       The  ix	driver	provides  support  for	Intel(R)  10Gb	Ethernet  PCIe
       adapters.  The driver supports Jumbo Frames, MSIX, TSO, and RSS.

       For questions related to	hardware requirements, refer to	the documenta-
       tion supplied with your Intel 10GbE adapter.  All hardware requirements
       listed apply to use with	FreeBSD.

       Support for Jumbo Frames	is provided via	 the  interface	 MTU  setting.
       Selecting  an  MTU  larger than 1500 bytes with the ifconfig(8) utility
       configures the adapter to receive and transmit Jumbo Frames.  The maxi-
       mum MTU size for	Jumbo Frames is	9710.

       This driver version supports VLANs.  For	information on enabling	VLANs,
       see ifconfig(8).

HARDWARE
       The ix driver supports Intel 10Gb Ethernet PCIe adapters, including:

          Intel(R) Ethernet E610
          Intel(R) Ethernet X553
          Intel(R) Ethernet X552
          Intel(R) Ethernet X550
          Intel(R) Ethernet X540 Bypass
          Intel(R) Ethernet X540
          Intel(R) Ethernet X520 Bypass (82599)
          Intel(R) Ethernet X520 (82599)
          Intel(R) 10 Gigabit Server Adapter (82598EB)

LOADER TUNABLES
       The ix driver supports the following loader tunables:

       hw.ix.max_interrupt_rate	    Maximum interrupts per second.

       hw.ix.flow_control	    Default  flow   control   used   for   all
				    adapters.

       hw.ix.advertise_speed	    Default advertised speed for all adapters.

       hw.ix.enable_msix	    Enable  Message Signalled Interrupts (MSI-
				    X).

       hw.ix.allow_unsupported_sfp  Allow unsupported small form-factor	 plug-
				    gable  (SFP)  modules.   Use  at  your own
				    risk.

       hw.ix.enable_fdir	    Enable Flow	Director.  Flow	 Director  di-
				    rects  Ethernet  packets to	the core where
				    the	packet consuming process, application,
				    container, or microservice is running.

       hw.ix.enable_rss		    Enable Receive-Side	Scaling	 (RSS).	  When
				    RSS	 is  enabled,  all of the receive data
				    processing for a particular	TCP connection
				    is shared across  multiple	processors  or
				    processor  cores.  Without RSS, all	of the
				    processing	is  performed  by   a	single
				    processor, resulting in inefficient	system
				    cache  utilization.	 This has no effect if
				    your system	has only one processing	unit.

       hw.ix.enable_aim		    Enable   Adaptive	Interrupt   Moderation
				    (AIM).   Vary the interrupt	rate over time
				    based on the traffic  for  that  interrupt
				    vector.

SYSCTL VARIABLES
       The ix driver supports the following sysctl(8) variables:

       dev.ix.?.debug.dump.clusters		Specify	 a  bitmask  to	select
						firmware event clusters	to  be
						included  in  the  debug dump.
						Possible values	include:

						0	All clusters excluding
							Manageability Transac-
							tions
						0x1	Link cluster
						0x2	Full CSR Space exclud-
							ing RCW	registers

						This feature is	only supported
						on E610	devices.

       dev.ix.?.debug.dump.dump			Specify	1 to generate  a  per-
						device	 debugging   snapshot.
						Output must be redirected to a
						file and decoded by Intel Cus-
						tomer Support.

						This feature is	only supported
						on E610.

       dev.ix.?.debug.fw_log.severity.<module>	Specify	firmware logging  ver-
						bosity level for the specified
						module.	  Available levels in-
						clude:

						0	none
						1	error
						2	warning
						3	normal
						4	verbose

						Supported  modules:   general,
						ctrl,  link,  link_topo,  dnl,
						i2c, sdp, mdio,	adminq,	 hdma,
						lldp,  dcbx,  dcb,  xlr,  nvm,
						auth, vpd, iosf,  parser,  sw,
						scheduler,   txq,  acl,	 post,
						watchdog, task_dispatch,  mng,
						synce,	health,	 tsdrv,	pfreg,
						mdlver.

						This feature is	only supported
						on E610	devices.

       dev.ix.?.debug.fw_log.register		Specify	1 to apply  per-device
						firmware   logging  configura-
						tion.

						This feature is	only supported
						on E610	devices.

       dev.ix.?.debug.fw_log.on_load		Enable firmware	logging	during
						driver initialization when set
						via kenv(1).

						This feature is	only supported
						on E610	devices.

DIAGNOSTICS
       ix%d: Unable to allocate	bus resource: memory  A	 fatal	initialization
       error has occurred.

       ix%d:  Unable  to allocate bus resource:	interrupt  A fatal initializa-
       tion error has occurred.

       ix%d: watchdog timeout -- resetting  The	device has stopped  responding
       to  the network,	or there is a problem with the network connection (ca-
       ble).

SUPPORT
       For general information and support, go to the  Intel  support  website
       at: http://support.intel.com.

       If  an  issue  is  identified with the released source code on the sup-
       ported kernel with a supported adapter, email the specific  information
       related to the issue to <freebsd@intel.com>.

SEE ALSO
       altq(4),	  arp(4),   iflib(4),  netintro(4),  ng_ether(4),  polling(4),
       vlan(4),	ifconfig(8), sysctl(8)

HISTORY
       The ix device driver first appeared in FreeBSD 7.0.

AUTHORS
       The ix driver was written by Intel Corporation <freebsd@intel.com>.

CAVEATS
       Intel (R) Flow director support is not fully implemented	in FreeBSD  at
       this  time and additional work is required before those features	can be
       supported.

       Enabling	flow director may route	traffic	to the wrong RX	queue  of  the
       NIC, resulting in sub-optimal performance on the	receive	side.

FreeBSD	ports 15.1	       November	10, 2025			 IX(4)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ixgbe&sektion=4&manpath=FreeBSD+15.1-RELEASE+and+Ports>

home | help