Subject: Re: [netmod] [802.1 - 12909] IETF Sub-interface VLAN YANG Data Models - draft-ietf-netmod-sub-intf-vlan-model-04

From: John Messenger <[email-masked]>
Date: Tue, 13 Nov 2018 04:55:25 +0000

Hi,

At the 802.1 TSN meeting this morning, Lou Berger made a presentation on behalf of Rob Wilton summarising the recent changes in this draft.  I like the changes to the structure which are intended to align the VLAN tag structure to that specified in 802.1Q.  I notice that the draft retains clause 2.2 (Extensibility) but I think that's a bug, because it's not reflected in the model (which is a fixed structure of one or two tags).

Right now, it says that the Ethertypes are taken from dot1q-tag-type.  Would this allow tags other than 802.1QTagType (81-00) and 802.1QSTagType (88-A8)?  That shouldn't be allowed.

My preference would be to remove the forward-looking statement quoted here because it implies a willingness to extend to 3 tags:
	The structure of the model is currently limited to matching or
   rewriting a maximum of two 802.1Q tags in the frame header but has
   been designed to be easily extensible to matching/rewriting three or
   more VLAN tags in future, if required.

It looks like you could parse an untagged frame as either :(untagged) or :(dot1q-vlan-tagged) (without either of the optional tags).  Is that a bug?

Thanks,
	-- John 

-----Original Message-----
From: List HELP only <[email-masked]> On Behalf Of Robert Wilton
Sent: 05 November 2018 16:16
To: [email-masked]
Subject: [802.1 - 12909] IETF Sub-interface VLAN YANG Data Models - draft-ietf-netmod-sub-intf-vlan-model-04

Ballot due Nov. 6: P802.1Qcx/D0.4
For particulars see
  https://1.ieee802.org/active-ballots/
802.1 list help: https://1.ieee802.org/email-lists/
List archives (access-controlled) by date:
               www.ieee802.org/1/private/email2/mail1.html
-----

Dear esteemed 802.1 WG members,

A few years back, at the start of my IETF and IEEE standards journey I wrote a draft defining a sub-interface based VLAN termination YANG model.  After discussion and presentations in both IETF NETMOD WG and IEEE 802.1 WG, there was a general agreement that it would be acceptable for IETF to publish this YANG model as an informational RFC, with the acknowledgement that 802.1Q VLAN technology is owned by IEEE, and in future the IEEE 802.1 WG may choose to publish a VLAN termination model.

As part of that IETF NETMOD WG process, and after IEEE 802.1 WG had reviewed the model, I made a small change in structure of the YANG model with the sole aim of making the model simpler to use. In particular, the older model required a slightly clunky indexed list of VLAN tags, and that is replaced with a simpler structure supporting two explicit named VLAN tags ('outer-tag' and 'second-tag').  A while back, Glenn requested that I pass these changes by the IEEE 802.1 WG to ensure that the changes are acceptable to the IEEE 802.1 WG, hence this email.

The change is perhaps best illustrated via the following change in the YANG tree output.

The*older format* of the YANG model (that members of the 802.1Q WG previously saw) was like this:

*if-cmn:encaps-type: +--:(vlan) +--rw vlan +--rw tags +--rw tag* [index] 
+--rw index uint8 +--rw dot1q-tag +--rw tag-type dot1q-tag-type +--rw
vlan-id dot1q-vlan-id*

The *updated format *of YANG model in the current draft is like this:

        +--:(dot1q-vlan)
           +--rw dot1q-vlan
              +--rw outer-tag!
              |  +--rw tag-type    dot1q-tag-type
              |  +--rw vlan-id     ieee:vlanid
              +--rw second-tag!
                 +--rw tag-type    dot1q-tag-type
                 +--rw vlan-id     ieee:vlanid

The same equivalent change has been made for L2 sub-interfaces as well.

The latest internet draft is 
https://tools.ietf.org/html/draft-ietf-netmod-sub-intf-vlan-model-04

In particular, it may also be useful to look at the instance data 
examples in chapter 7, that give a couple of examples of how the YANG 
model is expected to be used both for L3 termination, and also when used 
in conjunction with the IETF L2VPN YANG model to provision a 
point-to-point L2 service.

I hope to submit this draft to the NETMOD WG chairs for WG last call 
after the current IETF 103 meeting.  So if anyone has any concerns then 
please may I ask that you raise them.  ideally I would like to get them 
informally addressed before this document progresses.  Alternatively if 
you need more time to review this change, or need this as a formal 
liaison then please let me know, and I'll do my best.

Thank you for your time,
Rob Wilton

===
Unsubscribe link: mailto:[email-masked]
IEEE. Fostering technological innovation and excellence for the benefit of humanity.

---

From: Lou Berger <[email-masked]>
Date: Tue, 13 Nov 2018 14:03:32 +0700

Hi John,

     Thank you (and Janos, the group) for the agenda time and the 
message.  There was also a request for a single c-type vlan example.  I 
see that there is already one on page 22 as part of the match container.

See below for inline responses.

Rob/WG,
     The plan is to address the comments raised in this mail, update the 
