From nobody Mon Feb 23 20:32:18 2026 X-Original-To: dev-commits-src-branches@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 4fKXb65zPqz6SGc6 for ; Mon, 23 Feb 2026 20:32:18 +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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fKXb6264wz3Pdl for ; Mon, 23 Feb 2026 20:32:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1771878738; 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=CIqD9UONFT2eE0Ylk1G6zlEwN5yX6SdoxZuFM0XpCB0=; b=Zj13kk2OGnL5XFvdH+MNxew07wm5pA/BUnG3arvyyL1wLGq0ZHCuzU7wR6k/Nxow1CFpbN ewW1V9F5f1LAD4nX/bNw7MnnLwcenFFbNZb5hzHObHiDCcIgHhI0DtW1JVdYkcB7U8yonU tu0+OHh5m28/gMBZrbPJwG9XC5IDWYv5Qogy2G9Hr9XJCrhdFsP2vJHpxIrOIpl2OtNoC2 bhfovjG0xsdt9+zJ+w4gomlyFlcE/omCt70xbNoH4f3cx0gAmeWUDV/KnRJHPBk7y5+bf5 Yai5R0IkjIwf84vApdC+VcRE26q+kutj2rLadsaSAUkhO02WuSqhVhw2rZd8bQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1771878738; a=rsa-sha256; cv=none; b=MRVbnhtnnK4cIvZ2vMxSTaLUgxEKNLsEn156u1opCKd5CxG0ni9faPtG1TI8/v0xR7yymQ AZWa4DUBkGa+y1iELiz4sO8Pdk/O4NgRHrltM3u4yaLshdhA52+CVJt/5FEJnHBrVhGr0b WklAd3dlfJ8K/xjRUtqVEUUhcRyS03R5Xb5wMKajQErltl2CwZQJ/RRlIEsZHQhCyk8HAG xJn7eAjxbZ8Ebk1a+jfXcPCMwErvDwenONcvjspuW1k0LkL3Qcv5es4J1gQMLqci8AMtRH YpLteasP23ZFEbiRbSQn7nGTeqMSYwjPcONICAVS+9pHcRqIEzDD0RyIk5NXFQ== 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=1771878738; 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=CIqD9UONFT2eE0Ylk1G6zlEwN5yX6SdoxZuFM0XpCB0=; b=bvliOR70JCBlYw9P9DsC+i84LCh8ouIG1GjVmQcabNot4Ta7nEoeM+LVXDzGOE345Amk+7 HqQ6cktrYFeH1g9g7GTN33SIVPpiav+3X+eTlViCIBoH6enxdxmAkeyrQ7Oy8LM7PNrC8+ hA+2z0129z2q5jgHFM5Y9Cf2nQ/qb89tkO3m50mEeKQJPEhbJSY1CzRi0AGlgXTN8iqzPa MadDMyDy6sHpzXmWlDJQxVjJY8PFkg2lmBetYGRlaufs7AWaW154+QsI1ku7zgHlvLlcOf 3SIpa35C0DKIXXHKq+GBGY8adF8OvggmIexvVXZPfkEdlLkvDCnwr23dnrXFLw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fKXb618GXzlbw for ; Mon, 23 Feb 2026 20:32:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 19f34 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 23 Feb 2026 20:32:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: 49ab036fc48a - stable/15 - multicast.4: Fix disabling multicast forwarding List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 49ab036fc48a4dd5f3f3d47b3d7d604df1235724 Auto-Submitted: auto-generated Date: Mon, 23 Feb 2026 20:32:18 +0000 Message-Id: <699cb952.19f34.312211d4@gitrepo.freebsd.org> The branch stable/15 has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=49ab036fc48a4dd5f3f3d47b3d7d604df1235724 commit 49ab036fc48a4dd5f3f3d47b3d7d604df1235724 Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-02-12 23:06:15 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-02-23 20:30:10 +0000 multicast.4: Fix disabling multicast forwarding Reviewed by: markj, glebius MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D55266 (cherry picked from commit f2c2e5b0bf9def01b10651b9802fa38d07d9d265) --- 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