NetBSD Problem Report #59724
From paul@whooppee.com Sat Oct 25 18:40:39 2025
Return-Path: <paul@whooppee.com>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256
client-signature RSA-PSS (2048 bits) client-digest SHA256)
(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id 1DC841A923A
for <gnats-bugs@gnats.NetBSD.org>; Sat, 25 Oct 2025 18:40:39 +0000 (UTC)
Message-Id: <20251025184006.3F0AE49AD6B@speedy.whooppee.com>
Date: Sat, 25 Oct 2025 11:40:06 -0700 (PDT)
From: paul@whooppee.com
Reply-To: paul@whooppee.com
To: gnats-bugs@NetBSD.org
Subject: if_rge(4) driver needs an update
X-Send-Pr-Version: 3.95
>Number: 59724
>Category: kern
>Synopsis: if_rge(4) driver needs an update
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: pgoyette
>State: closed
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Sat Oct 25 18:45:00 +0000 2025
>Closed-Date: Fri Dec 05 05:53:52 +0000 2025
>Last-Modified: Fri Dec 05 05:53:52 +0000 2025
>Originator: Paul Goyette
>Release: NetBSD 11.99.3
>Organization:
+---------------------+--------------------------+----------------------+
| Paul Goyette (.sig) | PGP Key fingerprint: | E-mail addresses: |
| (Retired) | 1B11 1849 721C 56C8 F63A | paul@whooppee.com |
| Software Developer | 6E2E 05FD 15CE 9F2D 5102 | pgoyette@netbsd.org |
| & Network Engineer | | pgoyette99@gmail.com |
+---------------------+--------------------------+----------------------+
>Environment:
System: NetBSD speedy.whooppee.com 11.99.3 NetBSD 11.99.3 (SPEEDY 2025-10-22 01:34:13 UTC) #0: Wed Oct 22 03:15:16 UTC 2025 paul@speedy.whooppee.com:/build/netbsd-local/obj/amd64/sys/arch/amd64/compile/SPEEDY amd64
Architecture: x86_64
Machine: amd64
>Description:
The current if_rge(4) driver supports only Realtek 8125, 8125-B, and
8126 chips. We need support for 8126-B and 8127
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
From: Paul Goyette <paul@whooppee.com>
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: kern/59724: if_rge(4) driver needs an update
Date: Sat, 25 Oct 2025 11:50:02 -0700 (PDT)
The Linux may offeer some clues?
https://www.realtek.com/Download/List?cate_id=584
+---------------------+--------------------------+----------------------+
| Paul Goyette (.sig) | PGP Key fingerprint: | E-mail addresses: |
| (Retired) | 1B11 1849 721C 56C8 F63A | paul@whooppee.com |
| Software Developer | 6E2E 05FD 15CE 9F2D 5102 | pgoyette@netbsd.org |
| & Network Engineer | | pgoyette99@gmail.com |
+---------------------+--------------------------+----------------------+
From: Paul Goyette <paul@whooppee.com>
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: kern/59724: if_rge(4) driver needs an update
Date: Sat, 25 Oct 2025 19:00:12 -0700 (PDT)
One person on irc suggested that it might be better to merge
if_rge(4) into if_re(4)
From: Paul Goyette <paul@whooppee.com>
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: kern/59724: if_rge(4) driver needs an update
Date: Sun, 26 Oct 2025 07:26:23 -0700 (PDT)
On Sat, 25 Oct 2025, Paul Goyette wrote:
> One person on irc suggested that it might be better to merge
> if_rge(4) into if_re(4)
More from irc:
<r> shouldn't re(4) be merged into rge(4), since rge is mpsafe :-)
<n> shouldn't be hard to make re(4) mpsafe, but it is generally
much simpler than rge and unlike rge, doesn't need copying the
packet for alignment or other junk
Responsible-Changed-From-To: kern-bug-people->pgoyette
Responsible-Changed-By: pgoyette@NetBSD.org
Responsible-Changed-When: Sat, 22 Nov 2025 17:38:42 +0000
Responsible-Changed-Why:
I'm working on it
State-Changed-From-To: open->analyzed
State-Changed-By: pgoyette@NetBSD.org
State-Changed-When: Sat, 22 Nov 2025 17:38:42 +0000
State-Changed-Why:
understood
From: "Paul Goyette" <pgoyette@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/59724 CVS commit: src/sys/dev/pci
Date: Sun, 23 Nov 2025 18:43:32 +0000
Module Name: src
Committed By: pgoyette
Date: Sun Nov 23 18:43:31 UTC 2025
Modified Files:
src/sys/dev/pci: if_rge.c
Log Message:
Enable checksum offload for ipv4
Should be enough to satisfy PR kern/59724.
To generate a diff of this commit:
cvs rdiff -u -r1.45 -r1.46 src/sys/dev/pci/if_rge.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: analyzed->needs-pullups
State-Changed-By: pgoyette@NetBSD.org
State-Changed-When: Sun, 23 Nov 2025 18:47:24 +0000
State-Changed-Why:
abs@ wants to pull-up all the recent rge(4) changes for -11
From: "Paul Goyette" <pgoyette@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/59724 CVS commit: src/share/man/man4
Date: Sun, 23 Nov 2025 18:50:33 +0000
Module Name: src
Committed By: pgoyette
Date: Sun Nov 23 18:50:33 UTC 2025
Modified Files:
src/share/man/man4: rge.4
Log Message:
Catch up with recnt changes.
XXX pull-up 11? PR kern/59724
To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/share/man/man4/rge.4
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: needs-pullups->pending-pullups
State-Changed-By: pgoyette@NetBSD.org
State-Changed-When: Mon, 24 Nov 2025 06:03:01 +0000
State-Changed-Why:
pullup-11 #106 requested
From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/59724 CVS commit: [netbsd-11] src
Date: Mon, 24 Nov 2025 17:32:48 +0000
Module Name: src
Committed By: martin
Date: Mon Nov 24 17:32:48 UTC 2025
Modified Files:
src/share/man/man4 [netbsd-11]: rge.4
src/sys/dev/pci [netbsd-11]: if_rge.c if_rgereg.h
Log Message:
Pull up following revision(s) (requested by pgoyette in ticket #106):
sys/arch/amd64/conf/XEN3_DOM0: revision 1.206
sys/arch/amd64/conf/XEN3_DOM0: revision 1.207
sys/dev/pci/if_rge.c: revision 1.35
sys/dev/pci/if_rge.c: revision 1.36
share/man/man4/rge.4: revision 1.10
sys/dev/pci/if_rge.c: revision 1.37
sys/dev/pci/if_rge.c: revision 1.38
sys/dev/pci/if_rge.c: revision 1.39
share/man/man4/sem.4: revision 1.7
share/man/man4/sem.4: revision 1.8
sys/arch/amd64/conf/GENERIC: revision 1.620
sys/dev/pci/pcidevs.h: revision 1.1511
sys/arch/amd64/conf/ALL: revision 1.195
sys/arch/amd64/conf/ALL: revision 1.196
sys/dev/pci/pcidevs: revision 1.1532
sys/dev/pci/if_rge.c: revision 1.40
sys/dev/pci/if_rge.c: revision 1.41
sys/dev/pci/if_rge.c: revision 1.42
sys/dev/pci/pcidevs_data.h: revision 1.1510
sys/dev/pci/if_rge.c: revision 1.43
sys/dev/pci/if_rge.c: revision 1.44
sys/dev/pci/if_rge.c: revision 1.45
sys/dev/pci/if_rgereg.h: revision 1.10
sys/dev/pci/if_rge.c: revision 1.46
share/man/man4/rge.4: revision 1.6
sys/dev/pci/if_rgereg.h: revision 1.11
share/man/man4/rge.4: revision 1.7
sys/dev/pci/if_rgereg.h: revision 1.12
share/man/man4/rge.4: revision 1.8
sys/dev/pci/if_rgereg.h: revision 1.13
share/man/man4/rge.4: revision 1.9
sys/dev/pci/if_rgereg.h: revision 1.14
sys/arch/amd64/conf/GENERIC: revision 1.619
sys/dev/pci/if_rgereg.h: revision 1.15
sys/dev/pci/if_rgereg.h: revision 1.16
sys/dev/pci/if_rgereg.h: revision 1.17
Add MODULE glue
Add Realtek 8126 to comment for rge*
Recognize the RT8126 Rev B.
XXX Assume for now that it works the same as Rev A. Neither
XXX Free- nor OpenBSD give any clues on Rev B details.
Clean up interrupt handling and add rge_detach().
Disable recognition of 8126-B until we know more about how
to drive it.
We only suppoprt the MAC_CFG2_8126 (hwrev 0x649000000). Disable the
others.
Based on driver code from Realtek, all three of these are "8126A"
models ...
Update RTL8125 microcode.
From openbsd, if_rge.c rev 1.13, if_rgereg.h rev 1.7
Update microcode, initialization and reset behavior. From
OpenBSD, if_rge.c rev 1.23 and if_rgereg.h rev 1.10.
XXX In the same commit, two chip variants were de-supported,
with an expectation that those two variants were never
shipped in any product. It's not clear that this is
true, so I did NOT remove support for them.
Undo recent changes since they seem to have broken something.
Will reexamine moving forward from last time we synched with
OpenBSD - January 20, 2021
One more attempt to revert
Clean up interrupt handling and add rge_detach().
Originally introduced in rev 1.37
Add Realtek 8127
Update rge* comment to include soon-to-arrive preliminary support
for RTL8127
Update for RTL8127
Revert accidental commit
Note 8127 support as experimental
Sync with OpenBSD. Don't list chip variations, only list the chips.
Update adapter list to include 8126
Synch with upstream (OpenBSD) head as of today. Tested by various
people (thanks!) on various chips/models.
XXX Still has no support for Jumbo frames, and no support for any
checksum or segmentation off-loads, same restrictions as on
upstream...
Clean up mbuf list management. Missed during merge/synch from OpenBSD.
Enable checksum offload for ipv4
Should be enough to satisfy PR kern/59724.
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.5.2.1 src/share/man/man4/rge.4
cvs rdiff -u -r1.34 -r1.34.2.1 src/sys/dev/pci/if_rge.c
cvs rdiff -u -r1.9 -r1.9.2.1 src/sys/dev/pci/if_rgereg.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/59724 CVS commit: [netbsd-10] src
Date: Wed, 26 Nov 2025 19:00:18 +0000
Module Name: src
Committed By: martin
Date: Wed Nov 26 19:00:18 UTC 2025
Modified Files:
src/share/man/man4 [netbsd-10]: rge.4
src/sys/dev/pci [netbsd-10]: if_rge.c if_rgereg.h
Log Message:
Pull up following revision(s) (requested by pgoyette in ticket #1201):
sys/arch/amd64/conf/XEN3_DOM0: revision 1.206
sys/arch/amd64/conf/XEN3_DOM0: revision 1.207
sys/dev/pci/if_rge.c: revision 1.35
sys/dev/pci/if_rge.c: revision 1.36
share/man/man4/rge.4: revision 1.10
sys/dev/pci/if_rge.c: revision 1.37
sys/dev/pci/if_rge.c: revision 1.38
sys/dev/pci/if_rge.c: revision 1.39
share/man/man4/sem.4: revision 1.7
share/man/man4/sem.4: revision 1.8
sys/arch/amd64/conf/GENERIC: revision 1.620
sys/dev/pci/pcidevs.h: revision 1.1511
sys/arch/amd64/conf/ALL: revision 1.195
sys/arch/amd64/conf/ALL: revision 1.196
sys/dev/pci/pcidevs: revision 1.1532
sys/dev/pci/if_rge.c: revision 1.40
sys/dev/pci/if_rge.c: revision 1.41
sys/dev/pci/if_rge.c: revision 1.42
sys/dev/pci/pcidevs_data.h: revision 1.1510
sys/dev/pci/if_rge.c: revision 1.43
sys/dev/pci/if_rge.c: revision 1.44
sys/dev/pci/if_rge.c: revision 1.45
sys/dev/pci/if_rgereg.h: revision 1.10
sys/dev/pci/if_rge.c: revision 1.46
share/man/man4/rge.4: revision 1.6
sys/dev/pci/if_rgereg.h: revision 1.11
share/man/man4/rge.4: revision 1.7
sys/dev/pci/if_rgereg.h: revision 1.12
share/man/man4/rge.4: revision 1.8
sys/dev/pci/if_rgereg.h: revision 1.13
share/man/man4/rge.4: revision 1.9
sys/dev/pci/if_rgereg.h: revision 1.14
sys/arch/amd64/conf/GENERIC: revision 1.619
sys/dev/pci/if_rgereg.h: revision 1.15
sys/dev/pci/if_rgereg.h: revision 1.16
sys/dev/pci/if_rgereg.h: revision 1.17
Add MODULE glue
Add Realtek 8126 to comment for rge*
Recognize the RT8126 Rev B.
XXX Assume for now that it works the same as Rev A. Neither
XXX Free- nor OpenBSD give any clues on Rev B details.
Clean up interrupt handling and add rge_detach().
Disable recognition of 8126-B until we know more about how
to drive it.
We only suppoprt the MAC_CFG2_8126 (hwrev 0x649000000). Disable the
others.
Based on driver code from Realtek, all three of these are "8126A"
models ...
Update RTL8125 microcode.
From openbsd, if_rge.c rev 1.13, if_rgereg.h rev 1.7
Update microcode, initialization and reset behavior. From
OpenBSD, if_rge.c rev 1.23 and if_rgereg.h rev 1.10.
XXX In the same commit, two chip variants were de-supported,
with an expectation that those two variants were never
shipped in any product. It's not clear that this is
true, so I did NOT remove support for them.
Undo recent changes since they seem to have broken something.
Will reexamine moving forward from last time we synched with
OpenBSD - January 20, 2021
One more attempt to revert
Clean up interrupt handling and add rge_detach().
Originally introduced in rev 1.37
Add Realtek 8127
Regen
Update rge* comment to include soon-to-arrive preliminary support
for RTL8127
Update for RTL8127
Revert accidental commit
Note 8127 support as experimental
Sync with OpenBSD. Don't list chip variations, only list the chips.
Update adapter list to include 8126
Synch with upstream (OpenBSD) head as of today. Tested by various
people (thanks!) on various chips/models.
XXX Still has no support for Jumbo frames, and no support for any
checksum or segmentation off-loads, same restrictions as on
upstream...
Clean up mbuf list management. Missed during merge/synch from OpenBSD.
Enable checksum offload for ipv4
Should be enough to satisfy PR kern/59724.
Catch up with recnt changes.
PR kern/59724
To generate a diff of this commit:
cvs rdiff -u -r1.3.6.1 -r1.3.6.2 src/share/man/man4/rge.4
cvs rdiff -u -r1.24.4.6 -r1.24.4.7 src/sys/dev/pci/if_rge.c
cvs rdiff -u -r1.6.4.2 -r1.6.4.3 src/sys/dev/pci/if_rgereg.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: pending-pullups->closed
State-Changed-By: pgoyette@NetBSD.org
State-Changed-When: Fri, 05 Dec 2025 05:53:52 +0000
State-Changed-Why:
pullups completed for -11 and -10
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2025
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.