xref: /freebsd/share/man/man4/if_ntb.4 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
158e5fbcbSAlexander Motin.\"
258e5fbcbSAlexander Motin.\" Copyright (c) 2016 Alexander Motin <mav@FreeBSD.org>
358e5fbcbSAlexander Motin.\" All rights reserved.
458e5fbcbSAlexander Motin.\"
558e5fbcbSAlexander Motin.\" Redistribution and use in source and binary forms, with or without
658e5fbcbSAlexander Motin.\" modification, are permitted provided that the following conditions
758e5fbcbSAlexander Motin.\" are met:
858e5fbcbSAlexander Motin.\" 1. Redistributions of source code must retain the above copyright
958e5fbcbSAlexander Motin.\"    notice, this list of conditions and the following disclaimer.
1058e5fbcbSAlexander Motin.\" 2. Redistributions in binary form must reproduce the above copyright
1158e5fbcbSAlexander Motin.\"    notice, this list of conditions and the following disclaimer in the
1258e5fbcbSAlexander Motin.\"    documentation and/or other materials provided with the distribution.
1358e5fbcbSAlexander Motin.\"
1458e5fbcbSAlexander Motin.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1558e5fbcbSAlexander Motin.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1658e5fbcbSAlexander Motin.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1758e5fbcbSAlexander Motin.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
1858e5fbcbSAlexander Motin.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1958e5fbcbSAlexander Motin.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2058e5fbcbSAlexander Motin.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2158e5fbcbSAlexander Motin.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2258e5fbcbSAlexander Motin.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2358e5fbcbSAlexander Motin.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2458e5fbcbSAlexander Motin.\" SUCH DAMAGE.
2558e5fbcbSAlexander Motin.\"
26*3990853dSAlexander Motin.Dd September 2, 2017
2758e5fbcbSAlexander Motin.Dt IF_NTB 4
2858e5fbcbSAlexander Motin.Os
2958e5fbcbSAlexander Motin.Sh NAME
3058e5fbcbSAlexander Motin.Nm if_ntb
3158e5fbcbSAlexander Motin.Nd Virtual Ethernet interface for Non-Transparent Bridges
3258e5fbcbSAlexander Motin.Sh SYNOPSIS
3358e5fbcbSAlexander MotinTo compile this driver into your kernel,
3458e5fbcbSAlexander Motinplace the following lines in your kernel configuration file:
3558e5fbcbSAlexander Motin.Bd -ragged -offset indent
36ed9652daSAlexander Motin.Cd "device ntb"
37ed9652daSAlexander Motin.Cd "device ntb_transport"
3858e5fbcbSAlexander Motin.Cd "device if_ntb"
3958e5fbcbSAlexander Motin.Ed
4058e5fbcbSAlexander Motin.Pp
4158e5fbcbSAlexander MotinOr, to load the driver as a module at boot, place the following line in
4258e5fbcbSAlexander Motin.Xr loader.conf 5 :
4358e5fbcbSAlexander Motin.Bd -literal -offset indent
4458e5fbcbSAlexander Motinif_ntb_load="YES"
4558e5fbcbSAlexander Motin.Ed
4658e5fbcbSAlexander Motin.Pp
4758e5fbcbSAlexander MotinThe following tunables are settable from the
4858e5fbcbSAlexander Motin.Xr loader 8 :
4958e5fbcbSAlexander Motin.Bl -ohang
5058e5fbcbSAlexander Motin.It Va hw.if_ntb.num_queues
51*3990853dSAlexander MotinLimits maximal number of queues per interface.
526bd57d14SAlexander MotinDefault is unlimited.
5358e5fbcbSAlexander Motin.El
5458e5fbcbSAlexander Motin.Sh DESCRIPTION
5558e5fbcbSAlexander MotinThe
5658e5fbcbSAlexander Motin.Nm
5758e5fbcbSAlexander Motindriver attaches on top of the
5858e5fbcbSAlexander Motin.Xr ntb_transport 4
59*3990853dSAlexander Motindriver to utilize one or more of its packet queues to create virtual
60*3990853dSAlexander MotinEthernet network interface between the systems.
61*3990853dSAlexander MotinTypical MTU for the interface is about 64KB to reduce overhead.
62*3990853dSAlexander MotinDefault MAC address for the interface is randomly generated.
6358e5fbcbSAlexander Motin.Pp
6458e5fbcbSAlexander MotinThe
6558e5fbcbSAlexander Motin.Nm
6658e5fbcbSAlexander Motindriver does not implement any real hardware offload, but since PCIe link is
6758e5fbcbSAlexander Motinprotected by CRC32, in some situations it may be possible to save some CPU
6858e5fbcbSAlexander Motincycles by enabling fake checksum offload on both link sides via setting
6958e5fbcbSAlexander Motin.Cm rxcsum
7058e5fbcbSAlexander Motinand
7158e5fbcbSAlexander Motin.Cm txcsum
7258e5fbcbSAlexander Motininterface options.
7358e5fbcbSAlexander Motin.Sh SEE ALSO
7458e5fbcbSAlexander Motin.Xr ntb_transport 4
7558e5fbcbSAlexander Motin.Sh AUTHORS
7658e5fbcbSAlexander Motin.An -nosplit
7758e5fbcbSAlexander MotinThe
7858e5fbcbSAlexander Motin.Nm
7958e5fbcbSAlexander Motindriver was developed by Intel and originally written by
8058e5fbcbSAlexander Motin.An Carl Delsey Aq Mt carl@FreeBSD.org .
8158e5fbcbSAlexander MotinLater improvements were done by
8258e5fbcbSAlexander Motin.An Conrad E. Meyer Aq Mt cem@FreeBSD.org
8358e5fbcbSAlexander Motinand
8458e5fbcbSAlexander Motin.An Alexander Motin Aq Mt mav@FreeBSD.org .
856bd57d14SAlexander Motin.Sh BUGS
866bd57d14SAlexander MotinLinux supports only one queue per interface, so manual configuration
876bd57d14SAlexander Motinmay be required for compatibility.
88