From nobody Tue Feb 10 13:51:17 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 4f9NJP4qMqz6RLKW for ; Tue, 10 Feb 2026 13:51:17 +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" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f9NJP1g3Vz3lvP for ; Tue, 10 Feb 2026 13:51:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770731477; 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=oZW1KcR59TEpHnrKLSJx/nL3BGQaFEXzXHKHhTMFFY0=; b=LfmxMRg6etvzxHstQcetGm+4bjsk7gfktzE5ZqNTP48T0EsSKHr9Fw1ViGq332u8tTbRyQ un/9YZ1vRLTqYK0dzVx9Uj43A8unnH3DwOgqUxGtLqWse6LCPUQYgjjayNQltkRKCgSqGE JQv8+oaeCE6oIhe7eN394BPSyfIFrZJdz7J1BU8RzonapGf2GTsdoYcL5uhwId1zgfaE3C ozKt0pA56OkjpvucYFr4GZDoU0tqkaZQG+WNqnyV3/WrnF4Rixh2K6FbpS7QmDBHf5oZQK FGDU8MsXc0Fy4EFhLXnCQy5+eZltaUDvuBJ7F7nAVsn3qamSSBrOElpAYSeIxg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770731477; a=rsa-sha256; cv=none; b=dBOjXKgefVYagOUP9mktg9ff4cNFRfEi7y6Mfh9R8NTn8gZAVDInJuuq6ln1VDdq+/Gu7q P4E1npaozYKyhe7IQ4xEMd9jWP8T/uR8TLqiRYubMFd6J8apSDw624LxMOVusLJsTU0YOx IRNYiPoR2hRI0X34cqVcTBhYatuBwbN/85ue7wl/PBR87LMpD8OuCn1PVL8DXsY4nphU9e D0YGLO5FQOC0HVnD6yqsse0ajPv9k2yVwemSFLvM9qP0qxJ0t0GbdZwq5xGOrZ/eXsNn1p S4E9Nr+vpqnxjwMmIwJiv79ci1HeVjmT5RIgAU8GFuoNEnSULYl6jWUbSTHgMw== 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=1770731477; 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=oZW1KcR59TEpHnrKLSJx/nL3BGQaFEXzXHKHhTMFFY0=; b=cb5qF25Cx33KsbQqmICwzlQt99JEgTcuXJrcbNrMDqTd8RYDqiz3tkRyUbJUXjxosnb2G9 j0yMSxjreGIyqlfblb8bxnXe1RvyV+Pdwagtk0j2sicLLcFB6ohDEqG/5itQGqnid2OlD1 UZeKiGBEqnqJipUoGhTEJNgSGKqxGQKvZVrn2CPcV5DgUZ79QOG/NspWGxchwG28aRZGWN K97C5upoHvnEDIJzpAtjOAMSr0YXOe1zOhNGmY4784w2w58DGIYy7Ijhbzr8I2ckH/ojrr f3GZjNjLC8v+BYkYcGibycPQTfzIGh/15ei1iZwpmScZs1U2xT9FB6HTa++yZg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f9NJP0xGHz1KQL for ; Tue, 10 Feb 2026 13:51:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d09c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 10 Feb 2026 13:51:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 9df6a7f9a60b - main - ip_mroute: Try to make function pointer declarations more consistent 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 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/main X-Git-Reftype: branch X-Git-Commit: 9df6a7f9a60b76eda2ac82826528487ca43edf46 Auto-Submitted: auto-generated Date: Tue, 10 Feb 2026 13:51:17 +0000 Message-Id: <698b37d5.3d09c.3705f2b9@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=9df6a7f9a60b76eda2ac82826528487ca43edf46 commit 9df6a7f9a60b76eda2ac82826528487ca43edf46 Author: Mark Johnston AuthorDate: 2026-02-09 22:52:08 +0000 Commit: Mark Johnston CommitDate: 2026-02-10 13:45:06 +0000 ip_mroute: Try to make function pointer declarations more consistent The ip_mroute and ip6_mroute modules hook into the network stack via several function pointers. Declarations for these pointers are scattered around several headers. Put them all in the same place, ip(6)_mroute.h. No functional change intended. Reviewed by: glebius MFC after: 2 weeks Sponsored by: Stormshield Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D55058 --- sys/netinet/igmp.c | 1 + sys/netinet/in_mcast.c | 1 + sys/netinet/ip_input.c | 1 + sys/netinet/ip_mroute.h | 21 ++++++++++++++++++--- sys/netinet/ip_output.c | 1 + sys/netinet/ip_var.h | 10 ---------- sys/netinet6/ip6_input.c | 1 + sys/netinet6/ip6_mroute.h | 14 ++++++++++++++ sys/netinet6/ip6_output.c | 1 + sys/netinet6/ip6_var.h | 2 -- sys/netinet6/mld6.c | 1 + 11 files changed, 39 insertions(+), 15 deletions(-) diff --git a/sys/netinet/igmp.c b/sys/netinet/igmp.c index de9d38c7fb9d..35128dadffe6 100644 --- a/sys/netinet/igmp.c +++ b/sys/netinet/igmp.c @@ -79,6 +79,7 @@ #include #include #include +#include #include diff --git a/sys/netinet/in_mcast.c b/sys/netinet/in_mcast.c index 131e72780ebe..20e6f9d8b322 100644 --- a/sys/netinet/in_mcast.c +++ b/sys/netinet/in_mcast.c @@ -66,6 +66,7 @@ #include #include #include +#include #ifndef KTR_IGMPV3 #define KTR_IGMPV3 KTR_INET diff --git a/sys/netinet/ip_input.c b/sys/netinet/ip_input.c index 1e1747d04c45..4b8294c93967 100644 --- a/sys/netinet/ip_input.c +++ b/sys/netinet/ip_input.c @@ -82,6 +82,7 @@ #include #include #include +#include #ifdef SCTP #include #endif diff --git a/sys/netinet/ip_mroute.h b/sys/netinet/ip_mroute.h index ed98e59a7c77..6f09006ec9e2 100644 --- a/sys/netinet/ip_mroute.h +++ b/sys/netinet/ip_mroute.h @@ -356,14 +356,29 @@ struct bw_meter { }; #ifdef _KERNEL +VNET_DECLARE(struct socket *, ip_mrouter); /* multicast routing daemon */ +#define V_ip_mrouter VNET(ip_mrouter) +struct ifnet; +struct ip; +struct ip_moptions; +struct mbuf; +struct socket; struct sockopt; -extern int (*ip_mrouter_set)(struct socket *, struct sockopt *); -extern int (*ip_mrouter_get)(struct socket *, struct sockopt *); +extern u_long (*ip_mcast_src)(int); +extern int (*ip_mforward)(struct ip *, struct ifnet *, struct mbuf *, + struct ip_moptions *); extern int (*ip_mrouter_done)(void); -extern int (*mrt_ioctl)(u_long, caddr_t, int); +extern int (*ip_mrouter_get)(struct socket *, struct sockopt *); +extern int (*ip_mrouter_set)(struct socket *, struct sockopt *); + +extern void (*ip_rsvp_force_done)(struct socket *); +extern int (*ip_rsvp_vif)(struct socket *, struct sockopt *); +extern int (*legal_vif_num)(int); +extern int (*mrt_ioctl)(u_long, caddr_t, int); +extern int (*rsvp_input_p)(struct mbuf **, int *, int); #endif /* _KERNEL */ #endif /* _NETINET_IP_MROUTE_H_ */ diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c index f1aa3c498ef7..1edc4906b542 100644 --- a/sys/netinet/ip_output.c +++ b/sys/netinet/ip_output.c @@ -78,6 +78,7 @@ #include #include #include +#include #include #include diff --git a/sys/netinet/ip_var.h b/sys/netinet/ip_var.h index c113484079a3..934ca80a083d 100644 --- a/sys/netinet/ip_var.h +++ b/sys/netinet/ip_var.h @@ -199,9 +199,6 @@ VNET_DECLARE(int, ipsendredirects); VNET_DECLARE(int, ipstealth); /* stealth forwarding */ #endif VNET_DECLARE(struct socket *, ip_rsvpd); /* reservation protocol daemon*/ -VNET_DECLARE(struct socket *, ip_mrouter); /* multicast routing daemon */ -extern int (*legal_vif_num)(int); -extern u_long (*ip_mcast_src)(int); VNET_DECLARE(int, rsvp_on); VNET_DECLARE(int, drop_redirect); VNET_DECLARE(int, ip_random_id); @@ -214,7 +211,6 @@ VNET_DECLARE(int, ip_random_id); #define V_ipstealth VNET(ipstealth) #endif #define V_ip_rsvpd VNET(ip_rsvpd) -#define V_ip_mrouter VNET(ip_mrouter) #define V_rsvp_on VNET(rsvp_on) #define V_drop_redirect VNET(drop_redirect) #define V_ip_random_id VNET(ip_random_id) @@ -227,9 +223,6 @@ int ip_ctloutput(struct socket *, struct sockopt *sopt); int ip_fragment(struct ip *ip, struct mbuf **m_frag, int mtu, u_long if_hwassist_flags); void ip_forward(struct mbuf *m, int srcrt); -extern int - (*ip_mforward)(struct ip *, struct ifnet *, struct mbuf *, - struct ip_moptions *); int ip_output(struct mbuf *, struct mbuf *, struct route *, int, struct ip_moptions *, struct inpcb *); @@ -244,9 +237,6 @@ int rsvp_input(struct mbuf **, int *, int); int ip_rsvp_init(struct socket *); int ip_rsvp_done(void); -extern int (*ip_rsvp_vif)(struct socket *, struct sockopt *); -extern void (*ip_rsvp_force_done)(struct socket *); -extern int (*rsvp_input_p)(struct mbuf **, int *, int); typedef int ipproto_input_t(struct mbuf **, int *, int); struct icmp; diff --git a/sys/netinet6/ip6_input.c b/sys/netinet6/ip6_input.c index a23f5d46d6a3..656b3b996f90 100644 --- a/sys/netinet6/ip6_input.c +++ b/sys/netinet6/ip6_input.c @@ -118,6 +118,7 @@ #include #include #include +#include #ifdef SCTP #include #include diff --git a/sys/netinet6/ip6_mroute.h b/sys/netinet6/ip6_mroute.h index dd23196c799a..2f298df6a1ce 100644 --- a/sys/netinet6/ip6_mroute.h +++ b/sys/netinet6/ip6_mroute.h @@ -270,10 +270,24 @@ struct rtdetq { /* XXX: rtdetq is also defined in ip_mroute.h */ #endif #define MAX_UPQ6 4 /* max. no of pkts in upcall Q */ +#endif /* _KERNEL || KERNEL */ +#ifdef _KERNEL +VNET_DECLARE(struct socket *, ip6_mrouter); /* multicast routing daemon */ +#define V_ip6_mrouter VNET(ip6_mrouter) + +struct ifnet; +struct ip6_hdr; +struct mbuf; +struct socket; +struct sockopt; + +extern int (*ip6_mforward)(struct ip6_hdr *, struct ifnet *, + struct mbuf *); extern int (*ip6_mrouter_set)(struct socket *so, struct sockopt *sopt); extern int (*ip6_mrouter_get)(struct socket *so, struct sockopt *sopt); extern int (*ip6_mrouter_done)(void); + extern int (*mrt6_ioctl)(u_long, caddr_t); #endif /* _KERNEL */ diff --git a/sys/netinet6/ip6_output.c b/sys/netinet6/ip6_output.c index dca1bcf04371..4b0c08b4e493 100644 --- a/sys/netinet6/ip6_output.c +++ b/sys/netinet6/ip6_output.c @@ -110,6 +110,7 @@ #include #include #include +#include #include #if defined(SCTP) || defined(SCTP_SUPPORT) diff --git a/sys/netinet6/ip6_var.h b/sys/netinet6/ip6_var.h index c1645f587483..4951f43ea4da 100644 --- a/sys/netinet6/ip6_var.h +++ b/sys/netinet6/ip6_var.h @@ -309,7 +309,6 @@ VNET_DECLARE(int, ip6_v6only); #define V_ip6_mcast_pmtu VNET(ip6_mcast_pmtu) #define V_ip6_v6only VNET(ip6_v6only) -VNET_DECLARE(struct socket *, ip6_mrouter); /* multicast routing daemon */ VNET_DECLARE(int, ip6_sendredirects); /* send IP redirects when forwarding? */ VNET_DECLARE(int, ip6_accept_rtadv); /* Acts as a host not a router */ VNET_DECLARE(int, ip6_no_radr); /* No defroute from RA */ @@ -320,7 +319,6 @@ VNET_DECLARE(int, ip6_rfc6204w3); /* Accept defroute from RA even when VNET_DECLARE(int, ip6_hdrnestlimit); /* upper limit of # of extension * headers */ VNET_DECLARE(int, ip6_dad_count); /* DupAddrDetectionTransmits */ -#define V_ip6_mrouter VNET(ip6_mrouter) #define V_ip6_sendredirects VNET(ip6_sendredirects) #define V_ip6_accept_rtadv VNET(ip6_accept_rtadv) #define V_ip6_no_radr VNET(ip6_no_radr) diff --git a/sys/netinet6/mld6.c b/sys/netinet6/mld6.c index f14d2c76ffda..d00a9c13ec8d 100644 --- a/sys/netinet6/mld6.c +++ b/sys/netinet6/mld6.c @@ -90,6 +90,7 @@ #include #include #include +#include #include #include