From nobody Sun May 3 23:51:53 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g81lY6VzCz6bw8r for ; Sun, 03 May 2026 23:51:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g81lY3CY0z3gSL for ; Sun, 03 May 2026 23:51:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777852313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l9z5XbKrUT+J7XDZfXZPenAv1UCIofcJlynHEmKDclc=; b=swz7HEvu2UwcPueF+0RDLquv9Qqx33JO/b1O36jvPhGGaxaLlvNQkepRFierAwdxlkfGbF mNRixC37Uay83gZXZfRcp/7zmUnb7snvvSgsxULv8tqKVixgGBIMLzAQeDWBGwIaYqbTdf cxeloWNm2lKOHodknd/Ya/m6ZLxxrujjSHkV/etRtvQ9BwemS3Wtl3jRobKNccoqbR4kEA F/FAyRvheyBXN7Af7Hvk3FrARYKJ/9ZMUa3f9znBXqXS2hVXDqCgn9WWbX3DqeiniLLUeQ jtUqyctKaP0w1vkctMX2LlAxL3wZlTrLFmCP+xIP+uzid/sTS6KhiyjdHOPtRQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777852313; a=rsa-sha256; cv=none; b=TqwHMk6m5ZbKQARemy7Pxm7wRhiuyWE7aaNXe/knupfFOQIyLtmcG8aB1VkYGSMH1wu3B+ ikjVf6DKS5zkiNHybs19fgEAynGGbIkMkzHroKjHnQRljPB0/toLomphHIlR9FQAJy4VXo QNIKDPmBgDYEP3RkiVnCaBafTStLxDs0hSxk5fcTEHHoENlIXIHieo4rZV5Uh+mc2Cqx/P Qtz67dBahh/BE1bMyTy85RsPYSwcEsYoTWal+XCIjc3bJ4ubyYKBqrRhMn9KybxFNrwS7g xJ6cnFIGnhJmQcRLlSZhzm5AI9+dGkg4PonZ6Aw/dO0uqPvS95LJKY/soEAOFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777852313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l9z5XbKrUT+J7XDZfXZPenAv1UCIofcJlynHEmKDclc=; b=NR7pD2eCpBfrBbay8vWldVIuiSeAcv1Ycpu9rIFLLRRMmgtbFrAZXL0c9aBniYavL/u3Fx pDrY86OxDLnf12MD34v7jDYipLZWZzYKilIMXVWm4IGpGLkw18VLGN+zevcQJuxHiKvaDp 904wzWpwRcuMmNDPFgGSTjBxfZyOuG0n3gEB0CrjgnQ4op795mzHqg1355ruNErTCGgoj3 FqLS1bkF1U2BAkF+U+tqAhQe+8JBOeh+hq/mujg4HeqRxHgf7t3neGnJuVe9GDze0bAbnc bPnPNR23D/+NakmZrG27tHlzr/GHoLSzb6kJrSJ985z2jbr9MmxMJHK83t7JmQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g81lY2kdlzvsb for ; Sun, 03 May 2026 23:51:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 277e7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 03 May 2026 23:51:53 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 9cb93a545559 - stable/15 - net/route: Add an eventhandler for rt_numfibs changes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 9cb93a5455595792e7bf4dbe877b942e38ffa91a Auto-Submitted: auto-generated Date: Sun, 03 May 2026 23:51:53 +0000 Message-Id: <69f7df99.277e7.62161cec@gitrepo.freebsd.org> The branch stable/15 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=9cb93a5455595792e7bf4dbe877b942e38ffa91a commit 9cb93a5455595792e7bf4dbe877b942e38ffa91a Author: Mark Johnston AuthorDate: 2026-03-30 13:30:19 +0000 Commit: Mark Johnston CommitDate: 2026-05-03 23:10:42 +0000 net/route: Add an eventhandler for rt_numfibs changes The multicast routing code will start implementing per-FIB routing tables. As a part of this, it needs to be notified when the number of FIBs changes, so that it can expand its tables. Add an eventhandler for this purpose. MFC after: 2 weeks Sponsored by: Stormshield Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D55239 (cherry picked from commit 81dbacbb7d71a53eef99ce73f7e589a165c3e1d6) --- sys/net/route.h | 6 ++++++ sys/net/route/route_tables.c | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/sys/net/route.h b/sys/net/route.h index 8c713d65ec95..d1b13cdd4d67 100644 --- a/sys/net/route.h +++ b/sys/net/route.h @@ -32,6 +32,9 @@ #ifndef _NET_ROUTE_H_ #define _NET_ROUTE_H_ +#ifdef _KERNEL +#include +#endif #include /* @@ -124,6 +127,9 @@ VNET_DECLARE(u_int, rt_add_addr_allfibs); /* Announce interfaces to all fibs */ #define V_fib_hash_outbound VNET(fib_hash_outbound) VNET_DECLARE(u_int, fib_hash_outbound); +typedef void (*rtnumfibs_change_t)(void *, uint32_t); +EVENTHANDLER_DECLARE(rtnumfibs_change, rtnumfibs_change_t); + /* Outbound flowid generation rules */ #ifdef RSS diff --git a/sys/net/route/route_tables.c b/sys/net/route/route_tables.c index d7fbcbefc501..fdcb775ac4ce 100644 --- a/sys/net/route/route_tables.c +++ b/sys/net/route/route_tables.c @@ -33,10 +33,10 @@ * Which is the new name for an in kernel routing (next hop) table. * ***********************************************************************/ -#include #include "opt_route.h" #include +#include #include #include #include @@ -272,6 +272,8 @@ grow_rtables(uint32_t num_tables) old_rt_tables = V_rt_tables; V_rt_tables = new_rt_tables; + EVENTHANDLER_INVOKE(rtnumfibs_change, num_tables); + /* Wait till all cpus see new pointers */ atomic_thread_fence_rel(); NET_EPOCH_WAIT();