Hi Rob, I’m fine with simplifying (even if the resultant pattern is much less impressive ;^). I’ve copied the BESS WG to see if there are any objections. Thanks, Acee
From: "Robert Wilton -X (rwilton - ENSOFT LIMITED at Cisco)" <rwil...@cisco.com<mailto:rwil...@cisco.com>> Date: Monday, August 21, 2017 at 11:14 AM To: Acee Lindem <a...@cisco.com<mailto:a...@cisco.com>>, "Ivory, William" <william.iv...@intl.att.com<mailto:william.iv...@intl.att.com>>, "'net...@ietf.org<mailto:'net...@ietf.org>'" <net...@ietf.org<mailto:net...@ietf.org>>, Andy Bierman <a...@yumaworks.com<mailto:a...@yumaworks.com>> Subject: Pattern statements [was Re: [netmod] Query about augmenting module from submodule in YANG 1.0] Hi Acee, That makes sense. The other thing that I think that we have got wrong is modelling regex pattern statements. I think that it would be much better if these were written to be less exhaustive and much simpler. E.g. the "route distinguisher" pattern in draft-ietf-rtgwg-routing-types-09 is defined as this: pattern '(0:(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|' + '6[0-4][0-9]{3}|' + '[0-5]?[0-9]{0,3}[0-9]):(429496729[0-5]|' + '42949672[0-8][0-9]|' + '4294967[01][0-9]{2}|429496[0-6][0-9]{3}|' + '42949[0-5][0-9]{4}|' + '4294[0-8][0-9]{5}|429[0-3][0-9]{6}|' + '42[0-8][0-9]{7}|4[01][0-9]{8}|' + '[0-3]?[0-9]{0,8}[0-9]))|' + '(1:((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|' + '25[0-5])\.){3}([0-9]|[1-9][0-9]|' + '1[0-9]{2}|2[0-4][0-9]|25[0-5])):(6553[0-5]|' + '655[0-2][0-9]|' + '65[0-4][0-9]{2}|6[0-4][0-9]{3}|' + '[0-5]?[0-9]{0,3}[0-9]))|' + '(2:(429496729[0-5]|42949672[0-8][0-9]|' + '4294967[01][0-9]{2}|' + '429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|' + '4294[0-8][0-9]{5}|' + '429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[01][0-9]{8}|' + '[0-3]?[0-9]{0,8}[0-9]):' + '(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|' + '6[0-4][0-9]{3}|' + '[0-5]?[0-9]{0,3}[0-9]))|' + '(6(:[a-fA-F0-9]{2}){6})|' + '(([3-57-9a-fA-F]|[1-9a-fA-F][0-9a-fA-F]{1,3}):' + '[0-9a-fA-F]{1,12})'; } But I think that it would be much easier to read, and quite possibly more performant to execute, if the pattern regex was written something like the following: pattern: '(0:[0-9]{1,5}:[0-9]{1,10})| (1:([0-9]{1,3}\.){4}:[0-9]{1,5})| (2:[0-9]{1,10}:0:[0-9]{1,5})| (6(:[a-fA-F0-9]{2}){6})'; Of course, this would allow more invalid values, but most servers would be expected to reject those when it converts them into an internal binary format any way. What do you, and others, think? Thanks, Rob On 21/08/2017 15:01, Acee Lindem (acee) wrote: Hi William, Rob, Andy, Given their limited usefulness and the detriments, perhaps we should discourage the creation of new submodules in RFC6087Bis. Thanks, Acee On 8/21/17, 9:44 AM, "netmod on behalf of Ivory, William" <netmod-boun...@ietf.org on behalf of william.iv...@intl.att.com><mailto:netmod-bounces@ietf.orgonbehalfofwilliam.iv...@intl.att.com> wrote: Hi Rob, That would make it very hard to update existing 1.x YANG models to use new features in YANG 2.x if they used submodules. Maybe that's something that no one would ever consider doing anyway, or maybe YANG 1.1 already has similar differences to 1.0? I had (perhaps naively) assumed that you could migrate a namespace / model from YANG 1.0 to 2.0? Regards, William -----Original Message----- From: netmod [mailto:netmod-boun...@ietf.org] On Behalf Of Robert Wilton Sent: 21 August 2017 11:24 To: net...@ietf.org<mailto:net...@ietf.org> Subject: Re: [netmod] Query about augmenting module from submodule in YANG 1.0 On 09/08/2017 16:13, Juergen Schoenwaelder wrote: On Wed, Aug 09, 2017 at 05:01:09PM +0200, Ladislav Lhotka wrote: I remember that in early stages of YANG there was some irrational fear of introducing too many namespaces, and submodules may be a consequence of it. As you write, submodules provide no benefits whatsoever in terms of modularity, but the overhead in terms of metadata, IANA registration etc. is pretty much the same as for modules. In case YANG 2.0 is ever done, I suggest someone files a proposal to remove submodules if the cost/benefit ratio is at odds. There is nothing wrong with removing stuff that has been found problematic. I agree. I've added https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_netmod-2Dw g_yang-2Dnext_issues_26&d=DwICAg&c=LFYZ-o9_HUMeMTSQicvjIg&r=p8kyeK3u4ZYiaQ 2ZPGqwkyXmQgBH6r5jpYiYWzhqJ48&m=l7c4IPL049A2bVVO14fyBMly211xU61xSHgPlAT7ow I&s=-kR4fUtXArQy0RwWb32DpT1bP4X_cNqt2zJVoC0JiX8&e= Rob The motivation for submodules was that organizations maintaining large modules with multiple people can do so without having to mess around with tools like m4 scripts to produce a single module from 'snippets' and to avoid integration surprises. But perhaps using m4 scripts and decent version control systems (that can integrate and compile on checkin) is indeed cheaper than having submodules part of the YANG language itself. /js _______________________________________________ netmod mailing list net...@ietf.org<mailto:net...@ietf.org>https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_ listinfo_netmod&d=DwICAg&c=LFYZ-o9_HUMeMTSQicvjIg&r=p8kyeK3u4ZYiaQ2ZPGqwky XmQgBH6r5jpYiYWzhqJ48&m=l7c4IPL049A2bVVO14fyBMly211xU61xSHgPlAT7owI&s=t7vG IH8ABuAm00e-bkSowD9eawModGq0N2OkjANtpYI&e= _______________________________________________ netmod mailing list net...@ietf.org<mailto:net...@ietf.org>https://www.ietf.org/mailman/listinfo/netmod
_______________________________________________ BESS mailing list BESS@ietf.org https://www.ietf.org/mailman/listinfo/bess