From nobody Fri Feb 13 22:05:15 2026 X-Original-To: dev-commits-src-main@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 4fCR6z6thwz6RxZK for ; Fri, 13 Feb 2026 22:05:15 +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 4fCR6z6F90z3XkT for ; Fri, 13 Feb 2026 22:05:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1771020315; 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=O7mpmSOjltFqDBGXcNM4kQnKi/XN76ej0SwA+C3R23Zg5nhcd8ZlTjhAYkV7jtgQNp5XOS +cPtn4fQCtYBmLsOy7cPBOIOQ+ydHmpRzXL31QIdXiJnFhx71OaPnmpjcPFvb8RPjt6ML6 nc0tL/TuSgfxCrUZ2r+tLjhfHKzmK/n3CQ7YkV0VA5PWS4xL1cObjeo12ek1kIocZNNHwT fy4Em5xogrZ38NYxPvKjyAwT8pUgr6tBVXgKFTE6kgM9Uj42JojhJr9L8G2fAh/ptmO8FY yGUI9ANyROr4bEDCVcvrA8B0lPDJjEJFVlgTKkOigkoRCwzMyVfSXelXQr0+VQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1771020315; a=rsa-sha256; cv=none; b=ibKY+iExL73rB2SaesgbYeuEURN4CnxLEiV1J/2BMmGdNjBnTlVqucXJoljLQUPiQSLhAN 13wXfyBmU5D5CgYF/sfihixR7bm39Q+SxpncG4L00M3vvvO89EQ4USAvgT7PY+uBIgbX+Z k7pBOhaVenfpy3uvT285k2ykeKWSW5CfRJYXBepPD8FCob84WyppfaMeB7PPpkAAjetdNC sysg2eShS/xDIe+S1y0IHzDb0X77PwCUL6JNh4TQoaeMQHZJ6+biLmoSCbke4rKgJp7F/1 Q5/abRLGEgmJt0HSq/2vyz0gMYvEOqKoPako2uznW7C900bRItVr3wdnPafY/w== 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=1771020315; 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=VFjrIFJUmCejhzbuIyWYHWPPyLdN7KA103jwflFpSEQDVZ5yl2HGhQ3MQ6ZCELdPpcZJse 3X+C3QQzPW7ZUGiipxqGr/eMCnnbnyrR3aCpQjiIF4t3yPzgX6n6UD2TOSGF0vjMVYlmq9 IRWbgZzlvBHGmQ4psmBn5or0Yl+cELauTQg0eGscEy02zbfRB7TDN7KzkQPyd5aitHkB+6 NtZBbJ2s1RZQJB0+9fnttbwILayFv+nbfu+z8QkaOBhXTVyjwkZnSt7IbLYgC8ZSgP8MSM N5TMbHZ2rH35KDrgX2gFDvScAfImt+4ppO1t7slEKPWwPS2TfO8dQLXJ5b9DiQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fCR6z5GYtzfvS for ; Fri, 13 Feb 2026 22:05:15 +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 the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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