Skip Navigation Links | |
Exit Print View | |
man pages section 7: Device and Network Interfaces Oracle Solaris 11.1 Information Library |
- Ethernet over Infiniband drivers
/dev/eoib*
The Ethernet over Infiniband (eoib) driver is a multi-threaded, loadable, clonable, GLD-based STREAMS driver supporting the Data Link Provider Interface, dlpi(7P), over all IB ports on a system that are connected to a Sun Network QDR InfiniBand Gateway switch. The driver uses the IBA Unreliable Datagram mode to provide initialization, gateway handshake, heartbeat management, frame transmit and receive functions, multicast support and statistics reporting.
The eoib driver expects certain configuration of the IBA fabric prior to operation (which also implies that the IB Subnet Manager must be active and managing the fabric). The gateway must be configured using the gateway manager with a Virtual IO Adapter (vIOA) for a local IB port on the server where this driver runs.
The Ethernet over Infiniband Nexus (eibnx) driver is loaded by the IB framework during initialization. This nexus driver is responsible for discovering the gateways that are accessible on the HCA IB ports on the host. For each gateway that the nexus driver discovers, it invokes an instance of eoib to bind to that gateway.
The cloning, character-special device /dev/eoib is used to access all eoib devices installed within the system.
The eoib driver is managed by the dladm(1M) command line utility, which allows VLANs to be defined on top of eoib instances. The driver currently does not allow for eoib instances to be aggregated.
The values returned by the driver in the DL_INFO_ACK primitive in response to the DL_INFO_REQ are as follows:
Maximum SDU (default 1500).
Minimum SDU is 0. The driver pads to the mandatory 60-octet minimum packet size.
The dlsap address length is 8.
MAC type is DL_ETHER.
The sap length value is -2, meaning the physical address component is followed immediately by a 2-byte sap component within the DLSAP address.
The broadcast address value is Ethernet/IEEE broadcast address (FF:FF:FF:FF:FF:FF).
The DL_SET_PHYS_ADDR_REQ is currently not supported
Since the mac address is obtained only after a successful handshake with the gateway, the factory MAC address reported by the MAC layer always is zero. MAC clients must use DL_CURR_PHYS_ADDR (and not DL_FACT_PHYS_ADDR) to obtain the source MAC being used by the EoIB driver instance.
Currently, the virtual-wire speed and mode for an eoib instance are always reported as 10000 Mbps, full-duplex. There are no parameters for eoib that are configurable via a config file or dladm(1M). All supported public properties can be obtained using the show-linkprop subcommand of dladm(1M).
While the parameters that are reported for eoib and the functionality supported are similar to other ethernet drivers, there are a few key differences:
The vIOA does not report any physical attributes of the ethernet interface on the gateway. That information is accessed using the gateway manager. As a result, none of the ETHER_STAT_* statistics are reported.
The vIOA does not support passing LACP messages through to the ethernet port on the gateway because that port is shared by multiple vIOAs. As a result, the creation of IEEE 802.3ad link aggregation (LAG) over vIOAs is not supported.
The maximum MTU associated with a vIOA is controlled by the gateway manager because the ethernet port is shared. As a result, the MTU is read-only. In addition, the maximum size is 4K bytes due to the maximum IB MTU, which is currently 4K bytes.
Character special device
Configuration file to start eoib nexus driver
64-bit SPARC eoib device driver
64-bit SPARC eoib nexus module
64-bit x86 eoib device driver
64-bit x86 eoib nexus module
dladm(1M), ifconfig(1M), syslogd(1M), attributes(5), dlpi(7P), gld(7D), ib(7D), kstat(7D), streamio(7I)
The EoIB protocol allows for traffic to continue even when the external port associated with a gateway (eport) is down. However, the state of this gateway external port can be of use to administrators, so this is currently reported using a private property called _eib_eport_state. This property is only available for diagnostics purposes and is subject to change or removal without notice.