xref: /freebsd/share/man/man4/sume.4 (revision 4d846d260e2b9a3d4d0a701462568268cbfe7a5b)
1bd368728SMarko Zec.\"-
2*4d846d26SWarner Losh.\" SPDX-License-Identifier: BSD-2-Clause
3bd368728SMarko Zec.\"
4bd368728SMarko Zec.\" Copyright (c) 2020 Denis Salopek
5bd368728SMarko Zec.\"
6bd368728SMarko Zec.\" Redistribution and use in source and binary forms, with or without
7bd368728SMarko Zec.\" modification, are permitted provided that the following conditions
8bd368728SMarko Zec.\" are met:
9bd368728SMarko Zec.\" 1. Redistributions of source code must retain the above copyright
10bd368728SMarko Zec.\"    notice, this list of conditions and the following disclaimer.
11bd368728SMarko Zec.\" 2. Redistributions in binary form must reproduce the above copyright
12bd368728SMarko Zec.\"    notice, this list of conditions and the following disclaimer in the
13bd368728SMarko Zec.\"    documentation and/or other materials provided with the distribution.
14bd368728SMarko Zec.\"
15bd368728SMarko Zec.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16bd368728SMarko Zec.\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17bd368728SMarko Zec.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18bd368728SMarko Zec.\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
19bd368728SMarko Zec.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20bd368728SMarko Zec.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21bd368728SMarko Zec.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22bd368728SMarko Zec.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23bd368728SMarko Zec.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24bd368728SMarko Zec.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25bd368728SMarko Zec.\" POSSIBILITY OF SUCH DAMAGE.
26bd368728SMarko Zec.\"
27bd368728SMarko Zec.\" $FreeBSD$
28bd368728SMarko Zec.\"
29bd368728SMarko Zec.Dd August 30, 2020
30bd368728SMarko Zec.Dt SUME 4
31bd368728SMarko Zec.Os
32bd368728SMarko Zec.Sh NAME
33bd368728SMarko Zec.Nm sume
34bd368728SMarko Zec.Nd "NetFPGA SUME 4x10Gb Ethernet driver"
35bd368728SMarko Zec.Sh SYNOPSIS
36bd368728SMarko ZecTo compile this driver into the kernel, place the following lines
37bd368728SMarko Zecin your kernel configuration file:
38bd368728SMarko Zec.Bd -ragged -offset indent
39bd368728SMarko Zec.Cd "device sume"
40bd368728SMarko Zec.Ed
41bd368728SMarko Zec.Pp
42bd368728SMarko ZecAlternatively, to load the driver as a module at boot time, place
43bd368728SMarko Zecthe following line in
44bd368728SMarko Zec.Xr loader.conf 5 :
45bd368728SMarko Zec.Bd -literal -offset indent
46bd368728SMarko Zecif_sume_load="YES"
47bd368728SMarko Zec.Ed
48bd368728SMarko Zec.Sh DESCRIPTION
49bd368728SMarko ZecThe
50bd368728SMarko Zec.Nm
51bd368728SMarko Zecdriver provides support for NetFPGA SUME Virtex-7 FPGA Development Board
52bd368728SMarko Zecwith the reference NIC bitstream loaded onto it.
53bd368728SMarko ZecThe HDL design for the reference NIC project uses the RIFFA based DMA
54bd368728SMarko Zecengine to communicate with the host machine over PCIe.
55bd368728SMarko ZecEvery packet is transmitted to / from the board via a single DMA
56bd368728SMarko Zectransaction, taking up to two or three interrupts per one transaction
57bd368728SMarko Zecwhich yields low performance.
58bd368728SMarko Zec.Pp
59bd368728SMarko ZecThere is no support for Jumbo frames as the hardware is capable of
60bd368728SMarko Zecdealing only with frames with maximum size of 1514 bytes.
61bd368728SMarko ZecThe hardware does not support multicast filtering, provides no checksums,
62bd368728SMarko Zecand offers no other offloading.
63bd368728SMarko Zec.Sh SEE ALSO
64bd368728SMarko Zec.Xr arp 4 ,
65bd368728SMarko Zec.Xr netgraph 4 ,
66bd368728SMarko Zec.Xr netintro 4 ,
67bd368728SMarko Zec.Xr ng_ether 4 ,
68bd368728SMarko Zec.Xr vlan 4 ,
69bd368728SMarko Zec.Xr ifconfig 8
70bd368728SMarko Zec.Sh AUTHORS
71bd368728SMarko ZecThe Linux
72bd368728SMarko Zec.Nm
73bd368728SMarko Zecdriver was originally written by
74bd368728SMarko Zec.An -nosplit
75bd368728SMarko Zec.An Bjoern A. Zeeb .
76bd368728SMarko ZecThe
77bd368728SMarko Zec.Fx version and this manual page were written by
78bd368728SMarko Zec.An Denis Salopek
79bd368728SMarko Zecas a GSoC project.
80bd368728SMarko ZecMore information about the project can be found here:
81bd368728SMarko Zec.Pa https://wiki.freebsd.org/SummerOfCode2020Projects/NetFPGA_SUME_Driver
82bd368728SMarko Zec.Sh BUGS
83bd368728SMarko ZecThe reference NIC hardware design provides no mechanism for quiescing
84bd368728SMarko Zecinbound traffic from interfaces configured as DOWN.
85bd368728SMarko ZecAll packets from administratively disabled interfaces are transferred to
86bd368728SMarko Zecmain memory, leaving the driver with the task of dropping such packets,
87bd368728SMarko Zecthus consuming PCI bandwidth, interrupts and CPU cycles in vain.
88bd368728SMarko Zec.Pp
89bd368728SMarko ZecPre-built FPGA bitstream from the NetFPGA project may not work correctly.
90bd368728SMarko ZecAt higher RX packet rates, the newly incoming packets can overwrite the
91bd368728SMarko Zecones in an internal FIFO so the packets would arrive in main memory
92bd368728SMarko Zeccorrupted, until a physical reset of the board.
93bd368728SMarko Zec.Pp
94bd368728SMarko ZecOccasionally, the driver can get stuck in a non-IDLE TX state due to
95bd368728SMarko Zeca missed interrupt.
96bd368728SMarko ZecThe driver includes a watchdog function which monitors for such a
97bd368728SMarko Zeccondition and resets the board automatically.
98bd368728SMarko ZecFor more details, visit the NetFPGA SUME project site.
99