From nobody Fri Feb 13 22:05:15 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 4fCR746lRLz6RxVY for ; Fri, 13 Feb 2026 22:05:20 +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 4fCR7463YPz3Xv8 for ; Fri, 13 Feb 2026 22:05:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1771020320; 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=e2A7JTbTZF8Wf9O6zK/JF4zvGpCs8AiFSGrn5iQAC24=; b=Cul8ltT4nBUUDjOGYOkVcPvaBWwdNupv/fwXCDoBuynBysu/cNq3D1HgzUZDBy7n7VIHqJ PAlJ1kgfTK8J8H7pvxJ7I7saVg84wgu6Q0FvFNmS7d21DDgLiNCl/k78tlnp8BTG02JPoe CViYPHvHiXI7HbJ/YiZKWoSxjahegYV24WPsSp77vTzSdFlR8zZ7K6trzuf3VF0IfGuL8D bPOWXjj19Tvyj5nLOxsmvHExZguXpa/EKZDT0I2UUJIM1d5LfBErDh6u+Y+BGCaJ9FTGa8 JT6nhVzqM8gnj8XJdmCSellitHor0RIbbwWgaOQPToU1khYas61dmRd1ZT7hsw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1771020320; a=rsa-sha256; cv=none; b=pCtCO/sBrpy2HntYA1nIbp7tcFkh18jO2Hvwj/h+SWMiKBPoXNreNHQ5TMmUlYLZnQOtED /xLnDI5RzjrZYhF4IR4keBd0geuSht1TaGpQIbbzBs1F8FFS9HjN93MJvMEkatt4zlqSdZ BLD9Ye3vmiWuhlaFSRjASHQjBfMc+GIHsF0EXcjb1cMU52cDuXxYpLF1YzyK/sAFRGXq3k WDRFIHzMtcgv0pjPnpGzKiT3fHVvMOS1zbNI10Un/paTvHqTZ2SvFTPDq1e3yG3q/be6x4 NixqT+Njk7CAgyXu35D6x+cM86/zh7VIVEAqpxgT/o6j7GawLK33mRRXCbPHOA== 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=1771020320; 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=e2A7JTbTZF8Wf9O6zK/JF4zvGpCs8AiFSGrn5iQAC24=; b=xioLUJmSxXNlEn761j3JTD3waUV8U5cGllbra86fqKuQTJT9oRhgmcCnV9Nmko52kMKvWs GlLAWx/SFN+3j2g8o1vUpDb4/4WkQSMOM7TtSawVhQP03PI1517gW1YVYmMHkf2QW/V27V NAVxOhqsHLePE6duP3GeTFsG4OJyk2rJXPWO3Cx3kkvl11jt4pzfLJW7GN7B6+68gyDLH4 I/+PSnX2Ey+Km9a9Yv8V0VHC2Xle/mKnIldhR13FmOoAQq3yKsRl3IzWcyqskOtQJvHd0z ZYOOGHokgHQevh7HwFygFevklOZBux6jCFE/6ZrWk+UvjsmvbuFzMSC+N7Slnw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fCR7459JzzgKx for ; Fri, 13 Feb 2026 22:05:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 216e0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Feb 2026 22:05:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: f2c2e5b0bf9d - main - multicast.4: Fix disabling multicast forwarding 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: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f2c2e5b0bf9def01b10651b9802fa38d07d9d265 Auto-Submitted: auto-generated Date: Fri, 13 Feb 2026 22:05:15 +0000 Message-Id: <698fa01b.216e0.a0954c3@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=f2c2e5b0bf9def01b10651b9802fa38d07d9d265 commit f2c2e5b0bf9def01b10651b9802fa38d07d9d265 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-02-12 23:06:15 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-02-13 22:02:04 +0000 multicast.4: Fix disabling multicast forwarding Reviewed by: markj, glebius MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D55266 --- share/man/man4/multicast.4 | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/share/man/man4/multicast.4 b/share/man/man4/multicast.4 index aa3293e107eb..84c6c5c4199b 100644 --- a/share/man/man4/multicast.4 +++ b/share/man/man4/multicast.4 @@ -23,7 +23,7 @@ .\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER .\" DEALINGS IN THE SOFTWARE. .\" -.Dd May 27, 2009 +.Dd February 13, 2026 .Dt MULTICAST 4 .Os .\" @@ -124,15 +124,15 @@ Therefore, for portability reason the multicast routing socket should be reused for IGMP and MLD messages as well. .Pp After the multicast routing socket is open, it can be used to enable -or disable multicast forwarding in the kernel: +multicast forwarding in the kernel: .Bd -literal /* IPv4 */ -int v = 1; /* 1 to enable, or 0 to disable */ +int v = 1; setsockopt(mrouter_s4, IPPROTO_IP, MRT_INIT, (void *)&v, sizeof(v)); .Ed .Bd -literal /* IPv6 */ -int v = 1; /* 1 to enable, or 0 to disable */ +int v = 1; setsockopt(mrouter_s6, IPPROTO_IPV6, MRT6_INIT, (void *)&v, sizeof(v)); \&... /* If necessary, filter all ICMPv6 messages */ @@ -142,6 +142,24 @@ setsockopt(mrouter_s6, IPPROTO_ICMPV6, ICMP6_FILTER, (void *)&filter, sizeof(filter)); .Ed .Pp +When applied to the multicast routing socket, the +.Dv MRT_DONE +and +.Dv MRT6_DONE +socket options disable multicast forwarding in the kernel: +.Bd -literal +/* IPv4 */ +int v = 1; +setsockopt(mrouter_s4, IPPROTO_IP, MRT_DONE, (void *)&v, sizeof(v)); +.Ed +.Bd -literal +/* IPv6 */ +int v = 1; +setsockopt(mrouter_s6, IPPROTO_IPV6, MRT6_DONE, (void *)&v, sizeof(v)); +.Ed +.Pp +Closing the socket has the same effect. +.Pp After multicast forwarding is enabled, the multicast routing socket can be used to enable PIM processing in the kernel if we are running PIM-SM or PIM-DM