git: 1977628f46f2 - main - net/realtek-rge-kmod: EXPERIMENTAL port for 2.5/5/10GBE Realtek cards

From: Bernard Spil <brnrd_at_FreeBSD.org>
Date: Tue, 02 Dec 2025 07:20:41 UTC
The branch main has been updated by brnrd:

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

commit 1977628f46f237926807d5e91567a2ea73396ecf
Author:     Bernard Spil <brnrd@FreeBSD.org>
AuthorDate: 2025-11-30 18:06:03 +0000
Commit:     Bernard Spil <brnrd@FreeBSD.org>
CommitDate: 2025-12-02 07:15:16 +0000

    net/realtek-rge-kmod: EXPERIMENTAL port for 2.5/5/10GBE Realtek cards
    
    OpenBSD driver for Realtek RTL8125/8126/8127 cards ported to FreeBSD
    for inclusion in -HEAD.
    
    Works for multiple people on 15.0, unknown status for older versions,
    does not build on 13.5 and older.
---
 net/Makefile                     |  1 +
 net/realtek-rge-kmod/Makefile    | 29 +++++++++++++++
 net/realtek-rge-kmod/distinfo    |  3 ++
 net/realtek-rge-kmod/files/rge.4 | 77 ++++++++++++++++++++++++++++++++++++++++
 net/realtek-rge-kmod/pkg-descr   | 21 +++++++++++
 net/realtek-rge-kmod/pkg-message | 24 +++++++++++++
 6 files changed, 155 insertions(+)

diff --git a/net/Makefile b/net/Makefile
index 57ed50aad4f6..fbc6f0b705e4 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -1238,6 +1238,7 @@
     SUBDIR += read_bbrlog
     SUBDIR += realtek-re-kmod
     SUBDIR += realtek-re-kmod198
+    SUBDIR += realtek-rge-kmod
     SUBDIR += reaver
     SUBDIR += recvnet
     SUBDIR += redir
