svn commit: r291072 - in head: share/man/man4 sys/conf sys/modules
Hans Petter Selasky
hselasky at FreeBSD.org
Thu Nov 19 12:55:45 UTC 2015
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 <hselasky at freebsd.org>
- Oded Shanoon <odeds at mellanox.com>
- Meny Yossefi <menyy at mellanox.com>
- Shany Michaely <shanim at mellanox.com>
- Shahar Klein <shahark at mellanox.com>
- Daria Genzel <dariaz at mellanox.com>
- Mark Bloch <markb at mellanox.com>
Differential Revision: https://reviews.freebsd.org/D4163
Submitted by: Mark Block <markb at mellanox.com>
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 freebsd-drivers at mellanox.com .
+.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 <freebsd-drivers at mellanox.com> .
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
More information about the svn-src-head
mailing list