draft and then go to LC.  Please note that the document status should be 
changed Informational to Standards Track.

> At the 802.1 TSN meeting this morning, Lou Berger made a presentation on behalf of Rob Wilton summarising the recent changes in this draft.  I like the changes to the structure which are intended t…
I agree.
> Right now, it says that the Ethertypes are taken from dot1q-tag-type.  Would this allow tags other than 802.1QTagType (81-00) and 802.1QSTagType (88-A8)?  That shouldn't be allowed.
I read this as just trying to use the IEEE defined types.  We certainly 
can restrict this to just c-vlan and s-vlan values, but perhaps you want 
to consider defining an enumeration for this case (valid-qtag-types).

Rob (wg)

     Do you see any issue with restricting tag-types to 
dot1q-types:c-vlan and dot1q-types:s-vlan?

>     more VLAN tags in future, if required.

sure. (at least from my perspective.)

> It looks like you could parse an untagged frame as either :(untagged) or :(dot1q-vlan-tagged) (without either of the optional tags).  Is that a bug?

I may be missing something, but I think you're right - i,e., why would 
dot1q-vlan-tagged be present without an outer-tag, but I may be missing 
something...

Thanks again.

Lou

---

From: Robert Wilton <[email-masked]>
Date: Tue, 13 Nov 2018 16:54:24 +0000

Hi John, Lou,

Thank you both for your comments and helping to get the necessary 
visibility and review from 802.1 WG.

On 13/11/2018 07:03, Lou Berger wrote:
> message.  There was also a request for a single c-type vlan example.  
> I see that there is already one on page 22 as part of the match 
> container.

I will add an explicit example for a single tag L3 sub-interface c-vlan 
match as well.

>     The plan is to address the comments raised in this mail, update 
> the draft and then go to LC.  Please note that the document status 
> should be changed Informational to Standards Track.

OK.

>> At the 802.1 TSN meeting this morning, Lou Berger made a presentation 
>> on behalf of Rob Wilton summarising the recent changes in this 
>> draft.  I like the changes to the structure which are intended to 
>> align the VLAN tag structure to that specified in 802.1Q.  I notice 
>> that the draft retains clause 2.2 (Extensibility) but I think that's 
>> a bug, because it's not reflected in the model (which is a fixed 
>> structure of one or two tags).
> I agree.

I agree, I think that this section can be deleted.

>> Right now, it says that the Ethertypes are taken from 
>> dot1q-tag-type.  Would this allow tags other than 802.1QTagType 
>> (81-00) and 802.1QSTagType (88-A8)?  That shouldn't be allowed.
> I read this as just trying to use the IEEE defined types.  We 
> certainly can restrict this to just c-vlan and s-vlan values, but 
> perhaps you want to consider defining an enumeration for this case 
> (valid-qtag-types).
>
> Rob (wg)
>
I quite like the model being tied to the IEEE defined type and 
associated identities, that only currently defines "c-vlan" and 
"s-vlan".  However, since they are identities it is possible for anyone 
to augment new identities in new YANG modules.

We could block other types by using must statements.  In fact, in the 
case that they are double tagged then the model already enforces that 
outer-tag is s-vlan and inner-tag is c-vlan.  So covering the single tag 
case also makes sense.

>
>> My preference would be to remove the forward-looking statement quoted 
>> here because it implies a willingness to extend to 3 tags:

Agreed.  This statement is now wrong and should be removed.

>
>> It looks like you could parse an untagged frame as either :(untagged) 
>> or :(dot1q-vlan-tagged) (without either of the optional tags).  Is 
>> that a bug?

Yes, that is a bug.  I will fix this.  dot1q-vlan-tagged should only be 
allowed to match on outer-tag or outer-tag & second-tag.  So, I probably 
need to mark outer-tag as mandatory.

Thanks again for your help.

I'll post an updated draft shortly.

Thanks,
Rob

> dot1q-vlan-tagged be present without an outer-tag, but I may be 
> missing something...
>
> Thanks again.
>
> Lou
>
>> Thanks,
>>     -- John
>>
>> A few years back, at the start of my IETF and IEEE standards journey 
>> I wrote a draft defining a sub-interface based VLAN termination YANG 
>> model.  After discussion and presentations in both IETF NETMOD WG and 
>> IEEE 802.1 WG, there was a general agreement that it would be 
>> acceptable for IETF to publish this YANG model as an informational 
>> RFC, with the acknowledgement that 802.1Q VLAN technology is owned by 
>> IEEE, and in future the IEEE 802.1 WG may choose to publish a VLAN 
>> termination model.
>>
>> As part of that IETF NETMOD WG process, and after IEEE 802.1 WG had 
>> reviewed the model, I made a small change in structure of the YANG 
>> model with the sole aim of making the model simpler to use. In 
>> particular, the older model required a slightly clunky indexed list 
>> of VLAN tags, and that is replaced with a simpler structure 
>> supporting two explicit named VLAN tags ('outer-tag' and 
>> 'second-tag').  A while back, Glenn requested that I pass these 
>> changes by the IEEE 802.1 WG to ensure that the changes are 
>> acceptable to the IEEE 802.1 WG, hence this email.
>>
> .