git: b172a2c10e21 - main - net/intel-ice-kmod: add a port for Intel 100G driver

From: Piotr Kubaj <pkubaj_at_FreeBSD.org>
Date: Mon, 12 Jun 2023 15:14:33 UTC
The branch main has been updated by pkubaj:

URL: https://cgit.FreeBSD.org/ports/commit/?id=b172a2c10e21c0881b48e0d4a7ca80ca83ca93dd

commit b172a2c10e21c0881b48e0d4a7ca80ca83ca93dd
Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2023-06-12 15:13:33 +0000
Commit:     Piotr Kubaj <pkubaj@FreeBSD.org>
CommitDate: 2023-06-12 15:14:21 +0000

    net/intel-ice-kmod: add a port for Intel 100G driver
---
 net/Makefile                                    |  1 +
 net/intel-ice-kmod/Makefile                     | 23 +++++++++++++++++++++++
 net/intel-ice-kmod/distinfo                     |  3 +++
 net/intel-ice-kmod/files/patch-if__ice__iflib.c | 15 +++++++++++++++
 net/intel-ice-kmod/pkg-descr                    |  5 +++++
 net/intel-ixl-kmod/Makefile                     |  2 +-
 6 files changed, 48 insertions(+), 1 deletion(-)

diff --git a/net/Makefile b/net/Makefile
index b055b2dca592..c39e28085fe8 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -276,6 +276,7 @@
     SUBDIR += imapproxy
     SUBDIR += incidenceeditor
     SUBDIR += intel-em-kmod
+    SUBDIR += intel-ice-kmod
     SUBDIR += intel-igb-kmod
     SUBDIR += intel-ix-kmod
     SUBDIR += intel-ixl-kmod
diff --git a/net/intel-ice-kmod/Makefile b/net/intel-ice-kmod/Makefile
new file mode 100644
index 000000000000..b130e9f67c95
--- /dev/null
+++ b/net/intel-ice-kmod/Makefile
@@ -0,0 +1,23 @@
+PORTNAME=	ice
+PORTVERSION=	1.37.11
+PORTEPOCH=	0
+MASTER_SITES?=	https://downloadmirror.intel.com/772531/
+
+MAINTAINER=	freebsd@intel.com
+COMMENT=	IntelĀ® Network Adapter Driver for E810 Series Devices
+
+MANPAGENAME=	ice
+MANPAGELINKS=	if_ice
+
+MASTERDIR=	${.CURDIR}/../intel-ixl-kmod
+PATCHDIR=	${.CURDIR}/files
+PKGDIR=		${.CURDIR}
+DISTINFO_FILE=	${.CURDIR}/distinfo
+WRKSRC_SUBDIR=
+
+OPTIONS_DEFINE=	SRIOV
+SRIOV_DESC=	Enable SR-IOV support (experimental)
+SRIOV_MAKE_ENV=	SRIOV_ENABLE=1
+SRIOV_MAKE_ENV_OFF=	SRIOV_ENABLE=0
+
+.include "${MASTERDIR}/Makefile"
diff --git a/net/intel-ice-kmod/distinfo b/net/intel-ice-kmod/distinfo
new file mode 100644
index 000000000000..fd2db4b388a5
--- /dev/null
+++ b/net/intel-ice-kmod/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1686582215
+SHA256 (ice-1.37.11.tar.gz) = 628675f6a5a4b72746365a8efb11b7758f781e8541f3de3ae47468b673e9c1f3
+SIZE (ice-1.37.11.tar.gz) = 578969
diff --git a/net/intel-ice-kmod/files/patch-if__ice__iflib.c b/net/intel-ice-kmod/files/patch-if__ice__iflib.c
new file mode 100644
index 000000000000..c707afff4120
--- /dev/null
+++ b/net/intel-ice-kmod/files/patch-if__ice__iflib.c
@@ -0,0 +1,15 @@
+--- if_ice_iflib.c.orig	2023-06-12 15:11:11 UTC
++++ if_ice_iflib.c
+@@ -287,8 +287,12 @@ static struct if_shared_ctx ice_sctx = {
+  *
+  * device class used to setup the ice driver module kobject class.
+  */
++#if __FreeBSD_version >= 1400058
++DRIVER_MODULE(ice, pci, ice_driver, ice_module_event_handler, 0);
++#else
+ devclass_t ice_devclass;
+ DRIVER_MODULE(ice, pci, ice_driver, ice_devclass, ice_module_event_handler, 0);
++#endif
+ 
+ MODULE_VERSION(ice, 1);
+ MODULE_DEPEND(ice, pci, 1, 1, 1);
diff --git a/net/intel-ice-kmod/pkg-descr b/net/intel-ice-kmod/pkg-descr
new file mode 100644
index 000000000000..859a6feaa28b
--- /dev/null
+++ b/net/intel-ice-kmod/pkg-descr
@@ -0,0 +1,5 @@
+This release includes the 10 gigabit FreeBSD*-based driver for Intel(R) Network
+Connections.
+
+The ix driver supports all 10 gigabit network connections based on
+82599, 82598EB, X520, X540, and X550 series controllers.
diff --git a/net/intel-ixl-kmod/Makefile b/net/intel-ixl-kmod/Makefile
index 423ee68cd4ba..8b23ac4fbb56 100644
--- a/net/intel-ixl-kmod/Makefile
+++ b/net/intel-ixl-kmod/Makefile
@@ -27,7 +27,7 @@ NETMAP_OFF_DESC=	Disable netmap(4) support unconditionally
 NETMAP_ON_CFLAGS=	-DDEV_NETMAP
 NETMAP_OFF_CFLAGS=	-UDEV_NETMAP
 
-WRKSRC_SUBDIR=	src
+WRKSRC_SUBDIR?=	src
 
 SUB_FILES=	pkg-message
 SUB_LIST=	PORTNAME=${PORTNAME}