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:

NetBSD Home
NetBSD PR Database Search

(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.