Re: [pim] draft-ietf-pim-igmp-mld-extension WGLC

"Holland, Jake" <jholland@akamai.com> Tue, 19 January 2021 19:43 UTC

Return-Path: <jholland@akamai.com>
X-Original-To: pim@ietfa.amsl.com
Delivered-To: pim@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5D9003A16F9 for <pim@ietfa.amsl.com>; Tue, 19 Jan 2021 11:43:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.349
X-Spam-Level:
X-Spam-Status: No, score=-2.349 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.25, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=akamai.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tpjS7KPv5aTr for <pim@ietfa.amsl.com>; Tue, 19 Jan 2021 11:43:51 -0800 (PST)
Received: from mx0b-00190b01.pphosted.com (mx0b-00190b01.pphosted.com [IPv6:2620:100:9005:57f::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EDE313A16FB for <pim@ietf.org>; Tue, 19 Jan 2021 11:43:50 -0800 (PST)
Received: from pps.filterd (m0122330.ppops.net [127.0.0.1]) by mx0b-00190b01.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 10JJehx7018793; Tue, 19 Jan 2021 19:43:49 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akamai.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=jan2016.eng; bh=B8H2ZTPnN41oQk112N6Ww5nUlv3Ix+ud5Kq4wJpCYxM=; b=ByAGmBOs97/BSAgiXzMaYMjGQ2MgNWzH4mTF/tuJYNOEXO91ZBhhkMa3MdYSsHFY2ZFZ +UGI35Z1fXmZMOglVrYuM32AK9Umbg1p7kA8naE5Oraf5Rau8GMUxAYbgVH76BLJCuY5 jcouXozy/yrW69n21yVop12SJRLPYqxYLlMP/kVzsPWpTh3VPGxLkQQdTRCOiVj79MKd EKN/eNhxlYzGyao0DVTCSVUoMDw2D1a88vVAfm03dngQ9BpuCmGZINikTzl8tYdfV13s f/ViqDQUnZpFitPJqcbKyj8cJa2222Dl1hUVl14G2nnfu2pz+QLAHfdg/NvPu5u4zmyM pg==
Received: from prod-mail-ppoint3 (a72-247-45-31.deploy.static.akamaitechnologies.com [72.247.45.31] (may be forged)) by mx0b-00190b01.pphosted.com with ESMTP id 363rp7j35t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 19 Jan 2021 19:43:49 +0000
Received: from pps.filterd (prod-mail-ppoint3.akamai.com [127.0.0.1]) by prod-mail-ppoint3.akamai.com (8.16.0.43/8.16.0.43) with SMTP id 10JJg7a8028278; Tue, 19 Jan 2021 14:43:48 -0500
Received: from email.msg.corp.akamai.com ([172.27.165.115]) by prod-mail-ppoint3.akamai.com with ESMTP id 363vc3fx7u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Tue, 19 Jan 2021 14:43:48 -0500
Received: from USTX2EX-DAG1MB4.msg.corp.akamai.com (172.27.165.122) by ustx2ex-dag1mb4.msg.corp.akamai.com (172.27.165.122) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 19 Jan 2021 13:43:47 -0600
Received: from USTX2EX-DAG1MB4.msg.corp.akamai.com ([172.27.165.122]) by ustx2ex-dag1mb4.msg.corp.akamai.com ([172.27.165.122]) with mapi id 15.00.1497.010; Tue, 19 Jan 2021 13:43:47 -0600
From: "Holland, Jake" <jholland@akamai.com>
To: Stig Venaas <stig@venaas.com>
CC: "Jeffrey (Zhaohui) Zhang" <zzhang=40juniper.net@dmarc.ietf.org>, Leonard Giuliano <lenny@juniper.net>, "jakeholland.net@gmail.com" <jakeholland.net@gmail.com>, "pim@ietf.org" <pim@ietf.org>
Thread-Topic: [pim] draft-ietf-pim-igmp-mld-extension WGLC
Thread-Index: AdbM9ydl4gZ07lhpQVe0ISlVhcHfugGWSsKAAGt8OIAFssRoAAAmN/SAAJfzfID//5E/gA==
Date: Tue, 19 Jan 2021 19:43:46 +0000
Message-ID: <1E3BA012-B836-43E6-92EC-9992531A3813@akamai.com>
References: <BYAPR13MB25823AD8346977BC1FDE03BAF4CD0@BYAPR13MB2582.namprd13.prod.outlook.com> <MN2PR05MB598123DADDC8916389A69111D4C50@MN2PR05MB5981.namprd05.prod.outlook.com> <CAHANBtL7FXijAajqmz-vU+vZ_OUZ7XS7wynZgHF-x9TSukRhDA@mail.gmail.com> <CAHANBtLsasH1ZTT4tmLwvLaQ3NE4KuOzrmb_fqOcH3fcapUWkg@mail.gmail.com> <A725AB8B-6F24-45C1-BF44-854DD115EAE4@akamai.com> <CAHANBtJEHOKKYJER7wPPTAjpAb90LC0GiaU1QhE+4-wFeuNupA@mail.gmail.com>
In-Reply-To: <CAHANBtJEHOKKYJER7wPPTAjpAb90LC0GiaU1QhE+4-wFeuNupA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.44.20121301
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [172.27.118.139]
Content-Type: text/plain; charset="utf-8"
Content-ID: <C4D0E1BAF9A1D547B321D3C0F8CC02CA@akamai.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.343, 18.0.737 definitions=2021-01-19_09:2021-01-18, 2021-01-19 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 mlxscore=0 phishscore=0 spamscore=0 malwarescore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2101190106
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.343, 18.0.737 definitions=2021-01-19_09:2021-01-18, 2021-01-19 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 lowpriorityscore=0 adultscore=0 bulkscore=0 phishscore=0 malwarescore=0 clxscore=1015 priorityscore=1501 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2101190107
X-Agari-Authentication-Results: mx.akamai.com; spf=${SPFResult} (sender IP is 72.247.45.31) smtp.mailfrom=jholland@akamai.com smtp.helo=prod-mail-ppoint3
Archived-At: <https://mailarchive.ietf.org/arch/msg/pim/GaQB7hzYPrZ5bRU8usBz9GMf3e8>
Subject: Re: [pim] draft-ietf-pim-igmp-mld-extension WGLC
X-BeenThere: pim@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Protocol Independent Multicast <pim.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/pim>, <mailto:pim-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/pim/>
List-Post: <mailto:pim@ietf.org>
List-Help: <mailto:pim-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pim>, <mailto:pim-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 19 Jan 2021 19:43:52 -0000

Hi Stig,

On 1/19/21, 10:21 AM, "Stig Venaas" <stig@venaas.com> wrote:
> I do believe TLVs really is flexible enough for any future extension
> and I mentioned this since people might question why we don't need
> Additional Data when the extension is used. But I can certainly remove
> this. The main point is that there is no data besides the Extension
> TLVs. I'll try to improve this text. Of course we are also able to
> extend IGMP/MLD in other ways when not setting the E-bit if we want.

I agree it's likely to be flexible enough, but I have minor reservations
about stating it as a known fact (as in -03), because it's hard to be
certain that all future needs will be fully compatible with the semantics
defined for these TLVs. (And I agree if it happens then it can be covered
by using something else other than the E-bit).

I'm not sure it needs anything pointing out the flexibility to future
needs, but if you think it will help forestall questions to include it,
even just "is flexible enough" -> "is expected to be flexible enough"
would address my reservation.

>> 1.a.
>> Sorry, I should have noticed this in my first review.  But while revisiting
>> this, I noticed that the MLDv2 and IGMPv3 specs call the extra data field
>> "Auxiliary Data", but this spec calls it "Additional Data".
>>
>> This seems like a point of possible confusion, is there a reason not to call
>> it "Auxiliary Data" in this doc as well?
>
> The specs define both Additional Data and Auxiliary Data. The former
> is at the end of the IGMP/MLD messages, which we are using. The latter
> is potentially auxiliary data at the end of a group record. We are not
> using that.

Ah, thanks, my mistake.  I think the reason I missed it in my first review
was because I understood it correctly that time and then forgot.  Sorry
about that.

>> 2.
>> In section 3 the 2nd to last paragraph says there MUST be no data
>> in the message after the last TLV:
>>    There MUST be no data in the message after the last TLV.  The TLVs
...
>> This wording I think is confusing on a few points:
>> - "in the message" is sort of unclear (e.g. it could refer to the IP
>>   payload length, at least for the last group record).  Although the doc
>
> Yes (except additional not auxiliary). Perhaps it is best if I refer
> to bytes remaining in the IP payload.

Yes, to me something like one of these would be an improvement over "in
the message":
- in the IP payload
- in the Additional Data field
- in the Additional Data field, which extends to the end of the IP payload

(please disregard the rest of my comment #2, it was based on my mistaken
reading thinking you were using Auxiliary data.)

>> 3.
...
> This sounds good. Thanks, I'll use this. It is pretty common to draw
> the figure like this even when no alignment is expected, but I think
> I'll point out that there is no alignment or padding.

Cool, thanks.  I agree the figure seems fine to me.

>> 4.
>> I find this design a bit troubling:
>>    Also if a TLV has a length exceeding the remainder of the
>>    message, that TLV is ignored, and further TLV processing stops.
>>
>> As an implementor, if I see this scenario I would tend to assume that
>> I'm talking to an implementation that is using a different non-standard
>> meaning for the E bit and the Auxiliary Data (or perhaps an attack
>> packet), and I would think the better choice is to discard the entire
>> Auxiliary Data and treat it as though the E bit was not set, ignoring
>> all the TLVs.  (I assume this should be OK since the Auxiliary Data can
>> be ignored anyway by the devices that don't know about it.)
>
> When the E-bit is set, one should be following this document, but of
> course there may be bugs or attacks. I'm fine with being strict as you
> suggest, the only downside is that one will have to validate this
> before applying any of the TLVs. Since the length does not have to be
> a multiple of 4, I think it might be best then to require that the
> last TLV ends at the end of the IP payload (no trailing bytes).

Yes, I think that's right.

I hope that's not too bad a downside, I think it sounds ok to me.  And on
the upside it's maybe slightly more likely to get length-checked properly.

It's a minor point though, if you prefer to leave it alone I won't object.
I maybe sometimes worry more than is necessary about the sad state of
buffer-overflow avoidance strategies in networking.


Thanks and regards,
Jake