xref: /freebsd/share/man/man4/if_ntb.4 (revision a4128aad8503277614f2d214011ef60a19447b83)
1.\"
2.\" Copyright (c) 2016 Alexander Motin <mav@FreeBSD.org>
3.\" All rights reserved.
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\"    notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\"    notice, this list of conditions and the following disclaimer in the
12.\"    documentation and/or other materials provided with the distribution.
13.\"
14.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24.\" SUCH DAMAGE.
25.\"
26.Dd September 2, 2017
27.Dt IF_NTB 4
28.Os
29.Sh NAME
30.Nm if_ntb
31.Nd Virtual Ethernet interface for Non-Transparent Bridges
32.Sh SYNOPSIS
33To compile this driver into your kernel,
34place the following lines in your kernel configuration file:
35.Bd -ragged -offset indent
36.Cd "device ntb"
37.Cd "device ntb_transport"
38.Cd "device if_ntb"
39.Ed
40.Pp
41Or, to load the driver as a module at boot, place the following line in
42.Xr loader.conf 5 :
43.Bd -literal -offset indent
44if_ntb_load="YES"
45.Ed
46.Pp
47The following tunables are settable from the
48.Xr loader 8 :
49.Bl -ohang
50.It Va hw.if_ntb.num_queues
51Limits maximal number of queues per interface.
52Default is unlimited.
53.El
54.Sh DESCRIPTION
55The
56.Nm
57driver attaches on top of the
58.Xr ntb_transport 4
59driver to utilize one or more of its packet queues to create virtual
60Ethernet network interface between the systems.
61Typical MTU for the interface is about 64KB to reduce overhead.
62Default MAC address for the interface is randomly generated.
63.Pp
64The
65.Nm
66driver does not implement any real hardware offload, but since PCIe link is
67protected by CRC32, in some situations it may be possible to save some CPU
68cycles by enabling fake checksum offload on both link sides via setting
69.Cm rxcsum
70and
71.Cm txcsum
72interface options.
73.Sh SEE ALSO
74.Xr ntb_transport 4
75.Sh AUTHORS
76.An -nosplit
77The
78.Nm
79driver was developed by Intel and originally written by
80.An Carl Delsey Aq Mt carl@FreeBSD.org .
81Later improvements were done by
82.An Conrad E. Meyer Aq Mt cem@FreeBSD.org
83and
84.An Alexander Motin Aq Mt mav@FreeBSD.org .
85.Sh BUGS
86Linux supports only one queue per interface, so manual configuration
87may be required for compatibility.
88