Re: [netmod] Call for adoption request of draft-kwatsen-netmod-artwork-folding-04

Kent Watsen <> Thu, 28 June 2018 23:03 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 4EEA5131133 for <>; Thu, 28 Jun 2018 16:03:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.701
X-Spam-Status: No, score=-2.701 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_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 4-f2Q0ZiMEep for <>; Thu, 28 Jun 2018 16:03:10 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 44D7613111D for <>; Thu, 28 Jun 2018 16:03:10 -0700 (PDT)
Received: from pps.filterd ( []) by ( with SMTP id w5SN0C2N014644; Thu, 28 Jun 2018 16:03:03 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; h=from : to : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=PPS1017; bh=Y/rO65qXflCRzg8MBB18en4j7XHbkZOouTURE+YFTGM=; b=0JiWhVHe0d0ap3+/8+VmLPghwg3g0qkpWvCka7JhEzkJAgxm0sQKBlXl7sdg4UFH3RpP zB5dkHmWfppN8X4gA1syw/LtZMD0j/jtK46Es0hzUbFQ7uBvatTNZ9pZheJaRlsuC6/J jmk0/4nvvyTzEsV6TvicatOUr+P9S7QQ4iQN9xrtmZ5FEkoFLHwozSiYzkA9m4cle/4S HQay8wEBL9J3nSVMQGUQ4e/g4yYr15dumO6dVZQSP5Sc8O9n5cofkUf6QqKag2QX+UkP xTt6mHhOwblqF/oFfMHx2nFDikQfLahQXlpEsvsLpt6JXHdMHTwju6/mDUhG4UmCqCEk fQ==
Received: from ( []) by with ESMTP id 2jw8n5g11m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Thu, 28 Jun 2018 16:03:03 -0700
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.10; Thu, 28 Jun 2018 23:03:00 +0000
Received: from ([fe80::959d:9fbe:90e4:3cc]) by ([fe80::959d:9fbe:90e4:3cc%4]) with mapi id 15.20.0906.018; Thu, 28 Jun 2018 23:03:00 +0000
From: Kent Watsen <>
To: Robert Wilton <>, Qin Wu <>, "" <>
Thread-Topic: [netmod] Call for adoption request of draft-kwatsen-netmod-artwork-folding-04
Thread-Index: AQHUCpK0us9UwwoDtU2EaBoFZiTowKRz8ZSAgACrHgCAAUxTAIAAJxkA
Date: Thu, 28 Jun 2018 23:03:00 +0000
Message-ID: <>
References: <> <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
user-agent: Microsoft-MacOutlook/f.20.0.170309
x-originating-ip: []
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; BYAPR05MB4343; 7:aIIaelZjsvwHJAe7Q4pLd/HgOoIdjSe7xX8IZvTJ/4Ul4K1oa0XxTk/i0zvo7MPLGZcRrjuvcHcKjot72gHEEqzgQX1JmXmfisgqDVYBEOZ3mnyF9bxzv2rO9I9QBV24xhCQ3zT/rz4bN6iQeokGPek7cNEEJAzK6C6nwp1lJayLT/ZEqDw0/UDoxEnV85+/IFsn2j2ZT1fKTegyK9d/uaQyEnxGn4k8WmHA8qVHctoj0tsHtAONzNJzFRnxArK3
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-correlation-id: 68e9154a-f609-4b11-7ffc-08d5dd4b4bea
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652037)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020); SRVR:BYAPR05MB4343;
x-ms-traffictypediagnostic: BYAPR05MB4343:
x-microsoft-antispam-prvs: <>
x-exchange-antispam-report-test: UriScan:;
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(3231254)(944501410)(52105095)(10201501046)(6055026)(149027)(150027)(6041310)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123558120)(20161123562045)(6072148)(201708071742011)(7699016); SRVR:BYAPR05MB4343; BCL:0; PCL:0; RULEID:; SRVR:BYAPR05MB4343;
x-forefront-prvs: 0717E25089
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(396003)(39860400002)(376002)(346002)(366004)(136003)(189003)(199004)(2501003)(3846002)(6116002)(2900100001)(5250100002)(110136005)(476003)(76176011)(26005)(2616005)(486006)(446003)(256004)(53936002)(102836004)(6346003)(6506007)(2906002)(316002)(82746002)(186003)(93886005)(86362001)(14454004)(58126008)(83716003)(99286004)(8676002)(81156014)(81166006)(8936002)(7736002)(11346002)(6246003)(68736007)(36756003)(66066001)(106356001)(25786009)(33656002)(105586002)(229853002)(97736004)(6486002)(6512007)(478600001)(5660300001)(6436002)(305945005); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR05MB4343;; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None ( does not designate permitted sender hosts)
x-microsoft-antispam-message-info: TSlvi1ak4yk5Uits+hdwTfGV/dGSxV1+iVRWWWWyuVcYNKhDBJyJI4HTARDAoU84qFyC2+2Ctkp6SbnBXNHlaC+Jv7Lhg4MvQWUR9hyUWR8ToBghC7UcIlJMzpNovRsBbh1cK3rf2Hbu0SR93LK2M4FuOSlIyFmJJjMsvkmoxsbMNvyOjghlfiocOvwxAcqKCUk89504yH2Y1yZeeAZ0qjz22QZhbllmsrF6Qpy5+jMQTqyoeLqjgXpqGA2M98b9gR5IQd7ipcXKeLDKhrDydwLeNBGwiqGwbbmlnf09KLDPe2KqbBAVoAZFrFjSN5S28nViRI4SwMZK7bNskxJe+0BBBosL4VqNIocvMkq3kEA=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-ID: <>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 68e9154a-f609-4b11-7ffc-08d5dd4b4bea
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jun 2018 23:03:00.7907 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR05MB4343
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-06-28_08:, , signatures=0
X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1806210000 definitions=main-1806280253
Archived-At: <>
Subject: Re: [netmod] Call for adoption request of draft-kwatsen-netmod-artwork-folding-04
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: NETMOD WG list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 28 Jun 2018 23:03:22 -0000

