From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: from tb-ob0.topicbox.com (tb-ob0.topicbox.com [64.147.108.117]) by inbox.vuxu.org (Postfix) with ESMTP id D7C35311CE for ; Sat, 2 Nov 2024 19:22:38 +0100 (CET) Received: from tb-mx0.topicbox.com (tb-mx0.nyi.icgroup.com [10.90.30.73]) by tb-ob0.topicbox.com (Postfix) with ESMTP id 9A39619E93 for ; Sat, 2 Nov 2024 14:22:37 -0400 (EDT) (envelope-from bounce.mMe50c84c2e42e7ad1a5b17609.r81958daa-7202-11ef-bbf2-18142b2d11b0@illumos.bounce.topicbox.com) Received: by tb-mx0.topicbox.com (Postfix, from userid 1132) id 97B0D18CF7C; Sat, 2 Nov 2024 14:22:37 -0400 (EDT) ARC-Authentication-Results: i=2; topicbox.com; arc=pass; dkim=pass (2048-bit rsa key sha256) header.d=hamachi.org header.i=@hamachi.org header.b=EiErtwmL header.a=rsa-sha256 header.s=hamachi-202411 x-bits=2048; dmarc=pass policy.published-domain-policy=reject policy.applied-disposition=none policy.evaluated-disposition=none (p=reject,d=none,d.eval=none) policy.policy-from=p header.from=hamachi.org; spf=pass smtp.mailfrom=sommerfeld@hamachi.org smtp.helo=the-governor.hamachi.org; x-internal-arc=fail (as.1.topicbox.com=pass, ams.1.topicbox.com=fail (message has been altered)) (Message modified while forwarding at Topicbox) ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=message-id:date:mime-version:to:content-type :content-transfer-encoding:list-help:list-id:list-post :list-subscribe:reply-to:subject:from:list-unsubscribe; s= sysmsg-1; t=1730571757; bh=It+y9Gku3gHZ5U9IG0qm5FA3CbgW/vil01c1I IT6Y1Y=; b=Ipn3Mpch+8WN7QAhbImiQoTRsHEkhAHe9STUaM+qVadUqd8ajM7fG wFLW99FUNJVyQuwmrqEQdrthQ5MvfAEQuJgqKlBOIJFEA5562JjKyMKmJa2X+OTU BNguFw5W2tRgE7cUenZkb2LvkpOnrA9Dwcq2Fqqt8Kq4WnHJEnlxAY= ARC-Seal: i=2; a=rsa-sha256; cv=pass; d=topicbox.com; s=sysmsg-1; t= 1730571757; b=QOA4V9j6rv62+pXx+N7iMvoX34U4EXAYGjCd+0mtT4zQOJBQ6p mWeD7IhBWgVxSTWbycYQV5/nzhSGsmdYs0gKmt9L2/dGyyko/96ocZEnyH84gnbn M1VTUbCQokQWch9OVbJdL1jEbm9wA8aoeAuBfH/M88uaLX8x8psED50PY= Authentication-Results: topicbox.com; arc=pass; dkim=pass (2048-bit rsa key sha256) header.d=hamachi.org header.i=@hamachi.org header.b=EiErtwmL header.a=rsa-sha256 header.s=hamachi-202411 x-bits=2048; dmarc=pass policy.published-domain-policy=reject policy.applied-disposition=none policy.evaluated-disposition=none (p=reject,d=none,d.eval=none) policy.policy-from=p header.from=hamachi.org; spf=pass smtp.mailfrom=sommerfeld@hamachi.org smtp.helo=the-governor.hamachi.org; x-internal-arc=fail (as.1.topicbox.com=pass, ams.1.topicbox.com=fail (message has been altered)) (Message modified while forwarding at Topicbox) X-Received-Authentication-Results: the-governor.hamachi.org; auth=pass; dkim=pass (2048-bit rsa key sha256) header.d=hamachi.org header.i=@hamachi.org header.b=EiErtwmL header.a=rsa-sha256 header.s=hamachi-202411; x-aligned-from=pass (Address match); x-local-user=pass; x-spam=pass score=-2.00 required=5.00 X-Received-Authentication-Results: tb-mx1.topicbox.com; arc=none (no signatures found); bimi=none (No BIMI records found); dkim=pass (2048-bit rsa key sha256) header.d=hamachi.org header.i=@hamachi.org header.b=EiErtwmL header.a=rsa-sha256 header.s=hamachi-202411 x-bits=2048; dmarc=pass policy.published-domain-policy=reject policy.applied-disposition=none policy.evaluated-disposition=none (p=reject,d=none,d.eval=none) policy.policy-from=p header.from=hamachi.org; iprev=pass smtp.remote-ip=173.11.94.225 (the-governor.hamachi.org); spf=pass smtp.mailfrom=sommerfeld@hamachi.org smtp.helo=the-governor.hamachi.org; x-aligned-from=pass (Address match); x-me-sender=none; x-ptr=pass smtp.helo=the-governor.hamachi.org policy.ptr=the-governor.hamachi.org; x-return-mx=pass header.domain=hamachi.org policy.is_org=yes (MX Records found: smtp-backup-in.hamachi.org,the-governor.hamachi.org); x-return-mx=pass smtp.domain=hamachi.org policy.is_org=yes (MX Records found: smtp-backup-in.hamachi.org,the-governor.hamachi.org); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=0 state=0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lists.illumos.org; h= message-id:date:mime-version:to:content-type :content-transfer-encoding:list-help:list-id:list-post :list-subscribe:reply-to:subject:from:list-unsubscribe; s= dkim-1; t=1730571757; x=1730658157; bh=8pdcB4/Oo25vRdrvFwRjsX3bK K6wKDAHls2y7Rka+xU=; b=rS7hv1VrsiuPUnP51fo6U+/VUAzQpr4835cty5cvx qu69XyJX5k8kVL5nAToYQsv+8aJSxbK+9eQCoqoNvmGOWPQDMEV18SKtwCWXdTJt 92ntMhkgBN5F7eWj1fsGRdk2iFMQUTInEkWZgAZL8fbEI38cGIMCGZ7N9NcMJN1e y4= Received: from tb-mx1.topicbox.com (localhost.local [127.0.0.1]) by tb-mx1.topicbox.com (Postfix) with ESMTP id 9486C1AC1C2 for ; Sat, 2 Nov 2024 14:20:53 -0400 (EDT) (envelope-from sommerfeld@hamachi.org) Received: from tb-mx1.topicbox.com (localhost [127.0.0.1]) by tb-mx1.topicbox.com (Authentication Milter) with ESMTP id E86DCE04A45; Sat, 2 Nov 2024 14:20:53 -0400 ARC-Seal: i=1; a=rsa-sha256; cv=none; d=topicbox.com; s=arcseal; t= 1730571653; b=oaUwPKEdtmWzjGR9i7jFwbeXZ9QvGIWWR++jXDO/eP1b+7FL6b 6rGq6pMTuTUqKS2pr3zSgdqIHVaetT+W1HbpP5mXSRpW/6WdXfDZwYCnLAT9+PBB SOvJYp5TxIoIyqepUF/GzhLK2IrC60rAvp4MA66cLxpWUc99E2zX/33NyUgntyqm 34uFsyXkaW/P8LBScXizZTKAcbIk9m8SGkMT1eYJqLap9b44KC6ybvB6/0YP2s33 0IiUdFW5ODY8mGo+KLcxm6VUox4oEkF2JkUkFyZiXVK7uCnyRP5JVwBC/SsUORQO 5Z1OrjPvKhN0XymUk4dptWzcGziKsTt4bsMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=message-id:date:mime-version:to:subject:from :content-type:content-transfer-encoding; s=arcseal; t= 1730571653; bh=rKoUX7xPT11Rl5sl6kVWafZR9a52IUDqpN0pkBayj3I=; b=j /lK4KQmPIybsFsyrjO54j/mSlfnYzdyynFUc1Xm12LOqgiSreFvbpLFFFQ5C9bE3 sRVgA+7Xn4taYboevqurX2Rz4Cce5L/g4a4CpcY7wAD9JRhFoLMRT5lFkmh9tifn zACKrIleUsCktflWWMXNE6ySM85gbWgaou4xEewUiJba+mNX34J1ePbJ4NmNByjC J/wzInrn6wR0QmitlvtnRuwtS4oxzHSxhPQ4vKkqOnC9+44oBNQOlMZSGZKAjG2W dzYc5nSdjj7fLUkFBmKcLStjR6b2eok8NkjnwfAsGuFETCvJXeza5/FUfqjGn/3O /3N3VNoWF2LnxQDdPpRBg== ARC-Authentication-Results: i=1; tb-mx1.topicbox.com; arc=none (no signatures found); bimi=none (No BIMI records found); dkim=pass (2048-bit rsa key sha256) header.d=hamachi.org header.i=@hamachi.org header.b=EiErtwmL header.a=rsa-sha256 header.s=hamachi-202411 x-bits=2048; dmarc=pass policy.published-domain-policy=reject policy.applied-disposition=none policy.evaluated-disposition=none (p=reject,d=none,d.eval=none) policy.policy-from=p header.from=hamachi.org; iprev=pass smtp.remote-ip=173.11.94.225 (the-governor.hamachi.org); spf=pass smtp.mailfrom=sommerfeld@hamachi.org smtp.helo=the-governor.hamachi.org; x-aligned-from=pass (Address match); x-me-sender=none; x-ptr=pass smtp.helo=the-governor.hamachi.org policy.ptr=the-governor.hamachi.org; x-return-mx=pass header.domain=hamachi.org policy.is_org=yes (MX Records found: smtp-backup-in.hamachi.org,the-governor.hamachi.org); x-return-mx=pass smtp.domain=hamachi.org policy.is_org=yes (MX Records found: smtp-backup-in.hamachi.org,the-governor.hamachi.org); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=0 state=0 X-ME-VSCause: gggruggvucftvghtrhhoucdtuddrgeeftddrvdeluddguddutdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecunecujfgurhepkfffgg gfvffuhfgtgfesthejredttddvjeenucfhrhhomhepuehilhhlucfuohhmmhgvrhhfvghl ugcuoehsohhmmhgvrhhfvghlugeshhgrmhgrtghhihdrohhrgheqnecuggftrfgrthhtvg hrnhepuedukeeuieeuheeiieduleekteevleeifeegudehtefhueffhfduledugfeugfeu necuffhomhgrihhnpehilhhluhhmohhsrdhorhhgnecukfhppedujeefrdduuddrleegrd dvvdehpddviedtfeemfedtvdegmegvtdehmegrsgdttdemmeefnecuvehluhhsthgvrhfu ihiivgeptdenucfrrghrrghmpehinhgvthepudejfedruddurdelgedrvddvhedphhgvlh hopehthhgvqdhgohhvvghrnhhorhdrhhgrmhgrtghhihdrohhrghdpmhgrihhlfhhrohhm peeoshhomhhmvghrfhgvlhgusehhrghmrggthhhirdhorhhgqedpnhgspghrtghpthhtoh epuddprhgtphhtthhopeeouggvvhgvlhhophgvrheslhhishhtshdrihhllhhumhhoshdr ohhrgheq X-ME-VSScore: 0 X-ME-VSCategory: clean Received-SPF: pass (hamachi.org: 173.11.94.225 is authorized to use 'sommerfeld@hamachi.org' in 'mfrom' identity (mechanism 'mx' matched)) receiver=tb-mx1.topicbox.com; identity=mailfrom; envelope-from="sommerfeld@hamachi.org"; helo=the-governor.hamachi.org; client-ip=173.11.94.225 Received: from the-governor.hamachi.org (the-governor.hamachi.org [173.11.94.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tb-mx1.topicbox.com (Postfix) with ESMTPS for ; Sat, 2 Nov 2024 14:20:52 -0400 (EDT) (envelope-from sommerfeld@hamachi.org) Received: from [IPV6:2603:3024:e05:ab00::3] (hydra.hamachi.org [IPv6:2603:3024:e05:ab00::3]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: sommerfeld) by the-governor.hamachi.org (Postfix) with ESMTPSA id E0D127110; Sat, 2 Nov 2024 11:20:49 -0700 (PDT) Message-ID: Date: Sat, 2 Nov 2024 11:20:49 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: developer@lists.illumos.org Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Topicbox-Policy-Reasoning: allow: sender is a member Topicbox-Message-UUID: 34baabb6-9947-11ef-b53e-b07a0e3302a1 Archived-At: =?UTF-8?B?PGh0dHBzOi8vaWxsdW1vcy50b3BpY2JveC5jb20vZ3JvdXBz?= =?UTF-8?B?L2RldmVsb3Blci9UNzRmZjVkMjNlZjQ3NzFjMy1NZTUwYzg0YzJlNDJlN2Fk?= =?UTF-8?B?MWE1YjE3NjA5Pg==?= List-Help: List-Id: "illumos-developer" List-Post: List-Software: Topicbox v0 List-Subscribe: Precedence: list Reply-To: illumos-developer Subject: [developer] [REVIEW] 16620 MLD/IGMP can drop or misroute listener reports From: "Bill Sommerfeld via illumos-developer" List-Unsubscribe: , Topicbox-Delivery-ID: 2:illumos:a901537c-2aea-11e7-965f-d98f9f16e227:81958daa-7202-11ef-bbf2-18142b2d11b0:Me50c84c2e42e7ad1a5b17609:1:x9nakCIjuopVp5XEpGd9xaG8no7qf8NLvodmrsnylDg Issue: https://www.illumos.org/issues/16620 CR: https://code.illumos.org/c/illumos-gate/+/3556 Diff:=20 https://code.illumos.org/~diff/e3c8a5d530f94d86271a1f0312df090406ff953d When attempting to enable IGMP and MLD snooping on a couple switches of mine I discovered a few bugs in how our stack responds to IGMP and MLD queries; the common thread is mishandling of the second and subsequent multicast groups on an interface. IGMP (for IPv4) and MLD (for IPv6) are closely related protocols. Hosts participating in multicast (which includes everything running IPv6) must listen for and respond to multicast group membership queries, typically sent by a router or switch on the network. Layer-2 switches can "snoop" these messages to determine which ports need to receive packets sent to each multicast group. The bugs I fixed: 1) ill_mcast_send_queued() sends one or more queued IGMP/MLD responses using a single ip_xmit_attr_t. It initializes several fields in the ip_xmit_attr_t before walking the queue, but after every transmit, it calls ixa_cleanup(). And ixa_cleanup() clears several of the fields set before the loop - most notably ixa_ifindex, which sets the output interface. As a result, all but the first packet in a burst are sent out the primary interface. 2) When responding to a MLD v1 query, mld_query_in() loops over all multicast groups on the interface, but breaks out of the loop after queueing the first reply even if the query was a general wildcard query. 3) All IPv6 hosts are implicitly members of the link-local all-nodes multicast group, ff02::1. The MLD spec says that no MLD messages should ever be sent regarding that group, but our MLDv1 implementation could respond to a specific query for that group. ------------------------------------------ illumos: illumos-developer Permalink: https://illumos.topicbox.com/groups/developer/T74ff5d23ef4771c3-= Me50c84c2e42e7ad1a5b17609 Delivery options: https://illumos.topicbox.com/groups/developer/subscription