Re: [netmod] WG Last Call: draft-ietf-netmod-artwork-folding-02

"Rob Wilton (rwilton)" <> Tue, 28 May 2019 13:54 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 372301201C9; Tue, 28 May 2019 06:54:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.5
X-Spam-Status: No, score=-14.5 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key) header.b=Mh9+V/zY; dkim=pass (1024-bit key) header.b=GNjqN/6j
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 5rKT8SkBbaNq; Tue, 28 May 2019 06:54:17 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id B76F0120158; Tue, 28 May 2019 06:54:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=4183; q=dns/txt; s=iport; t=1559051656; x=1560261256; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=1gltsDoYYZB5VEr/OP2fXigIXDbc0MhYz9kiVJIG13w=; b=Mh9+V/zYEGTc9ryDWxiCJLPFXXAi/O8iQY4AqNjkwYw1Xf3SBCcZWftA ppoXWfz9toGv2IS/ijAyxb57JoTMTQKhodVMx0a7CW+27DcIbnWWhuazq 8KnANAQQHUdOLFm8f83G/RFxt6LN9eohLi88XXe5bNIxT09+qAHd5Qlg+ g=;
IronPort-PHdr: 9a23:0kXVVxbRJQXGuWFRXdA2sEz/LSx94ef9IxIV55w7irlHbqWk+dH4MVfC4el20gebRp3VvvRDjeee87vtX2AN+96giDgDa9QNMn1NksAKh0olCc+BB1f8KavwcC0+AMNEfFRk5Hq8d0NSHZW2ag==
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.60,523,1549929600"; d="scan'208";a="282384893"
Received: from ([]) by with ESMTP/TLS/DHE-RSA-SEED-SHA; 28 May 2019 13:54:15 +0000
Received: from ( []) by (8.15.2/8.15.2) with ESMTPS id x4SDsFda018872 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 28 May 2019 13:54:15 GMT
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.0.1473.3; Tue, 28 May 2019 08:54:14 -0500
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.0.1473.3; Tue, 28 May 2019 08:54:13 -0500
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Tue, 28 May 2019 09:54:13 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tif1o4/dLDSEho4NN27L0Dv8XSz2LGofIAal0UxWK7Q=; b=GNjqN/6jXMTfAyTS2pFWeQ0CfvLcqmd//9MVunxDX8QHDfuUcC+avL0oEUvIe5YdtJW9XkCBTwZVMZ53mSkQChpmXPPnIdZlEUbf1hVArtrPxMSqRd2PvIvAsLMiwki9qmXBxHlWkwLVnf71Z5eZUByMCuVOtDXQVqVelzy8d/4=
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1922.15; Tue, 28 May 2019 13:54:11 +0000
Received: from ([fe80::d837:c1dd:cdb1:bb78]) by ([fe80::d837:c1dd:cdb1:bb78%7]) with mapi id 15.20.1922.021; Tue, 28 May 2019 13:54:11 +0000
From: "Rob Wilton (rwilton)" <>
To: NetMod WG <>, "" <>
Thread-Topic: [netmod] WG Last Call: draft-ietf-netmod-artwork-folding-02
Thread-Index: AQHVCQh/oSnqrubDN0ieHZJH/cPGUKaAcPjQ
Date: Tue, 28 May 2019 13:54:11 +0000
Message-ID: <>
References: <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
authentication-results: spf=none (sender IP is );
x-originating-ip: []
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 601a9d3d-ecc9-42d4-9ceb-08d6e373f69f
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:BYAPR11MB2598;
x-ms-traffictypediagnostic: BYAPR11MB2598:
x-ms-exchange-purlcount: 1
x-microsoft-antispam-prvs: <>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 00514A2FE6
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(346002)(396003)(366004)(39860400002)(136003)(51444003)(199004)(189003)(13464003)(86362001)(229853002)(2501003)(316002)(52536014)(53936002)(74316002)(81166006)(8676002)(81156014)(5660300002)(33656002)(55016002)(486006)(6436002)(11346002)(476003)(446003)(6306002)(3846002)(14454004)(9686003)(478600001)(186003)(8936002)(26005)(6116002)(76176011)(66946007)(305945005)(7736002)(2906002)(66446008)(76116006)(71190400001)(64756008)(73956011)(71200400001)(7696005)(450100002)(99286004)(66556008)(66476007)(6506007)(68736007)(53546011)(6246003)(102836004)(110136005)(66066001)(25786009)(14444005)(256004)(966005); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR11MB2598;; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None ( does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: V0pGEoW5eg7Ps+kpraD1AgcvBx6LxNbNvY6TRTpyY6MjhYiomGxNK4uQUeDE+rG1gVeIL+fQiETg9j5D7v0kBKSIPN7dW3WC0bEXZFzV6c4bfiwoy0jhrUB9s3o6i3mx0Fq88B7b8L+I0FujA8hAKv/8M8kJURdMiv2aThUvJFo2Vk+/B54CNgoxh9zbeEnVitlhtXWW6HZP6as+yOmLpHiKppjTIzkhjzX01QcCx9cCno8824xo0YYn2qexcB3hSHQHvOKs6NmYdrWssH7qrwyVYzoKQ4XIpGc2DCQ8TgmCdhIcFFK3QtT8WNdHEx33ZSURVIVn06mHkfkxPZeGQX0fwDc67l+5amge88sAxPwDg5Q6Wj48jQpuY3sddtTDVotxdHODwZuM2s0y1r0t6eL6+NJinTpYopOvZjH1290=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 601a9d3d-ecc9-42d4-9ceb-08d6e373f69f
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 May 2019 13:54:11.6744 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2598
Archived-At: <>
Subject: Re: [netmod] WG Last Call: draft-ietf-netmod-artwork-folding-02
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 28 May 2019 13:54:19 -0000


I've read this document and have some minor comments on it. 

1) Abstract:
I wasn't sure whether the abstract is still entirely accurate, given that the document describes two strategies rather than one, only one of those strategies is time proven ('\'), and only one of those strategies works on *any* text-based content ('\\').

