draft-ietf-netmod-interfaces-cfg-14.txt   draft-ietf-netmod-interfaces-cfg-15.txt 
Network Working Group M. Bjorklund Network Working Group M. Bjorklund
Internet-Draft Tail-f Systems Internet-Draft Tail-f Systems
Intended status: Standards Track December 7, 2013 Intended status: Standards Track December 23, 2013
Expires: June 10, 2014 Expires: June 26, 2014
A YANG Data Model for Interface Management A YANG Data Model for Interface Management
draft-ietf-netmod-interfaces-cfg-14 draft-ietf-netmod-interfaces-cfg-15
Abstract Abstract
This document defines a YANG data model for the management of network This document defines a YANG data model for the management of network
interfaces. It is expected that interface type specific data models interfaces. It is expected that interface type specific data models
augment the generic interfaces data model defined in this document. augment the generic interfaces data model defined in this document.
The data model includes configuration data and state data (status The data model includes configuration data and state data (status
information and counters for the collection of statistics). information and counters for the collection of statistics).
Status of this Memo Status of this Memo
skipping to change at page 1, line 34 skipping to change at page 1, line 34
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 http://datatracker.ietf.org/drafts/current/. Drafts is at http://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 June 10, 2014. This Internet-Draft will expire on June 26, 2014.
Copyright Notice Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the Copyright (c) 2013 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
(http://trustee.ietf.org/license-info) in effect on the date of (http://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 9, line 12 skipping to change at page 9, line 12
"lower-layer-if", represent a read-only view of the interface "lower-layer-if", represent a read-only view of the interface
layering hierarchy. layering hierarchy.
4. Relationship to the IF-MIB 4. Relationship to the IF-MIB
If the device implements IF-MIB [RFC2863], each entry in the If the device implements IF-MIB [RFC2863], each entry in the
"/interfaces-state/interface" list is typically mapped to one "/interfaces-state/interface" list is typically mapped to one
ifEntry. The "if-index" leaf MUST contain the value of the ifEntry. The "if-index" leaf MUST contain the value of the
corresponding ifEntry's ifIndex. corresponding ifEntry's ifIndex.
In most cases, the "name" of an "interface" entry is mapped to In most cases, the "name" of an "/interfaces-state/interface" entry
ifName. ifName is defined as a DisplayString [RFC2579] which uses a is mapped to ifName. The IF-MIB allows two different ifEntries to
7-bit ASCII character set. An implementation that performs this have the same ifName. Devices that support this feature, and also
mapping MUST restrict the allowed values for "name" to match the support the data model defined in this document, cannot have a 1-1
restrictions of ifName. mapping between the "name" leaf and ifName.
The IF-MIB allows two different ifEntries to have the same ifName.
Devices that support this feature, and also support the data model
defined in this document, cannot have a 1-1 mapping between the
"name" leaf and ifName.
The configured "description" of an "interface" has traditionally been The configured "description" of an "interface" has traditionally been
mapped to ifAlias in some implementations. This document allows this mapped to ifAlias in some implementations. This document allows this
mapping, but implementers should be aware of the differences in the mapping, but implementers should be aware of the differences in the
value space and persistence for these objects. See the YANG module value space and persistence for these objects. See the YANG module
definition of the leaf "description" in Section 5 for details. definition of the leaf "description" in Section 5 for details.
The IF-MIB also defines the writable object ifPromiscuousMode. Since The IF-MIB also defines the writable object ifPromiscuousMode. Since
this object typically is not a configuration object, it is not mapped this object typically is not a configuration object, it is not mapped
to the "ietf-interfaces" module. to the "ietf-interfaces" module.
skipping to change at page 11, line 12 skipping to change at page 11, line 12
YANG config data nodes and related IF-MIB objects YANG config data nodes and related IF-MIB objects
5. Interfaces YANG Module 5. Interfaces YANG Module
This YANG module imports typedefs from [RFC6991]. This YANG module imports typedefs from [RFC6991].
RFC Ed.: update the date below with the date of RFC publication and RFC Ed.: update the date below with the date of RFC publication and
remove this note. remove this note.
<CODE BEGINS> file "ietf-interfaces@2013-12-06.yang" <CODE BEGINS> file "ietf-interfaces@2013-12-23.yang"
module ietf-interfaces { module ietf-interfaces {
namespace "urn:ietf:params:xml:ns:yang:ietf-interfaces"; namespace "urn:ietf:params:xml:ns:yang:ietf-interfaces";
prefix if; prefix if;
import ietf-yang-types { import ietf-yang-types {
prefix yang; prefix yang;
} }
skipping to change at page 12, line 12 skipping to change at page 12, line 12
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
// RFC Ed.: replace XXXX with actual RFC number and remove this // RFC Ed.: replace XXXX with actual RFC number and remove this
// note. // note.
// RFC Ed.: update the date below with the date of RFC publication // RFC Ed.: update the date below with the date of RFC publication
// and remove this note. // and remove this note.
revision 2013-12-06 { revision 2013-12-23 {
description description
"Initial revision."; "Initial revision.";
reference reference
"RFC XXXX: A YANG Data Model for Interface Management"; "RFC XXXX: A YANG Data Model for Interface Management";
} }
/* /*
* Typedefs * Typedefs
*/ */
skipping to change at page 14, line 36 skipping to change at page 14, line 36
If the device supports pre-provisioning of interface If the device supports pre-provisioning of interface
configuration, the feature 'pre-provisioning' is configuration, the feature 'pre-provisioning' is
advertised. advertised.
If the device allows arbitrarily named user-controlled If the device allows arbitrarily named user-controlled
interfaces, the feature 'arbitrary-names' is advertised. interfaces, the feature 'arbitrary-names' is advertised.
When a configured user-controlled interface is created by When a configured user-controlled interface is created by
the system, it is instantiated with the same name in the the system, it is instantiated with the same name in the
/interface-state/interface list. Since the name in that /interface-state/interface list.";
list MAY be mapped to ifName by an implementation, such an
implementation MUST restrict the allowed values for this
leaf so that it matches the restrictions of ifName.
If a NETCONF server that implements this restriction is
sent a value that doesn't match the restriction, it MUST
reply with an rpc-error with the error-tag
'invalid-value'.";
} }
leaf description { leaf description {
type string; type string;
description description
"A textual description of the interface. "A textual description of the interface.
This leaf MAY be mapped to ifAlias by an implementation. A server implementation MAY map this leaf to the ifAlias
MIB object. Such an implementation needs to use some
Such an implementation MUST restrict the allowed values mechanism to handle the differences in size and characters
for this leaf so that it matches the restrictions of allowed between this leaf and ifAlias. The definition of
ifAlias. such a mechanism is outside the scope of this document.
If a NETCONF server that implements this restriction is
sent a value that doesn't match the restriction, it MUST
reply with an rpc-error with the error-tag
'invalid-value'.
Since ifAlias is defined to be stored in non-volatile Since ifAlias is defined to be stored in non-volatile
storage, the MIB implementation MUST map ifAlias to the storage, the MIB implementation MUST map ifAlias to the
value of 'description' in the persistently stored value of 'description' in the persistently stored
datastore. datastore.
Specifically, if the device supports ':startup', when Specifically, if the device supports ':startup', when
ifAlias is read the device MUST return the value of ifAlias is read the device MUST return the value of
'description' in the 'startup' datastore, and when it is 'description' in the 'startup' datastore, and when it is
written, it MUST be written to the 'running' and 'startup' written, it MUST be written to the 'running' and 'startup'
skipping to change at page 17, line 28 skipping to change at page 17, line 16
System-controlled interfaces created by the system are System-controlled interfaces created by the system are
always present in this list, whether they are configured or always present in this list, whether they are configured or
not."; not.";
leaf name { leaf name {
type string; type string;
description description
"The name of the interface. "The name of the interface.
This leaf MAY be mapped to ifName by an implementation."; A server implementation MAY map this leaf to the ifName
MIB object. Such an implementation needs to use some
mechanism to handle the differences in size and characters
allowed between this leaf and ifName. The definition of
such a mechanism is outside the scope of this document.";
reference reference
"RFC 2863: The Interfaces Group MIB - ifName"; "RFC 2863: The Interfaces Group MIB - ifName";
} }
leaf type { leaf type {
type identityref { type identityref {
base interface-type; base interface-type;
} }
mandatory true; mandatory true;
description description
skipping to change at page 29, line 32 skipping to change at page 29, line 32
[RFC6991] Schoenwaelder, J., "Common YANG Data Types", RFC 6991, [RFC6991] Schoenwaelder, J., "Common YANG Data Types", RFC 6991,
July 2013. July 2013.
9.2. Informative References 9.2. Informative References
[I-D.ietf-netmod-iana-if-type] [I-D.ietf-netmod-iana-if-type]
Bjorklund, M., "IANA Interface Type YANG Module", Bjorklund, M., "IANA Interface Type YANG Module",
draft-ietf-netmod-iana-if-type-08 (work in progress), draft-ietf-netmod-iana-if-type-08 (work in progress),
November 2013. November 2013.
[RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., and J.
Schoenwaelder, Ed., "Textual Conventions for SMIv2",
STD 58, RFC 2579, April 1999.
[RFC6241] Enns, R., Bjorklund, M., Schoenwaelder, J., and A. [RFC6241] Enns, R., Bjorklund, M., Schoenwaelder, J., and A.
Bierman, "Network Configuration Protocol (NETCONF)", Bierman, "Network Configuration Protocol (NETCONF)",
RFC 6241, June 2011. RFC 6241, June 2011.
[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure
Shell (SSH)", RFC 6242, June 2011. Shell (SSH)", RFC 6242, June 2011.
[RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration
Protocol (NETCONF) Access Control Model", RFC 6536, Protocol (NETCONF) Access Control Model", RFC 6536,
March 2012. March 2012.
skipping to change at page 30, line 28 skipping to change at page 30, line 28
import ietf-interfaces { import ietf-interfaces {
prefix if; prefix if;
} }
import iana-if-type { import iana-if-type {
prefix ianaift; prefix ianaift;
} }
// configuration parameters for ethernet interfaces // configuration parameters for ethernet interfaces
augment "/if:interfaces/if:interface" { augment "/if:interfaces/if:interface" {
when "if:type = 'ianaift:ethernet'"; when "if:type = 'ianaift:ethernetCsmacd'";
container ethernet { container ethernet {
choice transmission-params { choice transmission-params {
case auto { case auto {
leaf auto-negotiate { leaf auto-negotiate {
type empty; type empty;
} }
} }
case manual { case manual {
leaf duplex { leaf duplex {
skipping to change at page 31, line 12 skipping to change at page 31, line 12
} }
} }
} }
// other ethernet specific params... // other ethernet specific params...
} }
} }
// operational state parameters for ethernet interfaces // operational state parameters for ethernet interfaces
augment "/if:interfaces-state/if:interface" { augment "/if:interfaces-state/if:interface" {
when "if:type = 'ethernetCsmacd'"; when "if:type = 'ianaift:ethernetCsmacd'";
container ethernet { container ethernet {
leaf duplex { leaf duplex {
type enumeration { type enumeration {
enum "half"; enum "half";
enum "full"; enum "full";
} }
} }
// other ethernet specific params... // other ethernet specific params...
} }
 End of changes. 12 change blocks. 
42 lines changed or deleted 24 lines changed or added

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