Re: [Tsv-art] [Last-Call] [lp-wan] Tsvart last call review of draft-ietf-lpwan-coap-static-context-hc-12

Suresh Krishnan <Suresh@kaloom.com> Wed, 25 March 2020 19:10 UTC

Return-Path: <Suresh@kaloom.com>
X-Original-To: tsv-art@ietfa.amsl.com
Delivered-To: tsv-art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2EC803A0CC9; Wed, 25 Mar 2020 12:10:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=kaloom.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 HoixxuiLxEce; Wed, 25 Mar 2020 12:10:07 -0700 (PDT)
Received: from CAN01-TO1-obe.outbound.protection.outlook.com (mail-eopbgr670120.outbound.protection.outlook.com [40.107.67.120]) (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 313083A1051; Wed, 25 Mar 2020 12:09:12 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kv1qfpDQjJqMpMvw+JknduBMKgEcPhstWAqpCXRarOOg6z0KgHakqEYIHJ+o5WFaTEIUzdO1wSHNBE0bIzYPxUgJrRaKaKwsdYFZTMxvGl5Y9wQq+kF2auiJGnbN7vYqwYAHetDem7st5MDjOWwtdbqKUzjppPEae46wSxis6k4LAnlJyvfkgWSTJrZk4wGniD+MmW3cziFwZj3bBMuvqcexOsSkAaqtyMwBgZsq0XSZlemffvRH1c1AHLtwVSH4FRbe6+z35qMVV5DQlvLGIFGCXnoup0PqYiuOhTJlMLWlJOgyGv8iuCl5Hh49H8JYeCA5oCicAoinCQr6biP7rQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OQGkWdp7bXHG86ywZcr/04M5CD4D7aWvIYqfCBaVnpA=; b=DIMhPPNRGPqJ5TMK5iEC8jCTh5FAIoWiOC8fgbVzrgdyOj7j1lBRhznzp4yMZF4uKY1U5dwQHxPYu7vZ1vhQ2aHt/Iy46Sbp/SQ6lJvGsAN/DnlDpvr34XOQvm4rVQ5kFQUIc1hbZti372I8In/kLS4R1rvq2HHjLZxKR+WjSRCtWN3YIYdWOmdNuTEgfqyVHL2WwXEWm93QEN2SXP3UroIUIQ13r2/QHvpSPK50tIa4e8mnvhmbHv8KUFOjQeHlbpZTHELWNYWGYRWlbYl9EDWRrmtmnNQnA3qtsCRHsnhois+N7GWvoU1oFtLsybW9M0Lc+N4L4V1U4zyVQjyDBg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=kaloom.com; dmarc=pass action=none header.from=kaloom.com; dkim=pass header.d=kaloom.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kaloom.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OQGkWdp7bXHG86ywZcr/04M5CD4D7aWvIYqfCBaVnpA=; b=NBWXsqMj/Ucw73u8ZikwtQ+hwRPG4BKH89USwRVzEsusgcA8CC/4OlH/NZRrP3mXkwoihmPxFnMiXc0lelbX2/Pg4wbcT8SNMemf6j0cMGSks3BCs8foQC1KSJs2uIu95JYncNjcid08IFfAUPCGVbS6S4rvMRNgcKGLkJ4cSBE=
Received: from QB1PR01MB3219.CANPRD01.PROD.OUTLOOK.COM (52.132.84.225) by QB1PR01MB2466.CANPRD01.PROD.OUTLOOK.COM (52.132.84.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2835.18; Wed, 25 Mar 2020 19:09:10 +0000
Received: from QB1PR01MB3219.CANPRD01.PROD.OUTLOOK.COM ([fe80::4803:a154:db26:56e6]) by QB1PR01MB3219.CANPRD01.PROD.OUTLOOK.COM ([fe80::4803:a154:db26:56e6%7]) with mapi id 15.20.2856.019; Wed, 25 Mar 2020 19:09:10 +0000
From: Suresh Krishnan <Suresh@kaloom.com>
To: Joseph Touch <touch@strayalpha.com>
CC: "dominique.barthel@orange.com" <dominique.barthel@orange.com>, "draft-ietf-lpwan-coap-static-context-hc.all@ietf.org" <draft-ietf-lpwan-coap-static-context-hc.all@ietf.org>, "last-call@ietf.org" <last-call@ietf.org>, Mirja Kuehlewind <ietf@kuehlewind.net>, The IESG <iesg@ietf.org>, "lp-wan@ietf.org" <lp-wan@ietf.org>, "tsv-art@ietf.org" <tsv-art@ietf.org>, "draft-ietf-lpwan-ipv6-static-context-hc@ietf.org" <draft-ietf-lpwan-ipv6-static-context-hc@ietf.org>, Benjamin Kaduk <kaduk@mit.edu>
Thread-Topic: [Last-Call] [Tsv-art] [lp-wan] Tsvart last call review of draft-ietf-lpwan-coap-static-context-hc-12
Thread-Index: AQHV/suBx/nOoehdTEyahonaidKhR6hRrbiAgABC1gCAB8OUgA==
Date: Wed, 25 Mar 2020 19:09:10 +0000
Message-ID: <E1A83D07-1BAC-436D-BB4F-D6B44FB24DB4@kaloom.com>
References: <158152010913.17982.18347318138768196852@ietfa.amsl.com> <340_1584143298_5E6C1BC2_340_169_1_DA91D669.71EAC%dominique.barthel@orange.com> <20200317211335.GR50174@kduck.mit.edu> <30843_1584487855_5E715DAF_30843_429_4_DA971B0C.72109%dominique.barthel@orange.com> <27E35DC7-C83E-4C6C-984A-3AC1C183BC28@kuehlewind.net> <9DF137B7-2861-4ADA-9C8B-22DFE7022EAD@strayalpha.com> <F3327431-EBBF-450C-802F-E8D0E29F20D5@kuehlewind.net> <20350_1584600280_5E7314D8_20350_426_1_DA98D1CE.72223%dominique.barthel@orange.com> <2539076A-99CD-44B3-9903-25E42ACB5603@strayalpha.com> <14010_1584722167_5E74F0F7_14010_126_1_DA9AA5F1.723F4%dominique.barthel@orange.com> <9A747D6C-A8B5-4AE4-961A-A3977BAE32E0@strayalpha.com>
In-Reply-To: <9A747D6C-A8B5-4AE4-961A-A3977BAE32E0@strayalpha.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=Suresh@kaloom.com;
x-originating-ip: [45.19.110.76]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 428abb98-db58-4f08-bf07-08d7d0efffb5
x-ms-traffictypediagnostic: QB1PR01MB2466:
x-microsoft-antispam-prvs: <QB1PR01MB246620FE36E3DD6B1559D848B4CE0@QB1PR01MB2466.CANPRD01.PROD.OUTLOOK.COM>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0353563E2B
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(396003)(346002)(366004)(39850400004)(376002)(4326008)(7416002)(2906002)(508600001)(6512007)(66446008)(64756008)(186003)(66476007)(76116006)(91956017)(66946007)(66556008)(8676002)(71200400001)(2616005)(5660300002)(26005)(316002)(8936002)(81166006)(33656002)(6486002)(86362001)(53546011)(6916009)(54906003)(36756003)(6506007)(81156014)(579004)(559001); DIR:OUT; SFP:1102; SCL:1; SRVR:QB1PR01MB2466; H:QB1PR01MB3219.CANPRD01.PROD.OUTLOOK.COM; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords;
received-spf: None (protection.outlook.com: kaloom.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: v6PshOWslkF2iIkJsfOKuz72ZtY9EU+f6xnIMgVEp8MRc0c2HLUTrEbB5BZDfdyVMgKEpmb8gDL5LLrXN4t4EB2JTcTBeT3SIGB4xtswkjtBxS6sKxDDuE53EnvO1Kt/kfw2BOcDYstg6lPTixlPgcj4wG32zuWN8746PylDLRGS4XNYbsywvX/+rBUTc70kMKocb59qykGw4EXAWcYjozR3RJYDdekK0w8wE9onw8pHEFePI8LfZaYpS2jumLdh4DxYyfk5fv5lMGjk3Eb3K755hg4Aqjn37Jf4jBk2HQkFjCCDpFNvGLhiM5I1fad/uodnkEgFWFVBHk+aQQK9+iNntlKlZDhlbudBio9d/C/bHcT1HsmSvdp/LHz1JQS93e4ijGXUrGqz2Tnb3JYO0IsSKhJhtcgMIfWDo1LAoNWlc3iX23pKu1WrnKMp8SsV
x-ms-exchange-antispam-messagedata: Rd6v/q0uneVxQDBJ35owBtvcQI+YGdvWj0BccmVlOHNEBU8o7ZW1GtPjsXXD3AbL3BpDfPSiOiFDfaPcfEj/WDGsJ7S/pOeXtKm536izj55ghs7lPdbDBaP8hzeuNf9f0Bz1FhwweZ69YYYHpxeBaA==
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_E1A83D071BAC436DBB4FD6B44FB24DB4kaloomcom_"
MIME-Version: 1.0
X-OriginatorOrg: kaloom.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 428abb98-db58-4f08-bf07-08d7d0efffb5
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Mar 2020 19:09:10.0917 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 47d58e26-f796-48e8-ac40-1c365c204513
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: /+P+usFZeGMTHIN8X0tOXrm6G35kBy/z+JU7/86O6MEABO5Jb9J3DWBXFPX8gGkt2APz9h2kO6e5qx6yb3cJaw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: QB1PR01MB2466
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsv-art/HPJRG_8f_AseMv9M-NmQgB352mE>
X-Mailman-Approved-At: Sun, 29 Mar 2020 22:00:48 -0700
Subject: Re: [Tsv-art] [Last-Call] [lp-wan] Tsvart last call review of draft-ietf-lpwan-coap-static-context-hc-12
X-BeenThere: tsv-art@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Review Team <tsv-art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsv-art>, <mailto:tsv-art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsv-art/>
List-Post: <mailto:tsv-art@ietf.org>
List-Help: <mailto:tsv-art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsv-art>, <mailto:tsv-art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 25 Mar 2020 19:10:24 -0000

Hi Joe,
  Apologies for top posting. I see your point and I think I see where the disconnect is. There are two independent components that work together to get the packet compressed. There is a parser that goes over the original packet and labels the parsed fields. It then passes the itemized list of fields to the compressor to be compressed based on the rules it has for these fields. So when you say there needs to be a “provided rule" for checking UDP Lengths, the compressor *does not* have a mechanism in place that a rule is matched based on equality between two distinct fields. I personally think the limitation needs to be coded into the parser. I would suggest the following text change (or some similar change) to accommodate this check

* Section 10.10

OLD:

The UDP length can be computed from the received data. The TV is not
set, the MO is set to "ignore" and the CDA is set to "compute-*".

NEW:

The parser MUST NOT label this field unless the UDP Length value
matches the Payload Length value from the IPv6 header.
The TV is not set, the MO is set to "ignore" and the CDA is set to "compute-*”.

Let me know if this works for you.

Thanks
Suresh

On Mar 20, 2020, at 4:35 PM, Joseph Touch <touch@strayalpha.com<mailto:touch@strayalpha.com>> wrote:

Hi, Dominique,

Thanks for the explanation.

I still think the phrase “basic UDP headers” isn’t accurate. IMO, the compression for UDP headers needs to recognize the existing reality that the UDP length may not be predictable, i.e.:

Remove “basic”, because the algorithm doesn’t depend on whether UDP options are present or not.

Change the compression to either ignore UDP length OR to compress that field only when “UDPlength = IPlength - IPhdrsize”, i.e., to include the condition WITHIN the provided rule.

Suggested way forward below…

Joe


If you agree with this premise, here are the proposed changes in
ietf-lpwan-ipv6-static-context-hc (RFC8724-to-be)

In a nutshell
- clean up the “generic SCHC” specification from any hint that UDP Length
can be recomputed. These hints are not necessary to understand the generic
SCHC algorithm anyway.

Agreed, including as I proposed before:

- Section 7.5.8 should not include UDP length as an example of compute-*; it might even be useful to include the following as a caveat:

Note that UDP length is not an example of this type of field. In many conventional uses, UDP length is “IP length - IP header length”, but this is not strictly required by RFC 768 and there are emerging uses for cases where the lengths are not related this way [draft-ietf-tsvwg-udp-options].

- In Section 10 and Appendix A, which are the only ones pertaining to UDP,
specify that these recommendations/examples only apply when the UPD length
can be straightforwardly recomputed out of IPv6 length.
...
Proposed edits, in order of appearance in the draft

Abstract
OLD_TEXT
This document defines a generic header compression mechanism and its
application to compress IPv6/UDP headers.
NEW_TEXT
This document defines a generic header compression mechanism and its
application to compress basic IPv6/UDP headers.

Leave old text IMO.

Section 7.3.8
OLD_TEXT
Because the field is uniquely identified by its Field ID (e.g., UDP
length),
NEW_TEXT
Because the field is uniquely identified by its Field ID (e.g., IPv6
length),

Agreed.

OK

OLD_TEXT
Examples of fields that know how to recompute themselves are UDP length,
IPv6 length and UDP checksum.
NEW_TEXT
An example of fields that know how to recompute themselves is IPv6 length.

Grammar suggestion:

An example of a field that knows how to recompute itself is IPv6 length.
[DB] agreed, thanks.

Section 10
OLD_TEXT
10.  SCHC Compression for IPv6 and UDP Headers
NEW_TEXT
10.  SCHC Compression for basic IPv6 and UDP Headers

Again, leave original text IMO.

OLD_TEXT
This section lists the IPv6 and UDP header fields and describes how
they can be compressed.  An example of a set of Rules for UDP/IPv6
header compression is provided in Appendix A.
NEW_TEXT
This section shows an application of the generic SCHC C/D mechanism (see
Section 7)
for compressing basic IPv6 and UDP headers.
This section only applies to UDP/IPv6 packets where the UDP length can be
straighforwardly recomputed from the IPv6 length. An example of such a set
of Rules is provided in Appendix A.
Sytems MUST NOT apply compression Rules implemented with the
recommendations from Section 10 unless they verify that the UDP length can
be straighforwardly recomputed from the IPv6 length.

Again, unless UDP length can be compressed/not on a per-packet basis, leave as-is.
[DB] given that the answer is yes, I understand that you agree with the proposed change.
[DB] instead of "straightforwardly", I could say "be recomputed as IPv6 length", since we are considering IPv6 packets without extension headers. I could move the latter statement up here from 10.8.

IMO, the section should include the “conditional compression” mechanism. I would not encourage including a mechanism that might or might not work.

Section 10.10 UDP Length Field
OLD_TEXT
The UDP length can be computed from the received data.  The TV is not
set, the MO is set to "ignore", and the CDA is set to "compute-*".
NEW_TEXT
Providing the condition described at the beginning of Section 10 is met,
the UDP length can be computed from the received data.  The TV is not set,
the MO is set to "ignore", and the CDA is set to "compute-*”.

See my suggestion above.
[DB] given that the answer to the per-packet processing capability is yes, I understand that you agree with the proposed change.

I'd suggest starting with the text I proposed earlier:

- Section 10.10

The UDP length may or may not be related to the IP length, as noted in Section 7.5.8. A currently developing use of UDP options relies on UDP length being shorter than “IP length - IP header length”. In this case, the UDP options might be compressible but the UDP length is not computable from the UDP option fields alone.

If you want to include a rule that shows an example, then the rule itself needs to include the test condition.

Section 12.1.1
OLD_TEXT
This property is true for IPv6 Length, UDP Length, and UDP Checksum, for
which the compute-* CDA is recommended by this document.
NEW_TEXT
This property is true for IPv6 Length, UDP Length, and UDP Checksum, for
which the compute-* CDA is recommended by this document, under the
conditions described at the beginning of Section 10.

OK.


Appendix A
OLD_TEXT
This section gives some scenarios of the compression mechanism for
IPv6/UDP headers.
NEW_TEXT
This section provides an example of a Rule set for compressiing basic
IPv6/UDP headers, where the UDP length can be straightforwardly recomputed
out of IPv6 length.

Again, see my caveat.
[DB] given that the answer to the per-packet processing capability is yes, I understand that you agree with the proposed change.

Disagree; IMO, the original text is preferable.

Again, the example should work with current UDP headers, not work “assuming” those headers have compressible lengths. The condition needs to be part of the rule.

--