
[Please post counter proposals also to https://forge.ogf.org/sf/go/artf6495] I have recently distributed some NML example topologies to people outside of the NML developers. This included label definitions like: <nml:label> <nml:parameter name="type">http://schemas.ogf.org/nml/2013/10/ethernet/vlan</nml:parameter> <nml:parameter name="values">1780-1783</nml:parameter> </nml:label> Some of the feedback was that the label syntax was too verbose, and the alternative was akin to the original proposal: <nml:label labelType="http://schemas.ogf.org/nml/2013/10/ethernet/vlan">1780-1783</nml:label> This in combination with a recent majority on the NML mailing list who favoured a relative flat syntax for label ranges ("1780-1783" instead of <start>1780</start><end>1783</end>) has prompted me to see if a more simple alternative is possible. To that end, I posed two complex label definitions, to see how those can be described: 1. IP does not describe resource labels, but a source + destination label pair. How to describe a label pair with "source IP 145.100.124.38 and destination IP 193.10.252.66"? 2. WDM channel not only have a (central) frequency (or central wavelength) but also a given frequency bandwidth, the spacing. How to specify the these (ITU-gridless) wavelengths: "The wavelengths with 193.0, 193.1 and 193.2 central frequency with 100 GHz spacing, and another wavelength at 193.275 central frequency with 50 GHz spacing". After some thinking, here is a proposal: (sorry for the quoting, this prevents wrapping in my mail client)
1. <nml:label labeltype="http://schemas.ogf.org/nml/2013/10/ip/ipv4"><source>145.100.124.38</source><destination>193.10.252.66</destination></nml:label>
2. <nml:labelgroup labeltype="http://schemas.ogf.org/nml/2013/10/dwdm/frequency">193.0-193.2±0.05,193.275±0.025</nml:label> (or the alternative if we don't want a non-ASCII "±" sign, and like to see the spacing rather than half the spacing): <nml:labelgroup labeltype="http://schemas.ogf.org/nml/2013/10/dwdm/frequency">193.0-193.2~0.1,193.275~0.05</nml:label>
In conclusion, I think that the shorter variant can be done, as long as we specify per labeltype what the syntax is. I recommend to distinguish between nml:label and nml:labelgroup, now that the type="value"/type="values" is no longer there to distinguish between a label and a label group. Regards, Freek