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