RFC Errata


Errata Search

 
Source of RFC  
Summary Table Full Records

RFC 8944, "A YANG Data Model for Layer 2 Network Topologies", November 2020

Source of RFC: i2rs (rtg)

Errata ID: 6951
Status: Held for Document Update
Type: Technical
Publication Format(s) : TEXT, PDF, HTML

Reported By: Mohammed Riyas Valiyapalathingal
Date Reported: 2022-05-03
Held for Document Update by: Alvaro Retana
Date Held: 2022-06-22

Section 4 says:

augment "/nw:networks/nw:network" {
 when '/nw:networks/nw:network/nw:network-types/l2t:l2-topology' {
   description
     "Augmentation parameters apply only for networks
      with L2 topology.";
 }
 description
   "Configuration parameters for the L2 network
    as a whole.";
 uses l2-topology-attributes;
}
augment "/nw:networks/nw:network/nw:node" {
 when '/nw:networks/nw:network/nw:network-types/l2t:l2-topology' {
   description
     "Augmentation parameters apply only for networks
      with L2 topology.";
 }
 description
   "Configuration parameters for L2 at the node
    level.";
 uses l2-node-attributes;
}
augment "/nw:networks/nw:network/nt:link" {
 when '/nw:networks/nw:network/nw:network-types/l2t:l2-topology' {
   description
     "Augmentation parameters apply only for networks
      with L2 topology.";
 }
 description
   "Augments L2 topology link information.";
 uses l2-link-attributes;
}
augment "/nw:networks/nw:network/nw:node/nt:termination-point" {
 when '/nw:networks/nw:network/nw:network-types/l2t:l2-topology' {
   description
     "Augmentation parameters apply only for networks
      with L2 topology.";
 }
 description
   "Augments L2 topology termination point information.";
 uses l2-termination-point-attributes;
}

It should say:

augment "/nw:networks/nw:network" {
  when 'nw:network-types/l2t:l2-topology' {
    description
      "Augmentation parameters apply only for networks
       with L2 topology.";
  }
  description
    "Configuration parameters for the L2 network
     as a whole.";
  uses l2-topology-attributes;
}
augment "/nw:networks/nw:network/nw:node" {
  when '../nw:network-types/l2t:l2-topology' {
    description
      "Augmentation parameters apply only for networks
       with L2 topology.";
  }
  description
    "Configuration parameters for L2 at the node
     level.";
  uses l2-node-attributes;
}
augment "/nw:networks/nw:network/nt:link" {
  when '../nw:network-types/l2t:l2-topology' {
    description
      "Augmentation parameters apply only for networks
       with L2 topology.";
  }
  description
    "Augments L2 topology link information.";
  uses l2-link-attributes;
}
augment "/nw:networks/nw:network/nw:node/nt:termination-point" {
  when '../../nw:network-types/l2t:l2-topology' {
    description
      "Augmentation parameters apply only for networks
       with L2 topology.";
  }
  description
    "Augments L2 topology termination point information.";
  uses l2-termination-point-attributes;
}

Notes:

With absolute XPaths on the augmentations, the meaning becomes “augment nw:network with l2-topology-attributes if ANY network in the list of networks has l2t:l2-topology”.
With that meaning, the following json snippet passes validation when it should not.
It has 2 instances of ietf-network, one at L2 and one at L3. L2 attributes are WRONGLY added to the L3 network and L3 node.

{
"ietf-network:networks": {
"network": [
{
"network-id": "l2-network",
"network-types": {
"ietf-l2-topology:l2-topology": {}
},
"node": [
{
"node-id": "l2-node"
}
]
},
{
"network-id": "l3-network",
"network-types": {
"ietf-l3-unicast-topology:l3-unicast-topology": {}
},
"ietf-l2-topology:l2-topology-attributes": {
"name": "L2Topology"
},
"node": [
{
"node-id": "l3-node",
"ietf-l2-topology:l2-node-attributes" : {
"name": "l2-node-name",
"management-address": [
"1.1.1.1"
],
"management-mac": "11:22:33:aa:bb:cc"
}
}
]
}
]
}
}

With relative XPaths as suggested, the meaning becomes “augment only if THIS network has l2t:l2-topology” and the json snippet above fails validation, as it should.

Report New Errata



Advanced Search