diff options
Diffstat (limited to 'usr/src/man/man7d')
-rw-r--r-- | usr/src/man/man7d/Makefile | 6 | ||||
-rw-r--r-- | usr/src/man/man7d/cpuid.7d | 18 | ||||
-rw-r--r-- | usr/src/man/man7d/i40e.7d | 282 | ||||
-rw-r--r-- | usr/src/man/man7d/vnd.7d | 118 | ||||
-rw-r--r-- | usr/src/man/man7d/zfd.7d | 81 |
5 files changed, 492 insertions, 13 deletions
diff --git a/usr/src/man/man7d/Makefile b/usr/src/man/man7d/Makefile index 85422556e7..e3404ff3a5 100644 --- a/usr/src/man/man7d/Makefile +++ b/usr/src/man/man7d/Makefile @@ -12,6 +12,7 @@ # # Copyright 2011, Richard Lowe # Copyright 2015 Nexenta Systems, Inc. All rights reserved. +# Copyright 2016 Joyent, Inc. # Copyright 2016 Garrett D'Amore <garrett@damore.org> # @@ -59,6 +60,7 @@ _MANFILES= aac.7d \ hme.7d \ hubd.7d \ hxge.7d \ + i40e.7d \ ib.7d \ ibcm.7d \ ibd.7d \ @@ -142,11 +144,13 @@ _MANFILES= aac.7d \ virtualkm.7d \ vni.7d \ vr.7d \ + vnd.7d \ wscons.7d \ xge.7d \ yge.7d \ zcons.7d \ - zero.7d + zero.7d \ + zfd.7d sparc_MANFILES= audiocs.7d \ bbc_beep.7d \ diff --git a/usr/src/man/man7d/cpuid.7d b/usr/src/man/man7d/cpuid.7d index 1ede29ccc5..b14cc64742 100644 --- a/usr/src/man/man7d/cpuid.7d +++ b/usr/src/man/man7d/cpuid.7d @@ -1,9 +1,10 @@ '\" te .\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved +.\" Copyright 2015, Joyent, Inc. .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License. .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner] -.TH CPUID 7D "Sep 16, 2004" +.TH CPUID 7D "Jun 04, 2015" .SH NAME cpuid \- CPU identification driver .SH SYNOPSIS @@ -14,29 +15,24 @@ cpuid \- CPU identification driver .SH DESCRIPTION .SS "SPARC and x86 system" -.sp .LP This device provides implementation-private information via ioctls about various aspects of the implementation to Solaris libraries and utilities. .SS "x86 systems only" -.sp .LP This device also provides a file-like view of the namespace and return values of the x86 cpuid instruction. The cpuid instruction takes a single 32-bit integer function code, and returns four 32-bit integer values corresponding to the input value that describe various aspects of the capabilities and configuration of the processor. -.sp .LP The API for the character device consists of using the seek offset to set the function code value, and using a \fBread\fR(2) or \fBpread\fR(2) of 16 bytes to fetch the four 32-bit return values of the instruction in the order %\fBeax\fR, %\fBebx\fR, %\fBecx\fR and %\fBedx\fR. -.sp .LP No data can be written to the device. Like the \fBcpuid\fR instruction, no special privileges are required to use the device. -.sp .LP The device is useful to enable low-level configuration information to be extracted from the CPU without having to write any assembler code to invoke the @@ -44,13 +40,15 @@ extracted from the CPU without having to write any assembler code to invoke the correct any erroneous data returned by the instruction (prompted by occassional errors in the information exported by various processor implementations over the years). -.sp .LP See the processor manufacturers documentation for further information about the syntax and semantics of the wide variety of information available from this instruction. +.LP +Some systems can be configured to limit the cpuid opcodes which are accessible. +While illumos handles this condition, other software may malfunction when such +limits are enabled. Those settings are typically manipulated in the BIOS. .SH EXAMPLE -.sp .LP This example allows you to determine if the current x86 processor supports "long mode," which is a necessary (but not sufficient) condition for running @@ -113,7 +111,6 @@ fail: .in -2 .SH ERRORS -.sp .ne 2 .na \fBENXIO\fR @@ -134,7 +131,6 @@ with a size that is not multiple of 16 bytes. .RE .SH FILES -.sp .ne 2 .na \fB\fB/dev/cpu/self/cpuid\fR\fR @@ -144,7 +140,6 @@ Provides access to CPU identification data. .RE .SH ATTRIBUTES -.sp .LP See \fBattributes\fR(5) for descriptions of the following attributes: .sp @@ -160,7 +155,6 @@ Interface Stability Evolving .TE .SH SEE ALSO -.sp .LP \fBpsrinfo\fR(1M), \fBprtconf\fR(1M), \fBpread\fR(2), \fBread\fR(2), \fBattributes\fR(5) diff --git a/usr/src/man/man7d/i40e.7d b/usr/src/man/man7d/i40e.7d new file mode 100644 index 0000000000..082f8b0eeb --- /dev/null +++ b/usr/src/man/man7d/i40e.7d @@ -0,0 +1,282 @@ +.\" +.\" This file and its contents are supplied under the terms of the +.\" Common Development and Distribution License ("CDDL"), version 1.0. +.\" You may only use this file in accordance with the terms of version +.\" 1.0 of the CDDL. +.\" +.\" A full copy of the text of the CDDL should have accompanied this +.\" source. A copy of the CDDL is also available via the Internet at +.\" http://www.illumos.org/license/CDDL. +.\" +.\" +.\" Copyright 2016 Joyent, Inc. +.\" +.Dd March 25, 2016 +.Dt I40E 7D +.Os +.Sh NAME +.Nm i40e +.Nd Intel XL710 10/40 Gigabit Ethernet Device Driver +.Sh SYNOPSIS +.Pa /dev/i40e* +.Sh DESCRIPTION +The +.Nm +driver is a GLDv3, multi-threaded, clonable, loadable device driver that +supports the Data Link Provider Interface, +.Xr dlpi 7P . +The +.Nm +driver supports the Intel XL710 Ethernet Controller family of networking +interface cards which come in both 10 GbE and 40 GbE variants. +.Pp +In addition to basic device initialization and the sending and receiving +of frames, it supports the following features: +.Bl -dash -offset indent +.It +Jumbo frames up to 9710 bytes. +.It +Promiscuous access via +.Xr snoop 1M and +.Xr dlpi 7P +.It +IPv4 Checksum Offload +.It +TCP, UDP, and SCTP checksum offload +.El +.Pp +At this time, the +.Nm +driver does not enable the use of energy efficient Ethernet (EEE) or +support the use of flow control through hardware pause frames. +.Sh APPLICATION PROGRAMMING INTERFACE +For each device supported by the +.Nm +installed in the system, a character-special file will be created. This +file supports the Data Link Provider Interface (DLPI) which is documented +in +.Xr dlpi 7P . +For most consumers, the use of +.Xr libdlpi 3LIB , +is recommended. +.Pp +Each instance is assigned a unique ascending integer identifier. A +device which has multiple ports may appear to the system as separate +instances. The system does not provide a guarnatee on how these will be +presented. Using this instance identifier, one can determine the exact +character-special file to open. For example, the first instance +enumerated in the system, with id 0, would be named +.Sy i40e0 . +It exists in the file system at +.Pa /dev/i40e0 . +.Sh CONFIGURATION +The +.Nm i40e +driver always performs auto-negotiation and depending on the model may +negotiate to 40 Gbps, 10 Gbps, or 1 Gbps. At this time, there are no +models that support 1000BASE-T and thus auto-negotiation is required. +.Pp +The +.Nm +driver is managed by the +.Xr dladm 1M +utility and it is the preferred interface for setting all properties. While +.Xr driver.conf based configuration is possible, +.Xr dladm 1M +is recommended. The +.Nm +driver may be joined into an aggregation based on the link aggregation +control protocol (LACP) through +.Xr dladm 1M . +.Sh PROPERTIES +The device supports the following properties which may be tuned through +its driver.conf file, +.Pa /kernel/drv/i40e.conf . +Most of these properties cannot be changed after the device has been +started. The device is started in response to a DLPI consumer opening +the device and binding to it. This happens when an IP interfaces is +plumbed or another +.Xr dlpi 7P +consumer such as +.Xr snoop 1M +or an LLDP daemon is started. +.Pp +Some properties may be tuned at runtime with the +.Xr dladm 1M +utility. Properties that can be will have the name of the dladm property +called out explicitly. +.Pp +These properties are not considered stable at this time. They may change +and should not be relied on. They are considered +.Sy Volatile . +It is not expected that administrators of the system will have to tune +these values. +.Bl -hang -width Ds +.It Sy default_mtu +.Bd -filled -compact +Minimum: +.Sy 1500 | +Maximum: +.Sy 9710 | +Runtime Property: +.Sy mtu +.Ed +.Bd -filled +The +.Sy default_mtu +property determines the starting MTU of the various device instances. +Note that the device's MTU also determines the upper bound of the MTU of +all VNICs created over the device. The default MTU is +.Sy 1500 . +.Ed +.It Sy mr_enable +.Bd -filled -compact +Minimum: +.Sy 0 | +Maximum: +.Sy 1 +.Ed +.Bd -filled +The +.Sy mr_enable +proeprty determines whether or not support for multiple rings is enabled +for the device. The default is always to enable them. It is not +recommended to to disable them. +.Ed +.It Sy rx_ring_size +.Bd -filled -compact +Minimum: +.Sy 64 | +Maximum: +.Sy 4096 +.Ed +.Bd -filled +The +.Sy rx_ring_size +property determines the number of descriptors that will be used in each +receive ring on the card. Administrators should not normally need to +tune this value. Hardware requires that the ring size be a multiple of +32. The system will round up the set value to the nearest multiple of +32. +.Ed +.It Sy tx_ring_size +.Bd -filled -compact +Minimum: +.Sy 64 | +Maximum: +.Sy 4096 +.Ed +.Bd -filled +The +.Sy tx_ring_size +property determines the number of descriptors that will be used in each +transmit ring on the card. Administrators should not normally need to +tune this value. Hardware requires that the ring size be a multiple of +32. The system will round up the set value to the nearest multiple of +32. +.Ed +.It Sy tx_resched_threshold +.Bd -filled -compact +Minimum: +.Sy 8 | +Maximum: +.Sy Variable +.Ed +.Bd -filled +The +.Sy tx_resched_threshold +property determines the number of descriptors that must be available for +a frame to be transmitted. The maximum is variable. It is dependent on +the value of the +.Sy tx_ring_size +property. At least eight descriptors must be available for the device to +function correctly. +.Ed +.It Sy rx_limit_per_intr +.Bd -filled -compact +Minimum: +.Sy 16 | +Maximum: +.Sy 4096 +.Ed +.Bd -filled +The +.Sy rx_limit_per_intr +property determines the maximum number of packets that will be processed +on a given ring during a single interrupt. This is done to try and +guarantee some amount of liveness in the system. It is not expected +that administrators will have to tune this value. +.Ed +.It Sy tx_hcksum_enable +.Bd -filled -compact +Minimum: +.Sy 0 | +Maximum: +.Sy 1 +.Ed +.Bd -filled +The +.Sy tx_hcksum_enable +property controls whether or not the device enables support for hardware +checksuming of outgoing packets. The default is to always enable support +for this. Turning it off will increase latency and decrease throughput +when transmitting packets, but should be done if a hardware bug is +suspected. +.Ed +.It Sy rx_hcksum_enable +.Bd -filled -compact +Minimum: +.Sy 0 | +Maximum: +.Sy 1 +.Ed +.Bd -filled +The +.Sy rx_hcksum_enable +property controls whether or not the device enables support for hardware +checksuming of incoming packets. The default is to always enable support +for this. Turning it off will increase latency and decrease throughput +when receiving packets, but should be done if a hardware bug is +suspected. +.Ed +.It Sy rx_dma_threshold +.Bd -filled -compact +Minimum: +.Sy 0 | +Maximum: +.Sy INT32_MAX | +Runtime Property: +.Sy _rx_dma_treshold +.Ed +.Bd -filled +The +.Sy rx_dma_treshold +indicates the size in bytes of a received frame, including all of its +headers, at which the driver should not copy the frame but instead bind +DMA memory. By setting this property to its minimum, all frames will be +processed with DMA binding. By setting this property to its maximum, all +frames will be processed by copying the frame. +.Ed +.El +.Sh ARCHITECTURE +The +.Nm +driver is only supported on +.Sy x86 +systems at this time. +.Sh FILES +.Bl -tag -width Pa +.It Pa /dev/i40e* +Per-instance character device. +.It Pa /kernel/drv/i40e +32-bit device driver (x86). +.It Pa /kernel/drv/amd64/i40e +64-bit device driver (x86). +.It Pa /kernel/drv/i40e.conf +Driver configuration file. +.El +.Sh SEE ALSO +.Xr dladm 1M , +.Xr snoop 1M , +.Xr driver.conf 4 , +.Xr dlpi 7P diff --git a/usr/src/man/man7d/vnd.7d b/usr/src/man/man7d/vnd.7d new file mode 100644 index 0000000000..d311c4dc08 --- /dev/null +++ b/usr/src/man/man7d/vnd.7d @@ -0,0 +1,118 @@ +'\" te +.\" +.\" This file and its contents are supplied under the terms of the +.\" Common Development and Distribution License ("CDDL"), version 1.0. +.\" You may only use this file in accordance with the terms of version +.\" 1.0 of the CDDL. +.\" +.\" A full copy of the text of the CDDL should have accompanied this +.\" source. A copy of the CDDL is also available via the Internet at +.\" http://www.illumos.org/license/CDDL. +.\" +.\" +.\" Copyright (c) 2014, Joyent, Inc. All rights reserved. +.\" +.TH VND 7D "Feb 11, 2014" +.SH NAME +vnd \- virtual layer two network driver + +.SH SYNOPSIS +.nf +.LP +/dev/vnd/ctl +.LP +/dev/vnd/* +.fi + +.SH DESCRIPTION +.sp +.LP +The vnd driver provides support for a layer two datapath in an +analogous way that IP(7P) provides a support for an IP-based layer +three datapath. Both devices operate exclusively on datalinks. A +datalink that has been plumbed up with IP via ifconfig(1M) or +ipadm(1M) cannot be used with vnd or vice-versa. +.sp +.LP +The vnd driver supports and takes advantage of the the following +illumos features: +.RS +.sp +.LP +Supports dld/dls feature negotation of GLDv3 features, such +as direct calls, flow control, checksum offloading, and more. +.sp +.LP +All IP and IPv6 based traffic is sent through ipfilter(5), +allowing packet filtering. +.sp +.LP +Better control over vectored reads and writes in a frame-centric manner +through framed I/O. See libvnd(3LIB) for more information on these +interfaces. +.RE +.sp +.LP +The vnd driver exposes two different kinds of device nodes. The first is +a self-cloning control node which can be used to create vnd devices on +top of datalinks. Those devices can optionally be bound into the file +system namespace under /dev/vnd. Control operations on the control node +or named devices are private to the implementation. Instead, +libvnd(3LIB) provides a stable interfaces for using, creating, and +manipulating vnd devices. +.sp +.SH FILES +.sp +.ne 2 +.na +/dev/vnd/ctl +.ad +.RS 16n +vnd self-cloning control node +.RE + +.sp +.ne 2 +.na +/dev/vnd/%link +.ad +.RS 16n +Character device that corresponds to the vnd device of the given +name (%link). A given device will appear for each actively linked device +in the current zone. +.RE + +.sp +.ne 2 +.na +/dev/vnd/zone/%zone/%link +.ad +.RS 16n +These are character devices that correspond to the vnd device of +the given name (%link). They are organized based on the zone that they +appear in. Thus if a zone named foo has a vnd device named +bar, then the global zone will have the file +/dev/vnd/zone/foo/bar. Note, these only occur in the global zone. +.RE + +.SH ATTRIBUTES +.sp +.LP +See attributes(5) for descriptions of the following attributes: +.sp + +.sp +.TS +box; +c | c +l | l . +ATTRIBUTE TYPE ATTRIBUTE VALUE +_ +Interface Stability Evolving +.TE + +.SH SEE ALSO +.sp +.LP +dladm(1M), ipflter(5), libvnd(3LIB), vndadm(1M), +vndstat(1) diff --git a/usr/src/man/man7d/zfd.7d b/usr/src/man/man7d/zfd.7d new file mode 100644 index 0000000000..71b3084fdc --- /dev/null +++ b/usr/src/man/man7d/zfd.7d @@ -0,0 +1,81 @@ +.\" +.\" This file and its contents are supplied under the terms of the +.\" Common Development and Distribution License ("CDDL"), version 1.0. +.\" You may only use this file in accordance with the terms of version +.\" 1.0 of the CDDL. +.\" +.\" A full copy of the text of the CDDL should have accompanied this +.\" source. A copy of the CDDL is also available via the Internet at +.\" http://www.illumos.org/license/CDDL. +.\" +.\" +.\" Copyright 2015, Joyent, Inc. All rights reserved. +.\" +.Dd "Oct 16, 2015" +.Dt ZFD 7D +.Os +.Sh NAME +.Nm zfd +.Nd Zone file descriptor driver +.Sh DESCRIPTION +The +.Nm zfd +character driver exports devices into the zone which can be used by a +a standalone process within the zone as +.Vt stdin , +.Vt stdout , +and +.Vt stderr . +The +.Nm zfd +driver behaves in a similar manner as the +.Nm zcons(7D) +device. +Inside a zone, the slave side devices appear as +.Nm /dev/zfd/[0-4] . +.sp +The zone's zfd device configuration is driven by +.Nm zoneadmd +and a zone attribute +.Nm zlog-mode +which is somewhat of a misnomer since its purpose has evolved. The attribute +can have a variety of values, but the lowest two positions in the value string +are used to control how many zfd devices are created inside the zone and if the +primary stream is a tty. +.sp +.Dl -- +.Dl -n +.Dl t- +.Dl tn +.sp +With the +.Nm t +flag set, +.Vt stdin , +.Vt stdout , +and +.Vt stderr , +are multiplexed onto a single full-duplex stream which is configured as a tty. +That is, +.Nm ptem , +.Nm ldterm +and +.Nm ttycompat +are autopushed onto the stream when the slave side is opened. There is only a +single zfd device (0) needed for the primary stream. +.sp +When the +.Nm n +flag is set, it is assumed that output logging will be done within the zone +itself. In this configuration 1 or 2 additional zfd devices, depending on tty +mode +.Nm ( t +flag), are created within the zone. An application can then configure the +zfd streams driver into a multiplexer. Output from the stdout/stderr zfd(s) +will be teed into the correspond logging zfd(s) within the zone. +.sp +.Sh SEE ALSO +.Xr zlogin 1 , +.Xr zoneadmd 1M , +.Xr zonecfg 1M , +.Xr zcons 7D |