[Midnightbsd-cvs] [MidnightBSD/src] 91a8bb: atlantic: guard rss_getkey/rss_gethashconfig with ...

Lucas Holt noreply at github.com
Thu Jun 11 22:49:49 EDT 2026


  Branch: refs/heads/atlantic-rss-build-fix
  Home:   https://github.com/MidnightBSD/src
  Commit: 91a8bb3f427aee404f7b233da4a205ae0f9cf9ea
      https://github.com/MidnightBSD/src/commit/91a8bb3f427aee404f7b233da4a205ae0f9cf9ea
  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

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