Author: hselasky
Date: Thu Nov 19 12:55:43 2015
New Revision: 291072
URL: https://svnweb.freebsd.org/changeset/base/291072

Log:
  Add the mlx5 and mlx5en modules to the i386 and amd64 kernel builds by
  default and add a manual page for mlx5en. The mlx5 module contains
  shared code for both infiniband and ethernet. The mlx5en module
  contains specific code for ethernet functionality only. A mlx5ib
  module is in the works for infiniband support.
  
  Supported hardware:
  - ConnectX-4: 10/20/25/40/50/56/100Gb/s speeds.
  - ConnectX-4 LX: 10/25/40/50Gb/s speeds (low power consumption)
  
  Refer to the mlx5en(4) manual page for a comprehensive list.
  
  The team porting the mlx5 driver(s) to FreeBSD:
  - Hans Petter Selasky <[email protected]>
  - Oded Shanoon <[email protected]>
  - Meny Yossefi <[email protected]>
  - Shany Michaely <[email protected]>
  - Shahar Klein <[email protected]>
  - Daria Genzel <[email protected]>
  - Mark Bloch <[email protected]>
  
  Differential Revision:        https://reviews.freebsd.org/D4163
  Submitted by: Mark Block <[email protected]>
  Sponsored by: Mellanox Technologies
  Reviewed by:  gnn @
  MFC after:    3 days

Added:
  head/share/man/man4/mlx5en.4   (contents, props changed)
Modified:
  head/share/man/man4/Makefile
  head/sys/conf/NOTES
  head/sys/conf/files
  head/sys/modules/Makefile

Modified: head/share/man/man4/Makefile
==============================================================================
--- head/share/man/man4/Makefile        Thu Nov 19 12:03:11 2015        
(r291071)
+++ head/share/man/man4/Makefile        Thu Nov 19 12:55:43 2015        
(r291072)
@@ -274,6 +274,7 @@ MAN=        aac.4 \
        mk48txx.4 \
        mld.4 \
        mlx.4 \
+       mlx5en.4 \
        mly.4 \
        mmc.4 \
        mmcsd.4 \
@@ -652,6 +653,7 @@ MLINKS+=lp.4 plip.4
 MLINKS+=malo.4 if_malo.4
 MLINKS+=md.4 vn.4
 MLINKS+=mem.4 kmem.4
+MLINKS+=mlx5en.4 mce.4
 MLINKS+=mn.4 if_mn.4
 MLINKS+=mos.4 if_mos.4
 MLINKS+=msk.4 if_msk.4

