Subject: [netmod] review of draft-ietf-netmod-interfaces-cfg-04

From: "[email-masked]" <[email-masked]>
Date: Wed, 13 Jun 2012 10:15:58 -0700

I have reviewed draft-ietf-netmod-interfaces-cfg-04 and here are my
comments/questions.
1. Leaf "link-up-down-trap-enable" uses an enumeration type whearas leaf
"enable" type is boolean. How the enum and boolean types will be used
differently? If not, should they be consistent? If yes, please explain the
difference in the I-D.

2. In Example VLAN Interface Module, even thought "must" could put anywhere
as a sub statement for leaf. It would be better to keep consistent sub
statement sequence for better coding style.

3. The must statement "/if:interfaces/if:interface[if:name = current()]"
            + "/vlan:vlan-tagging = true" will never be reached. When
augmenting, the additional leaves in the container only applies when 'must'
condition is true. Two augment container can not exist at the same time for
one interface name (key) instance since in this instance, if:type can not be
'l2vlan' and ('ethernetCsmacd' or 'ieee8023adLag'.

Thanks,

Lisa

---

From: Martin Bjorklund <[email-masked]>
Date: Wed, 13 Jun 2012 23:15:24 +0200 (CEST)

Hi,

> differently? If not, should they be consistent? If yes, please explain the

The only reason they are different is that the leaf "enabled"
typically is a boolean in other YANG models (but maybe it
shouldn't...), and link-up-down-trap-enable uses the exact same values
as in the MIB.

> statement sequence for better coding style.

I do not understand what you mean.  Could you try to rephrase?

> 'l2vlan' and ('ethernetCsmacd' or 'ieee8023adLag'.

No, the must statement is correct.  It says that for an interface of
type 'l2vlan', its 'base-interface' must refer to a interface that has
vlan-tagging = true.  For example:

  <interface>
    <name>eth0</name>
    <type>ethernerCsmacd</type>
    <vlan:vlan-tagging>true</vlan:vlan-tagging>
  </interface>
  <interface>
    <name>vlan1</name>
    <type>l2vlan</type>
    <vlan:base-interface>eth0</vlan:base-interface>
  </interface>

/martin