1*bbf21555SRichard Lowe.\" 2*bbf21555SRichard Lowe.\" This file and its contents are supplied under the terms of the 3*bbf21555SRichard Lowe.\" Common Development and Distribution License ("CDDL"), version 1.0. 4*bbf21555SRichard Lowe.\" You may only use this file in accordance with the terms of version 5*bbf21555SRichard Lowe.\" 1.0 of the CDDL. 6*bbf21555SRichard Lowe.\" 7*bbf21555SRichard Lowe.\" A full copy of the text of the CDDL should have accompanied this 8*bbf21555SRichard Lowe.\" source. A copy of the CDDL is also available via the Internet at 9*bbf21555SRichard Lowe.\" http://www.illumos.org/license/CDDL. 10*bbf21555SRichard Lowe.\" 11*bbf21555SRichard Lowe.\" 12*bbf21555SRichard Lowe.\" Copyright 2020 Oxide Computer Company 13*bbf21555SRichard Lowe.\" 14*bbf21555SRichard Lowe.Dd October 3, 2020 15*bbf21555SRichard Lowe.Dt VIOIF 4D 16*bbf21555SRichard Lowe.Os 17*bbf21555SRichard Lowe.Sh NAME 18*bbf21555SRichard Lowe.Nm vioif 19*bbf21555SRichard Lowe.Nd Virtio Networking Driver 20*bbf21555SRichard Lowe.Sh SYNOPSIS 21*bbf21555SRichard Lowe.Pa /dev/net/vioif* 22*bbf21555SRichard Lowe.Sh DESCRIPTION 23*bbf21555SRichard LoweThe 24*bbf21555SRichard Lowe.Nm 25*bbf21555SRichard Lowedriver is a GLDv3 NIC driver that supports the virtio para-virtualization 26*bbf21555SRichard Lowespecification which is commonly used by many hypervisors and emulators. 27*bbf21555SRichard LoweThe device supports what the specification calls the more commonly found 28*bbf21555SRichard Lowe.Sq legacy 29*bbf21555SRichard Loweinterface for devices. 30*bbf21555SRichard Lowe.Pp 31*bbf21555SRichard LoweThe driver supports the following networking features, if offered by the 32*bbf21555SRichard Lowedevice: 33*bbf21555SRichard Lowe.Bl -dash 34*bbf21555SRichard Lowe.It 35*bbf21555SRichard LoweJumbo frames up to 65535 bytes 36*bbf21555SRichard Lowe.It 37*bbf21555SRichard LoweTransmit and receive TCP and UDP checksum offload 38*bbf21555SRichard Lowe.It 39*bbf21555SRichard LoweIPv4 and IPv6 TCP segmentation offload 40*bbf21555SRichard Lowe.El 41*bbf21555SRichard Lowe.Sh APPLICATION PROGRAMMING INTERFACE 42*bbf21555SRichard LoweFor each supported device instance, which corresponds to a port, a 43*bbf21555SRichard Lowecharacter-special file is created. 44*bbf21555SRichard LoweThis device can be used with the Data Link Provider Interface 45*bbf21555SRichard Lowe.Pq DLPI 46*bbf21555SRichard Lowethrough either 47*bbf21555SRichard Lowe.Xr libdlpi 3LIB 48*bbf21555SRichard Loweor 49*bbf21555SRichard Lowe.Xr dlpi 4P . 50*bbf21555SRichard Lowe.Pp 51*bbf21555SRichard LoweEach instance is assigned a unique ascending integer identifier starting 52*bbf21555SRichard Lowefrom zero. 53*bbf21555SRichard LoweThe first instance in the system would be enumerated with the id 0 and 54*bbf21555SRichard Lowebe named 55*bbf21555SRichard Lowe.Sy vioif0 56*bbf21555SRichard Loweand be found in the file system at 57*bbf21555SRichard Lowe.Pa /dev/net/vioif0 . 58*bbf21555SRichard Lowe.Sh CONFIGURATION 59*bbf21555SRichard LoweThe networking devices created by the 60*bbf21555SRichard Lowe.Nm 61*bbf21555SRichard Lowedriver can be controlled through 62*bbf21555SRichard Lowe.Xr dladm 8 . 63*bbf21555SRichard LoweThere is no 64*bbf21555SRichard Lowe.Xr driver.conf 5 65*bbf21555SRichard Lowefile for 66*bbf21555SRichard Lowe.Nm 67*bbf21555SRichard Lowecurrently. 68*bbf21555SRichard Lowe.Sh ARCHITECTURE 69*bbf21555SRichard LoweThe 70*bbf21555SRichard Lowe.Nm 71*bbf21555SRichard Lowedriver is only supported on 72*bbf21555SRichard Lowe.Sy x86 . 73*bbf21555SRichard Lowe.Sh FILES 74*bbf21555SRichard Lowe.Bl -tag -width Pa 75*bbf21555SRichard Lowe.It Pa /dev/net/vioif* 76*bbf21555SRichard Lowe.Nm 77*bbf21555SRichard Lowespecial character device. 78*bbf21555SRichard Lowe.It Pa /kernel/drv/amd64/vioif 79*bbf21555SRichard Lowex86 device driver. 80*bbf21555SRichard Lowe.El 81*bbf21555SRichard Lowe.Sh SEE ALSO 82*bbf21555SRichard Lowe.Xr libdlpi 3LIB , 83*bbf21555SRichard Lowe.Xr virtio 4D , 84*bbf21555SRichard Lowe.Xr dlpi 4P , 85*bbf21555SRichard Lowe.Xr dladm 8 , 86*bbf21555SRichard Lowe.Xr mac 9E 87*bbf21555SRichard Lowe.Rs 88*bbf21555SRichard Lowe.%T Virtual I/O Device (VIRTIO) Version 1.1 89*bbf21555SRichard Lowe.%D April, 2019 90*bbf21555SRichard Lowe.%U https://docs.oasis-open.org/virtio/virtio/v1.1/virtio-v1.1.html 91*bbf21555SRichard Lowe.Re 92