xref: /freebsd/share/man/man4/sume.4 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
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.Dd August 30, 2020
28bd368728SMarko Zec.Dt SUME 4
29bd368728SMarko Zec.Os
30bd368728SMarko Zec.Sh NAME
31bd368728SMarko Zec.Nm sume
32bd368728SMarko Zec.Nd "NetFPGA SUME 4x10Gb Ethernet driver"
33bd368728SMarko Zec.Sh SYNOPSIS
34bd368728SMarko ZecTo compile this driver into the kernel, place the following lines
35bd368728SMarko Zecin your kernel configuration file:
36bd368728SMarko Zec.Bd -ragged -offset indent
37bd368728SMarko Zec.Cd "device sume"
38bd368728SMarko Zec.Ed
39bd368728SMarko Zec.Pp
40bd368728SMarko ZecAlternatively, to load the driver as a module at boot time, place
41bd368728SMarko Zecthe following line in
42bd368728SMarko Zec.Xr loader.conf 5 :
43bd368728SMarko Zec.Bd -literal -offset indent
44bd368728SMarko Zecif_sume_load="YES"
45bd368728SMarko Zec.Ed
46bd368728SMarko Zec.Sh DESCRIPTION
47bd368728SMarko ZecThe
48bd368728SMarko Zec.Nm
49bd368728SMarko Zecdriver provides support for NetFPGA SUME Virtex-7 FPGA Development Board
50bd368728SMarko Zecwith the reference NIC bitstream loaded onto it.
51bd368728SMarko ZecThe HDL design for the reference NIC project uses the RIFFA based DMA
52bd368728SMarko Zecengine to communicate with the host machine over PCIe.
53bd368728SMarko ZecEvery packet is transmitted to / from the board via a single DMA
54bd368728SMarko Zectransaction, taking up to two or three interrupts per one transaction
55bd368728SMarko Zecwhich yields low performance.
56bd368728SMarko Zec.Pp
57bd368728SMarko ZecThere is no support for Jumbo frames as the hardware is capable of
58bd368728SMarko Zecdealing only with frames with maximum size of 1514 bytes.
59bd368728SMarko ZecThe hardware does not support multicast filtering, provides no checksums,
60bd368728SMarko Zecand offers no other offloading.
61bd368728SMarko Zec.Sh SEE ALSO
62bd368728SMarko Zec.Xr arp 4 ,
63bd368728SMarko Zec.Xr netgraph 4 ,
64bd368728SMarko Zec.Xr netintro 4 ,
65bd368728SMarko Zec.Xr ng_ether 4 ,
66bd368728SMarko Zec.Xr vlan 4 ,
67bd368728SMarko Zec.Xr ifconfig 8
68bd368728SMarko Zec.Sh AUTHORS
69bd368728SMarko ZecThe Linux
70bd368728SMarko Zec.Nm
71bd368728SMarko Zecdriver was originally written by
72bd368728SMarko Zec.An -nosplit
73bd368728SMarko Zec.An Bjoern A. Zeeb .
74bd368728SMarko ZecThe
75bd368728SMarko Zec.Fx version and this manual page were written by
76bd368728SMarko Zec.An Denis Salopek
77bd368728SMarko Zecas a GSoC project.
78bd368728SMarko ZecMore information about the project can be found here:
79bd368728SMarko Zec.Pa https://wiki.freebsd.org/SummerOfCode2020Projects/NetFPGA_SUME_Driver
80bd368728SMarko Zec.Sh BUGS
81bd368728SMarko ZecThe reference NIC hardware design provides no mechanism for quiescing
82bd368728SMarko Zecinbound traffic from interfaces configured as DOWN.
83bd368728SMarko ZecAll packets from administratively disabled interfaces are transferred to
84bd368728SMarko Zecmain memory, leaving the driver with the task of dropping such packets,
85bd368728SMarko Zecthus consuming PCI bandwidth, interrupts and CPU cycles in vain.
86bd368728SMarko Zec.Pp
87bd368728SMarko ZecPre-built FPGA bitstream from the NetFPGA project may not work correctly.
88bd368728SMarko ZecAt higher RX packet rates, the newly incoming packets can overwrite the
89bd368728SMarko Zecones in an internal FIFO so the packets would arrive in main memory
90bd368728SMarko Zeccorrupted, until a physical reset of the board.
91bd368728SMarko Zec.Pp
92bd368728SMarko ZecOccasionally, the driver can get stuck in a non-IDLE TX state due to
93bd368728SMarko Zeca missed interrupt.
94bd368728SMarko ZecThe driver includes a watchdog function which monitors for such a
95bd368728SMarko Zeccondition and resets the board automatically.
96bd368728SMarko ZecFor more details, visit the NetFPGA SUME project site.
97