Index: head/share/man/man4/ata.4 =================================================================== --- head/share/man/man4/ata.4 (revision 276258) +++ head/share/man/man4/ata.4 (revision 276259) @@ -1,271 +1,271 @@ .\" Copyright (c) 2011 Alexander Motin .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd October 3, 2012 .Dt ATA 4 .Os .Sh NAME .Nm ata .Nd generic ATA/SATA controller driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your kernel configuration file: .Bd -ragged -offset indent .Cd "device scbus" .Cd "device ata" .Ed .Pp Alternatively, to load the driver as set of modules at boot time, place some of the following lines in .Xr loader.conf 5 : .Bd -literal -offset indent ata_load="YES" atacard_load="YES" ataisa_load="YES" atapci_load="YES" ataacard_load="YES" ataacerlabs_load="YES" ataadaptec_load="YES" ataahci_load="YES" ataamd_load="YES" ataati_load="YES" atacenatek_load="YES" atacypress_load="YES" atacyrix_load="YES" atahighpoint_load="YES" ataintel_load="YES" ataite_load="YES" atajmicron_load="YES" atamarvell_load="YES" atamicron_load="YES" atanational_load="YES" atanetcell_load="YES" atanvidia_load="YES" atapromise_load="YES" ataserverworks_load="YES" atasiliconimage_load="YES" atasis_load="YES" atavia_load="YES" .Ed .Pp The first line is for the common hardware independent code, and is a prerequisite for the other modules. The next three lines are generic bus-specific drivers. Of the rest, ataahci is the AHCI driver. The others are vendor-specific PCI drivers. .Pp The following tunables are settable from the .Xr loader 8 : .Bl -ohang .It Va hw.ahci.force set to nonzero value for forcing drivers to attach to some known AHCI-capable chips even if they are configured for legacy IDE emulation (the default is 1, force the attach). .It Va hw.ata.ata_dma_check_80pin set to 0 to disable the 80pin cable check (the default is 1, check the cable). .It Va hint.atapci.X.msi set to 1 to allow Message Signalled Interrupts (MSI) to be used by the specified PCI ATA controller, if supported. .It Va hint.ata.X.devX.mode limits the initial ATA mode for the specified device on the specified channel. .It Va hint.ata.X.mode limits the initial ATA mode for every device on the specified channel. .It Va hint.ata.X.pm_level controls SATA interface Power Management for the specified channel, allowing some power savings at the cost of additional command latency. Possible values: .Pp .Bl -tag -width 4n -offset indent -compact .It 0 Interface Power Management is disabled. This is the default value. .It 1 The device is allowed to initiate a PM state change; the host is passive. .It 2 The host initiates a PARTIAL PM state transition every time a port becomes idle. .It 3 host initiates SLUMBER PM state transition every time port becomes idle. .El .Pp Modes 2 and 3 are only supported for AHCI. .It Va hint.ata. Ns Ar X Ns Va .dev Ns Ar X Ns Va .sata_rev limits the initial SATA revision (speed) for the specified device on the specified channel. Values 1, 2 and 3 are respectively 1.5, 3 and 6Gbps. .It Va hint.ata. Ns Ar X Ns Va .sata_rev Same, but for every device on the specified channel. .El .Sh DESCRIPTION The .Nm driver gives the .Xr CAM 4 subsystem access to the ATA (IDE) and SATA ports of many generic controllers. Depending on the controller, each PATA (IDE) port or each one or two SATA ports are represented to CAM as a separate bus with one or two targets. Most of the bus-management details are handled by the ATA/SATA-specific transport of CAM. Connected ATA disks are handled by the ATA protocol disk peripheral driver .Xr ada 4 . ATAPI devices are handled by the SCSI protocol peripheral drivers .Xr cd 4 , .Xr da 4 , .Xr sa 4 , etc. .Pp This driver supports ATA, and for the most of controllers, ATAPI devices. Command queuing and SATA port multipliers are not supported. Device hot-plug and SATA interface power management is supported only on some controllers. .Pp The .Nm driver can change the transfer mode when the system is up and running. See the .Cm negotiate subcommand of .Xr camcontrol 8 . .Pp The .Nm driver sets the maximum transfer mode supported by the hardware as default. However, the .Nm driver sometimes warns: .Dq Sy "DMA limited to UDMA33, non-ATA66 cable or device". This means that the .Nm driver has detected that the required 80 conductor cable is not present or could not be detected properly, or that one of the devices on the channel only accepts up to UDMA2/ATA33. The .Va hw.ata.ata_dma_check_80pin tunable can be set to 0 to disable this check. .Sh HARDWARE The currently supported ATA/SATA controller chips are: .Pp .Bl -tag -width "Silicon Image:" -compact .It Acard: ATP850P, ATP860A, ATP860R, ATP865A, ATP865R. .It ALI: M5228, M5229, M5281, M5283, M5287, M5288, M5289. .It AMD: AMD756, AMD766, AMD768, AMD8111, CS5536. .It ATI: IXP200, IXP300, IXP400, IXP600, IXP700, IXP800. .It CMD: CMD646, CMD646U2, CMD648, CMD649. .It Cypress: Cypress 82C693. .It Cyrix: Cyrix 5530. .It HighPoint: HPT302, HPT366, HPT368, HPT370, HPT371, HPT372, HPT372N, HPT374. .It Intel: 6300ESB, 31244, PIIX, PIIX3, PIIX4, ESB2, ICH, ICH0, ICH2, ICH3, ICH4, ICH5, ICH6, ICH7, ICH8, ICH9, ICH10, SCH, PCH. .It ITE: IT8211F, IT8212F, IT8213F. .It JMicron: JMB360, JMB361, JMB363, JMB365, JMB366, JMB368. .It Marvell 88SX5040, 88SX5041, 88SX5080, 88SX5081, 88SX6041, 88SX6042, 88SX6081, 88SE6101, 88SE6102, 88SE6111, 88SE6121, 88SE6141, 88SE6145, 88SX7042. .It National: SC1100. .It NetCell: NC3000, NC5000. .It nVidia: nForce, nForce2, nForce2 MCP, nForce3, nForce3 MCP, nForce3 Pro, nForce4, MCP51, MCP55, MCP61, MCP65, MCP67, MCP73, MCP77, MCP79, MCP89. .It Promise: PDC20246, PDC20262, PDC20263, PDC20265, PDC20267, PDC20268, PDC20269, PDC20270, PDC20271, PDC20275, PDC20276, PDC20277, PDC20318, PDC20319, PDC20371, PDC20375, PDC20376, PDC20377, PDC20378, PDC20379, PDC20571, PDC20575, PDC20579, PDC20580, PDC20617, PDC20618, PDC20619, PDC20620, PDC20621, PDC20622, PDC40518, PDC40519, PDC40718, PDC40719. .It ServerWorks: HT1000, ROSB4, CSB5, CSB6, K2, Frodo4, Frodo8. .It Silicon Image: SiI0680, SiI3112, SiI3114, SiI3124, SiI3132, SiI3512. .It SiS: SIS180, SIS181, SIS182, SIS5513, SIS530, SIS540, SIS550, SIS620, SIS630, SIS630S, SIS633, SIS635, SIS730, SIS733, SIS735, SIS745, SIS961, SIS962, SIS963, SIS964, SIS965. .It VIA: VT6410, VT6420, VT6421, VT82C586, VT82C586B, VT82C596, VT82C596B, VT82C686, VT82C686A, VT82C686B, VT8231, VT8233, VT8233A, VT8233C, VT8235, VT8237, VT8237A, VT8237S, VT8251, CX700, VX800, VX855, VX900. .El .Pp Some of above chips are also supported by the more featured .Xr ahci 4 , .Xr mvs 4 , and .Xr siis 4 drivers. If both drivers are loaded at the same time, those will have precedence. .Pp Unknown ATA chipsets are supported in PIO modes, and if the standard busmaster DMA registers are present and contain valid setup, DMA is also enabled, although the max mode is limited to UDMA33, as it is not known what the chipset can do and how to program it. .Sh NOTES Please remember that in order to use UDMA4/ATA66 and above modes you .Em must use 80 conductor cables. Please assure that ribbon cables are no longer than 45cm. In case of rounded ATA cables, the length depends on the quality of the cables. SATA cables can be up to 1m long according to the specification. External SATA cables can be 2m long and more, but not all controllers work well on long cables, especially at high speeds. .Sh SEE ALSO .Xr ada 4 , .Xr ahci 4 , .Xr cam 4 , -.Xr camcontrol 8 , .Xr cd 4 , .Xr mvs 4 , -.Xr siis 4 +.Xr siis 4 , +.Xr camcontrol 8 .Sh HISTORY The .Nm driver first appeared in .Fx 4.0 . It was turned into a .Xr CAM 4 interface module in .Fx 9.0 . .Sh AUTHORS .An Alexander Motin Aq Mt mav@FreeBSD.org .An S\(/oren Schmidt Aq Mt sos@FreeBSD.org Index: head/share/man/man4/audit.4 =================================================================== --- head/share/man/man4/audit.4 (revision 276258) +++ head/share/man/man4/audit.4 (revision 276259) @@ -1,140 +1,140 @@ .\" Copyright (c) 2006 Robert N. M. Watson .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd May 31, 2009 .Dt AUDIT 4 .Os .Sh NAME .Nm audit .Nd Security Event Audit .Sh SYNOPSIS .Cd "options AUDIT" .Sh DESCRIPTION Security Event Audit is a facility to provide fine-grained, configurable logging of security-relevant events, and is intended to meet the requirements of the Common Criteria (CC) Common Access Protection Profile (CAPP) evaluation. The .Fx .Nm facility implements the de facto industry standard BSM API, file formats, and command line interface, first found in the Solaris operating system. Information on the user space implementation can be found in .Xr libbsm 3 . .Pp Audit support is enabled at boot, if present in the kernel, using an .Xr rc.conf 5 flag. The audit daemon, .Xr auditd 8 , is responsible for configuring the kernel to perform .Nm , pushing configuration data from the various audit configuration files into the kernel. .Ss Audit Special Device The kernel .Nm facility provides a special device, .Pa /dev/audit , which is used by .Xr auditd 8 to monitor for .Nm events, such as requests to cycle the log, low disk space conditions, and requests to terminate auditing. This device is not intended for use by applications. .Ss Audit Pipe Special Devices Audit pipe special devices, discussed in .Xr auditpipe 4 , provide a configurable live tracking mechanism to allow applications to tee the audit trail, as well as to configure custom preselection parameters to track users and events in a fine-grained manner. .Sh SEE ALSO .Xr auditreduce 1 , .Xr praudit 1 , .Xr audit 2 , .Xr auditctl 2 , .Xr auditon 2 , .Xr getaudit 2 , .Xr getauid 2 , .Xr poll 2 , .Xr select 2 , .Xr setaudit 2 , .Xr setauid 2 , .Xr libbsm 3 , .Xr auditpipe 4 , +.Xr audit.log 5 , .Xr audit_class 5 , .Xr audit_control 5 , .Xr audit_event 5 , -.Xr audit.log 5 , .Xr audit_user 5 , .Xr audit_warn 5 , .Xr rc.conf 5 , .Xr audit 8 , .Xr auditd 8 , .Xr auditdistd 8 .Sh HISTORY The .Tn OpenBSM implementation was created by McAfee Research, the security division of McAfee Inc., under contract to Apple Computer Inc.\& in 2004. It was subsequently adopted by the TrustedBSD Project as the foundation for the OpenBSM distribution. .Pp Support for kernel .Nm first appeared in .Fx 6.2 . .Sh AUTHORS .An -nosplit This software was created by McAfee Research, the security research division of McAfee, Inc., under contract to Apple Computer Inc. Additional authors include .An Wayne Salamon , .An Robert Watson , and SPARTA Inc. .Pp The Basic Security Module (BSM) interface to audit records and audit event stream format were defined by Sun Microsystems. .Pp This manual page was written by .An Robert Watson Aq Mt rwatson@FreeBSD.org . .Sh BUGS The .Fx kernel does not fully validate that audit records submitted by user applications are syntactically valid BSM; as submission of records is limited to privileged processes, this is not a critical bug. .Pp Instrumentation of auditable events in the kernel is not complete, as some system calls do not generate audit records, or generate audit records with incomplete argument information. .Pp Mandatory Access Control (MAC) labels, as provided by the .Xr mac 4 facility, are not audited as part of records involving MAC decisions. Index: head/share/man/man4/bhyve.4 =================================================================== --- head/share/man/man4/bhyve.4 (revision 276258) +++ head/share/man/man4/bhyve.4 (revision 276259) @@ -1,68 +1,68 @@ .\" .\" Copyright (c) 2012 NetApp Inc .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd January 5, 2013 .Dt BHYVE 4 .Os .Sh NAME .Nm bhyve .Nd virtual machine monitor .Sh SYNOPSIS .Cd "/usr/sbin/bhyve" .Cd "/usr/sbin/bhyveload" .Cd "/usr/sbin/bhyvectl" .Cd "/boot/kernel/vmm.ko" .Sh DESCRIPTION .Nm is a virtual machine monitor that is hosted by FreeBSD. It is used to host unmodified guest operating systems on top of FreeBSD. .Pp .Nm relies heavily on hardware assist provided by the CPU and chipset to virtualize processor and memory resources. .Sh SEE ALSO +.Xr vmm 4 , .Xr bhyve 8 , -.Xr bhyveload 8 , .Xr bhyvectl 8 , -.Xr vmm 4 +.Xr bhyveload 8 .Sh HISTORY .Nm first appeared in .Fx 10.0 , and was developed at NetApp Inc. .Sh AUTHORS .Nm was developed by .An -nosplit .An Peter Grehan Aq Mt grehan@FreeBSD.org and .An Neel Natu Aq Mt neel@FreeBSD.org at NetApp Inc. .Sh BUGS .Nm is considered experimental in .Fx . Index: head/share/man/man4/carp.4 =================================================================== --- head/share/man/man4/carp.4 (revision 276258) +++ head/share/man/man4/carp.4 (revision 276259) @@ -1,323 +1,323 @@ .\" $OpenBSD: carp.4,v 1.16 2004/12/07 23:41:35 jmc Exp $ .\" .\" Copyright (c) 2003, Ryan McBride. All rights reserved. .\" Copyright (c) 2011, Gleb Smirnoff .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd February 21, 2013 .Dt CARP 4 .Os .Sh NAME .Nm carp .Nd Common Address Redundancy Protocol .Sh SYNOPSIS .Cd "device carp" .Sh DESCRIPTION The CARP allows multiple hosts on the same local network to share a set of IPv4 and/or IPv6 addresses. Its primary purpose is to ensure that these addresses are always available. .Pp To use .Nm , the administrator needs to configure at a minimum a common virtual host ID (vhid), and attach at least one IP address to this vhid on each machine which is to take part in the virtual group. Additional parameters can also be set on a per-vhid basis: .Cm advbase and .Cm advskew , which are used to control how frequently the host sends advertisements when it is the master for a virtual host, and .Cm pass which is used to authenticate .Nm advertisements. The .Cm advbase parameter stands for .Dq "advertisement base" . It is measured in seconds and specifies the base of the advertisement interval. The .Cm advskew parameter stands for .Dq "advertisement skew" . It is measured in 1/256 of seconds. It is added to the base advertisement interval to make one host advertise a bit slower that the other does. Both .Cm advbase and .Cm advskew are put inside CARP advertisements. These values can be configured using .Xr ifconfig 8 , or through the .Dv SIOCSVH .Xr ioctl 2 . .Pp CARP virtual hosts can be configured on multicast-capable interfaces: Ethernet, layer 2 VLAN, FDDI and Token Ring. An arbitrary number of virtual host IDs can be configured on an interface. An arbitrary number of IPv4 or IPv6 addresses can be attached to a particular vhid. It is important that all hosts participating in a vhid have the same list of prefixes configured on the vhid, since all prefixes are included in the cryptographic checksum supplied in each advertisement. Multiple vhids running on one interface participate in master/backup elections independently. .Pp Additionally, there are a number of global parameters which can be set using .Xr sysctl 8 : .Bl -tag -width ".Va net.inet.carp.ifdown_demotion_factor" .It Va net.inet.carp.allow Accept incoming .Nm packets. Enabled by default. .It Va net.inet.carp.preempt Allow virtual hosts to preempt each other. When enabled, a vhid in a backup state would preempt a master that is announcing itself with a lower advskew. Disabled by default. .It Va net.inet.carp.log Determines what events relating to .Nm vhids are logged. A value of 0 disables any logging. A value of 1 enables logging state changes of .Nm vhids. Values above 1 enable logging of bad .Nm packets. The default value is 1. .It Va net.inet.carp.demotion This value shows current level of CARP demotion. The value is added to the actual advskew sent in announcements for all vhids. At normal system operation the demotion factor is zero. However, problematic conditions raise its level: when .Nm experiences problem with sending announcements, when an interface running a vhid goes down, or while the .Xr pfsync 4 interface is not synchronized. The demotion factor can be adjusted writing to the sysctl oid. The signed value supplied to the .Xr sysctl 8 command is added to current demotion factor. This allows to control .Nm behaviour depending on some external conditions, for example on the status of some daemon utility. .It Va net.inet.carp.ifdown_demotion_factor This value is added to .Va net.inet.carp.demotion when an interface running a vhid goes down. The default value is 240 (the maximum advskew value). .It Va net.inet.carp.senderr_demotion_factor This value is added to .Va net.inet.carp.demotion when .Nm experiences errors sending its announcements. The default value is 240 (the maximum advskew value). .El .\".Sh ARP level load balancing .\"A .\".Nm .\"interface has limited abilities for load balancing incoming connections .\"between hosts in an Ethernet network. .\"For load-balancing operation, one needs several CARP interfaces that .\"are configured to the same IP address, but to a different vhids. .\"Once an ARP request is received, the CARP protocol will use a hashing .\"function against the source IP address in the ARP request to determine .\"which vhid the request will be assigned to. .\"If the corresponding CARP interface is the current .\"master interface, a reply will .\"be sent to the ARP request; .\"otherwise it will be ignored. .\"See the .\".Sx EXAMPLES .\"section for a practical example of load balancing. .\".Pp .\"The ARP load balancing implemented in .\".Nm .\"has some limitations. .\"First, ARP balancing only works on the local network segment. .\"It cannot balance traffic that crosses a router, because the .\"router itself will always be balanced to the same virtual host. .\"Second, ARP load balancing can lead to asymmetric routing .\"of incoming and outgoing traffic, and thus combining it with .\".Xr pfsync 4 .\"is dangerous, because this creates a race condition between .\"balanced routers and a host they are serving. .\"Imagine an incoming packet creating state on the first router, being .\"forwarded to its destination, and the destination replying faster .\"than the state information is packed and synced with the second router. .\"If the reply would be load balanced to second router, it will be .\"dropped since the second router has not yet received information about .\"the connection state. .Sh STATE CHANGE NOTIFICATIONS Sometimes it is useful to get notified about .Nm status change events. This can be accomplished by using .Xr devd 8 hooks. Master/slave events are signalled under system .Dv CARP . The subsystem specifies the vhid and name of the interface where the master/slave event occurred. The type of the message displays the new state of the vhid. Please see .Xr devd.conf 5 and the .Sx EXAMPLES section for more information. .Sh EXAMPLES For firewalls and routers with multiple interfaces, it is desirable to failover all of the addresses running .Nm together, when one of the physical interfaces goes down. This is achieved by the use of the preempt option. Enable it on both hosts A and B: .Pp .Dl sysctl net.inet.carp.preempt=1 .Pp Assume that host A is the preferred master and we are running the 192.168.1.0/24 prefix on em0 and 192.168.2.0/24 on em1. This is the setup for host A (advskew is above 0 so it could be overwritten in the emergency situation from the other host): .Bd -literal -offset indent ifconfig em0 vhid 1 advskew 100 pass mekmitasdigoat 192.168.1.1/24 ifconfig em1 vhid 2 advskew 100 pass mekmitasdigoat 192.168.2.1/24 .Ed .Pp The setup for host B is identical, but it has a higher .Cm advskew : .Bd -literal -offset indent ifconfig em0 vhid 1 advskew 200 pass mekmitasdigoat 192.168.1.1/24 ifconfig em1 vhid 2 advskew 200 pass mekmitasdigoat 192.168.2.1/24 .Ed .Pp When one of the physical interfaces of host A fails, .Cm advskew is demoted to a configured value on all its .Nm vhids. Due to the preempt option, host B would start announcing itself, and thus preempt host A on both interfaces instead of just the failed one. .\".Pp .\"In order to set up an ARP balanced virtual host, it is necessary to configure .\"one virtual host for each physical host which would respond to ARP requests .\"and thus handle the traffic. .\"In the following example, two virtual hosts are configured on two hosts to .\"provide balancing and failover for the IP address 192.168.1.10. .\".Pp .\"First the .\".Nm .\"interfaces on host A are configured. .\"The .\".Cm advskew .\"of 100 on the second virtual host means that its advertisements will be sent .\"out slightly less frequently. .\".Bd -literal -offset indent .\"ifconfig carp0 create .\"ifconfig carp0 vhid 1 advskew 100 pass mekmitasdigoat 192.168.1.10/24 .\"ifconfig carp1 create .\"ifconfig carp1 vhid 2 advskew 200 pass mekmitasdigoat 192.168.1.10/24 .\".Ed .\".Pp .\"The configuration for host B is identical, except the .\".Cm advskew .\"is on virtual host 1 rather than virtual host 2. .\".Bd -literal -offset indent .\"ifconfig carp0 create .\"ifconfig carp0 vhid 1 advskew 200 pass mekmitasdigoat 192.168.1.10/24 .\"ifconfig carp1 create .\"ifconfig carp1 vhid 2 advskew 100 pass mekmitasdigoat 192.168.1.10/24 .\".Ed .\".Pp .\"Finally, the ARP balancing feature must be enabled on both hosts: .\".Pp .\".Dl sysctl net.inet.carp.arpbalance=1 .\".Pp .\"When the hosts receive an ARP request for 192.168.1.10, the source IP address .\"of the request is used to compute which virtual host should answer the request. .\"The host which is master of the selected virtual host will reply to the .\"request, the other(s) will ignore it. .\".Pp .\"This way, locally connected systems will receive different ARP replies and .\"subsequent IP traffic will be balanced among the hosts. .\"If one of the hosts fails, the other will take over the virtual MAC address, .\"and begin answering ARP requests on its behalf. .Pp Processing of .Nm status change events can be set up by using the following devd.conf rule: .Bd -literal -offset indent notify 0 { match "system" "CARP"; match "subsystem" "[0-9]+@[0-9a-z]+"; match "type" "(MASTER|BACKUP)"; action "/root/carpcontrol.sh $subsystem $type"; }; .Ed .Pp To see .Nm packets decoded in .Xr tcpdump 8 output, one needs to specify .Fl T Ar carp option, otherwise .Xr tcpdump 8 tries to interpret them as VRRP packets: .Bd -literal -offset indent tcpdump -npi vlan0 -T carp .Ed .Sh SEE ALSO .Xr inet 4 , .Xr pfsync 4 , -.Xr rc.conf 5 , .Xr devd.conf 5 , +.Xr rc.conf 5 , .Xr ifconfig 8 , .Xr sysctl 8 , .Xr tcpdump 8 .Sh HISTORY The .Nm device first appeared in .Ox 3.5 . The .Nm device was imported into .Fx 5.4 . In .Fx 10.0 , .Nm was significantly rewritten, and is no longer a pseudo-interface. Index: head/share/man/man4/ch.4 =================================================================== --- head/share/man/man4/ch.4 (revision 276258) +++ head/share/man/man4/ch.4 (revision 276259) @@ -1,352 +1,352 @@ .\" $FreeBSD$ .\" Copyright (c) 1996 .\" Julian Elischer . All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .Dd May 14, 1998 .Dt CH 4 .Os .Sh NAME .Nm ch .Nd SCSI media-changer (juke box) driver .Sh SYNOPSIS .Cd device ch .Sh DESCRIPTION The .Nm driver provides support for a .Em SCSI media changer. It allows many slots of media to be multiplexed between a number of drives. The changer device may optionally be equipped with a bar code reader, which reads label information attached to the media. .Pp A SCSI adapter must also be separately configured into the system before a SCSI changer can be configured. .Pp As the SCSI adapter is probed during boot, the .Em SCSI bus is scanned for devices. Any devices found which answer as 'Changer' type devices will be 'attached' to the .Nm driver. In .Fx releases prior to 2.1, the first found will be attached as .Em ch0 and the next, .Em ch1 etc. Beginning in 2.1 it is possible to specify what ch unit a device should come on line as; refer to .Xr scsi 4 for details on kernel configuration. .Sh KERNEL CONFIGURATION It is only necessary to explicitly configure one .Nm device; data structures are dynamically allocated as media changes are found on the .Tn SCSI bus. .Sh IOCTLS User mode programs communicate with the changer driver through a number of ioctls which are described below. Changer element addresses used in the communication between the kernel and the changer device are mapped to zero-based logical addresses. Element types are specified as follows: .Bl -tag -width CHET_MT .It Dv CHET_MT Medium transport element (picker). .It Dv CHET_ST Storage element (slot). .It Dv CHET_IE Import/export element (portal). .It Dv CHET_DT Data transfer element (drive). .El .Pp The following .Xr ioctl 2 calls apply to the changer. They are defined in the header file .In sys/chio.h . .Bl -tag -width CHIOEXCHANGE .It Dv CHIOMOVE .Pq Vt "struct changer_move" Move a medium from one element to another .Pq Sy "MOVE MEDIUM" using the current picker. The source and destination elements are specified in a changer_move structure, which includes at least the following fields: .Bd -literal -offset indent u_int cm_fromtype; /* element type to move from */ u_int cm_fromunit; /* logical unit of from element */ u_int cm_totype; /* element type to move to */ u_int cm_tounit; /* logical unit of to element */ u_int cm_flags; /* misc. flags */ .Ed If the .Dv CM_INVERT in the .Va cm_flags field is set, the medium changer is instructed to flip the medium while moving it. .It Dv CHIOEXCHANGE .Pq Vt "struct changer_exchange" Move the medium located in the source element to the first destination element, and move the medium that had been in the first destination element to the second destination element. In case of a simple exchange, the source and second destination elements should be the same. The current picker is used to perform the operation. The addresses of the affected elements is specified to the ioctl in a .Vt changer_exchange structure which includes at least the following fields: .Bd -literal -offset indent u_int ce_srctype; /* element type of source */ u_int ce_srcunit; /* logical unit of source */ u_int ce_fdsttype; /* element type of first destination */ u_int ce_fdstunit; /* logical unit of first destination */ u_int ce_sdsttype; /* element type of second destination */ u_int ce_sdstunit; /* logical unit of second destination */ u_int ce_flags; /* misc. flags */ .Ed In .Va ce_flags , .Dv CM_INVERT1 and/or .Dv CM_INVERT2 may be set to flip the first or second medium during the exchange operation, respectively. .Pp .Em This operation is untested . .It Dv CHIOPOSITION .Pq Vt "struct changer_position" Position the current picker in front of the specified element. The element is specified with a changer_position structure, which includes at least the following elements: .Bd -literal -offset indent u_int cp_type; /* element type */ u_int cp_unit; /* logical unit of element */ u_int cp_flags; /* misc. flags */ .Ed The .Va cp_flags field may be set to .Dv CP_INVERT to invert the picker during the operation. .It Dv CHIOGPICKER .Pq Vt int Return the logical address of the current picker. .It Dv CHIOSPICKER .Pq Vt int Select the picker specified by the given logical address. .It Dv CHIOGPARAMS .Pq Vt "struct changer_params" Return the configuration parameters for the media changer. This ioctl fills the changer_params structure passed by the user with at least the following fields: .Bd -literal -offset indent u_int cp_npickers; /* number of pickers */ u_int cp_nslots; /* number of slots */ u_int cp_nportals; /* number of import/export portals */ u_int cp_ndrives; /* number of drives */ .Ed .Pp This call can be used by applications to query the dimensions of the jukebox before using the .Dv CHIGSTATUS ioctl to query the jukebox status. .It Dv CHIOIELEM Perform the .Sy INITIALIZE ELEMENT STATUS call on the media changer device. This forces the media changer to update its internal status information with respect to loaded media. It also scans any barcode labels provided that it has a label reader. The .Nm driver's status is not affected by this call. .It Dv CHIOGSTATUS .Pq Vt "struct changer_element_status_request" Perform the .Sy READ ELEMENT STATUS call on the media changer device. This call reads the element status information of the media changer and converts it to an array of .Vt changer_element_status structures. .Pp With each call to .Dv CHIOGSTATUS , the status of one or more elements of one type may be queried. .Pp The application passes a .Vt changer_element_status_request structure to the .Nm driver which contains the following fields: .Bd -literal -offset indent u_int cesr_element_type; u_int cesr_element_base; u_int cesr_element_count; u_int cesr_flags; struct changer_element_status *cesr_element_status; .Ed .Pp This structure is read by the driver to determine the type, logical base address and number of elements for which information is to be returned in the array of .Vt changer_element_status structures pointed to by the .Va cesr_element_status field. The application must allocate enough memory for .Va cesr_element_count status structures (see below). The .Va cesr_flags can optionally be set to .Dv CESR_VOLTAGS to indicate that volume tag (bar code) information is to be read from the jukebox and returned. .Pp The .Va cesr_element_base and .Va cesr_element_count fields must be valid with respect to the physical configuration of the changer. If they are not, the .Dv CHIOGSTATUS ioctl returns the .Er EINVAL error code. .Pp The information about the elements is returned in an array of .Vt changer_element_status structures. This structure include at least the following fields: .Bd -literal -offset indent u_int ces_addr; /* element address in media changer */ u_char ces_flags; /* see CESTATUS definitions below */ u_char ces_sensecode; /* additional sense code for element */ u_char ces_sensequal; /* additional sense code qualifier */ u_char ces_invert; /* invert bit */ u_char ces_svalid; /* source address (ces_source) valid */ u_short ces_source; /* source address of medium */ changer_voltag_t ces_pvoltag; /* primary volume tag */ changer_voltag_t ces_avoltag; /* alternate volume tag */ u_char ces_idvalid; /* ces_scsi_id is valid */ u_char ces_scsi_id; /* SCSI id of element (if ces_idvalid is nonzero) */ u_char ces_lunvalid; /* ces_scsi_lun is valid */ u_char ces_scsi_lun; /* SCSI lun of element (if ces_lunvalid is nonzero) */ .Ed .Pp The .Va ces_addr field contains the address of the element in the coordinate system of the media changer. It is not used by the driver, and should be used for diagnostic purposes only. .Pp The following flags are defined for the .Va ces_flags field: .Bl -tag -width CESTATUS_IMPEXP .It Dv CESTATUS_FULL A medium is present. .It Dv CESTATUS_IMPEXP The medium has been deposited by the operator (and not by a picker). .It Dv CESTATUS_EXCEPT The element is in an exceptional state (e.g.\& invalid barcode label, barcode not yet scanned). .It Dv CESTATUS_ACCESS The element is accessible by the picker. .It Dv CESTATUS_EXENAB The element supports medium export. .It Dv CESTATUS_INENAB The element supports medium import. .El .Pp Note that not all flags are valid for all element types. .El .Sh NOTES This version of the .Nm driver has been tested with a DEC TZ875 (5 slot, one DLT drive) and a Breece Hill Q47 (60 slot, four DLT drives, barcode reader). .Pp Many of the features the .Nm driver supports are not thoroughly tested due to the fact that the devices available for testing do not support the necessary commands. This is true for alternate volume tags, media flipping, import/export element handling, multiple picker operation and other things. .Sh FILES .Bl -tag -width /dev/ch[0-9] -compact .It Pa /dev/ch[0-9] device entries .El .Sh DIAGNOSTICS If the media changer does not support features requested by the .Nm driver, it will produce both console error messages and failure return codes to the ioctls described here. .Sh SEE ALSO -.Xr cam 4 , .Xr chio 1 , +.Xr cam 4 , .Xr cd 4 , .Xr da 4 , .Xr sa 4 .Sh HISTORY The .Nm driver appeared in .Bx 386 0.1 . .Sh AUTHORS .An -nosplit The .Nm driver was written by .An Jason R. Thorpe Aq Mt thorpej@and.com for And Communications, .Pa http://www.and.com/ . It was added to the system by .An Stefan Grefen Aq Mt grefen@goofy.zdv.uni-mainz.de who apparently had such a device. It was ported to CAM by .An Kenneth Merry Aq Mt ken@FreeBSD.org . It was updated to support volume tags by .An Hans Huebner Aq Mt hans@artcom.de . Index: head/share/man/man4/ehci.4 =================================================================== --- head/share/man/man4/ehci.4 (revision 276258) +++ head/share/man/man4/ehci.4 (revision 276259) @@ -1,101 +1,101 @@ .\" $NetBSD: ehci.4,v 1.8 2001/11/21 17:22:56 augustss Exp $ .\" .\" Copyright (c) 2001 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation .\" by Lennart Augustsson. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd March 4, 2012 .Dt EHCI 4 .Os .Sh NAME .Nm ehci .Nd USB Enhanced Host Controller driver .Sh SYNOPSIS .Cd "device ehci" .Sh DESCRIPTION The .Nm driver provides support for the .Tn USB Enhanced Host Controller Interface, which is used by .Tn USB 2.0 controllers. .Pp .Tn EHCI controllers are peculiar in that they can only handle the .Tn USB 2.0 protocol. This means that they normally have one or more companion controllers (i.e., .Xr ohci 4 or .Xr uhci 4 ) handling USB 1.x devices. Consequently each .Tn USB connector is electrically connected to two .Tn USB controllers. The handling of this is totally automatic, but can be noticed since .Tn USB 1.x and .Tn USB 2.0 devices plugged in to the same connector appear to connect to different USB busses. .Sh SEE ALSO -.Xr xhci 4 , .Xr ohci 4 , .Xr uhci 4 , -.Xr usb 4 +.Xr usb 4 , +.Xr xhci 4 .Sh HISTORY The .Nm device driver first appeared in .Fx 5.1 . .Sh LOADER TUNABLES When the kernel has been compiled with .Cd options USB_DEBUG , some tunables become available that affect the behavior of .Nm . These tunables can be set at the .Xr loader 8 prompt before booting the kernel or stored in .Xr loader.conf 5 . .Bl -tag -width "xxxxxx" .It Va hw.usb.ehci.lostintrbug This tunable enables the lost interrupt quirk. The default value is 0 (off). .It Va hw.usb.ehci.iaadbug This tunable enables the EHCI doorbell quirk. The default value is 0 (off). .It Va hw.usb.ehci.no_hs This tunable disables USB devices to attach like HIGH-speed ones and will force all attached devices to attach to the FULL- or LOW-speed companion controller. The default value is 0 (off). .El Index: head/share/man/man4/geom.4 =================================================================== --- head/share/man/man4/geom.4 (revision 276258) +++ head/share/man/man4/geom.4 (revision 276259) @@ -1,484 +1,484 @@ .\" .\" Copyright (c) 2002 Poul-Henning Kamp .\" Copyright (c) 2002 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by Poul-Henning Kamp .\" and NAI Labs, the Security Research Division of Network Associates, Inc. .\" under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the .\" DARPA CHATS research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The names of the authors may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd September 10, 2013 .Dt GEOM 4 .Os .Sh NAME .Nm GEOM .Nd "modular disk I/O request transformation framework" .Sh SYNOPSIS .Cd options GEOM_AES .Cd options GEOM_BDE .Cd options GEOM_BSD .Cd options GEOM_CACHE .Cd options GEOM_CONCAT .Cd options GEOM_ELI .Cd options GEOM_FOX .Cd options GEOM_GATE .Cd options GEOM_JOURNAL .Cd options GEOM_LABEL .Cd options GEOM_LINUX_LVM .Cd options GEOM_MBR .Cd options GEOM_MIRROR .Cd options GEOM_MULTIPATH .Cd options GEOM_NOP .Cd options GEOM_PART_APM .Cd options GEOM_PART_BSD .Cd options GEOM_PART_EBR .Cd options GEOM_PART_EBR_COMPAT .Cd options GEOM_PART_GPT .Cd options GEOM_PART_LDM .Cd options GEOM_PART_MBR .Cd options GEOM_PART_PC98 .Cd options GEOM_PART_VTOC8 .Cd options GEOM_PC98 .Cd options GEOM_RAID .Cd options GEOM_RAID3 .Cd options GEOM_SHSEC .Cd options GEOM_STRIPE .Cd options GEOM_SUNLABEL .Cd options GEOM_UZIP .Cd options GEOM_VIRSTOR .Cd options GEOM_VOL .Cd options GEOM_ZERO .Sh DESCRIPTION The .Nm framework provides an infrastructure in which .Dq classes can perform transformations on disk I/O requests on their path from the upper kernel to the device drivers and back. .Pp Transformations in a .Nm context range from the simple geometric displacement performed in typical disk partitioning modules over RAID algorithms and device multipath resolution to full blown cryptographic protection of the stored data. .Pp Compared to traditional .Dq "volume management" , .Nm differs from most and in some cases all previous implementations in the following ways: .Bl -bullet .It .Nm is extensible. It is trivially simple to write a new class of transformation and it will not be given stepchild treatment. If someone for some reason wanted to mount IBM MVS diskpacks, a class recognizing and configuring their VTOC information would be a trivial matter. .It .Nm is topologically agnostic. Most volume management implementations have very strict notions of how classes can fit together, very often one fixed hierarchy is provided, for instance, subdisk - plex - volume. .El .Pp Being extensible means that new transformations are treated no differently than existing transformations. .Pp Fixed hierarchies are bad because they make it impossible to express the intent efficiently. In the fixed hierarchy above, it is not possible to mirror two physical disks and then partition the mirror into subdisks, instead one is forced to make subdisks on the physical volumes and to mirror these two and two, resulting in a much more complex configuration. .Nm on the other hand does not care in which order things are done, the only restriction is that cycles in the graph will not be allowed. .Sh "TERMINOLOGY AND TOPOLOGY" .Nm is quite object oriented and consequently the terminology borrows a lot of context and semantics from the OO vocabulary: .Pp A .Dq class , represented by the data structure .Vt g_class implements one particular kind of transformation. Typical examples are MBR disk partition, BSD disklabel, and RAID5 classes. .Pp An instance of a class is called a .Dq geom and represented by the data structure .Vt g_geom . In a typical i386 .Fx system, there will be one geom of class MBR for each disk. .Pp A .Dq provider , represented by the data structure .Vt g_provider , is the front gate at which a geom offers service. A provider is .Do a disk-like thing which appears in .Pa /dev .Dc - a logical disk in other words. All providers have three main properties: .Dq name , .Dq sectorsize and .Dq size . .Pp A .Dq consumer is the backdoor through which a geom connects to another geom provider and through which I/O requests are sent. .Pp The topological relationship between these entities are as follows: .Bl -bullet .It A class has zero or more geom instances. .It A geom has exactly one class it is derived from. .It A geom has zero or more consumers. .It A geom has zero or more providers. .It A consumer can be attached to zero or one providers. .It A provider can have zero or more consumers attached. .El .Pp All geoms have a rank-number assigned, which is used to detect and prevent loops in the acyclic directed graph. This rank number is assigned as follows: .Bl -enum .It A geom with no attached consumers has rank=1. .It A geom with attached consumers has a rank one higher than the highest rank of the geoms of the providers its consumers are attached to. .El .Sh "SPECIAL TOPOLOGICAL MANEUVERS" In addition to the straightforward attach, which attaches a consumer to a provider, and detach, which breaks the bond, a number of special topological maneuvers exists to facilitate configuration and to improve the overall flexibility. .Bl -inset .It Em TASTING is a process that happens whenever a new class or new provider is created, and it provides the class a chance to automatically configure an instance on providers which it recognizes as its own. A typical example is the MBR disk-partition class which will look for the MBR table in the first sector and, if found and validated, will instantiate a geom to multiplex according to the contents of the MBR. .Pp A new class will be offered to all existing providers in turn and a new provider will be offered to all classes in turn. .Pp Exactly what a class does to recognize if it should accept the offered provider is not defined by .Nm , but the sensible set of options are: .Bl -bullet .It Examine specific data structures on the disk. .It Examine properties like .Dq sectorsize or .Dq mediasize for the provider. .It Examine the rank number of the provider's geom. .It Examine the method name of the provider's geom. .El .It Em ORPHANIZATION is the process by which a provider is removed while it potentially is still being used. .Pp When a geom orphans a provider, all future I/O requests will .Dq bounce on the provider with an error code set by the geom. Any consumers attached to the provider will receive notification about the orphanization when the event loop gets around to it, and they can take appropriate action at that time. .Pp A geom which came into being as a result of a normal taste operation should self-destruct unless it has a way to keep functioning whilst lacking the orphaned provider. Geoms like disk slicers should therefore self-destruct whereas RAID5 or mirror geoms will be able to continue as long as they do not lose quorum. .Pp When a provider is orphaned, this does not necessarily result in any immediate change in the topology: any attached consumers are still attached, any opened paths are still open, any outstanding I/O requests are still outstanding. .Pp The typical scenario is: .Pp .Bl -bullet -offset indent -compact .It A device driver detects a disk has departed and orphans the provider for it. .It The geoms on top of the disk receive the orphanization event and orphan all their providers in turn. Providers which are not attached to will typically self-destruct right away. This process continues in a quasi-recursive fashion until all relevant pieces of the tree have heard the bad news. .It Eventually the buck stops when it reaches geom_dev at the top of the stack. .It Geom_dev will call .Xr destroy_dev 9 to stop any more requests from coming in. It will sleep until any and all outstanding I/O requests have been returned. It will explicitly close (i.e.: zero the access counts), a change which will propagate all the way down through the mesh. It will then detach and destroy its geom. .It The geom whose provider is now detached will destroy the provider, detach and destroy its consumer and destroy its geom. .It This process percolates all the way down through the mesh, until the cleanup is complete. .El .Pp While this approach seems byzantine, it does provide the maximum flexibility and robustness in handling disappearing devices. .Pp The one absolutely crucial detail to be aware of is that if the device driver does not return all I/O requests, the tree will not unravel. .It Em SPOILING is a special case of orphanization used to protect against stale metadata. It is probably easiest to understand spoiling by going through an example. .Pp Imagine a disk, .Pa da0 , on top of which an MBR geom provides .Pa da0s1 and .Pa da0s2 , and on top of .Pa da0s1 a BSD geom provides .Pa da0s1a through .Pa da0s1e , and that both the MBR and BSD geoms have autoconfigured based on data structures on the disk media. Now imagine the case where .Pa da0 is opened for writing and those data structures are modified or overwritten: now the geoms would be operating on stale metadata unless some notification system can inform them otherwise. .Pp To avoid this situation, when the open of .Pa da0 for write happens, all attached consumers are told about this and geoms like MBR and BSD will self-destruct as a result. When .Pa da0 is closed, it will be offered for tasting again and, if the data structures for MBR and BSD are still there, new geoms will instantiate themselves anew. .Pp Now for the fine print: .Pp If any of the paths through the MBR or BSD module were open, they would have opened downwards with an exclusive bit thus rendering it impossible to open .Pa da0 for writing in that case. Conversely, the requested exclusive bit would render it impossible to open a path through the MBR geom while .Pa da0 is open for writing. .Pp From this it also follows that changing the size of open geoms can only be done with their cooperation. .Pp Finally: the spoiling only happens when the write count goes from zero to non-zero and the retasting happens only when the write count goes from non-zero to zero. .It Em CONFIGURE is the process where the administrator issues instructions for a particular class to instantiate itself. There are multiple ways to express intent in this case - a particular provider may be specified with a level of override forcing, for instance, a BSD disklabel module to attach to a provider which was not found palatable during the TASTE operation. .Pp Finally, I/O is the reason we even do this: it concerns itself with sending I/O requests through the graph. .It Em "I/O REQUESTS" , represented by .Vt "struct bio" , originate at a consumer, are scheduled on its attached provider and, when processed, are returned to the consumer. It is important to realize that the .Vt "struct bio" which enters through the provider of a particular geom does not .Do come out on the other side .Dc . Even simple transformations like MBR and BSD will clone the .Vt "struct bio" , modify the clone, and schedule the clone on their own consumer. Note that cloning the .Vt "struct bio" does not involve cloning the actual data area specified in the I/O request. .Pp In total, four different I/O requests exist in .Nm : read, write, delete, and .Dq "get attribute". .Pp Read and write are self explanatory. .Pp Delete indicates that a certain range of data is no longer used and that it can be erased or freed as the underlying technology supports. Technologies like flash adaptation layers can arrange to erase the relevant blocks before they will become reassigned and cryptographic devices may want to fill random bits into the range to reduce the amount of data available for attack. .Pp It is important to recognize that a delete indication is not a request and consequently there is no guarantee that the data actually will be erased or made unavailable unless guaranteed by specific geoms in the graph. If .Dq "secure delete" semantics are required, a geom should be pushed which converts delete indications into (a sequence of) write requests. .Pp .Dq "Get attribute" supports inspection and manipulation of out-of-band attributes on a particular provider or path. Attributes are named by .Tn ASCII strings and they will be discussed in a separate section below. .El .Pp (Stay tuned while the author rests his brain and fingers: more to come.) .Sh DIAGNOSTICS Several flags are provided for tracing .Nm operations and unlocking protection mechanisms via the .Va kern.geom.debugflags sysctl. All of these flags are off by default, and great care should be taken in turning them on. .Bl -tag -width indent .It 0x01 Pq Dv G_T_TOPOLOGY Provide tracing of topology change events. .It 0x02 Pq Dv G_T_BIO Provide tracing of buffer I/O requests. .It 0x04 Pq Dv G_T_ACCESS Provide tracing of access check controls. .It 0x08 (unused) .It 0x10 (allow foot shooting) Allow writing to Rank 1 providers. This would, for example, allow the super-user to overwrite the MBR on the root disk or write random sectors elsewhere to a mounted disk. The implications are obvious. .It 0x40 Pq Dv G_F_DISKIOCTL This is unused at this time. .It 0x80 Pq Dv G_F_CTLDUMP Dump contents of gctl requests. .El .Sh SEE ALSO .Xr libgeom 3 , -.Xr disk 9 , .Xr DECLARE_GEOM_CLASS 9 , +.Xr disk 9 , .Xr g_access 9 , .Xr g_attach 9 , .Xr g_bio 9 , .Xr g_consumer 9 , .Xr g_data 9 , .Xr g_event 9 , .Xr g_geom 9 , .Xr g_provider 9 , .Xr g_provider_by_name 9 .Sh HISTORY This software was developed for the .Fx Project by .An Poul-Henning Kamp and NAI Labs, the Security Research Division of Network Associates, Inc.\& under DARPA/SPAWAR contract N66001-01-C-8035 .Pq Dq CBOSS , as part of the DARPA CHATS research program. .Pp The first precursor for .Nm was a gruesome hack to Minix 1.2 and was never distributed. An earlier attempt to implement a less general scheme in .Fx never succeeded. .Sh AUTHORS .An Poul-Henning Kamp Aq Mt phk@FreeBSD.org Index: head/share/man/man4/hv_ata_pci_disengage.4 =================================================================== --- head/share/man/man4/hv_ata_pci_disengage.4 (revision 276258) +++ head/share/man/man4/hv_ata_pci_disengage.4 (revision 276259) @@ -1,90 +1,90 @@ .\" $FreeBSD$ .\" .\" Copyright (c) 2012 Microsoft Corp. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .Dd September 10, 2013 .Dt HYPER-V 4 .Os .Sh NAME .Nm hv_ata_pci_disengage .Nd Hyper-V ATA PCI Disengage driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in the system kernel configuration file: .Bd -ragged -offset indent .Cd "device hyperv" .Ed .Sh DESCRIPTION The .Nm driver prevents the native .Fx ATA driver from loading in the presence of Hyper-V. .Fx guests running on Hyper-V can take advantage of the Hyper-V Storage Virtual Consumer .Pq Xr hv_storvsc 4 for using their IDE devices. Since the ATA driver serves IDE devices as well, there is a chance that the ATA driver may interfere with the operations of .Xr hv_storvsc 4 . The .Nm driver avoids conflicts between the ATA driver and .Xr hv_storvsc 4 by disabling the ATA driver when the .Fx guest is booting. .Pp A side effect of disabling the ATA driver is that CDROM may become inoperational on .Fx guest partitions. If CDROM access is a must then users may use "set hw.ata.disk_enable=1" at boot time to prevent the ATA driver from being disabled. .Sh SEE ALSO -.Xr hv_vmbus 4 , -.Xr hv_utils 4 , .Xr hv_netvsc 4 , -.Xr hv_storvsc 4 +.Xr hv_storvsc 4 , +.Xr hv_utils 4 , +.Xr hv_vmbus 4 .Sh HISTORY Support for .Nm first appeared in .Fx 10.0 . The driver was developed through a joint effort between Citrix Incorporated, Microsoft Corporation, and Network Appliance Incorporated. .Sh AUTHORS .An -nosplit .Fx support for .Nm was first added by .An Microsoft BSD Integration Services Team Aq Mt bsdic@microsoft.com . Index: head/share/man/man4/hv_kvp.4 =================================================================== --- head/share/man/man4/hv_kvp.4 (revision 276258) +++ head/share/man/man4/hv_kvp.4 (revision 276259) @@ -1,96 +1,96 @@ .\" $FreeBSD$ .\" .\" Copyright (c) 2012 Microsoft Corp. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .Dd September 10, 2013 .Dt HYPER-V 4 .Os .Sh NAME .Nm hv_kvp .Nd Hyper-V Key Value Pair Driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in the system kernel configuration file: .Bd -ragged -offset indent .Cd "device hyperv" .Ed .Sh DESCRIPTION The .Nm driver provides the ability to store, retrieve, modify and delete key value pairs for .Fx guest partitions running on Hyper-V. Hyper-V allows administrators to store custom metadata in the form of key value pairs inside the .Fx guest partition. Administrators can use Windows Powershell scripts to add, read, modify and delete such key value pairs. .Pp The driver is bare bones and merely forwards requests to its counterpart user mode daemon, .Xr hv_kvp_daemon 8 . The daemon maintains pools of key value pairs and does the actual metadata management. .Pp The same driver and daemon combination are also used to set and get IP addresses from a .Fx guest. .Pp The set functionality is particularly useful when the .Fx guest is assigned a static IP address and is failed over from one Hyper-V host to another. After failover, Hyper-V uses the set IP functionality to automatically update the .Fx guest's IP address to its original static value. .Pp On the other hand, the get IP functionality is used to update the guest IP address in the Hyper-V management console window. .Sh SEE ALSO -.Xr hv_vmbus 4 , -.Xr hv_utils 4 , +.Xr hv_ata_pci_disengage 4 , .Xr hv_netvsc 4 , .Xr hv_storvsc 4 , -.Xr hv_ata_pci_disengage 4 , +.Xr hv_utils 4 , +.Xr hv_vmbus 4 , .Xr hv_kvp_daemon 8 .Sh HISTORY Support for .Nm first appeared in .Fx 10.0 . The driver was developed through a joint effort between Citrix Incorporated, Microsoft Corporation and Network Appliance Incorporated. .Sh AUTHORS .An -nosplit .Fx support for .Nm was first added by .An Microsoft BSD Integration Services Team Aq Mt bsdic@microsoft.com . Index: head/share/man/man4/hv_netvsc.4 =================================================================== --- head/share/man/man4/hv_netvsc.4 (revision 276258) +++ head/share/man/man4/hv_netvsc.4 (revision 276259) @@ -1,83 +1,83 @@ .\" $FreeBSD$ .\" .\" Copyright (c) 2012 Microsoft Corp. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .Dd September 10, 2013 .Dt HYPER-V 4 .Os .Sh NAME .Nm hv_netvsc .Nd Hyper-V Network Virtual Service Consumer .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in the system kernel configuration file: .Bd -ragged -offset indent .Cd "device hyperv" .Ed .Sh DESCRIPTION The .Nm driver implements the virtual network device for .Fx guest partitions running on Hyper-V. .Fx guest partitions running on Hyper-V do not have direct access to network devices attached to the Hyper-V server. Although a .Fx guest can access network devices using Hyper-V's full emulation mode, the performance in this mode tends to be unsatisfactory. .Pp To counter the above issues, the .Nm driver implements a network Virtual Service Consumer (VSC) that relays network requests from the guest partition to the network Virtual Service Provider (VSP) hosted in the root partition using the high performance data exchange infrastructure provided by .Xr hv_vmbus 4 driver. The VSP in the root partition then forwards the network related requests to the physical network card. .Sh SEE ALSO -.Xr hv_vmbus 4 , -.Xr hv_utils 4 , +.Xr hv_ata_pci_disengage 4 , .Xr hv_storvsc 4 , -.Xr hv_ata_pci_disengage 4 +.Xr hv_utils 4 , +.Xr hv_vmbus 4 .Sh HISTORY Support for .Nm first appeared in .Fx 10.0 . The driver was developed through a joint effort between Citrix Incorporated, Microsoft Corporation, and Network Appliance Incorporated. .Sh AUTHORS .An -nosplit .Fx support for .Nm was first added by .An Microsoft BSD Integration Services Team Aq Mt bsdic@microsoft.com . Index: head/share/man/man4/hv_storvsc.4 =================================================================== --- head/share/man/man4/hv_storvsc.4 (revision 276258) +++ head/share/man/man4/hv_storvsc.4 (revision 276259) @@ -1,89 +1,89 @@ .\" $FreeBSD$ .\" .\" Copyright (c) 2012 Microsoft Corp. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .Dd September 10, 2013 .Dt HYPER-V 4 .Os .Sh NAME .Nm hv_storvsc .Nd Hyper-V Storage Virtual Service Consumer .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in the system kernel configuration file: .Bd -ragged -offset indent .Cd "device hyperv" .Ed .Sh DESCRIPTION The .Nm driver implements the virtual store device for .Fx guest partitions running on Hyper-V. .Fx guest partitions running on Hyper-V do not have direct access to storage devices attached to the Hyper-V server. Although a .Fx guest can access storage devices using Hyper-V's full emulation mode, the performance in this mode tends to be unsatisfactory. .Pp To counter the above issues, the .Nm driver implements a storage Virtual Service Consumer (VSC) that relays storage requests from the guest partition to the storage Virtual Service Provider (VSP) hosted in the root partition using the high performance data exchange infrastructure provided by .Xr hv_vmbus 4 driver. The VSP in the root partition then forwards the storage related requests to the physical storage device. .Pp This driver functions by presenting a SCSI HBA interface to the Comman Access Method (CAM) layer. CAM control blocks (CCBs) are converted into VSCSI protocol messages which are delivered to the root partition VSP over the Hyper-V VMBus. .Sh SEE ALSO -.Xr hv_vmbus 4 , -.Xr hv_utils 4 , +.Xr hv_ata_pci_disengage 4 , .Xr hv_netvsc 4 , -.Xr hv_ata_pci_disengage 4 +.Xr hv_utils 4 , +.Xr hv_vmbus 4 .Sh HISTORY Support for .Nm first appeared in .Fx 10.0 . The driver was developed through a joint effort between Citrix Incorporated, Microsoft Corporation, and Network Appliance Incorporated. .Sh AUTHORS .An -nosplit .Fx support for .Nm was first added by .An Microsoft BSD Integration Services Team Aq Mt bsdic@microsoft.com . Index: head/share/man/man4/hv_utils.4 =================================================================== --- head/share/man/man4/hv_utils.4 (revision 276258) +++ head/share/man/man4/hv_utils.4 (revision 276259) @@ -1,85 +1,85 @@ .\" $FreeBSD$ .\" .\" Copyright (c) 2012 Microsoft Corp. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .Dd September 10, 2013 .Dt HYPER-V 4 .Os .Sh NAME .Nm hv_utils .Nd Hyper-V Utilities Driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in the system kernel configuration file: .Bd -ragged -offset indent .Cd "device hyperv" .Ed .Sh DESCRIPTION The .Nm driver provides time keeping, shutdown and heartbeat functionality for .Fx guest partitions running on Hyper-V. Hyper-V is a hypervisor-based virtualization technology from Microsoft. The .Nm driver is one of the core drivers required to be present in guest partitions running on Hyper-V. This driver provides the following functionalities to guest partitions: .Pp (a) Time Keeping: The clock inside the guest partition will remain accurate by synchronizing to the clock on the virtualization server via Timesync service, and with the help of the pluggable time source device. .Pp (b) Integrated shutdown: Guest partitions running .Fx can be shut down from Hyper-V Manager console by using the .Qq Shut down command. .Pp (c) Heartbeat: This feature allows the virtualization server to detect whether the guest partition is running and responsive. .Sh SEE ALSO -.Xr hv_vmbus 4 , +.Xr hv_ata_pci_disengage 4 , .Xr hv_netvsc 4 , .Xr hv_storvsc 4 , -.Xr hv_ata_pci_disengage 4 +.Xr hv_vmbus 4 .Sh HISTORY Support for .Nm first appeared in .Fx 10.0 . The driver was developed through a joint effort between Citrix Incorporated, Microsoft Corporation, and Network Appliance Incorporated. .Sh AUTHORS .An -nosplit .Fx support for .Nm was first added by .An Microsoft BSD Integration Services Team Aq Mt bsdic@microsoft.com . Index: head/share/man/man4/hv_vmbus.4 =================================================================== --- head/share/man/man4/hv_vmbus.4 (revision 276258) +++ head/share/man/man4/hv_vmbus.4 (revision 276259) @@ -1,93 +1,93 @@ .\" $FreeBSD$ .\" .\" Copyright (c) 2012 Microsoft Corp. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .Dd September 10, 2013 .Dt HYPER-V 4 .Os .Sh NAME .Nm hv_vmbus .Nd Hyper-V Virtual Machine Bus (VMBus) Driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in the system kernel configuration file: .Bd -ragged -offset indent .Cd "device hyperv" .Ed .Sh DESCRIPTION The .Nm provides a high performance communication interface between guest and root partitions in Hyper-V. Hyper-V is a hypervisor-based virtualization technology from Microsoft. Hyper-V supports isolation in terms of a partition. A partition is a logical unit of isolation, supported by the hypervisor, in which operating systems execute. .Pp The Microsoft hypervisor must have at least one parent, or root, partition, running Windows Server operating system. The virtualization stack runs in the parent partition and has direct access to the hardware devices. The root partition then creates the child partitions which host the guest operating systems. .Pp Child partitions do not have direct access to other hardware resources and are presented a virtual view of the resources, as virtual devices (VDevs). Requests to the virtual devices are redirected either via the VMBus or the hypervisor to the devices in the parent partition, which handles the requests. .Pp The VMBus is a logical inter-partition communication channel. The parent partition hosts Virtualization Service Providers (VSPs) which communicate over the VMBus to handle device access requests from child partitions. Child partitions host Virtualization Service Consumers (VSCs) which redirect device requests to VSPs in the parent partition via the VMBus. The Hyper-V VMBus driver defines and implements the interface that facilitate high performance bi-directional communication between the VSCs and VSPs. All VSCs utilize the VMBus driver. .Sh SEE ALSO -.Xr hv_utils 4 , +.Xr hv_ata_pci_disengage 4 , .Xr hv_netvsc 4 , .Xr hv_storvsc 4 , -.Xr hv_ata_pci_disengage 4 +.Xr hv_utils 4 .Sh HISTORY Support for .Nm first appeared in .Fx 10.0 . The driver was developed through a joint effort between Citrix Incorporated, Microsoft Corporation, and Network Appliance Incorporated. .Sh AUTHORS .An -nosplit .Fx support for .Nm was first added by .An Microsoft BSD Integration Services Team Aq Mt bsdic@microsoft.com . Index: head/share/man/man4/igmp.4 =================================================================== --- head/share/man/man4/igmp.4 (revision 276258) +++ head/share/man/man4/igmp.4 (revision 276259) @@ -1,138 +1,138 @@ .\" .\" Copyright (c) 2009 Bruce Simpson. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. Neither the name of the project nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd March 9, 2009 .Dt IGMP 4 .Os .Sh NAME .Nm igmp .Nd Internet Group Management Protocol .Sh SYNOPSIS .In sys/types.h .In sys/socket.h .In netinet/in.h .In netinet/in_systm.h .In netinet/ip.h .In netinet/igmp.h .Ft int .Fn socket AF_INET SOCK_RAW IPPROTO_IGMP .Sh DESCRIPTION .Tn IGMP is a control plane protocol used by IPv4 hosts and routers to propagate multicast group membership information. Normally this protocol is not used directly, except by the kernel itself, in response to multicast membership requests by user applications. Routing protocols may open a raw socket to directly interact with .Nm . .Pp As of .Fx 8.0 , IGMP version 3 is implemented. This adds support for Source-Specific Multicast (SSM), whereby applications may communicate to upstream multicast routers that they are only interested in receiving multicast streams from particular sources. .\" .Sh SYSCTL VARIABLES .Bl -tag -width indent .\" .It net.inet.igmp.stats This opaque read-only variable exposes the stack-wide IGMPv3 protocol statistics to .Xr netstat 1 . .\" .It net.inet.igmp.ifinfo This opaque read-only variable exposes the per-link IGMPv3 status to .Xr ifmcstat 8 . .\" .It net.inet.igmp.gsrdelay This variable specifies the time threshold, in seconds, for processing Group-and-Source Specific Queries (GSR). As GSR query processing requires maintaining state on the host, it may cause memory to be allocated, and is therefore a potential attack point for Denial-of-Service (DoS). If more than one GSR query is received within this threshold, it will be dropped, to mitigate the potential for DoS. .\" .It net.inet.igmp.default_version This variable controls the default version of IGMP to be used on all links. This sysctl is normally set to 3 by default. .\" .It net.inet.igmp.legacysupp If this variable is non-zero, then IGMP v1 and v2 membership reports received on a link will be allowed to suppress the IGMP v3 state-change reports which would otherwise be issued by this host. This sysctl is normally enabled by default. .\" .It net.inet.igmp.v2enable If this variable is non-zero, then IGMP v2 membership queries will be processed by this host, and backwards compatibility will be enabled until the v2 'Old Querier Present' timer expires. This sysctl is normally enabled by default. .\" .It net.inet.igmp.v1enable If this variable is non-zero, then IGMP v1 membership queries will be processed by this host, and backwards compatibility will be enabled until the v1 'Old Querier Present' timer expires. This sysctl is normally enabled by default. .\" .It net.inet.igmp.sendlocal If this variable is non-zero, then IGMP state-changes for groups in the 224.0.0.0/24 link-scope prefix will be issued. This behaviour is recommended if deploying .Fx in a network environment with layer 2 devices which snoop IGMP traffic to mitigate multicast propagation throughout the network. This sysctl is normally enabled by default. .\" .It net.inet.igmp.sendra If this variable is non-zero, then IGMP v2 and v3 reports will contain the IP Router Alert option. This sysctl is normally enabled by default. .\" .It net.inet.igmp.recvifkludge If this variable is non-zero, then received IGMP reports which contain 0.0.0.0 as their source will be rewritten to contain the subnet address. This is useful when there are hosts on-link which have not yet been configured with a primary IPv4 address. This sysctl is normally enabled by default. .\" .El .Sh SEE ALSO -.Xr ifmcstat 8 , +.Xr netstat 1 , +.Xr sourcefilter 3 , .Xr inet 4 , .Xr multicast 4 , -.Xr netstat 1 , -.Xr sourcefilter 3 +.Xr ifmcstat 8 .Sh HISTORY The .Nm manual page re-appeared in .Fx 8.0 . Index: head/share/man/man4/ip6.4 =================================================================== --- head/share/man/man4/ip6.4 (revision 276258) +++ head/share/man/man4/ip6.4 (revision 276259) @@ -1,698 +1,698 @@ .\" $KAME: ip6.4,v 1.23 2005/01/11 05:56:25 itojun Exp $ .\" $OpenBSD: ip6.4,v 1.21 2005/01/06 03:50:46 itojun Exp $ .\" .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd March 13, 2011 .Dt IP6 4 .Os .Sh NAME .Nm ip6 .Nd Internet Protocol version 6 (IPv6) network layer .Sh SYNOPSIS .In sys/socket.h .In netinet/in.h .Ft int .Fn socket AF_INET6 SOCK_RAW proto .Sh DESCRIPTION The IPv6 network layer is used by the IPv6 protocol family for transporting data. IPv6 packets contain an IPv6 header that is not provided as part of the payload contents when passed to an application. IPv6 header options affect the behavior of this protocol and may be used by high-level protocols (such as the .Xr tcp 4 and .Xr udp 4 protocols) as well as directly by .Dq raw sockets , which process IPv6 messages at a lower-level and may be useful for developing new protocols and special-purpose applications. .Ss Header All IPv6 packets begin with an IPv6 header. When data received by the kernel are passed to the application, this header is not included in buffer, even when raw sockets are being used. Likewise, when data are sent to the kernel for transmit from the application, the buffer is not examined for an IPv6 header: the kernel always constructs the header. To directly access IPv6 headers from received packets and specify them as part of the buffer passed to the kernel, link-level access .Po .Xr bpf 4 , for example .Pc must instead be utilized. .Pp The header has the following definition: .Bd -literal -offset indent struct ip6_hdr { union { struct ip6_hdrctl { uint32_t ip6_un1_flow; /* 20 bits of flow ID */ uint16_t ip6_un1_plen; /* payload length */ uint8_t ip6_un1_nxt; /* next header */ uint8_t ip6_un1_hlim; /* hop limit */ } ip6_un1; uint8_t ip6_un2_vfc; /* version and class */ } ip6_ctlun; struct in6_addr ip6_src; /* source address */ struct in6_addr ip6_dst; /* destination address */ } __packed; #define ip6_vfc ip6_ctlun.ip6_un2_vfc #define ip6_flow ip6_ctlun.ip6_un1.ip6_un1_flow #define ip6_plen ip6_ctlun.ip6_un1.ip6_un1_plen #define ip6_nxt ip6_ctlun.ip6_un1.ip6_un1_nxt #define ip6_hlim ip6_ctlun.ip6_un1.ip6_un1_hlim #define ip6_hops ip6_ctlun.ip6_un1.ip6_un1_hlim .Ed .Pp All fields are in network-byte order. Any options specified (see .Sx Options below) must also be specified in network-byte order. .Pp .Va ip6_flow specifies the flow ID. .Va ip6_plen specifies the payload length. .Va ip6_nxt specifies the type of the next header. .Va ip6_hlim specifies the hop limit. .Pp The top 4 bits of .Va ip6_vfc specify the class and the bottom 4 bits specify the version. .Pp .Va ip6_src and .Va ip6_dst specify the source and destination addresses. .Pp The IPv6 header may be followed by any number of extension headers that start with the following generic definition: .Bd -literal -offset indent struct ip6_ext { uint8_t ip6e_nxt; uint8_t ip6e_len; } __packed; .Ed .Ss Options IPv6 allows header options on packets to manipulate the behavior of the protocol. These options and other control requests are accessed with the .Xr getsockopt 2 and .Xr setsockopt 2 system calls at level .Dv IPPROTO_IPV6 and by using ancillary data in .Xr recvmsg 2 and .Xr sendmsg 2 . They can be used to access most of the fields in the IPv6 header and extension headers. .Pp The following socket options are supported: .Bl -tag -width Ds .\" .It Dv IPV6_OPTIONS .It Dv IPV6_UNICAST_HOPS Fa "int *" Get or set the default hop limit header field for outgoing unicast datagrams sent on this socket. .\" .It Dv IPV6_RECVOPTS Fa "int *" .\" Get or set the status of whether all header options will be .\" delivered along with the datagram when it is received. .\" .It Dv IPV6_RECVRETOPTS Fa "int *" .\" Get or set the status of whether header options will be delivered .\" for reply. .\" .It Dv IPV6_RECVDSTADDR Fa "int *" .\" Get or set the status of whether datagrams are received with .\" destination addresses. .\" .It Dv IPV6_RETOPTS .\" Get or set IPv6 options. .It Dv IPV6_MULTICAST_IF Fa "u_int *" Get or set the interface from which multicast packets will be sent. For hosts with multiple interfaces, each multicast transmission is sent from the primary network interface. The interface is specified as its index as provided by .Xr if_nametoindex 3 . A value of zero specifies the default interface. .It Dv IPV6_MULTICAST_HOPS Fa "int *" Get or set the default hop limit header field for outgoing multicast datagrams sent on this socket. This option controls the scope of multicast datagram transmissions. .Pp Datagrams with a hop limit of 1 are not forwarded beyond the local network. Multicast datagrams with a hop limit of zero will not be transmitted on any network but may be delivered locally if the sending host belongs to the destination group and if multicast loopback (see below) has not been disabled on the sending socket. Multicast datagrams with a hop limit greater than 1 may be forwarded to the other networks if a multicast router (such as .Xr mrouted 8 Pq Pa ports/net/mrouted ) is attached to the local network. .It Dv IPV6_MULTICAST_LOOP Fa "u_int *" Get or set the status of whether multicast datagrams will be looped back for local delivery when a multicast datagram is sent to a group to which the sending host belongs. .Pp This option improves performance for applications that may have no more than one instance on a single host (such as a router daemon) by eliminating the overhead of receiving their own transmissions. It should generally not be used by applications for which there may be more than one instance on a single host (such as a conferencing program) or for which the sender does not belong to the destination group (such as a time-querying program). .Pp A multicast datagram sent with an initial hop limit greater than 1 may be delivered to the sending host on a different interface from that on which it was sent if the host belongs to the destination group on that other interface. The multicast loopback control option has no effect on such delivery. .It Dv IPV6_JOIN_GROUP Fa "struct ipv6_mreq *" Join a multicast group. A host must become a member of a multicast group before it can receive datagrams sent to the group. .Bd -literal struct ipv6_mreq { struct in6_addr ipv6mr_multiaddr; unsigned int ipv6mr_interface; }; .Ed .Pp .Va ipv6mr_interface may be set to zeroes to choose the default multicast interface or to the index of a particular multicast-capable interface if the host is multihomed. Membership is associated with a single interface; programs running on multihomed hosts may need to join the same group on more than one interface. .Pp If the multicast address is unspecified (i.e., all zeroes), messages from all multicast addresses will be accepted by this group. Note that setting to this value requires superuser privileges. .It Dv IPV6_LEAVE_GROUP Fa "struct ipv6_mreq *" Drop membership from the associated multicast group. Memberships are automatically dropped when the socket is closed or when the process exits. .It Dv IPV6_PORTRANGE Fa "int *" Get or set the allocation policy of ephemeral ports for when the kernel automatically binds a local address to this socket. The following values are available: .Pp .Bl -tag -width IPV6_PORTRANGE_DEFAULT -compact .It Dv IPV6_PORTRANGE_DEFAULT Use the regular range of non-reserved ports (varies, see .Xr ip 4 ) . .It Dv IPV6_PORTRANGE_HIGH Use a high range (varies, see .Xr ip 4 ) . .It Dv IPV6_PORTRANGE_LOW Use a low, reserved range (600\-1023, see .Xr ip 4 ) . .El .It Dv IPV6_PKTINFO Fa "int *" Get or set whether additional information about subsequent packets will be provided as ancillary data along with the payload in subsequent .Xr recvmsg 2 calls. The information is stored in the following structure in the ancillary data returned: .Bd -literal struct in6_pktinfo { struct in6_addr ipi6_addr; /* src/dst IPv6 address */ unsigned int ipi6_ifindex; /* send/recv if index */ }; .Ed .It Dv IPV6_HOPLIMIT Fa "int *" Get or set whether the hop limit header field from subsequent packets will be provided as ancillary data along with the payload in subsequent .Xr recvmsg 2 calls. The value is stored as an .Vt int in the ancillary data returned. .\" .It Dv IPV6_NEXTHOP Fa "int *" .\" Get or set whether the address of the next hop for subsequent .\" packets will be provided as ancillary data along with the payload in .\" subsequent .\" .Xr recvmsg 2 .\" calls. .\" The option is stored as a .\" .Vt sockaddr .\" structure in the ancillary data returned. .\" .Pp .\" This option requires superuser privileges. .It Dv IPV6_HOPOPTS Fa "int *" Get or set whether the hop-by-hop options from subsequent packets will be provided as ancillary data along with the payload in subsequent .Xr recvmsg 2 calls. The option is stored in the following structure in the ancillary data returned: .Bd -literal struct ip6_hbh { uint8_t ip6h_nxt; /* next header */ uint8_t ip6h_len; /* length in units of 8 octets */ /* followed by options */ } __packed; .Ed .Pp The .Fn inet6_option_space routine and family of routines may be used to manipulate this data. .Pp This option requires superuser privileges. .It Dv IPV6_DSTOPTS Fa "int *" Get or set whether the destination options from subsequent packets will be provided as ancillary data along with the payload in subsequent .Xr recvmsg 2 calls. The option is stored in the following structure in the ancillary data returned: .Bd -literal struct ip6_dest { uint8_t ip6d_nxt; /* next header */ uint8_t ip6d_len; /* length in units of 8 octets */ /* followed by options */ } __packed; .Ed .Pp The .Fn inet6_option_space routine and family of routines may be used to manipulate this data. .Pp This option requires superuser privileges. .It Dv IPV6_TCLASS Fa "int *" Get or set the value of the traffic class field used for outgoing datagrams on this socket. The value must be between \-1 and 255. A value of \-1 resets to the default value. .It Dv IPV6_RECVTCLASS Fa "int *" Get or set the status of whether the traffic class header field will be provided as ancillary data along with the payload in subsequent .Xr recvmsg 2 calls. The header field is stored as a single value of type .Vt int . .It Dv IPV6_RTHDR Fa "int *" Get or set whether the routing header from subsequent packets will be provided as ancillary data along with the payload in subsequent .Xr recvmsg 2 calls. The header is stored in the following structure in the ancillary data returned: .Bd -literal struct ip6_rthdr { uint8_t ip6r_nxt; /* next header */ uint8_t ip6r_len; /* length in units of 8 octets */ uint8_t ip6r_type; /* routing type */ uint8_t ip6r_segleft; /* segments left */ /* followed by routing-type-specific data */ } __packed; .Ed .Pp The .Fn inet6_option_space routine and family of routines may be used to manipulate this data. .Pp This option requires superuser privileges. .It Dv IPV6_PKTOPTIONS Fa "struct cmsghdr *" Get or set all header options and extension headers at one time on the last packet sent or received on the socket. All options must fit within the size of an mbuf (see .Xr mbuf 9 ) . Options are specified as a series of .Vt cmsghdr structures followed by corresponding values. .Va cmsg_level is set to .Dv IPPROTO_IPV6 , .Va cmsg_type to one of the other values in this list, and trailing data to the option value. When setting options, if the length .Va optlen to .Xr setsockopt 2 is zero, all header options will be reset to their default values. Otherwise, the length should specify the size the series of control messages consumes. .Pp Instead of using .Xr sendmsg 2 to specify option values, the ancillary data used in these calls that correspond to the desired header options may be directly specified as the control message in the series of control messages provided as the argument to .Xr setsockopt 2 . .It Dv IPV6_CHECKSUM Fa "int *" Get or set the byte offset into a packet where the 16-bit checksum is located. When set, this byte offset is where incoming packets will be expected to have checksums of their data stored and where outgoing packets will have checksums of their data computed and stored by the kernel. A value of \-1 specifies that no checksums will be checked on incoming packets and that no checksums will be computed or stored on outgoing packets. The offset of the checksum for ICMPv6 sockets cannot be relocated or turned off. .It Dv IPV6_V6ONLY Fa "int *" Get or set whether only IPv6 connections can be made to this socket. For wildcard sockets, this can restrict connections to IPv6 only. .\"With .\".Ox .\"IPv6 sockets are always IPv6-only, so the socket option is read-only .\"(not modifiable). .It Dv IPV6_USE_MIN_MTU Fa "int *" Get or set whether the minimal IPv6 maximum transmission unit (MTU) size will be used to avoid fragmentation from occurring for subsequent outgoing datagrams. .It Dv IPV6_AUTH_LEVEL Fa "int *" Get or set the .Xr ipsec 4 authentication level. .It Dv IPV6_ESP_TRANS_LEVEL Fa "int *" Get or set the ESP transport level. .It Dv IPV6_ESP_NETWORK_LEVEL Fa "int *" Get or set the ESP encapsulation level. .It Dv IPV6_IPCOMP_LEVEL Fa "int *" Get or set the .Xr ipcomp 4 level. .El .Pp The .Dv IPV6_PKTINFO , .\" .Dv IPV6_NEXTHOP , .Dv IPV6_HOPLIMIT , .Dv IPV6_HOPOPTS , .Dv IPV6_DSTOPTS , and .Dv IPV6_RTHDR options will return ancillary data along with payload contents in subsequent .Xr recvmsg 2 calls with .Va cmsg_level set to .Dv IPPROTO_IPV6 and .Va cmsg_type set to respective option name value (e.g., .Dv IPV6_HOPTLIMIT ) . These options may also be used directly as ancillary .Va cmsg_type values in .Xr sendmsg 2 to set options on the packet being transmitted by the call. The .Va cmsg_level value must be .Dv IPPROTO_IPV6 . For these options, the ancillary data object value format is the same as the value returned as explained for each when received with .Xr recvmsg 2 . .Pp Note that using .Xr sendmsg 2 to specify options on particular packets works only on UDP and raw sockets. To manipulate header options for packets on TCP sockets, only the socket options may be used. .Pp In some cases, there are multiple APIs defined for manipulating an IPv6 header field. A good example is the outgoing interface for multicast datagrams, which can be set by the .Dv IPV6_MULTICAST_IF socket option, through the .Dv IPV6_PKTINFO option, and through the .Va sin6_scope_id field of the socket address passed to the .Xr sendto 2 system call. .Pp Resolving these conflicts is implementation dependent. This implementation determines the value in the following way: options specified by using ancillary data (i.e., .Xr sendmsg 2 ) are considered first, options specified by using .Dv IPV6_PKTOPTIONS to set .Dq sticky options are considered second, options specified by using the individual, basic, and direct socket options (e.g., .Dv IPV6_UNICAST_HOPS ) are considered third, and options specified in the socket address supplied to .Xr sendto 2 are the last choice. .Ss Multicasting IPv6 multicasting is supported only on .Dv AF_INET6 sockets of type .Dv SOCK_DGRAM and .Dv SOCK_RAW , and only on networks where the interface driver supports multicasting. Socket options (see above) that manipulate membership of multicast groups and other multicast options include .Dv IPV6_MULTICAST_IF , .Dv IPV6_MULTICAST_HOPS , .Dv IPV6_MULTICAST_LOOP , .Dv IPV6_LEAVE_GROUP , and .Dv IPV6_JOIN_GROUP . .Ss Raw Sockets Raw IPv6 sockets are connectionless and are normally used with the .Xr sendto 2 and .Xr recvfrom 2 calls, although the .Xr connect 2 call may be used to fix the destination address for future outgoing packets so that .Xr send 2 may instead be used and the .Xr bind 2 call may be used to fix the source address for future outgoing packets instead of having the kernel choose a source address. .Pp By using .Xr connect 2 or .Xr bind 2 , raw socket input is constrained to only packets with their source address matching the socket destination address if .Xr connect 2 was used and to packets with their destination address matching the socket source address if .Xr bind 2 was used. .Pp If the .Ar proto argument to .Xr socket 2 is zero, the default protocol .Pq Dv IPPROTO_RAW is used for outgoing packets. For incoming packets, protocols recognized by kernel are .Sy not passed to the application socket (e.g., .Xr tcp 4 and .Xr udp 4 ) except for some ICMPv6 messages. The ICMPv6 messages not passed to raw sockets include echo, timestamp, and address mask requests. If .Ar proto is non-zero, only packets with this protocol will be passed to the socket. .Pp IPv6 fragments are also not passed to application sockets until they have been reassembled. If reception of all packets is desired, link-level access (such as .Xr bpf 4 ) must be used instead. .Pp Outgoing packets automatically have an IPv6 header prepended to them (based on the destination address and the protocol number the socket was created with). Incoming packets are received by an application without the IPv6 header or any extension headers. .Pp Outgoing packets will be fragmented automatically by the kernel if they are too large. Incoming packets will be reassembled before being sent to the raw socket, so packet fragments or fragment headers will never be seen on a raw socket. .Sh EXAMPLES The following determines the hop limit on the next packet received: .Bd -literal struct iovec iov[2]; u_char buf[BUFSIZ]; struct cmsghdr *cm; struct msghdr m; int optval; bool found; u_char data[2048]; /* Create socket. */ (void)memset(&m, 0, sizeof(m)); (void)memset(&iov, 0, sizeof(iov)); iov[0].iov_base = data; /* buffer for packet payload */ iov[0].iov_len = sizeof(data); /* expected packet length */ m.msg_name = &from; /* sockaddr_in6 of peer */ m.msg_namelen = sizeof(from); m.msg_iov = iov; m.msg_iovlen = 1; m.msg_control = (caddr_t)buf; /* buffer for control messages */ m.msg_controllen = sizeof(buf); /* * Enable the hop limit value from received packets to be * returned along with the payload. */ optval = 1; if (setsockopt(s, IPPROTO_IPV6, IPV6_HOPLIMIT, &optval, sizeof(optval)) == -1) err(1, "setsockopt"); found = false; do { if (recvmsg(s, &m, 0) == -1) err(1, "recvmsg"); for (cm = CMSG_FIRSTHDR(&m); cm != NULL; cm = CMSG_NXTHDR(&m, cm)) { if (cm->cmsg_level == IPPROTO_IPV6 && cm->cmsg_type == IPV6_HOPLIMIT && cm->cmsg_len == CMSG_LEN(sizeof(int))) { found = true; (void)printf("hop limit: %d\en", *(int *)CMSG_DATA(cm)); break; } } } while (!found); .Ed .Sh DIAGNOSTICS A socket operation may fail with one of the following errors returned: .Bl -tag -width EADDRNOTAVAILxx .It Bq Er EISCONN when trying to establish a connection on a socket which already has one or when trying to send a datagram with the destination address specified and the socket is already connected. .It Bq Er ENOTCONN when trying to send a datagram, but no destination address is specified, and the socket has not been connected. .It Bq Er ENOBUFS when the system runs out of memory for an internal data structure. .It Bq Er EADDRNOTAVAIL when an attempt is made to create a socket with a network address for which no network interface exists. .It Bq Er EACCES when an attempt is made to create a raw IPv6 socket by a non-privileged process. .El .Pp The following errors specific to IPv6 may occur when setting or getting header options: .Bl -tag -width EADDRNOTAVAILxx .It Bq Er EINVAL An unknown socket option name was given. .It Bq Er EINVAL An ancillary data object was improperly formed. .El .Sh SEE ALSO .Xr getsockopt 2 , .Xr recv 2 , .Xr send 2 , .Xr setsockopt 2 , .Xr socket 2 , .\" .Xr inet6_option_space 3 , .\" .Xr inet6_rthdr_space 3 , .Xr if_nametoindex 3 , .Xr bpf 4 , .Xr icmp6 4 , -.Xr ip 4 , .Xr inet6 4 , +.Xr ip 4 , .Xr netintro 4 , .Xr tcp 4 , .Xr udp 4 .Rs .%A W. Stevens .%A M. Thomas .%T Advanced Sockets API for IPv6 .%R RFC 2292 .%D February 1998 .Re .Rs .%A S. Deering .%A R. Hinden .%T Internet Protocol, Version 6 (IPv6) Specification .%R RFC 2460 .%D December 1998 .Re .Rs .%A R. Gilligan .%A S. Thomson .%A J. Bound .%A W. Stevens .%T Basic Socket Interface Extensions for IPv6 .%R RFC 2553 .%D March 1999 .Re .Rs .%A W. Stevens .%A B. Fenner .%A A. Rudoff .%T UNIX Network Programming, third edition .Re .Sh STANDARDS Most of the socket options are defined in RFC 2292 or RFC 2553. The .Dv IPV6_V6ONLY socket option is defined in RFC 3493 Section 5.3. The .Dv IPV6_PORTRANGE socket option and the conflict resolution rule are not defined in the RFCs and should be considered implementation dependent. Index: head/share/man/man4/ips.4 =================================================================== --- head/share/man/man4/ips.4 (revision 276258) +++ head/share/man/man4/ips.4 (revision 276259) @@ -1,204 +1,204 @@ .\" .\" Copyright (c) 2003 Tom Rhodes .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd August 7, 2009 .Dt IPS 4 .Os .Sh NAME .Nm ips .Nd IBM/Adaptec ServeRAID controller driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your kernel configuration file: .Bd -ragged -offset indent .Cd "device pci" .Cd "device scbus" .Cd "device ips" .Ed .Pp Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent ips_load="YES" .Ed .Sh DESCRIPTION The .Nm driver claims to support the .Tn IBM (now Adaptec) ServeRAID series .Tn SCSI controller cards. .Pp These cards come with a built in configuration utility stored in the firmware known as the .Tn ISPR . This utility is accessed with the .Aq Em Ctrl+I key combination during the initial card .Tn POST . .Pp It is highly recommended that this utility be used to configure the card before attempting to diagnose the below error messages. .Pp In some cases, the .Nm driver can have difficulties attaching during the system initialization period. To avoid these difficulties, set the .Va hw.ips.0.disable tunable to 1. It will prevent the driver from attaching. .Sh HARDWARE Controllers supported by the .Nm driver include: .Pp .Bl -bullet -compact .It IBM ServeRAID 3H .It ServeRAID 4L/4M/4H .It ServeRAID Series 5 .It ServeRAID 6i/6M .It ServeRAID 7t/7k/7M .El .Pp Newer ServeRAID controllers are supported by the .Xr aac 4 or .Xr mfi 4 driver. .Sh DIAGNOSTICS Several error codes may be shown when the card initializes the .Tn IBM .Tn ISPR utility and are independent of .Fx . .Bl -diag .It ips%d: failed to get adapter configuration data from device .It ips%d: failed to get drive configuration data from device .Pp Unable to obtain adapter or drive configuration. .It ips%d iobuf error .Pp A buffer input/output error has occurred. .Bq Er ENXIO .El .Ss General adapter errors: .Bl -diag .It Attaching bus failed .Pp This message is undocumented. .It WARNING: command timeout. Adapter is in toaster mode, resetting .Pp A command timeout has caused the adapter to be reset. .It AIEE! adapter reset failed, giving up and going home! Have a nice day .Pp An error occurred while attempting to reset the adapter. .It unable to get adapter configuration .It unable to get drive configuration .Pp There was an error when attempting to get configuration information. .It Adapter error during initialization. .It adapter initialization failed .Pp There was an error while attempting to initialize the adapter. .It adapter failed config check .It adapter clear failed .Pp There was an error while checking the adapter. .It device is disabled .Pp The adapter is disabled. .It resource allocation failed .It irq allocation failed .It irq setup failed .Pp The driver was unable to allocate resources for the device. .El .Ss Error messages due to DMA: .Bl -diag .It can't alloc command dma tag .It can't alloc SG dma tag .It can't alloc dma tag for statue queue .It dmamap failed .Pp Failure to map or allocate DMA resources. .El .Ss Cache, buffer, and command errors: .Bl -diag .It failed to initialize command buffers .It no mem for command slots! .Pp The .Nm driver will return .Bq Er ENOMEM in such cases. .It ERROR: unable to get a command! can't flush cache! .It ERROR: cache flush command failed! .It ERROR: unable to get a command! can't update nvram .It ERROR: nvram update command failed! .It ERROR: unable to get a command! can't sync cache! .It ERROR: cache sync command failed! .It ERROR: unable to get a command! can't sync cache! .It ERROR: etable command failed! .El .Sh COMPATIBILITY Unlike many of the other .Tn SCSI devices in .Fx , the .Nm driver does not use the .Xr cam 4 .Tn SCSI subsystem. .Sh SEE ALSO .Xr aac 4 , -.Xr mfi 4 , .Xr ch 4 , .Xr da 4 , +.Xr mfi 4 , .Xr sysctl 8 .Sh AUTHORS The .Nm driver was written by .An -nosplit .An David Jefferys and .An Scott Long Aq Mt scottl@FreeBSD.org . .Pp This manual page was written by .An Tom Rhodes Aq Mt trhodes@FreeBSD.org . Index: head/share/man/man4/lagg.4 =================================================================== --- head/share/man/man4/lagg.4 (revision 276258) +++ head/share/man/man4/lagg.4 (revision 276259) @@ -1,202 +1,202 @@ .\" $OpenBSD: trunk.4,v 1.18 2006/06/09 13:53:34 jmc Exp $ .\" .\" Copyright (c) 2005, 2006 Reyk Floeter .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies. .\" .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" .\" $FreeBSD$ .\" .Dd October 1, 2014 .Dt LAGG 4 .Os .Sh NAME .Nm lagg .Nd link aggregation and link failover interface .Sh SYNOPSIS To compile this driver into the kernel, place the following line in your kernel configuration file: .Bd -ragged -offset indent .Cd "device lagg" .Ed .Pp Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent if_lagg_load="YES" .Ed .Sh DESCRIPTION The .Nm interface allows aggregation of multiple network interfaces as one virtual .Nm interface for the purpose of providing fault-tolerance and high-speed links. .Pp A .Nm interface can be created using the .Ic ifconfig lagg Ns Ar N Ic create command. It can use different link aggregation protocols specified using the .Ic laggproto Ar proto option. Child interfaces can be added using the .Ic laggport Ar child-iface option and removed using the .Ic -laggport Ar child-iface option. .Pp The driver currently supports the aggregation protocols .Ic failover (the default), .Ic lacp , .Ic loadbalance , .Ic roundrobin , .Ic broadcast , and .Ic none . The protocols determine which ports are used for outgoing traffic and whether a specific port accepts incoming traffic. The interface link state is used to validate if the port is active or not. .Bl -tag -width loadbalance .It Ic failover Sends traffic only through the active port. If the master port becomes unavailable, the next active port is used. The first interface added is the master port; any interfaces added after that are used as failover devices. .Pp By default, received traffic is only accepted when they are received through the active port. This constraint can be relaxed by setting the .Va net.link.lagg.failover_rx_all .Xr sysctl 8 variable to a nonzero value, which is useful for certain bridged network setups. .Ic loadbalance mode. .It Ic lacp Supports the IEEE 802.1AX (formerly 802.3ad) Link Aggregation Control Protocol (LACP) and the Marker Protocol. LACP will negotiate a set of aggregable links with the peer in to one or more Link Aggregated Groups. Each LAG is composed of ports of the same speed, set to full-duplex operation. The traffic will be balanced across the ports in the LAG with the greatest total speed, in most cases there will only be one LAG which contains all ports. In the event of changes in physical connectivity, Link Aggregation will quickly converge to a new configuration. .It Ic loadbalance Balances outgoing traffic across the active ports based on hashed protocol header information and accepts incoming traffic from any active port. This is a static setup and does not negotiate aggregation with the peer or exchange frames to monitor the link. The hash includes the Ethernet source and destination address, and, if available, the VLAN tag, and the IP source and destination address. .It Ic roundrobin Distributes outgoing traffic using a round-robin scheduler through all active ports and accepts incoming traffic from any active port. .It Ic broadcast Sends frames to all ports of the LAG and receives frames on any port of the LAG. .It Ic none This protocol is intended to do nothing: it disables any traffic without disabling the .Nm interface itself. .El .Pp Each .Nm interface is created at runtime using interface cloning. This is most easily done with the .Xr ifconfig 8 .Cm create command or using the .Va cloned_interfaces variable in .Xr rc.conf 5 . .Pp The MTU of the first interface to be added is used as the lagg MTU. All additional interfaces are required to have exactly the same value. .Pp The .Ic loadbalance and .Ic lacp modes will use the RSS hash from the network card if available to avoid computing one, this may give poor traffic distribution if the hash is invalid or uses less of the protocol header information. Local hash computation can be forced per interface by setting the .Cm use_flowid .Xr ifconfig 8 flag. The default for new interfaces is set via the .Va net.link.lagg.default_use_flowid .Xr sysctl 8 . .Sh EXAMPLES Create a link aggregation using LACP with two .Xr bge 4 Gigabit Ethernet interfaces: .Bd -literal -offset indent # ifconfig bge0 up # ifconfig bge1 up # ifconfig lagg0 laggproto lacp laggport bge0 laggport bge1 \e 192.168.1.1 netmask 255.255.255.0 .Ed .Pp The following example uses an active failover interface to set up roaming between wired and wireless networks using two network devices. Whenever the wired master interface is unplugged, the wireless failover device will be used: .Bd -literal -offset indent # ifconfig em0 up # ifconfig ath0 ether 00:11:22:33:44:55 # ifconfig create wlan0 wlandev ath0 ssid my_net up # ifconfig lagg0 laggproto failover laggport em0 laggport wlan0 \e 192.168.1.1 netmask 255.255.255.0 .Ed .Pp (Note the mac address of the wireless device is forced to match the wired device as a workaround.) .Sh SEE ALSO .Xr ng_one2many 4 , -.Xr sysctl 8 , -.Xr ifconfig 8 +.Xr ifconfig 8 , +.Xr sysctl 8 .Sh HISTORY The .Nm device first appeared in .Fx 6.3 . .Sh AUTHORS .An -nosplit The .Nm driver was written under the name .Nm trunk by .An Reyk Floeter Aq Mt reyk@openbsd.org . The LACP implementation was written by .An YAMAMOTO Takashi for .Nx . .Sh BUGS There is no way to configure LACP administrative variables, including system and port priorities. The current implementation always performs active-mode LACP and uses 0x8000 as system and port priorities. Index: head/share/man/man4/man4.powerpc/smu.4 =================================================================== --- head/share/man/man4/man4.powerpc/smu.4 (revision 276258) +++ head/share/man/man4/man4.powerpc/smu.4 (revision 276259) @@ -1,124 +1,124 @@ .\"- .\" Copyright (c) 2010 Nathan Whitehorn .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE .\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, .\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES .\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR .\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd February 22, 2010 .Dt SMU 4 .Os .Sh NAME .Nm smu .Nd Apple System Management Unit Driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your kernel configuration file: .Bd -ragged -offset indent .Cd "device smu" .Ed .Sh DESCRIPTION The .Nm driver provides support for the System Management Unit (SMU) found in many Apple G5 systems. This includes most Power Macintosh G5 and all iMac G5 systems. .Pp The Apple SMU controller provides software power management and thermal control functionality, and is responsible for managing system cooling devices. .Sh HARDWARE Chips supported by the .Nm driver include: .Pp .Bl -bullet -compact .It Apple System Management Unit .El .Sh THERMAL MANAGEMENT The .Nm driver provides basic automatic thermal management. Without a userspace daemon providing more advanced control, the driver will attempt to maintain system temperatures in a conservative range through coarse-grained control of system cooling devices (see below). Automatic kernel-level thermal control will take over if more than 3 seconds elapses between userspace cooling setting adjustments. .Sh SYSCTL VARIABLES The .Nm driver provides power management services and thermal readout through a sysctl interface. The following sysctls can be used to control the power management behavior and to examine current system power and thermal conditions. .Bl -tag -width indent .It Va dev.smu.%d.server_mode Restart after power failure behavior (1 causes system to reboot after power cut, 0 causes system to remain off). .It Va dev.smu.%d.target_temp Target system temperature, in degrees Celsius. The .Nm driver will attempt to adjust fans to maintain the temperature of the warmest component in the system at or below this level. .It Va dev.smu.%d.critical_temp System critical temperature, in degrees Celsius. If any component in the system exceeds this temperature, the machine will be shut down within 500 ms. .It Va dev.smu.%d.fans.%s.minrpm Minimum allowed speed for this fan. .It Va dev.smu.%d.fans.%s.maxrpm Maximum allowed speed for this fan. .It Va dev.smu.%d.fans.%s.rpm Current speed for this fan. The fan speed can be adjusted by changing this sysctl. If more than 3 seconds elapses between fan speed adjustments, the kernel will resume automatic control of the fan. .It Va dev.smu.%d.sensors.%s Current reading from this sensor. Four sensor types are supported. Temperature sensors are in units of degrees Celsius, current sensors in milliamps, voltage sensors in millivolts, and power sensors in milliwatts. .El .Sh LED INTERFACE The .Nm driver provides an .Xr led 4 annunciator interface at .Pa /dev/led/sleepled . .Sh SEE ALSO .Xr acpi 4 , -.Xr pmu 4 , -.Xr led 4 +.Xr led 4 , +.Xr pmu 4 .Sh HISTORY The .Nm device driver appeared in .Fx 8.0 . .Sh AUTHORS .An -nosplit The .Nm driver was written by .An Nathan Whitehorn Aq Mt nwhitehorn@FreeBSD.org . Index: head/share/man/man4/mmc.4 =================================================================== --- head/share/man/man4/mmc.4 (revision 276258) +++ head/share/man/man4/mmc.4 (revision 276259) @@ -1,60 +1,60 @@ .\" .\" Copyright (c) 2007 M. Warner Losh .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd October 8, 2008 .Dt MMC 4 .Os .Sh NAME .Nm mmc .Nd MultiMediaCard and SD Card bus driver .Sh SYNOPSIS .Cd device mmc .Sh DESCRIPTION The .Nm driver implements the MMC and SD Card bus. The .Nm driver supports all MMC and SD bridges in the system. All SD or MMC cards in the system attach to an instance of .Nm . The .Nm bus typically has only one slot, and only memory cards. MultiMediaCards exist only in memory. SD Cards exist as memory, I/O, or combination cards. .Sh SEE ALSO -.Xr mmcsd 4 , .Xr at91_mci 4 , +.Xr mmcsd 4 , .Xr sdhci 4 .Rs .%T "SD Specifications, Part 1, Physical Layer, Simplified Specification" .Re .Rs .%T "The MultiMediaCard System Specification" .Re .Sh BUGS SDIO cards currently do not work. Index: head/share/man/man4/mmcsd.4 =================================================================== --- head/share/man/man4/mmcsd.4 (revision 276258) +++ head/share/man/man4/mmcsd.4 (revision 276259) @@ -1,48 +1,48 @@ .\" .\" Copyright (c) 2007 M. Warner Losh .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd October 22, 2008 .Dt MMCSD 4 .Os .Sh NAME .Nm mmcsd .Nd MMC and SD memory card driver. .Sh SYNOPSIS .Cd device mmcsd .Sh DESCRIPTION The .Nm driver implements direct access block device for MMC and SD memory cards. .Sh SEE ALSO -.Xr mmc 4 , .Xr at91_mci 4 , +.Xr mmc 4 , .Xr sdhci 4 .Rs .%T "SD Specifications, Part 1, Physical Layer, Simplified Specification" .Re .Rs .%T "The MultiMediaCard System Specification" .Re Index: head/share/man/man4/mpt.4 =================================================================== --- head/share/man/man4/mpt.4 (revision 276258) +++ head/share/man/man4/mpt.4 (revision 276259) @@ -1,186 +1,186 @@ .\" $NetBSD: mpt.4,v 1.1 2003/04/16 22:32:15 thorpej Exp $ .\" .\" Copyright (c) 2003 Wasabi Systems, Inc. .\" All rights reserved. .\" .\" Written by Jason R. Thorpe for Wasabi Systems, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed for the NetBSD Project by .\" Wasabi Systems, Inc. .\" 4. The name of Wasabi Systems, Inc. may not be used to endorse .\" or promote products derived from this software without specific prior .\" written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL WASABI SYSTEMS, INC .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd July 23, 2011 .Dt MPT 4 .Os .Sh NAME .Nm mpt .Nd LSI Fusion-MPT SCSI/Fibre Channel driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your kernel configuration file: .Bd -ragged -offset indent .Cd "device scbus" .Cd "device mpt" .Ed .Pp Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent mpt_load="YES" .Ed .Sh DESCRIPTION The .Nm driver provides support for the LSI Logic Fusion-MPT family of .Tn SCSI , .Tn Fibre Channel and .Tn SAS controllers. .Sh HARDWARE The following controllers are supported by the .Nm driver: .Pp .Bl -bullet -compact .It LSI Logic 53c1030, LSI Logic LSI2x320-X (Single and Dual Ultra320 .Tn SCSI ) .It LSI Logic AS1064, LSI Logic AS1068 .Pq Tn SAS/SATA .It LSI Logic FC909 (1Gb/s .Tn Fibre Channel ) .It LSI Logic FC909A (Dual 1Gb/s .Tn Fibre Channel ) .It LSI Logic FC919, LSI Logic 7102XP-LC (Single 2Gb/s .Tn Fibre Channel ) .It LSI Logic FC929, LSI Logic FC929X, LSI Logic 7202XP-LC (Dual 2Gb/s .Tn Fibre Channel ) .It LSI Logic FC949X (Dual 4Gb/s .Tn Fibre Channel ) .It LSI Logic FC949E, LSI Logic FC949ES (Dual 4Gb/s .Tn Fibre Channel PCI-Express) .El .Pp The .Tn Ultra 320 SCSI controller chips supported by the .Nm driver can be found onboard on many systems including: .Pp .Bl -bullet -compact .It Dell PowerEdge 1750 thru 2850 .It IBM eServer xSeries 335 .El .Pp These systems also contain Integrated RAID Mirroring and Integrated RAID Mirroring Enhanced which this driver also supports. .Pp The .Tn SAS controller chips are also present on many new AMD/Opteron based systems, like the Sun 4100. Note that this controller can drive both SAS and SATA drives or a mix of them at the same time. The Integrated RAID Mirroring available for these controllers is poorly supported at best. .Pp The .Tn Fibre Channel controller chipset are supported by a broad variety of speeds and systems. The .Tn Apple Fibre Channel HBA is in fact the .Tn FC949ES card. .Pp This driver also supports target mode for Fibre Channel cards. This support may be enabled by setting the desired role of the core via the LSI Logic firmware utility that establishes what roles the card can take on - no separate compilation is required. .Sh SEE ALSO .Xr cd 4 , .Xr ch 4 , .Xr da 4 , .Xr mps 4 , .Xr pci 4 , .Xr sa 4 , .Xr scsi 4 , .Xr targ 4 , -.Xr mptutil 8 , -.Xr gmultipath 8 +.Xr gmultipath 8 , +.Xr mptutil 8 .Rs .%T "LSI Logic Website" .%U http://www.lsi.com/ .Re .Sh HISTORY The .Nm driver first appeared in .Fx 4.6 . .Sh AUTHORS .An -nosplit The .Nm driver was originally written for .Fx by .An Greg Ansley and marginally improved upon by .An Matt Jacob Aq Mt mjacob@FreeBSD.org . .Pp .An Justin Gibbs Aq Mt gibbs@FreeBSD.org and .An Scott Long Aq Mt scottl@FreeBSD.org have made more substantial improvements. Index: head/share/man/man4/pflog.4 =================================================================== --- head/share/man/man4/pflog.4 (revision 276258) +++ head/share/man/man4/pflog.4 (revision 276259) @@ -1,107 +1,107 @@ .\" $OpenBSD: pflog.4,v 1.10 2007/05/31 19:19:51 jmc Exp $ .\" .\" Copyright (c) 2001 Tobias Weingartner .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd May 31, 2007 .Dt PFLOG 4 .Os .Sh NAME .Nm pflog .Nd packet filter logging interface .Sh SYNOPSIS .Cd "device pflog" .Sh DESCRIPTION The .Nm pflog interface is a device which makes visible all packets logged by the packet filter, .Xr pf 4 . Logged packets can easily be monitored in real time by invoking .Xr tcpdump 1 on the .Nm interface, or stored to disk using .Xr pflogd 8 . .Pp The pflog0 interface is created automatically at boot if both .Xr pf 4 and .Xr pflogd 8 are enabled; further instances can be created using .Xr ifconfig 8 . .Pp Each packet retrieved on this interface has a header associated with it of length .Dv PFLOG_HDRLEN . This header documents the address family, interface name, rule number, reason, action, and direction of the packet that was logged. This structure, defined in .Aq Pa net/if_pflog.h looks like .Bd -literal -offset indent struct pfloghdr { u_int8_t length; sa_family_t af; u_int8_t action; u_int8_t reason; char ifname[IFNAMSIZ]; char ruleset[PF_RULESET_NAME_SIZE]; u_int32_t rulenr; u_int32_t subrulenr; uid_t uid; pid_t pid; uid_t rule_uid; pid_t rule_pid; u_int8_t dir; u_int8_t pad[3]; }; .Ed .Sh EXAMPLES Create a .Nm interface and monitor all packets logged on it: .Bd -literal -offset indent # ifconfig pflog1 up # tcpdump -n -e -ttt -i pflog1 .Ed .Sh SEE ALSO +.Xr tcpdump 1 , .Xr inet 4 , .Xr inet6 4 , .Xr netintro 4 , .Xr pf 4 , .Xr ifconfig 8 , -.Xr pflogd 8 , -.Xr tcpdump 1 +.Xr pflogd 8 .Sh HISTORY The .Nm device first appeared in .Ox 3.0 . .\" .Sh BUGS .\" Anything here? Index: head/share/man/man4/pfsync.4 =================================================================== --- head/share/man/man4/pfsync.4 (revision 276258) +++ head/share/man/man4/pfsync.4 (revision 276259) @@ -1,229 +1,229 @@ .\" $OpenBSD: pfsync.4,v 1.28 2009/02/17 10:05:18 dlg Exp $ .\" .\" Copyright (c) 2002 Michael Shalayeff .\" Copyright (c) 2003-2004 Ryan McBride .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF MIND, .\" USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd December 20, 2011 .Dt PFSYNC 4 .Os .Sh NAME .Nm pfsync .Nd packet filter state table sychronisation interface .Sh SYNOPSIS .Cd "device pfsync" .Sh DESCRIPTION The .Nm interface is a pseudo-device which exposes certain changes to the state table used by .Xr pf 4 . State changes can be viewed by invoking .Xr tcpdump 1 on the .Nm interface. If configured with a physical synchronisation interface, .Nm will also send state changes out on that interface, and insert state changes received on that interface from other systems into the state table. .Pp By default, all local changes to the state table are exposed via .Nm . State changes from packets received by .Nm over the network are not rebroadcast. Updates to states created by a rule marked with the .Ar no-sync keyword are ignored by the .Nm interface (see .Xr pf.conf 5 for details). .Pp The .Nm interface will attempt to collapse multiple state updates into a single packet where possible. The maximum number of times a single state can be updated before a .Nm packet will be sent out is controlled by the .Ar maxupd parameter to ifconfig (see .Xr ifconfig 8 and the example below for more details). The sending out of a .Nm packet will be delayed by a maximum of one second. .Sh NETWORK SYNCHRONISATION States can be synchronised between two or more firewalls using this interface, by specifying a synchronisation interface using .Xr ifconfig 8 . For example, the following command sets fxp0 as the synchronisation interface: .Bd -literal -offset indent # ifconfig pfsync0 syncdev fxp0 .Ed .Pp By default, state change messages are sent out on the synchronisation interface using IP multicast packets to the 244.0.0.240 group address. An alternative destination address for .Nm packets can be specified using the .Ic syncpeer keyword. This can be used in combination with .Xr ipsec 4 to protect the synchronisation traffic. In such a configuration, the syncdev should be set to the .Xr enc 4 interface, as this is where the traffic arrives when it is decapsulated, e.g.: .Bd -literal -offset indent # ifconfig pfsync0 syncpeer 10.0.0.2 syncdev enc0 .Ed .Pp It is important that the pfsync traffic be well secured as there is no authentication on the protocol and it would be trivial to spoof packets which create states, bypassing the pf ruleset. Either run the pfsync protocol on a trusted network \- ideally a network dedicated to pfsync messages such as a crossover cable between two firewalls, or specify a peer address and protect the traffic with .Xr ipsec 4 . .Pp .Nm has the following .Xr sysctl 8 tunables: .Bl -tag -width ".Va net.pfsync" .It Va net.pfsync.carp_demotion_factor Value added to .Va net.inet.carp.demotion while .Nm tries to perform its bulk update. See .Xr carp 4 for more information. Default value is 240. .El .Sh EXAMPLES .Nm and .Xr carp 4 can be used together to provide automatic failover of a pair of firewalls configured in parallel. One firewall will handle all traffic until it dies, is shut down, or is manually demoted, at which point the second firewall will take over automatically. .Pp Both firewalls in this example have three .Xr sis 4 interfaces. sis0 is the external interface, on the 10.0.0.0/24 subnet; sis1 is the internal interface, on the 192.168.0.0/24 subnet; and sis2 is the .Nm interface, using the 192.168.254.0/24 subnet. A crossover cable connects the two firewalls via their sis2 interfaces. On all three interfaces, firewall A uses the .254 address, while firewall B uses .253. The interfaces are configured as follows (firewall A unless otherwise indicated): .Pp Interfaces configuration in .Pa /etc/rc.conf : .Bd -literal -offset indent network_interfaces="lo0 sis0 sis1 sis2" ifconfig_sis0="10.0.0.254/24" ifconfig_sis0_alias0="inet 10.0.0.1/24 vhid 1 pass foo" ifconfig_sis1="192.168.0.254/24" ifconfig_sis1_alias0="inet 192.168.0.1/24 vhid 2 pass bar" ifconfig_sis2="192.168.254.254/24" pfsync_enable="YES" pfsync_syncdev="sis2" .Ed .Pp .Xr pf 4 must also be configured to allow .Nm and .Xr carp 4 traffic through. The following should be added to the top of .Pa /etc/pf.conf : .Bd -literal -offset indent pass quick on { sis2 } proto pfsync keep state (no-sync) pass on { sis0 sis1 } proto carp keep state (no-sync) .Ed .Pp It is preferable that one firewall handle the forwarding of all the traffic, therefore the .Ar advskew on the backup firewall's .Xr carp 4 vhids should be set to something higher than the primary's. For example, if firewall B is the backup, its carp1 configuration would look like this: would look like this: .Bd -literal -offset indent ifconfig_sis1_alias0="inet 192.168.0.1/24 vhid 2 pass bar advskew 100" .Ed .Pp The following must also be added to .Pa /etc/sysctl.conf : .Bd -literal -offset indent net.inet.carp.preempt=1 .Ed .Sh SEE ALSO +.Xr tcpdump 1 , .Xr bpf 4 , .Xr carp 4 , .Xr enc 4 , .Xr inet 4 , .Xr inet6 4 , .Xr ipsec 4 , .Xr netintro 4 , .Xr pf 4 , .Xr pf.conf 5 , .Xr protocols 5 , .Xr rc.conf 5 , -.Xr ifconfig 8 , -.Xr tcpdump 1 +.Xr ifconfig 8 .Sh HISTORY The .Nm device first appeared in .Ox 3.3 . It was first imported to .Fx 5.3 . .Pp The .Nm protocol and kernel implementation were significantly modified in .Fx 9.0 . The newer protocol is not compatible with older one and will not interoperate with it. Index: head/share/man/man4/ral.4 =================================================================== --- head/share/man/man4/ral.4 (revision 276258) +++ head/share/man/man4/ral.4 (revision 276259) @@ -1,295 +1,295 @@ .\" Copyright (c) 2005-2010 Damien Bergamini .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies. .\" .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" .\" $FreeBSD$ .\" .Dd May 10, 2012 .Dt RAL 4 .Os .Sh NAME .Nm ral .Nd "Ralink Technology IEEE 802.11a/g/n wireless network device" .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your kernel configuration file: .Bd -ragged -offset indent .Cd "device ral" .Cd "device ralfw" .Cd "device wlan" .Cd "device wlan_amrr" .Cd "device firmware" .Ed .Pp Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent if_ral_load="YES" .Ed .Sh DESCRIPTION The .Nm driver supports PCI/PCIe/CardBus wireless adapters based on the Ralink RT2500, RT2501, RT2600, RT2700, RT2800 and RT3090 chipsets. .Pp The RT2500 chipset is the first generation of 802.11b/g adapters from Ralink. It consists of two integrated chips, an RT2560 MAC/BBP and an RT2525 radio transceiver. .Pp The RT2501 chipset is the second generation of 802.11a/b/g adapters from Ralink. It consists of two integrated chips, an RT2561 MAC/BBP and an RT2527 radio transceiver. This chipset provides support for the IEEE 802.11e standard with multiple hardware transmission queues and allows scatter/gather for efficient DMA operations. .Pp The RT2600 chipset consists of two integrated chips, an RT2661 MAC/BBP and an RT2529 radio transceiver. This chipset uses the MIMO (multiple-input multiple-output) technology with multiple radio transceivers to extend the operating range of the adapter and to achieve higher throughput. However, the RT2600 chipset does not support any of the 802.11n features. .Pp The RT2700 chipset is a low-cost version of the RT2800 chipset. It supports a single transmit path and two receiver paths (1T2R). It consists of two integrated chips, an RT2760 or RT2790 (PCIe) MAC/BBP and an RT2720 (2.4GHz) or RT2750 (2.4GHz/5GHz) radio transceiver. .Pp The RT2800 chipset is the first generation of 802.11n adapters from Ralink. It consists of two integrated chips, an RT2860 or RT2890 (PCIe) MAC/BBP and an RT2820 (2.4GHz) or RT2850 (2.4GHz/5GHz) radio transceiver. The RT2800 chipset supports two transmit paths and up to three receiver paths (2T2R/2T3R). It can achieve speeds up to 144Mbps (20MHz bandwidth) and 300Mbps (40MHz bandwidth.) .Pp The RT3090 chipset is the first generation of single-chip 802.11n adapters from Ralink. .Nm supports .Cm station , .Cm adhoc , .Cm hostap , .Cm mesh , .Cm wds , and .Cm monitor mode operation. Only one .Cm hostap or .Cm mesh virtual interface may be configured at a time. Any number of .Cm wds virtual interfaces may be configured together with a .Cm hostap interface. Multiple .Cm station interfaces may be operated together with a .Cm hostap interface to construct a wireless repeater device. .Pp The transmit speed is user-selectable or can be adapted automatically by the driver depending on the number of hardware transmission retries. For more information on configuring this device, see .Xr ifconfig 8 . .Sh HARDWARE The .Nm driver supports PCI/PCIe/CardBus wireless adapters based on Ralink Technology chipsets, including: .Pp .Bl -column -compact ".Li Atlantis Land A02-PCM-W54" "RT2561S" "CardBus" .It Em Card Ta Em MAC/BBP Ta Em Bus .It "A-Link WL54H" Ta RT2560 Ta PCI .It "A-Link WL54PC" Ta RT2560 Ta CardBus .It "AirLink101 AWLC5025" Ta RT2661 Ta CardBus .It "AirLink101 AWLH5025" Ta RT2661 Ta PCI .It "Amigo AWI-914W" Ta RT2560 Ta CardBus .It "Amigo AWI-922W" Ta RT2560 Ta mini-PCI .It "Amigo AWI-926W" Ta RT2560 Ta PCI .It "AMIT WL531C" Ta RT2560 Ta CardBus .It "AMIT WL531P" Ta RT2560 Ta PCI .It "AOpen AOI-831" Ta RT2560 Ta PCI .It "ASUS WL-107G" Ta RT2560 Ta CardBus .It "ASUS WL-130g" Ta RT2560 Ta PCI .It "Atlantis Land A02-PCI-W54" Ta RT2560 Ta PCI .It "Atlantis Land A02-PCM-W54" Ta RT2560 Ta CardBus .It "Belkin F5D7000 v3" Ta RT2560 Ta PCI .It "Belkin F5D7010 v2" Ta RT2560 Ta CardBus .It "Billionton MIWLGRL" Ta RT2560 Ta mini-PCI .It "Canyon CN-WF511" Ta RT2560 Ta PCI .It "Canyon CN-WF513" Ta RT2560 Ta CardBus .It "CC&C WL-2102" Ta RT2560 Ta CardBus .It "CNet CWC-854" Ta RT2560 Ta CardBus .It "CNet CWP-854" Ta RT2560 Ta PCI .It "Compex WL54G" Ta RT2560 Ta CardBus .It "Compex WLP54G" Ta RT2560 Ta PCI .It "Conceptronic C54RC" Ta RT2560 Ta CardBus .It "Conceptronic C54Ri" Ta RT2560 Ta PCI .It "Digitus DN-7001G-RA" Ta RT2560 Ta CardBus .It "Digitus DN-7006G-RA" Ta RT2560 Ta PCI .It "E-Tech WGPC02" Ta RT2560 Ta CardBus .It "E-Tech WGPI02" Ta RT2560 Ta PCI .It "Edimax EW-7108PCg" Ta RT2560 Ta CardBus .It "Edimax EW-7128g" Ta RT2560 Ta PCI .It "Eminent EM3036" Ta RT2560 Ta CardBus .It "Eminent EM3037" Ta RT2560 Ta PCI .It "Encore ENLWI-G-RLAM" Ta RT2560 Ta PCI .It "Encore ENPWI-G-RLAM" Ta RT2560 Ta CardBus .It "Fiberline WL-400P" Ta RT2560 Ta PCI .It "Fibreline WL-400X" Ta RT2560 Ta CardBus .It "Gigabyte GN-WI01GS" Ta RT2561S Ta mini-PCI .It "Gigabyte GN-WIKG" Ta RT2560 Ta mini-PCI .It "Gigabyte GN-WMKG" Ta RT2560 Ta CardBus .It "Gigabyte GN-WP01GS" Ta RT2561S Ta PCI .It "Gigabyte GN-WPKG" Ta RT2560 Ta PCI .It "Hawking HWC54GR" Ta RT2560 Ta CardBus .It "Hawking HWP54GR" Ta RT2560 Ta PCI .It "iNexQ CR054g-009 (R03)" Ta RT2560 Ta PCI .It "JAHT WN-4054P" Ta RT2560 Ta CardBus .It "JAHT WN-4054PCI" Ta RT2560 Ta PCI .It "LevelOne WNC-0301 v2" Ta RT2560 Ta PCI .It "LevelOne WPC-0301 v2" Ta RT2560 Ta CardBus .It "Linksys WMP54G v4" Ta RT2560 Ta PCI .It "Micronet SP906GK" Ta RT2560 Ta PCI .It "Micronet SP908GK V3" Ta RT2560 Ta CardBus .It "Minitar MN54GCB-R" Ta RT2560 Ta CardBus .It "Minitar MN54GPC-R" Ta RT2560 Ta PCI .It "MSI CB54G2" Ta RT2560 Ta CardBus .It "MSI MP54G2" Ta RT2560 Ta mini-PCI .It "MSI PC54G2" Ta RT2560 Ta PCI .It "OvisLink EVO-W54PCI" Ta RT2560 Ta PCI .It "PheeNet HWL-PCIG/RA" Ta RT2560 Ta PCI .It "Pro-Nets CB80211G" Ta RT2560 Ta CardBus .It "Pro-Nets PC80211G" Ta RT2560 Ta PCI .It "Repotec RP-WB7108" Ta RT2560 Ta CardBus .It "Repotec RP-WP0854" Ta RT2560 Ta PCI .It "SATech SN-54C" Ta RT2560 Ta CardBus .It "SATech SN-54P" Ta RT2560 Ta PCI .It "Sitecom WL-112" Ta RT2560 Ta CardBus .It "Sitecom WL-115" Ta RT2560 Ta PCI .It "SMC SMCWCB-GM" Ta RT2661 Ta CardBus .It "SMC SMCWPCI-GM" Ta RT2661 Ta PCI .It "SparkLAN WL-685R" Ta RT2560 Ta CardBus .It "Surecom EP-9321-g" Ta RT2560 Ta PCI .It "Surecom EP-9321-g1" Ta RT2560 Ta PCI .It "Surecom EP-9428-g" Ta RT2560 Ta CardBus .It "Sweex LC500050" Ta RT2560 Ta CardBus .It "Sweex LC700030" Ta RT2560 Ta PCI .It "TekComm NE-9321-g" Ta RT2560 Ta PCI .It "TekComm NE-9428-g" Ta RT2560 Ta CardBus .It "Unex CR054g-R02" Ta RT2560 Ta PCI .It "Unex MR054g-R02" Ta RT2560 Ta CardBus .It "Zinwell ZWX-G160" Ta RT2560 Ta CardBus .It "Zinwell ZWX-G360" Ta RT2560 Ta mini-PCI .It "Zinwell ZWX-G361" Ta RT2560 Ta PCI .It "Zonet ZEW1500" Ta RT2560 Ta CardBus .It "Zonet ZEW1600" Ta RT2560 Ta PCI .El .Sh EXAMPLES Join an existing BSS network (i.e., connect to an access point): .Pp .Dl "ifconfig wlan create wlandev ral0 inet 192.168.0.20 netmask 0xffffff00" .Pp Join a specific BSS network with network name .Dq Li my_net : .Bd -literal -offset indent ifconfig wlan create wlandev ral0 inet 192.168.0.20 \e netmask 0xffffff00 ssid my_net .Ed .Pp Join a specific BSS network with 40-bit WEP encryption: .Bd -literal -offset indent ifconfig wlan create wlandev ral0 inet 192.168.0.20 \e netmask 0xffffff00 ssid my_net \e wepmode on wepkey 0x1234567890 weptxkey 1 .Ed .Pp Join a specific BSS network with 104-bit WEP encryption: .Bd -literal -offset indent ifconfig wlan create wlandev ral0 inet 192.168.0.20 \e netmask 0xffffff00 ssid my_net \e wepmode on wepkey 0x01020304050607080910111213 weptxkey 1 .Ed .Sh DIAGNOSTICS .Bl -diag .It "ral%d: could not load 8051 microcode" An error occurred while attempting to upload the microcode to the onboard 8051 microcontroller unit. .It "ral%d: timeout waiting for MCU to initialize" The onboard 8051 microcontroller unit failed to initialize in time. .It "ral%d: device timeout" A frame dispatched to the hardware for transmission did not complete in time. The driver will reset the hardware. This should not happen. .El .Sh SEE ALSO -.Xr intro 4 , .Xr cardbus 4 , +.Xr intro 4 , .Xr wlan 4 , .Xr wlan_ccmp 4 , .Xr wlan_tkip 4 , .Xr wlan_wep 4 , .Xr wlan_xauth 4 , .Xr hostapd 8 , .Xr ifconfig 8 , .Xr wpa_supplicant 8 .Rs .%T "Ralink Technology" .%U http://www.ralinktech.com/ .Re .Sh HISTORY The .Nm driver first appeared in .Ox 3.7 . Support for the RT2501 and RT2600 chipsets was added in .Ox 3.9 . Support for the RT2800 chipset was added in .Ox 4.3 . Support for the RT2700 chipset was added in .Ox 4.4 . Support for the RT3090 chipset was added in .Ox 4.9 . .Sh AUTHORS The original .Nm driver was written by .An Damien Bergamini Aq Mt damien@openbsd.org . .Sh CAVEATS The .Nm driver does not make use of the hardware cryptographic engine. .Pp The .Nm driver does not support any of the 802.11n capabilities offered by the RT2700 and RT2800 chipsets. Additional work is required in before those features can be supported. .Pp Host AP mode doesn't support power saving. Clients attempting to use power saving mode may experience significant packet loss (disabling power saving on the client will fix this). .Pp Some PCI .Nm adapters seem to strictly require a system supporting PCI 2.2 or greater and will likely not work in systems based on older revisions of the PCI specification. Check the board's PCI version before purchasing the card. Index: head/share/man/man4/rsu.4 =================================================================== --- head/share/man/man4/rsu.4 (revision 276258) +++ head/share/man/man4/rsu.4 (revision 276259) @@ -1,182 +1,182 @@ .\" $OpenBSD: rsu.4,v 1.11 2013/02/14 07:40:42 jmc Exp $ .\" $FreeBSD$ .\" .\" Copyright (c) 2010 Damien Bergamini .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies. .\" .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" .Dd November 19, 2014 .Dt RSU 4 .Os .Sh NAME .Nm rsu .Nd Realtek RTL8188SU/RTL8192SU USB IEEE 802.11b/g/n wireless network device .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your kernel configuration file: .Bd -ragged -offset indent .Cd "device ehci" .Cd "device uhci" .Cd "device ohci" .Cd "device usb" .Cd "device rsu" .Cd "device wlan" .Ed .Pp Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent if_rsu_load="YES" .Ed .Pp After you have read the license in .Pa /usr/share/doc/legal/realtek you will want to add the following lines to .Xr loader.conf 5 : .Bd -literal -offset indent legal.realtek.license_ack=1 rsu-rtl8712fw_load="YES" .Ed .Sh DESCRIPTION The .Nm driver supports USB 2.0 wireless network devices based on Realtek RTL8188SU, RTL8191SU and RTL8192SU chipsets. .Pp The RTL8188SU is a highly integrated 802.11n adapter that combines a MAC, a 1T1R capable baseband and an RF in a single chip. It operates in the 2GHz spectrum only. .Pp The RTL8191SU is a highly integrated multiple-in, single-out (MISO) 802.11n adapter that combines a MAC, a 1T2R capable baseband and an RF in a single chip. It operates in the 2GHz spectrum only. .Pp The RTL8192SU is a highly integrated multiple-in, multiple-out (MIMO) 802.11n adapter that combines a MAC, a 2T2R capable baseband and an RF in a single chip. It operates in the 2GHz spectrum only. .Pp These are the modes the .Nm driver can operate in: .Bl -tag -width "IBSS-masterXX" .It BSS mode Also known as .Em infrastructure mode, this is used when associating with an access point, through which all traffic passes. This mode is the default. .El .Pp The .Nm driver can be configured to use Wired Equivalent Privacy (WEP) or Wi-Fi Protected Access (WPA-PSK and WPA2-PSK). WPA is the de facto encryption standard for wireless networks. It is strongly recommended that WEP not be used as the sole mechanism to secure wireless communication, due to serious weaknesses in it. .Pp The .Nm driver can be configured at runtime with .Xr ifconfig 8 . .Sh FILES The driver needs at least version 1.2 of the following firmware file, which is loaded when an interface is attached: .Pp .Bl -tag -width Ds -offset indent -compact .It Pa /boot/kernel/rsu-rtl8712fw.ko .El .Sh HARDWARE The .Nm driver provices support for Realtek RTL8188SU/RTL8192SU USB IEEE 802.11b/g/n wireless network adapters, including: .Pp .Bl -tag -width Ds -offset indent -compact .It ASUS USB-N10 .It Belkin F7D1101 v1 .It D-Link DWA-131 A1 .It EDUP EP-MS150N(W) .It Hercules HWGUn-54 .It Hercules HWNUm-300 .It Planex GW-USNano .It Sitecom WL-349 v1 .It Sitecom WL-353 .It Sweex LW154 .It TRENDnet TEW-646UBH .It TRENDnet TEW-648UB .It TRENDnet TEW-649UB .El .Sh EXAMPLES Join an existing BSS network (i.e., connect to an access point): .Bd -literal -offset indent ifconfig wlan create wlandev rsu0 inet 192.168.0.20 \e netmask 0xffffff00 .Ed .Pp Join a specific BSS network with network name .Dq Li my_net : .Pp .Dl "ifconfig wlan create wlandev rsu0 ssid my_net up" .Pp Join a specific BSS network with 64-bit WEP encryption: .Bd -literal -offset indent ifconfig wlan create wlandev rsu0 ssid my_net \e wepmode on wepkey 0x1234567890 weptxkey 1 up .Ed .Sh DIAGNOSTICS .Bl -diag .It "%s: failed load firmware of file rsu-rtl8712fw" For some reason, the driver was unable to read the microcode file from the filesystem. The file might be missing or corrupted. .It "device timeout" A frame dispatched to the hardware for transmission did not complete in time. The driver will reset the hardware. This should not happen. .El .Sh SEE ALSO .Xr intro 1 , -.Xr usb 4 , .Xr netintro 4 , .Xr rsufw 4 , +.Xr usb 4 , .Xr wlan 4 , .Xr arp 8 , .Xr hostapd 8 , .Xr ifconfig 8 , .Xr wpa_supplicant 8 .Sh HISTORY The .Nm driver first appeared in .Ox 4.9 and .Fx 10.0 . .Sh AUTHORS .An -nosplit The .Nm driver was written by .An Damien Bergamini Aq Mt damien@openbsd.org and ported by .An Rui Paulo Aq Mt rpaulo@freebsd.org . .Sh CAVEATS The .Nm driver does not support any of the 802.11n capabilities offered by the adapters. Index: head/share/man/man4/rum.4 =================================================================== --- head/share/man/man4/rum.4 (revision 276258) +++ head/share/man/man4/rum.4 (revision 276259) @@ -1,188 +1,188 @@ .\" .\" Copyright (c) 2005-2007 .\" Damien Bergamini .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies. .\" .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" .\" $FreeBSD$ .\" .Dd April 13, 2008 .Dt RUM 4 .Os .Sh NAME .Nm rum .Nd Ralink Technology USB IEEE 802.11a/b/g wireless network device .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your kernel configuration file: .Bd -ragged -offset indent .Cd "device ehci" .Cd "device uhci" .Cd "device ohci" .Cd "device usb" .Cd "device rum" .Cd "device wlan" .Cd "device wlan_amrr" .Ed .Pp Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent if_rum_load="YES" .Ed .Sh DESCRIPTION The .Nm driver supports USB 2.0 and PCI Express Mini Card wireless adapters based on the Ralink RT2501USB and RT2601USB chipsets. .Pp Ralink PCI Express Mini Card adapters show up as normal USB 2.0 devices and are thus handled by the .Nm driver. .Pp The RT2501USB chipset is the second generation of 802.11a/b/g adapters from Ralink. It consists of two integrated chips, an RT2571W MAC/BBP and an RT2528 or RT5226 radio transceiver. .Pp The RT2601USB chipset consists of two integrated chips, an RT2671 MAC/BBP and an RT2527 or RT5225 radio transceiver. This chipset uses the MIMO (multiple-input multiple-output) technology with multiple antennas to extend the operating range of the adapter and to achieve higher throughput. .Pp .Nm supports .Cm station , .Cm adhoc , .Cm hostap , and .Cm monitor mode operation. Only one virtual interface may be configured at any time. For more information on configuring this device, see .Xr ifconfig 8 . .Sh HARDWARE The .Nm driver supports USB 2.0 wireless adapters based on the Ralink RT2501USB and RT2601USB chipsets, including: .Pp .Bl -column -compact "Atlantis Land A02-PCM-W54" "Bus" .It Em Card Ta Em Bus .It "3Com Aolynk WUB320g" Ta USB .It "Abocom WUG2700 Ta" Ta USB .It "Airlink101 AWLL5025" Ta USB .It "ASUS WL-167g ver 2" Ta USB .It "Belkin F5D7050 ver 3" Ta USB .It "Belkin F5D9050 ver 3" Ta USB .It "Buffalo WLI-U2-SG54HP" Ta USB .It "Buffalo WLI-U2-SG54HG" Ta USB .It "Buffalo WLI-U2-G54HP" Ta USB .It "Buffalo WLI-UC-G" Ta USB .It "CNet CWD-854 ver F" Ta USB .It "Conceptronic C54RU ver 2" Ta USB .It "Corega CG-WLUSB2GO" Ta USB .It "D-Link DWA-110" Ta USB .It "D-Link DWA-111" Ta USB .It "D-Link DWL-G122 rev C1" Ta USB .It "D-Link WUA-1340" Ta USB .It "Digitus DN-7003GR" Ta USB .It "Edimax EW-7318USG" Ta USB .It "Gigabyte GN-WB01GS" Ta USB .It "Gigabyte GN-WI05GS" Ta USB .It "Hawking HWUG1" Ta USB .It "Hawking HWU54DM" Ta USB .It "Hercules HWGUSB2-54-LB" Ta USB .It "Hercules HWGUSB2-54V2-AP" Ta USB .It "LevelOne WNC-0301USB v3" Ta USB .It "Linksys WUSB54G rev C" Ta USB .It "Linksys WUSB54GR" Ta USB .It "Planex GW-US54HP" Ta USB .It "Planex GW-US54Mini2" Ta USB .It "Planex GW-USMM" Ta USB .It "Senao NUB-3701" Ta USB .It "Sitecom WL-113 ver 2" Ta USB .It "Sitecom WL-172" Ta USB .It "Sweex LW053" Ta USB .It "TP-LINK TL-WN321G" Ta USB .El .Sh EXAMPLES Join an existing BSS network (i.e., connect to an access point): .Bd -literal -offset indent ifconfig wlan create wlandev rum0 inet 192.168.0.20 \e netmask 0xffffff00 .Ed .Pp Join a specific BSS network with network name .Dq Li my_net : .Pp .Dl "ifconfig wlan create wlandev rum0 ssid my_net up" .Pp Join a specific BSS network with 64-bit WEP encryption: .Bd -literal -offset indent ifconfig wlan create wlandev rum0 ssid my_net \e wepmode on wepkey 0x1234567890 weptxkey 1 up .Ed .Pp Join a specific BSS network with 128-bit WEP encryption: .Bd -literal -offset indent ifconfig wlan create wlandev rum0 wlanmode adhoc ssid my_net \e wepmode on wepkey 0x01020304050607080910111213 weptxkey 1 .Ed .Sh DIAGNOSTICS .Bl -diag .It "rum%d: could not load 8051 microcode" An error occurred while attempting to upload the microcode to the onboard 8051 microcontroller unit. The driver will reset the hardware. This should not happen. .El .Sh SEE ALSO .Xr intro 4 , .Xr netintro 4 , .Xr usb 4 , .Xr wlan 4 , .Xr wlan_amrr 4 , .Xr wlan_ccmp 4 , .Xr wlan_tkip 4 , .Xr wlan_wep 4 , .Xr wlan_xauth 4 , -.Xr ifconfig 8 , .Xr hostapd 8 , +.Xr ifconfig 8 , .Xr wpa_supplicant 8 . .Rs .%T "Ralink Technology" .%U http://www.ralinktech.com/ .Re .Sh HISTORY The .Nm driver first appeared in .Ox 4.0 . .Sh AUTHORS .An -nosplit The original .Nm driver was written by .An Niall O'Higgins Aq Mt niallo@openbsd.org and .An Damien Bergamini Aq Mt damien@openbsd.org . .Sh BUGS Host AP mode doesn't support client power save. Clients using power save mode will experience packet loss (disabling power saving on the client will fix this). Index: head/share/man/man4/run.4 =================================================================== --- head/share/man/man4/run.4 (revision 276258) +++ head/share/man/man4/run.4 (revision 276259) @@ -1,252 +1,252 @@ .\" $OpenBSD: run.4,v 1.22 2009/11/23 06:16:32 jmc Exp $ .\" .\" Copyright (c) 2008 Damien Bergamini .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies. .\" .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" .\" $FreeBSD$ .\" .Dd January 3, 2014 .Dt RUN 4 .Os .Sh NAME .Nm run .Nd Ralink Technology USB IEEE 802.11a/g/n wireless network device .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your kernel configuration file: .Bd -ragged -offset indent .Cd "device ehci" .Cd "device uhci" .Cd "device ohci" .Cd "device usb" .Cd "device run" .Cd "device wlan" .Cd "device wlan_amrr" .Ed .Pp Firmware is also needed, and provided by: .Bd -ragged -offset indent .Cd "device runfw" .Ed .Pp Alternatively, to load the driver as a module at boot time, place the following lines in .Xr loader.conf 5 : .Bd -literal -offset indent if_run_load="YES" runfw_load="YES" .Ed .Sh DESCRIPTION The .Nm driver supports USB 2.0 wireless adapters based on the Ralink RT2700U, RT2800U, RT3000U and RT3900E chipsets. .Pp The RT2700U chipset consists of two integrated chips, an RT2770 MAC/BBP and an RT2720 (1T2R) or RT2750 (dual-band 1T2R) radio transceiver. .Pp The RT2800U chipset consists of two integrated chips, an RT2870 MAC/BBP and an RT2820 (2T3R) or RT2850 (dual-band 2T3R) radio transceiver. .Pp The RT3000U is a single-chip solution based on an RT3070 MAC/BBP and an RT3020 (1T1R), RT3021 (1T2R) or RT3022 (2T2R) single-band radio transceiver. .Pp The RT3900E is a single-chip USB 2.0 802.11n solution. The MAC/Baseband Processor can be an RT3593, RT5390, RT5392 or an RT5592. The radio can be an RT3053, RT5370, RT5372 or an RT5572. The RT3053 chip operates in the 2GHz and 5GHz spectra and supports up to 3 transmit paths and 3 receiver paths (3T3R). The RT5370 chip operates in the 2GHz spectrum and supports 1 transmit path and 1 receiver path (1T1R). The RT5372 chip operates in the 2GHz spectrum and supports up to 2 transmit paths and 2 receiver paths (2T2R). The RT5572 chip operates in the 2GHz and 5GHz spectra and supports up to 2 transmit paths and 2 receiver paths (2T2R). .Pp These are the modes the .Nm driver can operate in: .Bl -tag -width "IBSS-masterXX" .It BSS mode Also known as .Em infrastructure mode, this is used when associating with an access point, through which all traffic passes. This mode is the default. .It Host AP mode In this mode the driver acts as an access point (base station) for other cards. .It monitor mode In this mode the driver is able to receive packets without associating with an access point. This disables the internal receive filter and enables the card to capture packets from networks which it wouldn't normally have access to, or to scan for access points. .El .Pp The .Nm driver can be configured to use Wired Equivalent Privacy (WEP) or Wi-Fi Protected Access (WPA-PSK and WPA2-PSK). WPA is the de facto encryption standard for wireless networks. It is strongly recommended that WEP not be used as the sole mechanism to secure wireless communication, due to serious weaknesses in it. The .Nm driver offloads both encryption and decryption of data frames to the hardware for the WEP40, WEP104, TKIP(+MIC) and CCMP ciphers. .Pp The .Nm driver can be configured at runtime with .Xr ifconfig 8 . .Sh HARDWARE The .Nm driver supports the following wireless adapters: .Pp .Bl -tag -width Ds -offset indent -compact .It Airlink101 AWLL6090 .It ASUS USB-N11 .It ASUS USB-N13 ver. A1 .It ASUS USB-N66 .It ASUS WL-160N .It Belkin F5D8051 ver 3000 .It Belkin F5D8053 .It Belkin F5D8055 .It Belkin F6D4050 ver 1 .It Belkin F9L1103 .It Buffalo WLI-UC-AG300N .It Buffalo WLI-UC-G300N .It Buffalo WLI-UC-G301N .It Buffalo WLI-UC-GN .It Buffalo WLI-UC-GNM .It Buffalo WLI-UC-GNM2 .It Corega CG-WLUSB2GNL .It Corega CG-WLUSB2GNR .It Corega CG-WLUSB300AGN .It Corega CG-WLUSB300GNM .It D-Link DWA-130 rev B1 .It D-Link DWA-140 rev B1, B2, B3, \&D1 .It D-Link DWA-160 rev B2 .It D-Link DWA-162 .It DrayTek Vigor N61 .It Edimax EW-7711UAn .It Edimax EW-7711UTn .It Edimax EW-7717Un .It Edimax EW-7718Un .It Edimax EW-7733UnD .It Gigabyte GN-WB30N .It Gigabyte GN-WB31N .It Gigabyte GN-WB32L .It Hawking HWDN1 .It Hawking HWUN1 .It Hawking HWUN2 .It Hercules HWNU-300 .It Linksys WUSB54GC v3 .It Linksys WUSB600N .It Logitec LAN-W150N/U2 .It Mvix Nubbin MS-811N .It Planex GW-USMicroN .It Planex GW-US300MiniS .It Sitecom WL-182 .It Sitecom WL-188 .It Sitecom WL-301 .It Sitecom WL-302 .It Sitecom WL-315 .It SMC SMCWUSBS-N2 .It Sweex LW303 .It Sweex LW313 .It TP-LINK TL-WDN3200 .It TP-LINK TL-WN727N v3 .It Unex DNUR-81 .It Unex DNUR-82 .It ZyXEL NWD2705 .It ZyXEL NWD210N .It ZyXEL NWD270N .El .Sh EXAMPLES Join an existing BSS network (i.e., connect to an access point): .Bd -literal -offset indent ifconfig wlan create wlandev run0 inet 192.168.0.20 \e netmask 0xffffff00 .Ed .Pp Join a specific BSS network with network name .Dq Li my_net : .Pp .Dl "ifconfig wlan create wlandev run0 ssid my_net up" .Pp Join a specific BSS network with 64-bit WEP encryption: .Bd -literal -offset indent ifconfig wlan create wlandev run0 ssid my_net \e wepmode on wepkey 0x1234567890 weptxkey 1 up .Ed .Pp Join a specific BSS network with 128-bit WEP encryption: .Bd -literal -offset indent ifconfig wlan create wlandev run0 wlanmode adhoc ssid my_net \e wepmode on wepkey 0x01020304050607080910111213 weptxkey 1 .Ed .Sh DIAGNOSTICS .Bl -diag .It "run%d: faild load firmware of file runfw" For some reason, the driver was unable to read the microcode file from the filesystem. The file might be missing or corrupted. .It "run%d: could not load 8051 microcode" An error occurred while attempting to upload the microcode to the onboard 8051 microcontroller unit. .It "run%d: device timeout" A frame dispatched to the hardware for transmission did not complete in time. The driver will reset the hardware. This should not happen. .El .Sh SEE ALSO -.Xr runfw 4 , .Xr intro 4 , .Xr netintro 4 , +.Xr runfw 4 , .Xr usb 4 , .Xr wlan 4 , .Xr wlan_amrr 4 , .Xr wlan_ccmp 4 , .Xr wlan_tkip 4 , .Xr wlan_wep 4 , .Xr wlan_xauth 4 , -.Xr ifconfig 8 , .Xr hostapd 8 , +.Xr ifconfig 8 , .Xr wpa_supplicant 8 .Pp Ralink Technology: .Pa http://www.ralinktech.com/ .Sh HISTORY The .Nm driver first appeared in .Ox 4.5 . .Sh AUTHORS The .Nm driver was written by .An Damien Bergamini Aq Mt damien@openbsd.org . .Sh CAVEATS The .Nm driver does not support any of the 802.11n capabilities offered by the RT2800, RT3000 and RT3900 chipsets. Index: head/share/man/man4/uhci.4 =================================================================== --- head/share/man/man4/uhci.4 (revision 276258) +++ head/share/man/man4/uhci.4 (revision 276259) @@ -1,68 +1,68 @@ .\" Copyright (c) 1999 .\" Nick Hibma . All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd April 20, 2005 .Dt UHCI 4 .Os .Sh NAME .Nm uhci .Nd UHCI USB Host Controller driver .Sh SYNOPSIS .Cd "device uhci" .Sh DESCRIPTION The .Nm driver provides support for UHCI-type PCI based USB controllers. .Sh HARDWARE The .Nm driver supports all UHCI v1.1 compliant controllers including: .Pp .Bl -bullet -compact .It Intel 82371AB/EB (PIIX4) .It Intel 82371SB (PIIX3) .It VIA 83C572 .El .Sh SEE ALSO -.Xr xhci 4 , .Xr ehci 4 , -.Xr ohci 4 +.Xr ohci 4 , +.Xr xhci 4 .Sh HISTORY The .Nm device driver first appeared in .Fx 3.0 . .Sh AUTHORS The .Nm driver was written by .An Lennart Augustsson Aq Mt augustss@carlstedt.se for the .Nx project. Index: head/share/man/man4/umass.4 =================================================================== --- head/share/man/man4/umass.4 (revision 276258) +++ head/share/man/man4/umass.4 (revision 276259) @@ -1,262 +1,262 @@ .\" Copyright (c) 1999 .\" Nick Hibma . All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd April 19, 2014 .Dt UMASS 4 .Os .Sh NAME .Nm umass .Nd USB Mass Storage Devices driver .Sh SYNOPSIS To compile this driver into the kernel, place the following line in your kernel configuration file: .Bd -ragged -offset indent .Cd "device scbus" .Cd "device usb" .Cd "device umass" .Ed .Pp Alternatively, to load the driver as a module at boot time, place the following line in .Xr loader.conf 5 : .Bd -literal -offset indent umass_load="YES" .Ed .Sh DESCRIPTION The .Nm driver provides support for Mass Storage devices that attach to the USB port. .Pp To use the .Nm driver, .Xr usb 4 and one of .Xr uhci 4 or .Xr ohci 4 or .Xr ehci 4 or .Xr xhci 4 must be configured in the kernel. Additionally, since .Nm uses the SCSI subsystem and sometimes acts as a SCSI device, it requires .Xr da 4 and .Xr scbus 4 to be included in the kernel. .Sh HARDWARE The .Nm driver supports USB Mass Storage devices, including: .Pp .Bl -bullet -compact .It ADTEC Stick Drive AD-UST32M, 64M, 128M, 256M .It Denno FireWire/USB2 Removable 2.5-inch HDD Case MIFU-25CB20 .It FujiFilm Zip USB Drive ZDR100 USB A .It GREEN HOUSE USB Flash Memory "PicoDrive" GH-UFD32M, 64M, 128M .It Huawei Mobile (SD slot) .It IBM 32MB USB Memory Key (P/N 22P5296) .It IBM 256MB USB Drive (MSYSTEM DiskOnKey2) .It IBM ThinkPad USB Portable CD-ROM Drive (P/N 33L5151) .It I-O DATA USB CD/CD-R/CD-RW/DVD-R/DVD-RW/DVD-RAM/DVD-ROM Drive DVR-iUH2 (CDROM, DVD-RAM only) .It I-O DATA USB x6 CD-RW Drive CDRW-i64/USB (CDROM only) .It I-O DATA USB/IEEE1394 Portable HD Drive HDP-i30P/CI, HDP-i40P/CI .It Iomega USB Zip 100/250 drive .It Iomega Zip750 USB2.0 drive .It Keian USB1.1/2.0 3.5-inch HDD Case KU350A .It Kurouto Shikou USB 2.5-inch HDD Case GAWAP2.5PS-USB2.0 .It LaCie P3 HardDrive USB 200GB .It Logitec LDR-H443U2 DVD-RAM/-R/+R/-RW/+RW drive .It Logitec Mobile USB Memory LMC-256UD .It Logitec USB1.1/2.0 HDD Unit SHD-E60U2 .It Logitec USB Double-Speed Floppy Drive LFD-31U2 .It Logitec USB/IEEE1394 DVD-RAM/R/RW Unit LDR-N21FU2 (CDROM only) .It MELCO USB Flash Disk "ClipDrive", RUF-C32M, -C64M, -C128M, -C256M, -C512M .It MELCO USB Flash Disk "PetitDrive", RUF-32M, -64M, -128M, -256Mm .It MELCO USB2.0 Flash Disk "PetitDrive2", RUF-256M/U2, -512M/U2 .It MELCO USB2.0 MO Drive MO-CH640U2 .It Matshita CF-VFDU03 floppy drive .It Merlin SM300 MP3/WMA Player (256Mb) .It Microtech International, Inc.\& USB-SCSI-HD 50 USB to SCSI cable .It Motorola E398 Mobile Phone (TransFlash memory card) .It NOVAC USB2.0 2.5/3.5-inch HDD Case NV-HD351U .It PNY Attache Flash Drive .It Panasonic ("Matshita FDD CF-VFDU03") .It Panasonic KXL-CB20AN Portable DVD-ROM/CD-R/RW .It Panasonic KXL-CB35AN (DVD-ROM & CD-R/RW) .It Panasonic USB2.0 Portable CD-RW Drive KXL-RW40AN (CDROM only) .It Panasonic floppy drive .It Qware BeatZkey!\& Pro .It RATOC Systems USB2.0 Removable HDD Case U2-MDK1, U2-MDK1B .It SanDisk SDDR-31 (Compact Flash) .It SanDisk SDDR-75 (only Compact Flash port works) .It Sitecom CN-300 MultiFlash (MMC/SD, SmartMedia, CF, MemoryStick) .It Sony Portable CD-R/RW Drive CRX10U (CDROM only) .It TEAC Portable USB CD-ROM Unit CD-110PU/210PU .It Time DPA20B MP3 Player (1Gb) .It Trek Thumbdrive 8MB .It VAIO floppy drive (includes Y-E Data Flashbuster-U) .It Y-E Data floppy drive (720/1.44/2.88Mb) .El .Pp Among the supported digital cameras are: .Pp .Bl -bullet -compact .It Asahi Optical (PENTAX) Optio 230 & 330 .El .Sh EXAMPLES .Bd -literal -offset indent device umass device scbus device da device pass .Ed .Pp Add the .Nm driver to the kernel. .Pp .Dl "camcontrol rescan 0" .Pp Rescan a Zip drive that was added after boot. The command above assumes that the Zip drive is on the first SCSI bus in the system. .Bd -literal -offset indent camcontrol rescan 0:0:0 camcontrol rescan 0:0:1 camcontrol rescan 0:0:2 camcontrol rescan 0:0:3 .Ed .Pp Rescan all slots on a multi-slot flash reader, where the slots map to separate LUNs on a single SCSI ID. Typically only the first slot will be enabled at boot time. Again, this assumes that the flash reader is the first SCSI bus in the system. .Bd -literal -offset indent bsdlabel -w da0 zip100 newfs da0c mount -t ufs /dev/da0c /mnt .Ed .Pp Write a disklabel to the Zip drive (see .Xr vpo 4 for the .Xr disktab 5 entry), creates the file system and mounts the new file system on /mnt. .Pp .Dl "newfs_msdos /dev/da0" .Pp Create a new FAT type file system. Care should be taken not to run .Xr newfs 8 on devices that already contain data, as this will result in the information being lost. .Pp Many consumer devices such as digital cameras automatically create .Tn MS-DOS based file systems when storing information such as images and videos. These file systems can be accessed by specifying the file system type as .Cm msdosfs when using .Xr mount 8 . .Sh SEE ALSO .Xr ehci 4 , -.Xr xhci 4 , .Xr ohci 4 , .Xr uhci 4 , .Xr usb 4 , .Xr vpo 4 , +.Xr xhci 4 , .Xr disktab 5 , .Xr bsdlabel 8 , .Xr camcontrol 8 .\".Sh HISTORY .Sh AUTHORS .An -nosplit The .Nm driver was written by .An MAEKAWA Masahide Aq Mt bishop@rr.iij4u.or.jp and .An Nick Hibma Aq Mt n_hibma@FreeBSD.org . .Pp This manual page was written by .An Nick Hibma Aq Mt n_hibma@FreeBSD.org .