summaryrefslogtreecommitdiffstats
path: root/share/man/man4
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/man4')
-rw-r--r--share/man/man4/Makefile8
-rw-r--r--share/man/man4/if_ntb.489
-rw-r--r--share/man/man4/ntb.4114
-rw-r--r--share/man/man4/ntb_hw.4117
-rw-r--r--share/man/man4/ntb_transport.479
5 files changed, 290 insertions, 117 deletions
diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile
index 99535c2..1cd099b 100644
--- a/share/man/man4/Makefile
+++ b/share/man/man4/Makefile
@@ -374,7 +374,9 @@ MAN= aac.4 \
ng_vlan.4 \
nmdm.4 \
nsp.4 \
- ${_ntb.4} \
+ ${_ntb_hw.4} \
+ ${_ntb_transport.4} \
+ ${_if_ntb.4} \
null.4 \
numa.4 \
${_nvd.4} \
@@ -678,8 +680,7 @@ MLINKS+=netintro.4 net.4 \
netintro.4 networking.4
MLINKS+=${_nfe.4} ${_if_nfe.4}
MLINKS+=nge.4 if_nge.4
-MLINKS+=${_ntb.4} ${_if_ntb.4} \
- ${_ntb.4} ${_ntb_hw.4}
+MLINKS+=${_ntb_hw.4} ${_ntb.4}
MLINKS+=${_nxge.4} ${_if_nxge.4}
MLINKS+=ow.4 onewire.4
MLINKS+=patm.4 if_patm.4
@@ -820,6 +821,7 @@ _if_ntb.4= if_ntb.4
_ioat.4= ioat.4
_ntb.4= ntb.4
_ntb_hw.4= ntb_hw.4
+_ntb_transport.4=ntb_transport.4
_qlxge.4= qlxge.4
_qlxgb.4= qlxgb.4
_qlxgbe.4= qlxgbe.4
diff --git a/share/man/man4/if_ntb.4 b/share/man/man4/if_ntb.4
new file mode 100644
index 0000000..6f52d77
--- /dev/null
+++ b/share/man/man4/if_ntb.4
@@ -0,0 +1,89 @@
+.\"
+.\" Copyright (c) 2016 Alexander Motin <mav@FreeBSD.org>
+.\" 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 July 29, 2016
+.Dt IF_NTB 4
+.Os
+.Sh NAME
+.Nm if_ntb
+.Nd Virtual Ethernet interface for Non-Transparent Bridges
+.Sh SYNOPSIS
+To compile this driver into your kernel,
+place the following lines in your kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device if_ntb"
+.Ed
+.Pp
+Or, to load the driver as a module at boot, place the following line in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+if_ntb_load="YES"
+.Ed
+.Pp
+The following tunables are settable from the
+.Xr loader 8 :
+.Bl -ohang
+.It Va hw.if_ntb.num_queues
+Number of transport queues to use per interface.
+Default is unlimited.
+.El
+.Sh DESCRIPTION
+The
+.Nm
+driver attaches on top of the
+.Xr ntb_transport 4
+driver to utilize its resources to create virtual Ethernet interface between
+the systems.
+Interface capabilities depend on the underlying transport.
+Typical MTU is about 64KB to reduce overhead.
+By default one queue is used, but more may be configured.
+The MAC address for interface is randomly generated.
+.Pp
+The
+.Nm
+driver does not implement any real hardware offload, but since PCIe link is
+protected by CRC32, in some situations it may be possible to save some CPU
+cycles by enabling fake checksum offload on both link sides via setting
+.Cm rxcsum
+and
+.Cm txcsum
+interface options.
+.Sh SEE ALSO
+.Xr ntb_transport 4
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+driver was developed by Intel and originally written by
+.An Carl Delsey Aq Mt carl@FreeBSD.org .
+Later improvements were done by
+.An Conrad E. Meyer Aq Mt cem@FreeBSD.org
+and
+.An Alexander Motin Aq Mt mav@FreeBSD.org .
+.Sh BUGS
+Linux supports only one queue per interface, so manual configuration
+may be required for compatibility.
diff --git a/share/man/man4/ntb.4 b/share/man/man4/ntb.4
deleted file mode 100644
index ada350a..0000000
--- a/share/man/man4/ntb.4
+++ /dev/null
@@ -1,114 +0,0 @@
-.\"
-.\" Copyright (c) 2013 Intel Corporation
-.\" 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,
-.\" without modification.
-.\" 2. Redistributions in binary form must reproduce at minimum a disclaimer
-.\" substantially similar to the "NO WARRANTY" disclaimer below
-.\" ("Disclaimer") and any redistribution must be conditioned upon
-.\" including a substantially similar Disclaimer requirement for further
-.\" binary redistribution.
-.\"
-.\" NO WARRANTY
-.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-.\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
-.\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-.\" HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
-.\"
-.\" ntb driver man page.
-.\"
-.\" Author: Carl Delsey <carl@FreeBSD.org>
-.\"
-.\" $FreeBSD$
-.\"
-.Dd Apr 11, 2013
-.Dt NTB 4
-.Os
-.Sh NAME
-.Nm ntb ,
-.Nm ntb_hw ,
-.Nm if_ntb
-.Nd Intel(R) Non-Transparent Bridge driver
-.Sh SYNOPSIS
-To compile this driver into your kernel,
-place the following lines in your kernel configuration file:
-.Bd -ragged -offset indent
-.Cd "device ntb_hw"
-.Cd "device if_ntb"
-.Ed
-.Pp
-Or, to load the driver as a module at boot, place the following line in
-.Xr loader.conf 5 :
-.Bd -literal -offset indent
-if_ntb_load="YES"
-.Ed
-.Sh DESCRIPTION
-The
-.Nm
-driver provides support for the Non-Transparent Bridge (NTB) in the Intel S1200,
-Xeon E3 and Xeon E5 processor families.
-.Pp
-The NTB allows you to connect two computer systems using a PCI-e link if they
-have the correct equipment and connectors.
-.Sh CONFIGURATION
-The NTB memory windows need to be configured by the BIOS.
-If your BIOS allows you to set their size, you should set the size of both
-memory windows to 1 MiB.
-This needs to be done on both systems.
-.Pp
-Each system needs to have a different IP address assigned.
-The MAC address is randomly generated.
-Also for maximum performance, the MTU should be set to 16 kiB.
-This can be done by adding the line below to
-.Xr rc.conf 5 :
-.Bd -literal -offset indent
-ifconfig_ntb0="inet 192.168.1.10 netmask 255.255.255.0 mtu 16384"
-.Ed
-.Pp
-And on the second system :
-.Bd -literal -offset indent
-ifconfig_ntb0="inet 192.168.1.11 netmask 255.255.255.0 mtu 16384"
-.Ed
-.Pp
-If you are using the UDP protocol, you may want to increase the
-.Va net.inet.udp.maxdgram
-.Xr sysctl 8
-variable.
-.Sh SEE ALSO
-.Xr rc.conf 5 ,
-.Xr sysctl 8
-.Sh AUTHORS
-.An -nosplit
-The
-.Nm
-driver was developed by Intel and originally written by
-.An Carl Delsey Aq Mt carl@FreeBSD.org .
-.Sh BUGS
-If the driver is unloaded, it cannot be reloaded without a system reboot.
-.Pp
-The network support is limited.
-It isn't fully configurable yet.
-It also isn't integrated into
-.Xr netgraph 4
-or
-.Xr bpf 4 .
-.Pp
-NTB to Root Port mode is not yet supported.
-.Pp
-There is no way to protect your system from malicious behavior on the other
-system once the link is brought up.
-Anyone with root or kernel access on the other system can read or write to
-any location on your system.
-In other words, only connect two systems that completely trust each other.
diff --git a/share/man/man4/ntb_hw.4 b/share/man/man4/ntb_hw.4
new file mode 100644
index 0000000..b6dffce
--- /dev/null
+++ b/share/man/man4/ntb_hw.4
@@ -0,0 +1,117 @@
+.\"
+.\" Copyright (c) 2016 Alexander Motin <mav@FreeBSD.org>
+.\" 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 July 28, 2016
+.Dt NTB_HW 4
+.Os
+.Sh NAME
+.Nm ntb ,
+.Nm ntb_hw
+.Nd Intel(R) Non-Transparent Bridge driver
+.Sh SYNOPSIS
+To compile this driver into your kernel,
+place the following lines in your kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device ntb_hw"
+.Ed
+.Pp
+Or, to load the driver as a module at boot, place the following line in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+ntb_hw_load="YES"
+.Ed
+.Pp
+The following tunables are settable from the
+.Xr loader 8 :
+.Bl -ohang
+.It Va hw.ntb.debug_level
+Driver debug level.
+The default value is 0, higher means more verbose.
+.It Va hint.ntb_hw. Ns Ar X Ns Va .config
+Configures NTB resources split between several consumer devices.
+Configuration of multiple consumer devices separated by commas.
+Each device can be configured as: "<name>[:<mw>[:<spad>[:<db>]]]", where:
+.Va name
+is a name of the driver which should attach the device (empty means any),
+.Va mw
+is a number of memory windows to allocate (empty means all available),
+.Va spad
+is a number of scratchpad registers to allocate (empty means all available),
+.Va db
+is a number of doorbells to allocate (empty means all available).
+The default configuration is empty string, which means single device
+with all available resources allowing any driver attachment.
+.El
+.Sh DESCRIPTION
+The NTB allows you to connect two computer systems using a PCIe link if they
+have the correct equipment and connectors.
+The
+.Nm ntb_hw
+driver provides support for the Non-Transparent Bridge (NTB) in the Intel S1200
+and Xeon E3/E5 processor families.
+The
+.Nm
+driver hides hardware details, exposing memory windows, scratchpads and
+doorbells via hardware independent KPI.
+.Pp
+The hardware provides 2-3 memory windows to the other system's memory,
+16 scratchpad registers and 14/34 doorbells to interrupt the other system.
+On Xeon processors one of memory windows is typically consumed by the driver
+to workaround multiple hardware erratas.
+.Sh CONFIGURATION
+The NTB configuration should be set by BIOS.
+It includes enabling NTB, choosing between NTB-to-NTB or NTB-to-Root Port mode,
+enabling split BAR mode (one of two 64-bit BARs can be split into two 32-bit
+ones) and configuring BAR sizes in bits (from 12 to 29/39) for both NTB sides.
+.Pp
+The recommended configuration is NTB-to-NTB mode, split bar is enabled and
+all BAR sizes are set to 20 (1 MiB).
+This needs to be done on both systems.
+.Sh SEE ALSO
+.Xr ntb_transport 4 ,
+.Xr if_ntb 4
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+driver was developed by Intel and originally written by
+.An Carl Delsey Aq Mt carl@FreeBSD.org .
+Later improvements were done by
+.An Conrad E. Meyer Aq Mt cem@FreeBSD.org
+and
+.An Alexander Motin Aq Mt mav@FreeBSD.org .
+.Sh BUGS
+NTB-to-Root Port mode is not yet supported, but it doesn't look very useful.
+.Pp
+On Xeon v2/v3/v4 processors split BAR mode should be enabled to allow
+SB01BASE_LOCKUP errata workaround to be applied by the driver.
+.Pp
+There is no way to protect your system from malicious behavior on the other
+system once the link is brought up.
+Anyone with root or kernel access on the other system can read or write to
+any location on your system.
+In other words, only connect two systems that completely trust each other.
diff --git a/share/man/man4/ntb_transport.4 b/share/man/man4/ntb_transport.4
new file mode 100644
index 0000000..43b412c
--- /dev/null
+++ b/share/man/man4/ntb_transport.4
@@ -0,0 +1,79 @@
+.\"
+.\" Copyright (c) 2016 Alexander Motin <mav@FreeBSD.org>
+.\" 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 July 29, 2016
+.Dt NTB_TRANSPORT 4
+.Os
+.Sh NAME
+.Nm ntb_transport
+.Nd Packet-oriented transport for Non-Transparent Bridges
+.Sh SYNOPSIS
+To load the driver as a module at boot, place the following line in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+ntb_transport_load="YES"
+.Ed
+.Pp
+The following tunables are settable from the
+.Xr loader 8 :
+.Bl -ohang
+.It Va hw.ntb_transport.debug_level
+Driver debug level.
+The default value is 0, higher means more verbose.
+.It Va hint.ntb_transport. Ns Ar X Ns Va .config
+Configures queues allocation for consumer devices, separated by commas.
+Each device can be configured as: "<name>[:<queues>]", where:
+.Va name
+is a name of the driver which should attach the device (empty means any),
+.Va queues
+is a number of queues to allocate (empty means automatic),
+The default configuration is empty string, which means single device
+with one queue per memory window allowing any driver attachment.
+.El
+.Sh DESCRIPTION
+The
+.Nm
+driver attaches on top of the
+.Nm ntb
+driver to utilize its resources to create set of bidirectional queues,
+delivering packets between the systems.
+The primary purpose of this is to be used by
+.Nm if_ntb
+network interface, but other consumers may also be developed using KPI.
+.Sh SEE ALSO
+.Xr if_ntb 4 ,
+.Xr ntb_hw 4
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+driver was developed by Intel and originally written by
+.An Carl Delsey Aq Mt carl@FreeBSD.org .
+Later improvements were done by
+.An Conrad E. Meyer Aq Mt cem@FreeBSD.org
+and
+.An Alexander Motin Aq Mt mav@FreeBSD.org .
OpenPOWER on IntegriCloud