eib - Ethernet over Infiniband drivers
eib is a pseudo device driver that provides Ethernet over InfiniBand (EoIB) services for virtual datalink objects of the EoIB class, on hosts connected to the Sun Network QDR InfiniBand Gateway switch. For more information about managing the datalinks created by the eib driver, see the dladm(8) man page.
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 eib driver expects certain configuration of the IBA fabric in order to successfully communicate with the Ethernet hosts (which also means that the IB Subnet Manager must be active and managing the fabric). The Gateway must also be configured using Gateway administration tools to set up the desired Virtual IO Adapter (vIOA) entries for the IB ports on the Oracle Solaris host.
The eib driver is managed by dladm(8), which provides sub-commands to create, delete, and query about EoIB datalink objects. EoIB datalink objects allow for VLANs and VNICs to be created over them using dladm(8), just like regular Ethernet datalinks. The driver currently does not allow EoIB datalink objects to be aggregated.
The values returned by the datalink 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 datalink.
Currently, the virtual-wire speed and mode for an EoIB datalink are always reported as 10000 Mbps, full-duplex. There are no datalink-specific parameters that are configurable via dladm(8). All supported public properties may be obtained using the show-linkprop subcommand of dladm(8).
While the parameters that are reported for EoIB datalinks and the functionality supported are similar to Ethernet datalinks, 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.
Configuration file to start EoIB datalink services
64-bit SPARC device driver
64-bit x86 device driver
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.