Author: zec
Date: Sun Sep  6 10:18:59 2020
New Revision: 365374
URL: https://svnweb.freebsd.org/changeset/base/365374

Log:
  MFC r364973:
  
  Driver for 4x10Gb Ethernet reference NIC FPGA design for NetFPGA SUME
  development board.
  
  Submitted by: Denis Salopek <denis.salopek AT fer.hr>
  Reviewed by: zec, bz (src); rgrimes, bcr (manpages)
  Sponsored by: Google Summer of Code 2020
  Differential Revision: https://reviews.freebsd.org/D26074

Added:
  stable/12/share/man/man4/sume.4
     - copied unchanged from r364973, head/share/man/man4/sume.4
  stable/12/sys/dev/sume/
     - copied from r364973, head/sys/dev/sume/
  stable/12/sys/modules/sume/
     - copied from r364973, head/sys/modules/sume/
Modified:
  stable/12/share/man/man4/Makefile
  stable/12/sys/conf/files.amd64
  stable/12/sys/modules/Makefile
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/share/man/man4/Makefile
==============================================================================
--- stable/12/share/man/man4/Makefile   Sun Sep  6 09:08:06 2020        
(r365373)
+++ stable/12/share/man/man4/Makefile   Sun Sep  6 10:18:59 2020        
(r365374)
@@ -532,6 +532,7 @@ MAN=        aac.4 \
        stf.4 \
        stg.4 \
        stge.4 \
+       ${_sume.4} \
        ${_superio.4} \
        sym.4 \
        syncache.4 \
@@ -881,12 +882,14 @@ _qlxgbe.4=        qlxgbe.4
 _qlnxe.4=      qlnxe.4
 _sfxge.4=      sfxge.4
 _smartpqi.4=   smartpqi.4
+_sume.4=       sume.4
 
 MLINKS+=qlxge.4 if_qlxge.4
 MLINKS+=qlxgb.4 if_qlxgb.4
 MLINKS+=qlxgbe.4 if_qlxgbe.4
 MLINKS+=qlnxe.4 if_qlnxe.4
 MLINKS+=sfxge.4 if_sfxge.4
+MLINKS+=sume.4 if_sume.4
 
 .if ${MK_BHYVE} != "no"
 _bhyve.4=      bhyve.4

Copied: stable/12/share/man/man4/sume.4 (from r364973, 
head/share/man/man4/sume.4)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ stable/12/share/man/man4/sume.4     Sun Sep  6 10:18:59 2020        
(r365374, copy of r364973, head/share/man/man4/sume.4)
@@ -0,0 +1,98 @@
+.\"-
+.\" SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+.\"
+.\" Copyright (c) 2020 Denis Salopek
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+.\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+.\" POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd August 30, 2020
+.Dt SUME 4
+.Os
+.Sh NAME
+.Nm sume
+.Nd "NetFPGA SUME 4x10Gb Ethernet driver"
+.Sh SYNOPSIS
+To compile this driver into the kernel, place the following lines
+in your kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device sume"
+.Ed
+.Pp
+Alternatively, to load the driver as a module at boot time, place
+the following line in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+if_sume_load="YES"
+.Ed
+.Sh DESCRIPTION
+The
+.Nm
+driver provides support for NetFPGA SUME Virtex-7 FPGA Development Board
+with the reference NIC bitstream loaded onto it.
+The HDL design for the reference NIC project uses the RIFFA based DMA
+engine to communicate with the host machine over PCIe.
+Every packet is transmitted to / from the board via a single DMA
+transaction, taking up to two or three interrupts per one transaction
+which yields low performance.
+.Pp
+There is no support for Jumbo frames as the hardware is capable of
+dealing only with frames with maximum size of 1514 bytes.
+The hardware does not support multicast filtering, provides no checksums,
+and offers no other offloading.
+.Sh SEE ALSO
+.Xr arp 4 ,
+.Xr netgraph 4 ,
+.Xr netintro 4 ,
+.Xr ng_ether 4 ,
+.Xr vlan 4 ,
+.Xr ifconfig 8
+.Sh AUTHORS
+The Linux
+.Nm
+driver was originally written by
+.An -nosplit
+.An Bjoern A. Zeeb .
+The
+.Fx version and this manual page were written by
+.An Denis Salopek
+as a GSoC project.
+More information about the project can be found here:
+.Pa https://wiki.freebsd.org/SummerOfCode2020Projects/NetFPGA_SUME_Driver
+.Sh BUGS
+The reference NIC hardware design provides no mechanism for quiescing
+inbound traffic from interfaces configured as DOWN.
+All packets from administratively disabled interfaces are transferred to
+main memory, leaving the driver with the task of dropping such packets,
+thus consuming PCI bandwidth, interrupts and CPU cycles in vain.
+.Pp
+Pre-built FPGA bitstream from the NetFPGA project may not work correctly.
+At higher RX packet rates, the newly incoming packets can overwrite the
+ones in an internal FIFO so the packets would arrive in main memory
+corrupted, until a physical reset of the board.
+.Pp
+Occasionally, the driver can get stuck in a non-IDLE TX state due to
+a missed interrupt.
+The driver includes a watchdog function which monitors for such a
+condition and resets the board automatically.
+For more details, visit the NetFPGA SUME project site.

Modified: stable/12/sys/conf/files.amd64
==============================================================================
--- stable/12/sys/conf/files.amd64      Sun Sep  6 09:08:06 2020        
(r365373)
+++ stable/12/sys/conf/files.amd64      Sun Sep  6 10:18:59 2020        
(r365374)
@@ -493,6 +493,7 @@ dev/smartpqi/smartpqi_response.c    optional        smartpqi
 dev/smartpqi/smartpqi_sis.c     optional       smartpqi
 dev/smartpqi/smartpqi_tag.c     optional       smartpqi
 dev/speaker/spkr.c             optional        speaker
+dev/sume/if_sume.c             optional        sume
 dev/superio/superio.c          optional        superio isa
 dev/syscons/apm/apm_saver.c    optional        apm_saver apm
 dev/syscons/scterm-teken.c     optional        sc

Modified: stable/12/sys/modules/Makefile
==============================================================================
--- stable/12/sys/modules/Makefile      Sun Sep  6 09:08:06 2020        
(r365373)
+++ stable/12/sys/modules/Makefile      Sun Sep  6 10:18:59 2020        
(r365374)
@@ -372,6 +372,7 @@ SUBDIR=     \
        ste \
        ${_stg} \
        stge \
+       ${_sume} \
        ${_superio} \
        ${_sym} \
        ${_syscons} \
@@ -752,6 +753,7 @@ _nvdimm=    nvdimm
 _pms=          pms
 _qlxge=                qlxge
 _qlxgb=                qlxgb
+_sume=         sume
 .if ${MK_SOURCELESS_UCODE} != "no"
 _qlxgbe=       qlxgbe
 _qlnx=         qlnx
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to