
On 18-12-2013 17:54, John MacAuley wrote:
Not sure if these are NSI specific questions, or general NML questions. All relate to Port/PortGroups and use of labels.
1. I can have a Port without a Label, and a PortGroup without a LabelGroup. In this case the Port id alone uniquely identifies the resource.
Yes.
2. Can i have a Label or LabelGroup specified with a label type but no value? In this case the Port is identified uniquely by id and label type.
I think that the syntax allows a label type without label value. Out of curiousity, what's the use case? I can't think of an example. What do you mean with "the Port is identified uniquely by id and label type". Do you mean the Port id or the Portgroup id? I presume that a Port is identified uniquely by it's Port id.
3. Can I have Ports/PortGroups with different label types grouped in the same SwitchingService or are they restricted to having the same labeltype?
Ah, excellent question. I think that NML currently defines that it is allowed, but the meaning is undefined. I think that should change. I like to see a SwitchingServices which supports both tagged Ethernet (with a vlan label) as well as a untagged Ethernet (with no label). So the requirement would be that all Port/Portgroups in a SwitchingService MUST have the same encoding, but may have different label types.
4. If I can have Ports/PortGroups with different label types in the same SwitchingService, then does a value of labelSwapping == true means I can swap between different labeltypes as well?
Yes. It is currently not defined, but that is indeed a useful scenario which should be allowed. Indeed labelSwapping == true would mean there is no restriction with regards to labels -- all Ports part of the SwitchingService can exchange data without restriction. Conversely, if labelSwapping == false, then both the type and the value should match if data needs to be exchanged from one Port to another Port.
If we do permit different label types in the same SwitchingService then adding a labelType attribute to the SwitchingService would need to have additional behaviour defined to restrict label swapping to only ports with labels of that type.
Currently, a SwitchingService does not have a labeltype attribute. It only has a encoding attribute. (An example of encoding is "Ethernet frames", or labeltype is "C-VLAN") Freek