[Bug 280097] Warning printed when FIBs are expanded is unhelpful and confusing

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 02 Jul 2024 19:21:47 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280097

            Bug ID: 280097
           Summary: Warning printed when FIBs are expanded is unhelpful
                    and confusing
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: jeremy.fbbg@baymoo.org

Summary
=======

The warning printed when the kernel is instructed to grow the routing tables
with the addition of a new FIB is unhelpful and confusing. Currently the
warning reads:

WARNING: Adding ifaddrs to all fibs has been turned off by default. Consider
tuning net.add_addr_allfibs if needed

(sys/net/route/route_tables.c:233)


Details
=======

The issue with this message is that the action that triggers it is the act of
growing the number of FIBs in the system -- which typically happens at boot
time -- and not the act of adding address to any interfaces. The message makes
it seem that the user has performed one of these actions when in fact they have
not, and makes it difficult for the user to understand what needs to be done to
REMOVE the message.

I know this because I spent an hour trying to figure out what was wrong with my
system configuration because of this message and in the end, I found out that
NOTHING was wrong.

Proposal
========

I propose that the warning be changed ever so slightly so that the user can
tell

1. When it was generated (when net.fibs is adjusted)
2. That the warning is a reminder, not the detection of a problem.

Perhaps:


--- route_tables.c.orig 2024-07-02 12:18:49.627899000 -0700
+++ route_tables.c      2024-07-02 12:20:44.759937000 -0700
@@ -231,8 +231,11 @@
            M_RTABLE, M_WAITOK | M_ZERO);

        if ((num_tables > 1) && (V_rt_add_addr_allfibs == 0))
-               printf("WARNING: Adding ifaddrs to all fibs has been turned off
"
+               printf("%s adjusted to %d. REMINDER: "
+                       "Adding ifaddrs to all fibs has been turned off "
                        "by default. Consider tuning %s if needed\n",
+                       "net.fibs",
+                       num_tables,
                        "net.add_addr_allfibs");

 #ifdef FIB_ALGO

-- 
You are receiving this mail because:
You are the assignee for the bug.