Go to main content

man pages section 4: Device and Network Interfaces

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

xsvnic (4D)

Name

xsvnic - Oracle Virtual Network Interface Card driver

Description

The xsvnic driver is a part of the Oracle Virtual Networking (OVN) I/O software stack, which is loaded and attached when the ovn-virtual-io service is enabled within the Oracle Solaris Service Management Facility. See smf(7).

xsvnic is a upper layer protocol (ULP) driver that supports mechanisms for transporting an Ethernet packet over Infiniband (IB) and optionally over the Ethernet I/O module on the Fabric Interconnect (FI) that connects to an Ethernet fabric though an Uplink Port.

xsvnic is bound to a virtual network interface card (vNIC) device created in the Oracle Solaris device tree, in response to a request to add a vNIC from the FI management subsystem. xsvnic operates in two modes: vNIC and PVI (Private Virtual Interconnect) vNIC. As a vNIC, the driver may communicate over an Ethernet fabric through the Ethernet I/O module on the FI. As a PVI vNIC, the driver can only communicate with the hosts within the IB subnet.

The xsvnic driver is a multi-threaded, loadable, clonable, STREAMS device driver supporting the connectionless Data Link Provider Interface, dlpi(4P). xsvnic uses the programming interfaces exported by the Oracle Solaris GLDv3 framework. The functions provided include:

  • QP initialization

  • Frame transmit and receive

  • Multicast and promiscuous mode support

  • Statistics reporting

As a vNIC, xsvnic supports MTU up to 9000 when connected over the Network I/O module on the FI. When operating in Private Virtual Interconnect (PVI) mode, the driver supports MTU up to 65504. Applications should adapt to the large MTU to get better performance in this mode, for example, by specifying a large TCP window size.

To access all xsvnic devices installed within the system, use cloning and the /dev/xsvnic character-special device.

The xsvnic driver or the OVN vNICs are managed by the dladm(8) command-line utility, which allows VLANs to be defined on top of xsvnic instances. OVN vNICs should not be confused with Oracle Solaris VNICs, which may be created using dladm create-vnic command. Hence, Oracle Solaris VNICs may be created on top of OVN vNICs and managed separately. xsvnic instances may be aggregated in PVI mode of operation, by only using the DLMP mode. LACP aggregation is not supported. Note that the link SPEED displayed by dladm(8) corresponds to IB link speeds for PVI (for example, 32000 for Quad Data Rate links) and Ethernet Uplink Port speed for vNICs (for example, 10000 for a 10g Ethernet link). See dladm(8) for details on Oracle Solaris datalink administration.

The driver is detached in response to a request from the FI by a delete operation. Administrators must ensure to temporarily disable the vNIC, before performing a delete operation, for example, deletion of IP interfaces from active configuration.

Files

/dev/xsvnic*

Special character device

/kernel/drv/sparcv9/xsvnic

64-bit ELF kernel driver (SPARC)

/kernel/drv/amd64/xsvnic

64-bit ELF kernel driver (x86)

Attributes

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

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Architecture
SPARC, x86
Interface Stability
/dev/xsvnic* is Committed.
kstat output is Uncommitted.
Device tree properties are Uncommitted.
Availability
system/io/infiniband/ovn-virtual-io

See Also

streamio(4I), dlpi(4P), smf(7), dladm(8), netstat(8)

Writing Device Drivers in Oracle Solaris 11.4

STREAMS Programming Guide

IEEE 802.3ae Specification, IEEE - 2002

https://standards.ieee.org/standard/802_3ae-2002.html