Added: head/share/man/man4/mlx5en.4
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/share/man/man4/mlx5en.4        Thu Nov 19 12:55:43 2015        
(r291072)
@@ -0,0 +1,124 @@
+.\" Copyright (c) 2015 Mellanox Technologies
+.\" All rights reserved.
+.\"
+.\" 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 AUTHOR 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 AUTHOR 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 November 15, 2015
+.Dt mlx5en 4
+.Os
+.Sh NAME
+.Nm mlx5en
+.Nd "Mellanox ConnectX-4 and ConnectX-4 LX based 100Gb, 50Gb, 40Gb, 25Gb and 
10Gb Ethernet adapter driver"
+.Sh SYNOPSIS
+To compile this driver into the kernel,
+place the following lines in your
+kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "options COMPAT_LINUXKPI"
+.Cd "device mlx5"
+.Cd "device mlx5en"
+.Ed
+.Pp
+To load the driver as a
+module at boot time, place the following lines in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+mlx5en_load="YES"
+.Ed
+.Sh DESCRIPTION
+The
+.Nm
+driver provides support for PCI Express Ethernet adapters based on
+ConnectX-4 and ConnectX-4 LX.
+The driver supports Jumbo Frames, Transmit/Receive checksum offload,
+TCP segmentation offload (TSO), Large Receive Offload (LRO),
+HW  Large Receive Offload (HW LRO), VLAN tag insertion/extraction,
+VLAN checksum offload, VLAN TSO, and Receive Side Steering (RSS).
+.br
+The network Interface is named mce.
+.br
+For further hardware information and questions related to hardware
+requirements, see
+.Pa http://www.mellanox.com/ .
+.Pp
+For more information on configuring this device, see
+.Xr ifconfig 8 .
+.Sh HARDWARE
+The
+.Nm
+driver supports 100Gb, 50Gb, 40Gb, 25Gb and 10Gb Ethernet adapters.
+ConnectX-4 supports:10/20/25/40/50/56/100Gb/s speeds.
+ConnectX-4 LX supports:10/25/40/50Gb/s speeds (and reduced power consumption) :
+.Pp
+.Bl -bullet -compact
+.It
+Mellanox MCX455A-ECAT
+.It
+Mellanox MCX456A-ECAT
+.It
+Mellanox MCX415A-CCAT
+.It
+Mellanox MCX416A-CCAT
+.It
+Mellanox MCX455A-FCAT
+.It
+Mellanox MCX456A-FCAT
+.It
+Mellanox MCX415A-BCAT
+.It
+Mellanox MCX416A-BCAT
+.It
+Mellanox MCX4131A-GCAT
+.It
+Mellanox MCX4131A-BCAT
+.It
+Mellanox MCX4121A-ACAT
+.It
+Mellanox MCX4111A-ACAT
+.It
+Mellanox MCX4121A-XCAT
+.It
+Mellanox MCX4111A-XCAT
+.El
+.Sh SUPPORT
+For general information and support,
+go to the Mellanox support website at:
+.Pa http://www.mellanox.com/ .
+.Pp
+If an issue is identified with this driver with a supported adapter,
+email all the specific information related to the issue to
+.Aq Mt [email protected] .
+.Sh SEE ALSO
+.Xr ifconfig 8
+.Sh HISTORY
+The
+.Nm
+device driver first appeared in
+.Fx 11.0 .
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+driver was written by
+.An Mellanox Technologies <[email protected]> .

Modified: head/sys/conf/NOTES
==============================================================================
--- head/sys/conf/NOTES Thu Nov 19 12:03:11 2015        (r291071)
+++ head/sys/conf/NOTES Thu Nov 19 12:55:43 2015        (r291072)
@@ -1963,6 +1963,8 @@ device            xmphy           # XaQti XMAC II
 #      88E8062, 88E8035, 88E8036, 88E8038, 88E8050, 88E8052, 88E8053,
 #      88E8055, 88E8056 and D-Link 560T/550SX.
 # lmc: Support for the LMC/SBE wide-area network interface cards.
+# mlx5:        Mellanox ConnectX-4 and ConnectX-4 LX IB and Eth shared code 
module.
+# mlx5en:Mellanox ConnectX-4 and ConnectX-4 LX PCIe Ethernet adapters.
 # my:  Myson Fast Ethernet (MTD80X, MTD89X)
 # nge: Support for PCI gigabit ethernet adapters based on the National
 #      Semiconductor DP83820 and DP83821 chipset. This includes the
@@ -2081,6 +2083,8 @@ device            gem             # Apple GMAC/Sun 
ERI/Sun GE
 device         hme             # Sun HME (Happy Meal Ethernet)
 device         jme             # JMicron JMC250 Gigabit/JMC260 Fast Ethernet
 device         lge             # Level 1 LXT1001 gigabit Ethernet
+device         mlx5            # Shared code module between IB and Ethernet
+device         mlx5en          # Mellanox ConnectX-4 and ConnectX-4 LX
 device         msk             # Marvell/SysKonnect Yukon II Gigabit Ethernet
 device         my              # Myson Fast Ethernet (MTD80X, MTD89X)
 device         nge             # NatSemi DP83820 gigabit Ethernet

