git: f967592923a2 - 2024Q1 - net/realrek-re-kmod198: add port for 198 version

From: Koichiro Iwao <meta_at_FreeBSD.org>
Date: Thu, 14 Mar 2024 02:06:08 UTC
The branch 2024Q1 has been updated by meta:

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

commit f967592923a21e7b44c11a45f7a241439a97f163
Author:     Koichiro Iwao <meta@FreeBSD.org>
AuthorDate: 2024-03-13 08:52:50 +0000
Commit:     Koichiro Iwao <meta@FreeBSD.org>
CommitDate: 2024-03-14 02:04:19 +0000

    net/realrek-re-kmod198: add port for 198 version
    
    as a workaround for bug 275882. This port can be retired when the bug is
    resolved completely.
    
    Many people need the 198 version because of the hang-up issue. Another
    set of people need 199 because of another issue. This port is needed to
    satisfy both sets of people until complete until a complete solution for
    275882 is found.
    
    PR:             275882
    Sponsored by:   Cybertrust Japan
    
    (cherry picked from commit b770c919121526ebbf61b81fd6b832619319df60)
---
 net/Makefile                       |  1 +
 net/realtek-re-kmod198/Makefile    | 23 +++++++++++++++++++++++
 net/realtek-re-kmod198/distinfo    |  3 +++
 net/realtek-re-kmod198/pkg-descr   | 25 +++++++++++++++++++++++++
 net/realtek-re-kmod198/pkg-message | 22 ++++++++++++++++++++++
 5 files changed, 74 insertions(+)

diff --git a/net/Makefile b/net/Makefile
index 409dae9883a5..efc5fdb15241 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -1205,6 +1205,7 @@
     SUBDIR += rdist6
     SUBDIR += read_bbrlog
     SUBDIR += realtek-re-kmod
+    SUBDIR += realtek-re-kmod198
     SUBDIR += reaver
     SUBDIR += recvnet
     SUBDIR += redir
diff --git a/net/realtek-re-kmod198/Makefile b/net/realtek-re-kmod198/Makefile
new file mode 100644
index 000000000000..32fcf4d7a800
--- /dev/null
+++ b/net/realtek-re-kmod198/Makefile
@@ -0,0 +1,23 @@
+PORTNAME=	re
+PORTVERSION=	198.00
+DISTVERSIONPREFIX=	v
+CATEGORIES=	net
+PKGNAMEPREFIX=	realtek-
+PKGNAMESUFFIX=	-kmod198
+
+MAINTAINER=	meta@FreeBSD.org
+COMMENT=	Kernel driver for Realtek PCIe Ethernet Controllers
+WWW=		https://github.com/alexdupre/rtl_bsd_drv
+
+LICENSE=	BSD4CLAUSE
+
+USES=		kmod tar:tgz uidfix
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	alexdupre
+GH_PROJECT=	rtl_bsd_drv
+GH_TAGNAME=	d3a7a3d
+
+PLIST_FILES=	${KMODDIR}/if_re.ko
+
+.include <bsd.port.mk>
diff --git a/net/realtek-re-kmod198/distinfo b/net/realtek-re-kmod198/distinfo
new file mode 100644
index 000000000000..fffba63c3ca5
--- /dev/null
+++ b/net/realtek-re-kmod198/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1689608993
+SHA256 (alexdupre-rtl_bsd_drv-v198.00-d3a7a3d_GH0.tar.gz) = 43ff94e41a4c674143f9a37299c40b92fd7f94a25fa33cf253114eda0f9f49fa
+SIZE (alexdupre-rtl_bsd_drv-v198.00-d3a7a3d_GH0.tar.gz) = 132723
diff --git a/net/realtek-re-kmod198/pkg-descr b/net/realtek-re-kmod198/pkg-descr
new file mode 100644
index 000000000000..8f2ccbde49e5
--- /dev/null
+++ b/net/realtek-re-kmod198/pkg-descr
@@ -0,0 +1,25 @@
+Realtek PCIe FE / GBE / 2.5G / Gaming Ethernet Family Controller
+kernel driver.
+
+This is the official driver from Realtek with a few patches to
+improve stability and performance. It can be loaded instead of
+the FreeBSD driver built into the GENERIC kernel if you experience
+issues with it (eg. watchdog timeouts), or your card is not supported.
+
+Supported devices:
+
+* 2.5G Gigabit Ethernet
+  - RTL8125 / RTL8125B(S)(G)
+
+* 10/100/1000M Gigabit Ethernet
+  - RTL8111B / RTL8111C / RTL8111D / RTL8111E / RTL8111F / RTL8111G(S)
+    RTL8111H(S) / RTL8118(A)(S) / RTL8119i / RTL8111L / RTL8111K
+  - RTL8168B / RTL8168E / RTL8168H
+  - RTL8111DP / RTL8111EP / RTL8111FP
+  - RTL8411 / RTL8411B
+
+* 10/100M Fast Ethernet
+  - RTL8101E / RTL8102E / RTL8103E / RTL8105E / RTL8106E / RTL8107E
+  - RTL8401 / RTL8402
+
+See also: https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-pci-express-software
diff --git a/net/realtek-re-kmod198/pkg-message b/net/realtek-re-kmod198/pkg-message
new file mode 100644
index 000000000000..223da6049f14
--- /dev/null
+++ b/net/realtek-re-kmod198/pkg-message
@@ -0,0 +1,22 @@
+[
+{ type: install
+  message: <<EOM
+Add the following lines to your /boot/loader.conf
+to override the built-in FreeBSD re(4) driver.
+
+if_re_load="YES"
+if_re_name="/boot/modules/if_re.ko"
+
+By default, the size of allocated mbufs is enough
+to receive the largest Ethernet frame supported
+by the card.  If your memory is highly fragmented,
+trying to allocate contiguous pages (more than
+4096 bytes) may result in driver hangs.
+For this reason the value is tunable at boot time,
+e.g. if you don't need Jumbo frames you can lower
+the memory requirements and avoid this issue with:
+
+hw.re.max_rx_mbuf_sz="2048"
+EOM
+}
+]