draft-ietf-netmod-intf-ext-yang-09.txt   draft-ietf-netmod-intf-ext-yang-10.txt 
Internet Engineering Task Force R. Wilton, Ed. Internet Engineering Task Force R. Wilton, Ed.
Internet-Draft D. Ball Internet-Draft D. Ball
Intended status: Standards Track T. Singh Intended status: Standards Track T. Singh
Expires: January 14, 2021 Cisco Systems Expires: January 30, 2021 Cisco Systems
S. Sivaraj S. Sivaraj
Juniper Networks Juniper Networks
July 13, 2020 July 29, 2020
Common Interface Extension YANG Data Models Common Interface Extension YANG Data Models
draft-ietf-netmod-intf-ext-yang-09 draft-ietf-netmod-intf-ext-yang-10
Abstract Abstract
This document defines two YANG modules that augment the Interfaces This document defines two YANG modules that augment the Interfaces
data model defined in the "YANG Data Model for Interface Management" data model defined in the "YANG Data Model for Interface Management"
with additional configuration and operational data nodes to support with additional configuration and operational data nodes to support
common lower layer interface properties, such as interface MTU. common lower layer interface properties, such as interface MTU.
The YANG modules in this document conform to the Network Management The YANG modules in this document conform to the Network Management
Datastore Architecture (NMDA) defined in RFC 8342. Datastore Architecture (NMDA) defined in RFC 8342.
skipping to change at page 1, line 39 skipping to change at page 1, line 39
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 14, 2021. This Internet-Draft will expire on January 30, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 36 skipping to change at page 2, line 36
2.7. Forwarding Mode . . . . . . . . . . . . . . . . . . . . . 9 2.7. Forwarding Mode . . . . . . . . . . . . . . . . . . . . . 9
3. Interfaces Ethernet-Like Module . . . . . . . . . . . . . . . 9 3. Interfaces Ethernet-Like Module . . . . . . . . . . . . . . . 9
4. Interface Extensions YANG Module . . . . . . . . . . . . . . 10 4. Interface Extensions YANG Module . . . . . . . . . . . . . . 10
5. Interfaces Ethernet-Like YANG Module . . . . . . . . . . . . 21 5. Interfaces Ethernet-Like YANG Module . . . . . . . . . . . . 21
6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 25 6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.1. Carrier delay configuration . . . . . . . . . . . . . . . 25 6.1. Carrier delay configuration . . . . . . . . . . . . . . . 25
6.2. Dampening configuration . . . . . . . . . . . . . . . . . 26 6.2. Dampening configuration . . . . . . . . . . . . . . . . . 26
6.3. MAC address configuration . . . . . . . . . . . . . . . . 27 6.3. MAC address configuration . . . . . . . . . . . . . . . . 27
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 29 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 29
8. ChangeLog . . . . . . . . . . . . . . . . . . . . . . . . . . 29 8. ChangeLog . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8.1. Version -09 . . . . . . . . . . . . . . . . . . . . . . . 29 8.1. Version -10 . . . . . . . . . . . . . . . . . . . . . . . 29
8.2. Version -08 . . . . . . . . . . . . . . . . . . . . . . . 29 8.2. Version -09 . . . . . . . . . . . . . . . . . . . . . . . 29
8.3. Version -07 . . . . . . . . . . . . . . . . . . . . . . . 29 8.3. Version -08 . . . . . . . . . . . . . . . . . . . . . . . 29
8.4. Version -06 . . . . . . . . . . . . . . . . . . . . . . . 29 8.4. Version -07 . . . . . . . . . . . . . . . . . . . . . . . 29
8.5. Version -05 . . . . . . . . . . . . . . . . . . . . . . . 29 8.5. Version -06 . . . . . . . . . . . . . . . . . . . . . . . 29
8.6. Version -04 . . . . . . . . . . . . . . . . . . . . . . . 29 8.6. Version -05 . . . . . . . . . . . . . . . . . . . . . . . 29
8.7. Version -03 . . . . . . . . . . . . . . . . . . . . . . . 29 8.7. Version -04 . . . . . . . . . . . . . . . . . . . . . . . 29
8.8. Version -02 . . . . . . . . . . . . . . . . . . . . . . . 30 8.8. Version -03 . . . . . . . . . . . . . . . . . . . . . . . 30
8.9. Version -02 . . . . . . . . . . . . . . . . . . . . . . . 30
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 30 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 30
9.1. YANG Module Registrations . . . . . . . . . . . . . . . . 30 9.1. YANG Module Registrations . . . . . . . . . . . . . . . . 30
10. Security Considerations . . . . . . . . . . . . . . . . . . . 31 10. Security Considerations . . . . . . . . . . . . . . . . . . . 31
10.1. ietf-if-extensions.yang . . . . . . . . . . . . . . . . 31 10.1. ietf-if-extensions.yang . . . . . . . . . . . . . . . . 31
10.2. ietf-if-ethernet-like.yang . . . . . . . . . . . . . . . 32 10.2. ietf-if-ethernet-like.yang . . . . . . . . . . . . . . . 32
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 32 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 32
11.1. Normative References . . . . . . . . . . . . . . . . . . 32 11.1. Normative References . . . . . . . . . . . . . . . . . . 32
11.2. Informative References . . . . . . . . . . . . . . . . . 33 11.2. Informative References . . . . . . . . . . . . . . . . . 33
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 34 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 34
1. Introduction 1. Introduction
This document defines two NMDA compatible [RFC8342] YANG 1.1 This document defines two NMDA compatible [RFC8342] YANG 1.1
[RFC7950] modules for the management of network interfaces. It [RFC7950] modules for the management of network interfaces. It
defines various augmentations to the generic interfaces data model defines various augmentations to the generic interfaces data model
[RFC8343] to support configuration of lower layer interface [RFC8343] to support configuration of lower layer interface
properties that are common across many types of network interface. properties that are common across many types of network interface.
skipping to change at page 5, line 29 skipping to change at page 5, line 29
| +--ro penalty? uint32 | +--ro penalty? uint32
| +--ro suppressed? boolean | +--ro suppressed? boolean
| +--ro time-remaining? uint32 | +--ro time-remaining? uint32
+--rw encapsulation +--rw encapsulation
| +--rw (encaps-type)? | +--rw (encaps-type)?
+--rw loopback? identityref {loopback}? +--rw loopback? identityref {loopback}?
+--rw max-frame-size? uint32 {max-frame-size}? +--rw max-frame-size? uint32 {max-frame-size}?
+--ro forwarding-mode? identityref +--ro forwarding-mode? identityref
augment /if:interfaces/if:interface: augment /if:interfaces/if:interface:
+--rw parent-interface if:interface-ref {sub-interfaces}? +--rw parent-interface if:interface-ref {sub-interfaces}?
augment /if:interfaces/if:interface/if:statistics:
+--ro in-discard-unknown-encaps? yang:counter64
{sub-interfaces}?
2.1. Carrier Delay 2.1. Carrier Delay
The carrier delay feature augments the IETF interfaces data model The carrier delay feature augments the IETF interfaces data model
with configuration for a simple algorithm that is used, generally on with configuration for a simple algorithm that is used, generally on
physical interfaces, to suppress short transient changes in the physical interfaces, to suppress short transient changes in the
interface link state. It can be used in conjunction with the interface link state. It can be used in conjunction with the
dampening feature described in Section 2.2 to provide effective dampening feature described in Section 2.2 to provide effective
control of unstable links and unwanted state transitions. control of unstable links and unwanted state transitions.
skipping to change at page 10, line 21 skipping to change at page 10, line 21
| {configurable-mac-address}? | {configurable-mac-address}?
+--ro bia-mac-address? yang:mac-address +--ro bia-mac-address? yang:mac-address
augment /if:interfaces/if:interface/if:statistics: augment /if:interfaces/if:interface/if:statistics:
+--ro in-drop-unknown-dest-mac-pkts? yang:counter64 +--ro in-drop-unknown-dest-mac-pkts? yang:counter64
4. Interface Extensions YANG Module 4. Interface Extensions YANG Module
This YANG module augments the interface container defined in This YANG module augments the interface container defined in
[RFC8343]. It also contains references to [RFC6991] and [RFC7224]. [RFC8343]. It also contains references to [RFC6991] and [RFC7224].
<CODE BEGINS> file "ietf-if-extensions@2019-11-04.yang" <CODE BEGINS> file "ietf-if-extensions@2020-07-29.yang"
module ietf-if-extensions { module ietf-if-extensions {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-if-extensions"; namespace "urn:ietf:params:xml:ns:yang:ietf-if-extensions";
prefix if-ext; prefix if-ext;
import ietf-yang-types { import ietf-yang-types {
prefix yang; prefix yang;
reference "RFC 6991: Common YANG Data Types"; reference "RFC 6991: Common YANG Data Types";
skipping to change at page 11, line 14 skipping to change at page 11, line 14
WG List: <mailto:netmod@ietf.org> WG List: <mailto:netmod@ietf.org>
Editor: Robert Wilton Editor: Robert Wilton
<mailto:rwilton@cisco.com>"; <mailto:rwilton@cisco.com>";
description description
"This module contains common definitions for extending the IETF "This module contains common definitions for extending the IETF
interface YANG model (RFC 8343) with common configurable layer 2 interface YANG model (RFC 8343) with common configurable layer 2
properties. properties.
Copyright (c) 2019 IETF Trust and the persons identified as Copyright (c) 2020 IETF Trust and the persons identified as
authors of the code. All rights reserved. authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject to without modification, is permitted pursuant to, and subject to
the license terms contained in, the Simplified BSD License set the license terms contained in, the Simplified BSD License set
forth in Section 4.c of the IETF Trust's Legal Provisions forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(https://trustee.ietf.org/license-info). (https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX This version of this YANG module is part of RFC XXXX
(https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
for full legal notices. for full legal notices.
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
'MAY', and 'OPTIONAL' in this document are to be interpreted as 'MAY', and 'OPTIONAL' in this document are to be interpreted as
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
they appear in all capitals, as shown here."; they appear in all capitals, as shown here.";
revision 2019-11-04 { revision 2020-07-29 {
description description
"Initial revision."; "Initial revision.";
reference reference
"RFC XXXX, Common Interface Extension YANG Data Models"; "RFC XXXX, Common Interface Extension YANG Data Models";
} }
feature carrier-delay { feature carrier-delay {
description description
"This feature indicates that configurable interface carrier "This feature indicates that configurable interface carrier
skipping to change at page 18, line 21 skipping to change at page 18, line 21
*/ */
container encapsulation { container encapsulation {
when when
"derived-from-or-self(../if:type, "derived-from-or-self(../if:type,
'ianaift:ethernetCsmacd') or 'ianaift:ethernetCsmacd') or
derived-from-or-self(../if:type, derived-from-or-self(../if:type,
'ianaift:ieee8023adLag') or 'ianaift:ieee8023adLag') or
derived-from-or-self(../if:type, 'ianaift:pos') or derived-from-or-self(../if:type, 'ianaift:pos') or
derived-from-or-self(../if:type, derived-from-or-self(../if:type,
'ianaift:atmSubInterface') or 'ianaift:atmSubInterface') or
derived-from-or-self(../if:type, 'ianaift:l2vlan') or
derived-from-or-self(../if:type, 'ethSubInterface')" { derived-from-or-self(../if:type, 'ethSubInterface')" {
description description
"All interface types that can have a configurable L2 "All interface types that can have a configurable L2
encapsulation."; encapsulation.";
} }
description description
"Holds the OSI layer 2 encapsulation associated with an "Holds the OSI layer 2 encapsulation associated with an
interface."; interface.";
skipping to change at page 19, line 51 skipping to change at page 20, line 4
config false; config false;
description description
"The forwarding mode that the interface is operating in."; "The forwarding mode that the interface is operating in.";
reference "RFC XXXX, Section 2.7 Forwarding Mode"; reference "RFC XXXX, Section 2.7 Forwarding Mode";
} }
} }
/* /*
* Add generic support for sub-interfaces. * Add generic support for sub-interfaces.
* *
* This should be extended to cover all interface types that are * This should be extended to cover all interface types that are
* child interfaces of other interfaces. * child interfaces of other interfaces.
*/ */
augment "/if:interfaces/if:interface" { augment "/if:interfaces/if:interface" {
when "derived-from(if:type, 'sub-interface') or when "derived-from(if:type, 'sub-interface') or
derived-from-or-self(if:type, 'ianaift:l2vlan') or
derived-from-or-self(if:type, 'ianaift:atmSubInterface') or derived-from-or-self(if:type, 'ianaift:atmSubInterface') or
derived-from-or-self(if:type, 'ianaift:frameRelay')" { derived-from-or-self(if:type, 'ianaift:frameRelay')" {
description description
"Any ianaift:types that explicitly represent sub-interfaces "Any ianaift:types that explicitly represent sub-interfaces
or any types that derive from the sub-interface identity."; or any types that derive from the sub-interface identity.";
} }
if-feature "sub-interfaces"; if-feature "sub-interfaces";
description description
"Adds a parent interface field to interfaces that model "Adds a parent interface field to interfaces that model
skipping to change at page 20, line 42 skipping to change at page 20, line 45
/* /*
* Add discard counter for unknown sub-interface encapsulation * Add discard counter for unknown sub-interface encapsulation
*/ */
augment "/if:interfaces/if:interface/if:statistics" { augment "/if:interfaces/if:interface/if:statistics" {
when "derived-from-or-self(../if:type, when "derived-from-or-self(../if:type,
'ianaift:ethernetCsmacd') or 'ianaift:ethernetCsmacd') or
derived-from-or-self(../if:type, derived-from-or-self(../if:type,
'ianaift:ieee8023adLag') or 'ianaift:ieee8023adLag') or
derived-from-or-self(../if:type, 'ianaift:ifPwType')" { derived-from-or-self(../if:type, 'ianaift:ifPwType')" {
description description
"Applies to interfaces that can demux to sub-interfaces"; "Applies to interfaces that can demultiplex ingress frames to
sub-interfaces.";
} }
if-feature "sub-interfaces"; if-feature "sub-interfaces";
description description
"Augment the interface model statistics with a sub-interface "Augment the interface model statistics with a sub-interface
demux discard counter."; demux discard counter.";
leaf in-discard-unknown-encaps { leaf in-discard-unknown-encaps {
type yang:counter64; type yang:counter64;
units frames; units frames;
description description
"A count of the number of frames that were well formed, but "A count of the number of frames that were well formed, but
otherwise discarded because their encapsulation does not otherwise discarded because their encapsulation does not
classify to the interface or any child sub-interface. E.g., classify the frame to the interface or any child
a packet might be discarded because the it has an unknown sub-interface. E.g., a frame might be discarded because the
VLAN Id, or does not have a VLAN Id when one is expected. it has an unknown VLAN Id, or does not have a VLAN Id when
one is expected.
For consistency, frames counted against this counter are For consistency, frames counted against this counter are
also counted against the IETF interfaces statistics. In also counted against the IETF interfaces statistics. In
particular, they are included in in-octets and in-discards, particular, they are included in in-octets and in-discards,
but are not included in in-unicast-pkts, in-multicast-pkts but are not included in in-unicast-pkts, in-multicast-pkts
or in-broadcast-pkts, because they are not delivered to a or in-broadcast-pkts, because they are not delivered to a
higher layer. higher layer.
Discontinuities in the values of this counter can occur at Discontinuities in the values of this counter can occur at
re-initialization of the management system, and at other re-initialization of the management system, and at other
skipping to change at page 29, line 17 skipping to change at page 29, line 17
The authors wish to thank Eric Gray, Ing-Wher Chen, Jon Culver, The authors wish to thank Eric Gray, Ing-Wher Chen, Jon Culver,
Juergen Schoenwaelder, Ladislav Lhotka, Lou Berger, Mahesh Juergen Schoenwaelder, Ladislav Lhotka, Lou Berger, Mahesh
Jethanandani, Martin Bjorklund, Michael Zitao, Neil Ketley, Qin Wu, Jethanandani, Martin Bjorklund, Michael Zitao, Neil Ketley, Qin Wu,
William Lupton, Xufeng Liu, Andy Bierman, and Vladimir Vassilev for William Lupton, Xufeng Liu, Andy Bierman, and Vladimir Vassilev for
their helpful comments contributing to this document. their helpful comments contributing to this document.
8. ChangeLog 8. ChangeLog
XXX, RFC Editor, please delete this change log before publication. XXX, RFC Editor, please delete this change log before publication.
8.1. Version -09 8.1. Version -10
o Update modules from github and tree diagram.
8.2. Version -09
o Fixed IANA section. o Fixed IANA section.
8.2. Version -08 8.3. Version -08
o Initial updates after WG LC comments. o Initial updates after WG LC comments.
8.3. Version -07 8.4. Version -07
o Minor editorial updates o Minor editorial updates
8.4. Version -06 8.5. Version -06
o Remove reservable-bandwidth, based on Acee's suggestion o Remove reservable-bandwidth, based on Acee's suggestion
o Add examples o Add examples
o Add additional state parameters for carrier-delay and dampening o Add additional state parameters for carrier-delay and dampening
8.5. Version -05 8.6. Version -05
o Incorporate feedback from Andy Bierman o Incorporate feedback from Andy Bierman
8.6. Version -04 8.7. Version -04
o Incorporate feedback from Lada, some comments left as open issues. o Incorporate feedback from Lada, some comments left as open issues.
8.7. Version -03 8.8. Version -03
o Fixed incorrect module name references, and updated tree output o Fixed incorrect module name references, and updated tree output
8.8. Version -02 8.9. Version -02
o Minor changes only: Fix errors in when statements, use derived- o Minor changes only: Fix errors in when statements, use derived-
from-or-self() for future proofing. from-or-self() for future proofing.
9. IANA Considerations 9. IANA Considerations
9.1. YANG Module Registrations 9.1. YANG Module Registrations
The following YANG modules are requested to be registred in the IANA The following YANG modules are requested to be registred in the IANA
"YANG Module Names" [RFC6020] registry: "YANG Module Names" [RFC6020] registry:
skipping to change at page 33, line 27 skipping to change at page 33, line 32
[RFC8343] Bjorklund, M., "A YANG Data Model for Interface [RFC8343] Bjorklund, M., "A YANG Data Model for Interface
Management", RFC 8343, DOI 10.17487/RFC8343, March 2018, Management", RFC 8343, DOI 10.17487/RFC8343, March 2018,
<https://www.rfc-editor.org/info/rfc8343>. <https://www.rfc-editor.org/info/rfc8343>.
11.2. Informative References 11.2. Informative References
[I-D.ietf-netmod-sub-intf-vlan-model] [I-D.ietf-netmod-sub-intf-vlan-model]
Wilton, R., Ball, D., tapsingh@cisco.com, t., and S. Wilton, R., Ball, D., tapsingh@cisco.com, t., and S.
Sivaraj, "Sub-interface VLAN YANG Data Models", draft- Sivaraj, "Sub-interface VLAN YANG Data Models", draft-
ietf-netmod-sub-intf-vlan-model-06 (work in progress), ietf-netmod-sub-intf-vlan-model-07 (work in progress),
November 2019. July 2020.
[IEEE802.3.2-2019] [IEEE802.3.2-2019]
IEEE WG802.3 - Ethernet Working Group, "IEEE IEEE WG802.3 - Ethernet Working Group, "IEEE
802.3.2-2019", 2019. 802.3.2-2019", 2019.
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<https://www.rfc-editor.org/info/rfc6241>. <https://www.rfc-editor.org/info/rfc6241>.
 End of changes. 24 change blocks. 
30 lines changed or deleted 42 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/