Modified: head/sys/conf/files
==============================================================================
--- head/sys/conf/files Thu Nov 19 12:03:11 2015        (r291071)
+++ head/sys/conf/files Thu Nov 19 12:55:43 2015        (r291072)
@@ -4052,6 +4052,60 @@ ofed/drivers/net/mlx4/en_tx.c                    optional
        no-depend obj-prefix "mlx4_"                                    \
        compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
 
+dev/mlx5/mlx5_core/mlx5_alloc.c                        optional mlx5 pci       
\
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_core/mlx5_cmd.c                  optional mlx5 pci       \
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_core/mlx5_cq.c                   optional mlx5 pci       \
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_core/mlx5_eq.c                   optional mlx5 pci       \
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_core/mlx5_flow_table.c           optional mlx5 pci       \
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_core/mlx5_fw.c                   optional mlx5 pci       \
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_core/mlx5_health.c               optional mlx5 pci       \
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_core/mlx5_mad.c                  optional mlx5 pci       \
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_core/mlx5_main.c                 optional mlx5 pci       \
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_core/mlx5_mcg.c                  optional mlx5 pci       \
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_core/mlx5_mr.c                   optional mlx5 pci       \
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_core/mlx5_pagealloc.c            optional mlx5 pci       \
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_core/mlx5_pd.c                   optional mlx5 pci       \
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_core/mlx5_port.c                 optional mlx5 pci       \
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_core/mlx5_qp.c                   optional mlx5 pci       \
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_core/mlx5_srq.c                  optional mlx5 pci       \
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_core/mlx5_transobj.c             optional mlx5 pci       \
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_core/mlx5_uar.c                  optional mlx5 pci       \
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_core/mlx5_vport.c                        optional mlx5 pci       
\
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_core/mlx5_wq.c                   optional mlx5 pci       \
+       no-depend compile-with "${OFED_C}"
+
+dev/mlx5/mlx5_en/mlx5_en_ethtool.c             optional mlx5en pci inet inet6  
\
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_en/mlx5_en_main.c                        optional mlx5en pci 
inet inet6  \
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_en/mlx5_en_tx.c                  optional mlx5en pci inet inet6  
\
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_en/mlx5_en_flow_table.c          optional mlx5en pci inet inet6  
\
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_en/mlx5_en_rx.c                  optional mlx5en pci inet inet6  
\
+       no-depend compile-with "${OFED_C}"
+dev/mlx5/mlx5_en/mlx5_en_txrx.c                        optional mlx5en pci 
inet inet6  \
+       no-depend compile-with "${OFED_C}"
+
 ofed/drivers/infiniband/hw/mthca/mthca_allocator.c     optional mthca  \
        no-depend compile-with "${OFED_C}"
 ofed/drivers/infiniband/hw/mthca/mthca_av.c            optional mthca  \

Modified: head/sys/modules/Makefile
==============================================================================
--- head/sys/modules/Makefile   Thu Nov 19 12:03:11 2015        (r291071)
+++ head/sys/modules/Makefile   Thu Nov 19 12:55:43 2015        (r291072)
@@ -226,6 +226,8 @@ SUBDIR=     \
        ${_mlx4} \
        ${_mlx4ib} \
        ${_mlxen} \
+       ${_mlx5} \
+       ${_mlx5en} \
        ${_mly} \
        mmc \
        mmcsd \
@@ -608,6 +610,11 @@ _mlx4=             mlx4
 _mlx4ib=       mlx4ib
 _mlxen=                mlxen
 .endif
+_mlx5=         mlx5
+.if (${MK_INET_SUPPORT} != "no" && ${MK_INET6_SUPPORT} != "no") || \
+       defined(ALL_MODULES)
+_mlx5en=       mlx5en
+.endif
 _mly=          mly
 .if ${MK_OFED} != "no" || defined(ALL_MODULES)
 _mthca=                mthca
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to