Go to main content

man pages section 4: Device and Network Interfaces

Exit Print View

Updated: Thursday, June 13, 2019
 
 

i40e (4D)

Name

i40e - Intel 10/40GbE PCI Express NIC Driver

Synopsis

/dev/i40e*

Description

The i40e 10/40 Gigabit Ethernet driver is a multi-threaded, loadable, clonable, GLD-based STREAMS driver supporting the Data Link Provider Interface, dlpi(4P), on Intel XL710 10/40 Gigabit Ethernet controllers.

The i40e driver functions include controller initialization, frame transmit and receive, promiscuous and multicast support, and error recovery and reporting.

Application Programming Interface

The cloning character-special device, /dev/i40e, is used to access all Intel XL710 10/40GbE PCI Express Ethernet devices installed within the system.

The i40e driver is managed by the dladm(8) command-line utility, which allows VLANs to be defined on top of i40e instances, and also for i40e instances to be aggregated. See dladm(8) for more details.

The i40e driver supports hardware network flows offloading. It can only offload special combinations of flows' attributes. For protocol UDP, flowadm must specify local_ip,local_port only. For protocol TCP, flowadm must specify full 5-tuples. For more details about hw-flow property, see the flowadm(8) man page.

# flowadm add-flow -lnet3 -a transport=udp,local_ip=19.0.0.2,local_port=8888
        -phw-flow=on udpflow1
# flowadm add-flow -lnet3 -a transport=tcp,local_ip=19.0.0.2,local_port=5000,
         remote_ip=19.0.0.1,remote_port=5001 -phw-flow=on tcpflow1

You must send an explicit DL_ATTACH_REQ message to associate the opened stream with a particular device (PPA). The PPA ID is interpreted as an unsigned integer data type, and indicates the corresponding device instance (unit) number. The driver returns an error (DL_ERROR_ACK) if the PPA field value does not correspond to a valid device instance number for the system. The device is initialized on first attach and de-initialized (stopped) at the last detach.

The values returned by the driver in the DL_INFO_ACK primitive in response to DL_INFO_REQ are:

  • Maximum SDU is 9728.

  • Minimum SDU is 0.

  • DLSAP address length is 8.

  • MAC type is DL_ETHER.

  • SAP (Service Access Point) length value is -2, meaning the physical address component is followed immediately by a 2-byte SAP component within the DLSAP address.

  • Broadcast address value is the Ethernet/IEEE broadcast address (FF:FF:FF:FF:FF:FF).

    Once in the DL_ATTACHED state, you must send a DL_BIND_REQ to associate a particular SAP with the stream.

Configuration

The i40e driver is managed by the dladm(8) command-line utility, which allows VLANs to be defined on top of i40e instances and for i40e instances to be aggregated. See dladm(8) for more details.

Files

/dev/i40e*

Special character device.

/kernel/drv/amd64/i40e

64-bit device driver (x86).

/kernel/drv/sparcv9/i40e

64-bit device driver (SPARC).

/kernel/drv/i40e.conf

Configuration file.

Attributes

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
driver/network/ethernet/i40e
Architecture
SPARC, x86
Interface Stability
Committed

See Also

streamio(4I), dlpi(4P), driver.conf(5), attributes(7), dladm(8), netstat(8)

Writing Device Drivers in Oracle Solaris 11.4

STREAMS Programming Guide

IEEE 802.3ae Specification, IEEE - 2002