Hi Robert,

>>> 2) The proposed solution always left indents the wrapped line. Often for
>>> artwork (e.g. a YANG tree diagram), where whitespace is not significant,
>>> and the wrapping is relatively minor, then right indenting the wrapped
>>> line can make the results look more visually readable.
>> The placement of the indents in the example above would be impossible
>> to automate - they're too artsy ;)
> They are just right indented, so it is pretty easy to figure out?  E.g. 
> start at  (Max line length - number of wrapped chars)

My bad, I didn't catch that they were right-indented before.  Hmmmm, 
interesting idea, worth keeping in mind.  I see how it produces good
results sometimes, but it also seems like it could produce some results
that are not as good as indenting to the first whitespace character
from the previous line.

>> Note the error in the unfolded version.  I think disallowing
>> whitespace characters on the fold column in the source artwork is
>> overly limiting, spaces being so commonly used.   The only way I
>> can think to preserve the space character is to have a fixed
>> indent rule (e.g., some hardcoded column number, or always use
>> the same indent as previous line, or the same as the previous
>> line plus some fixed offset).  Given a clear rule, the unfolding
>> alg can chomp just the right amount of whitespace out, leaving
>> the any remaining whitespace, so the round-trip result is loss-less.
>There other ways to solve this, at a slight increase in complexity.
> E.g. You could use two marker characters, e.g. as below, where 
> everything between and including the two '\' characters is stripped.  
> Simple folding tools could just put the second '\' at the beginning of 
> the next line, or at a fixed column,  more sophisticated tools could put 
> more effort into making it more readable, but still preserve the ability 
> to get the exact source back out again.
>           |     |  +--rw default?                 empty
>           |     +--:(untagged)
>           |     |  +--rw untagged?                empty
>           |     +--:(dot1q-priority-tagged)
>           |     |  +--rw dot1q-priority-tagged
>           |     |     +--rw tag-type?   dot1q-types:dot1q-\
>                                                   \tag-type
>           |     +--:(dot1q-vlan-tagged)
>           |        +--rw dot1q-vlan-tagged

Clever!  Having both seems to resolve many issues, and it might be within
reach of a `sed` one-liner again.  The only issue might be readability,
since it's so different than the time-aged convention...

> Rob

Kent // contributor