2) Section 4. Goals:
Is one of the goals to *exactly* reproduce the input text to the folding algorithm?  If so, this might be worth explicitly stating (e.g. because of the whitespace handling when using the single backslash strategy).

3) Section 5.1
Nit: will work -> works.

4) Section 5.2, 4th paragraph about functions.
I'm not sure this paragraph really adds anything to the document, so I would suggest removing it.  E.g. does this means that we should use YANG groupings to avoid line length indentation issues, if so, I would question whether that makes the resulting YANG model more readable.

5) Section 5.2, last paragraph.
I think that the RECOMMENDED is perhaps a bit strong, hence I would prefer "suggested" or "encouraged" over "RECOMMENDED".  I think that some/many of the input formats do have ways that the input can be modified such that folding isn't required, but I'm not sure that we necessarily advocate that should always be done.

6) 7.2.1. '\' folding algorithm:
It should also check if the line contains more than "max line length space" characters and if so it cannot be folded using this strategy.

7) 8.2.1. '\\' folding algorithm, 6th paragraph:
Does this have to abort if it finds a '\' character at the end of the line, and start at next?  I think that this could still be handled by folding again at that same point, which when unfolded should go back to the same input again.  Of course, such a tool might also warn that the input might already be folded input.  One of the advantages of the '\\' method is that it should be able to deterministically work on any input.


Final comment, and it is probably a bit late for this, but rather than having two separate schemes, I have one quick idea for merging the two.

The idea is this:  The principle difference between the two schemes is how they treat whitespace.  So, the suggestion is to make the '\' on the following line optional, so it is *only* used to separate insignificant whitespace from significant whitespace.  When unfolding, rather that only consuming leading whitespace following a fold, it would also optionally consume the '\' if it immediately followed the leading whitespace AND it also followed by a whitespace character.

Perhaps best illustrated with a short contrived example:

  "This is some example  text that I want to fold whilst preserving whitespace"

If I want to (approximately) fold this text around column 21, then I could fold it to this (using the existing '\' scheme):

"This is some \
 example  test that \
 I want to fold whilst \
 preserving whitespace"

Alternatively, I could fold the first line to this instead, separating significant whitespace from the insignificant whitespace:

"This is some example \
 \ text that I want to \
 fold, whilst preserving \


> -----Original Message-----
> From: netmod <> On Behalf Of Lou Berger
> Sent: 12 May 2019 22:20
> To: NetMod WG <>
> Cc: NetMod WG Chairs <>
> Subject: [netmod] WG Last Call: draft-ietf-netmod-artwork-folding-02
> All,
> This starts a two-week working group last call for
> draft-ietf-netmod-artwork-folding-02
> The working group last call ends on May 27.
> Please send your comments to the working group mailing list.
> Positive comments, e.g., "I've reviewed this document and believe it is
> ready for publication", are welcome!
> This is useful and important, even from authors.
> Thank you,
> NetMod Chairs
> _______________________________________________
> netmod mailing list