[Midnightbsd-cvs] [MidnightBSD/src] 19714c: atlantic: guard rss_getkey/rss_gethashconfig with ...
Lucas Holt
noreply at github.com
Thu Jun 11 22:56:52 EDT 2026
Branch: refs/heads/master
Home: https://github.com/MidnightBSD/src
Commit: 19714cd67d8bac0326364b5bf273197b92bd7bf8
https://github.com/MidnightBSD/src/commit/19714cd67d8bac0326364b5bf273197b92bd7bf8
Author: Lucas Holt <luke at foolishgames.com>
Date: 2026-06-11 (Thu, 11 Jun 2026)
Changed paths:
M sys/dev/atlantic/aq_main.c
Log Message:
-----------
atlantic: guard rss_getkey/rss_gethashconfig with #ifdef RSS (#386)
aq_rss_prepare() called rss_getkey() and rss_gethashconfig()
unconditionally, but those symbols only exist when the kernel is built
with "options RSS" (net/rss_config.c is "optional inet rss"). The
atlantic driver enables hardware RSS whenever it has more than one RX
ring (aq_rss_enabled() checks rx_rings_count > 1), independent of the
kernel RSS framework, so these calls are reached in a stock GENERIC
kernel and the build fails to link:
ld: error: undefined symbol: rss_getkey
ld: error: undefined symbol: rss_gethashconfig
>>> referenced by aq_main.c ... aq_if_init
Guard the two calls with #ifdef RSS, mirroring dev/e1000/if_em.c: when
the RSS framework is absent, generate a random hash key with arc4rand()
and use the standard IPv4/IPv6 TCP and 2-tuple hash types (the RSS
subsystem default) so the NIC still distributes traffic across queues.
Fixes the GENERIC kernel link on builds without "options RSS".
Co-authored-by: Claude Fable 5 <noreply at anthropic.com>
To unsubscribe from these emails, change your notification settings at https://github.com/MidnightBSD/src/settings/notifications
More information about the Midnightbsd-cvs
mailing list