Index: share/man/man4/Makefile =================================================================== --- share/man/man4/Makefile +++ share/man/man4/Makefile @@ -274,6 +274,7 @@ mk48txx.4 \ mld.4 \ mlx.4 \ + mlx5en.4 \ mly.4 \ mmc.4 \ mmcsd.4 \ @@ -652,6 +653,7 @@ 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 Index: share/man/man4/mlx5en.4 =================================================================== --- /dev/null +++ share/man/man4/mlx5en.4 @@ -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@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 . Index: sys/conf/NOTES =================================================================== --- sys/conf/NOTES +++ sys/conf/NOTES @@ -1963,6 +1963,8 @@ # 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,7 @@ device hme # Sun HME (Happy Meal Ethernet) device jme # JMicron JMC250 Gigabit/JMC260 Fast Ethernet device lge # Level 1 LXT1001 gigabit 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 Index: sys/conf/files =================================================================== --- sys/conf/files +++ sys/conf/files @@ -4052,6 +4052,60 @@ 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 \ Index: sys/modules/Makefile =================================================================== --- sys/modules/Makefile +++ sys/modules/Makefile @@ -226,6 +226,8 @@ ${_mlx4} \ ${_mlx4ib} \ ${_mlxen} \ + ${_mlx5} \ + ${_mlx5en} \ ${_mly} \ mmc \ mmcsd \ @@ -608,6 +610,11 @@ _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