diff --git a/net/realtek-rge-kmod/Makefile b/net/realtek-rge-kmod/Makefile
new file mode 100644
index 000000000000..00dcb1f8cba7
--- /dev/null
+++ b/net/realtek-rge-kmod/Makefile
@@ -0,0 +1,29 @@
+PORTNAME=	rge
+PORTVERSION=	20251129
+DISTVERSIONPREFIX=	v
+CATEGORIES=	net
+PKGNAMEPREFIX=	realtek-
+PKGNAMESUFFIX=	-kmod
+
+MAINTAINER=	brnrd@FreeBSD.org
+COMMENT=	EXPERIMENTAL Kernel module for Realtek 8125/8126/8217 network cards
+WWW=		https://github.com/erikarn/if_rge_freebsd
+
+LICENSE=	BSD
+
+USES=		kmod tar:tgz uidfix
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	erikarn
+GH_PROJECT=	if_rge_freebsd
+GH_TAGNAME=	d05b7b5
+
+WRKSRC_SUBDIR=	src
+
+PLIST_FILES=	${KMODDIR}/if_rge.ko \
+		share/man/man4/rge.4.gz
+
+post-install:
+	${INSTALL_MAN} ${FILESDIR}/rge.4 ${STAGEDIR}/${PREFIX}/share/man/man4
+
+.include <bsd.port.mk>
diff --git a/net/realtek-rge-kmod/distinfo b/net/realtek-rge-kmod/distinfo
new file mode 100644
index 000000000000..32bf16d8ab0a
--- /dev/null
+++ b/net/realtek-rge-kmod/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1764506739
+SHA256 (erikarn-if_rge_freebsd-v20251129-d05b7b5_GH0.tar.gz) = 20ba562a5e02af9613fcdcf699b51920473e37c54225464f92c21f7ceea82d77
+SIZE (erikarn-if_rge_freebsd-v20251129-d05b7b5_GH0.tar.gz) = 70836
diff --git a/net/realtek-rge-kmod/files/rge.4 b/net/realtek-rge-kmod/files/rge.4
new file mode 100644
index 000000000000..bcc22257dfc6
--- /dev/null
+++ b/net/realtek-rge-kmod/files/rge.4
@@ -0,0 +1,77 @@
+.\" $OpenBSD: rge.4,v 1.9 2025/09/19 00:42:06 kevlo Exp $
+.\"
+.\" Copyright (c) 2019, 2020, 2024 Kevin Lo <kevlo@openbsd.org>
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.Dd $Mdocdate: September 19 2025 $
+.Dt RGE 4
+.Os
+.Sh NAME
+.Nm rge
+.Nd Realtek 8125/8126/8127 PCI Express 10/100/1Gb/2.5Gb/5Gb/10Gb
+Ethernet device
+.Sh SYNOPSIS
+.Cd "rge* at pci?"
+.Sh DESCRIPTION
+The
+.Nm
+driver provides support for NICs based on the
+Realtek RTL8125, RTL8126 and RTL8127 PCI Express Ethernet controllers,
+including the following:
+.Pp
+.Bl -bullet -offset indent -compact
+.It
+IOCrest IO-PCE8126-GLAN Adapter (5000baseT)
+.It
+Realtek 8125/8125B 2.5GbE Adapter (2500baseT)
+.It
+Rivet Networks Killer E3000 Adapter (2500baseT)
+.It
+TP-LINK TL-NG421 Adapter (2500baseT)
+.El
+.Pp
+NICs based on the RTL8125 are capable of 10, 100, 1000 and 2500Mbps operation.
+NICs based on the RTL8126 are capable of 10, 100, 1000, 2500 and
+5000Mbps operation.
+The RTL8127 supports 10Gbps speed.
+.Pp
+The
+.Nm
+driver additionally supports Wake on LAN (WoL).
+See
+.Xr arp 8
+and
+.Xr ifconfig 8
+for more details.
+.Sh SEE ALSO
+.Xr arp 4 ,
+.Xr intro 4 ,
+.Xr netintro 4 ,
+.Xr pci 4 ,
+.Xr ifconfig 8
+.Sh HISTORY
+The
+.Nm
+driver first appeared in
+.Ox 6.6 .
+.Sh AUTHORS
+.An -nosplit
+The
+.Nm
+driver was written by
+.An Kevin Lo Aq Mt kevlo@openbsd.org .
+The
+.Nm
+driver was ported to FreeBSD by
+.An Adrian Chadd Aq Mt erikarn@freebsd.org .
diff --git a/net/realtek-rge-kmod/pkg-descr b/net/realtek-rge-kmod/pkg-descr
new file mode 100644
index 000000000000..147e87e18bd1
--- /dev/null
+++ b/net/realtek-rge-kmod/pkg-descr
@@ -0,0 +1,21 @@
+EXPERIMENTAL kernel module for Realtek 8125/8126/8127 PCI Express
+2.5Gb/5Gb/10Gb Ethernet devices.
+
+The rge driver was written by Kevin Lo <kevlo@openbsd.org>.
+Ported from OpenBSD by Adrian Chadd (erikarn@).
+This driver is planned to be added to FreeBSD.
+
+The rge driver provides support for NICs based on the Realtek RTL8125,
+RTL8126 and RTL8127 PCI Express Ethernet controllers, including the
+following:
+
+  * IOCrest IO-PCE8126-GLAN Adapter (5000baseT)
+  * Realtek 8125/8125B 2.5GbE Adapter (2500baseT)
+  * Rivet Networks Killer E3000 Adapter (2500baseT)
+  * TP-LINK TL-NG421 Adapter (2500baseT)
+
+NICs based on the RTL8125 are capable of 10, 100, 1000 and 2500Mbps
+operation.  NICs based on the RTL8126 are capable of 10, 100, 1000, 2500
+and 5000Mbps operation.  The RTL8127 supports 10Gbps speed.
+
+The rge driver additionally supports Wake on LAN (WoL).
diff --git a/net/realtek-rge-kmod/pkg-message b/net/realtek-rge-kmod/pkg-message
new file mode 100644
index 000000000000..604a246b3dca
--- /dev/null
+++ b/net/realtek-rge-kmod/pkg-message
@@ -0,0 +1,24 @@
+[
+{ type: install
+  message: <<EOM
+!!! This port is EXPERIMENTAL !!!
+
+Add the following lines to your /boot/loader.conf
+to load the FreeBSD rge(4) driver.
+
+if_rge_load="YES"
+
+EOM
+},
+{ type: upgrade
+  message: <<EOM
+!!! This port is EXPERIMENTAL !!!
+
+Add the following lines to your /boot/loader.conf
+to load the FreeBSD rge(4) driver.
+
+if_rge_load="YES"
+
+EOM
+}
+]