draft-ietf-netmod-interfaces-cfg-02.txt | draft-ietf-netmod-interfaces-cfg-03.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 September 7, 2011 | Intended status: Standards Track February 8, 2012 | |||
Expires: March 10, 2012 | Expires: August 11, 2012 | |||
A YANG Data Model for Interface Configuration | A YANG Data Model for Interface Configuration | |||
draft-ietf-netmod-interfaces-cfg-02 | draft-ietf-netmod-interfaces-cfg-03 | |||
Abstract | Abstract | |||
This document defines a YANG data model for the configuration of | This document defines a YANG data model for the configuration of | |||
network interfaces. It is expected that interface type specific | network interfaces. It is expected that interface type specific | |||
configuration data models augment the generic interfaces data model | configuration data models augment the generic interfaces data model | |||
defined in this document. | defined in this document. | |||
Status of this Memo | Status of this Memo | |||
skipping to change at page 1, line 33 | skipping to change at page 1, line 33 | |||
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 March 10, 2012. | This Internet-Draft will expire on August 11, 2012. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2011 IETF Trust and the persons identified as the | Copyright (c) 2012 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 | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
3. Interfaces Data Model . . . . . . . . . . . . . . . . . . . . 5 | 3. Interfaces Data Model . . . . . . . . . . . . . . . . . . . . 5 | |||
3.1. The interface List . . . . . . . . . . . . . . . . . . . . 5 | 3.1. The interface List . . . . . . . . . . . . . . . . . . . . 5 | |||
3.2. Interface References . . . . . . . . . . . . . . . . . . . 6 | 3.2. Interface References . . . . . . . . . . . . . . . . . . . 6 | |||
3.3. Interface Layering . . . . . . . . . . . . . . . . . . . . 6 | 3.3. Interface Layering . . . . . . . . . . . . . . . . . . . . 6 | |||
4. Interfaces YANG Module . . . . . . . . . . . . . . . . . . . . 7 | 4. Relationship to the IF-MIB . . . . . . . . . . . . . . . . . . 8 | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 5. Interfaces YANG Module . . . . . . . . . . . . . . . . . . . . 9 | |||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 13 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 | |||
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 15 | |||
8. Normative References . . . . . . . . . . . . . . . . . . . . . 15 | 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
Appendix A. Example: Ethernet Interface Module . . . . . . . . . 16 | 9. Normative References . . . . . . . . . . . . . . . . . . . . . 17 | |||
Appendix B. Example: Ethernet Bonding Interface Module . . . . . 18 | Appendix A. Example: Ethernet Interface Module . . . . . . . . . 18 | |||
Appendix C. Example: VLAN Interface Module . . . . . . . . . . . 19 | Appendix B. Example: Ethernet Bonding Interface Module . . . . . 20 | |||
Appendix D. Example: NETCONF <get> reply . . . . . . . . . . . . 20 | Appendix C. Example: VLAN Interface Module . . . . . . . . . . . 21 | |||
Appendix E. ChangeLog . . . . . . . . . . . . . . . . . . . . . . 21 | Appendix D. Example: NETCONF <get> reply . . . . . . . . . . . . 22 | |||
E.1. Version -02 . . . . . . . . . . . . . . . . . . . . . . . 21 | Appendix E. ChangeLog . . . . . . . . . . . . . . . . . . . . . . 23 | |||
E.2. Version -01 . . . . . . . . . . . . . . . . . . . . . . . 21 | E.1. Version -03 . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 22 | E.2. Version -02 . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
E.3. Version -01 . . . . . . . . . . . . . . . . . . . . . . . 23 | ||||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 24 | ||||
1. Introduction | 1. Introduction | |||
This document defines a YANG [RFC6020] data model for the | This document defines a YANG [RFC6020] data model for the | |||
configuration of network interfaces. It is expected that interface | configuration of network interfaces. It is expected that interface | |||
type specific configuration data models augment the generic | type specific configuration data models augment the generic | |||
interfaces data model defined in this document. | interfaces data model defined in this document. | |||
Network interfaces are central to the configuration of many Internet | Network interfaces are central to the configuration of many Internet | |||
protocols. Thus, it is important to establish a common data model | protocols. Thus, it is important to establish a common data model | |||
for how interfaces are identified and configured. | for how interfaces are identified and configured. | |||
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
14, [RFC2119]. | 14, [RFC2119]. | |||
2. Objectives | 2. Objectives | |||
This section describes some of the design objectives for the model | This section describes some of the design objectives for the model | |||
presented in Section 4. | presented in Section 5. | |||
o It is recognized that existing implementations will have to map | o It is recognized that existing implementations will have to map | |||
the interface data model defined in this memo to their proprietary | the interface data model defined in this memo to their proprietary | |||
native data model. The new data model should be simple to | native data model. The new data model should be simple to | |||
facilitate such mappings. | facilitate such mappings. | |||
o The data model should be suitable for new implementations to use | o The data model should be suitable for new implementations to use | |||
as-is, without requiring a mapping to a different native model. | as-is, without requiring a mapping to a different native model. | |||
o References to interfaces should be as simple as possible, | o References to interfaces should be as simple as possible, | |||
skipping to change at page 5, line 7 | skipping to change at page 5, line 7 | |||
o The data model should support the pre-provisioning of interface | o The data model should support the pre-provisioning of interface | |||
configuration, i.e., it should be possible to configure an | configuration, i.e., it should be possible to configure an | |||
interface whose physical interface hardware is not present on the | interface whose physical interface hardware is not present on the | |||
device. It is recommended that devices that support dynamic | device. It is recommended that devices that support dynamic | |||
addition and removal of physical interfaces also support pre- | addition and removal of physical interfaces also support pre- | |||
provisioning. | provisioning. | |||
3. Interfaces Data Model | 3. Interfaces Data Model | |||
The module "ietf-interfaces" has the following structure: | The data model in the module "ietf-interfaces" has the following | |||
structure, where square brackets are used to enclose a list's keys, | ||||
and "?" means that the leaf is optional: | ||||
+--rw interfaces | +--rw interfaces | |||
+--rw interface [name] | +--rw interface [name] | |||
+--rw name string | +--rw name string | |||
+--rw description? string | +--rw description? string | |||
+--rw type ianaift:iana-if-type | +--rw type ianaift:iana-if-type | |||
+--rw location? string | +--rw location? string | |||
+--rw enabled? boolean | +--rw enabled? boolean | |||
+--ro if-index* int32 | +--ro if-index int32 | |||
+--rw mtu? uint32 | +--rw mtu? uint32 | |||
+--rw link-up-down-trap-enable? enumeration | +--rw link-up-down-trap-enable? enumeration | |||
This module defines one YANG feature: | This module defines one YANG feature: | |||
snmp-if-mib: Indicates that the server implements IF-MIB [RFC2863]. | snmp-if-mib: Indicates that the server implements IF-MIB [RFC2863]. | |||
3.1. The interface List | 3.1. The interface List | |||
The data model for interface configuration presented in this document | The data model for interface configuration presented in this document | |||
skipping to change at page 7, line 5 | skipping to change at page 8, line 5 | |||
type if:interface-ref; | type if:interface-ref; | |||
must "/if:interfaces/if:interface[if:name = current()]" | must "/if:interfaces/if:interface[if:name = current()]" | |||
+ "/if:type = 'ethernetCsmacd'" { | + "/if:type = 'ethernetCsmacd'" { | |||
description | description | |||
"The type of a slave interface must be ethernet"; | "The type of a slave interface must be ethernet"; | |||
} | } | |||
} | } | |||
// other bonding config params, failover times etc. | // other bonding config params, failover times etc. | |||
} | } | |||
4. Interfaces YANG Module | 4. Relationship to the IF-MIB | |||
If the device implements IF-MIB [RFC2863], each entry in the | ||||
"interface" list is typically mapped to one ifEntry. The "if-index" | ||||
leaf contains the value of the corresponding ifEntry's ifIndex. | ||||
In most cases, the "name" of an "interface" entry is mapped to | ||||
ifName. ifName is defined as an DisplayString [RFC2579] which uses a | ||||
7-bit ASCII character set. An implementation MAY restrict the | ||||
allowed values for "name" to match the restrictions of ifName. | ||||
The IF-MIB allows two different ifEntries to have the same ifName. | ||||
Devices that support this feature, and also support the configuration | ||||
of these interfaces using the "interface" list, cannot have a 1-1 | ||||
mapping between the "name" leaf and ifName. | ||||
5. Interfaces YANG Module | ||||
This YANG module imports a typedef from | This YANG module imports a typedef from | |||
[I-D.ietf-netmod-iana-if-type]. | [I-D.ietf-netmod-iana-if-type]. | |||
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@2011-09-07.yang" | <CODE BEGINS> file "ietf-interfaces@2012-02-08.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 iana-if-type { | import iana-if-type { | |||
prefix ianaift; | prefix ianaift; | |||
} | } | |||
skipping to change at page 8, line 12 | skipping to change at page 10, 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 2011-09-07 { | revision 2012-02-08 { | |||
description | description | |||
"Initial revision."; | "Initial revision."; | |||
reference | reference | |||
"RFC XXXX: A YANG Data Model for Interface Configuration"; | "RFC XXXX: A YANG Data Model for Interface Configuration"; | |||
} | } | |||
/* Typedefs */ | /* Typedefs */ | |||
typedef interface-ref { | typedef interface-ref { | |||
type leafref { | type leafref { | |||
skipping to change at page 9, line 6 | skipping to change at page 11, line 6 | |||
"Interface parameters."; | "Interface parameters."; | |||
list interface { | list interface { | |||
key "name"; | key "name"; | |||
unique "type location"; | unique "type location"; | |||
description | description | |||
"The list of configured interfaces on the device."; | "The list of configured interfaces on the device."; | |||
leaf name { | leaf name { | |||
type string { | type string; | |||
length "1..255"; | ||||
} | ||||
description | description | |||
"An arbitrary name for the interface. | "An arbitrary name for the interface. | |||
A device MAY restrict the allowed values for this leaf, | A device MAY restrict the allowed values for this leaf, | |||
possibly depending on the type and location. | possibly depending on the type and location. | |||
For example, if a device has a single array of 8 ethernet | For example, if a device has a single array of 8 ethernet | |||
ports, the name might be restricted to be on the form | ports, the name might be restricted to be on the form | |||
'ethN', where N is an integer between '1' and '8'."; | 'ethN', where N is an integer between '1' and '8'. | |||
This leaf MAY be mapped to ifName by an implementation. | ||||
Such an implementation MAY restrict the allowed values | ||||
for this leaf so that it matches the restrictions of | ||||
ifName."; | ||||
reference | ||||
"RFC 2863: The Interfaces Group MIB - ifName"; | ||||
} | } | |||
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. | This leaf MAY be mapped to ifAlias by an implementation. | |||
Such an implementation MAY restrict the length of the | Such an implementation MAY restrict the allowed values | |||
value of this leaf so that it matches the restrictions | for this leaf so that it matches the restrictions of | |||
of ifAlias."; | ifAlias."; | |||
reference | reference | |||
"RFC 2863: The Interfaces Group MIB - ifAlias"; | "RFC 2863: The Interfaces Group MIB - ifAlias"; | |||
} | } | |||
leaf type { | leaf type { | |||
type ianaift:iana-if-type; | type ianaift:iana-if-type; | |||
mandatory true; | mandatory true; | |||
description | description | |||
"The type of the interface. | "The type of the interface. | |||
skipping to change at page 10, line 25 | skipping to change at page 12, line 30 | |||
} | } | |||
leaf enabled { | leaf enabled { | |||
type boolean; | type boolean; | |||
default "true"; | default "true"; | |||
description | description | |||
"The desired state of the interface. | "The desired state of the interface. | |||
This leaf contains the configured, desired state of the | This leaf contains the configured, desired state of the | |||
interface. Systems that implement the IF-MIB use the | interface. Systems that implement the IF-MIB use the | |||
value of this leaf to set IF-MIB.ifAdminStatus after an | value of this leaf to set IF-MIB.ifAdminStatus to 'up' or | |||
ifEntry has been initialized, as described in RFC 2863."; | 'down' after an ifEntry has been initialized, as described | |||
in RFC 2863."; | ||||
reference | reference | |||
"RFC 2863: The Interfaces Group MIB - ifAdminStatus"; | "RFC 2863: The Interfaces Group MIB - ifAdminStatus"; | |||
} | } | |||
leaf-list if-index { | leaf if-index { | |||
if-feature snmp-if-mib; | if-feature snmp-if-mib; | |||
type int32 { | type int32 { | |||
range "1..2147483647"; | range "1..2147483647"; | |||
} | } | |||
config false; | config false; | |||
description | description | |||
"The list of ifIndex values for all ifEntries that are | "The ifIndex value for the ifEntry represented by this | |||
represented by this interface. If there is a one-to-one | interface. | |||
mapping between the interface and entries in the ifTable, | ||||
this leaf-list will have a single value. | ||||
Media-specific modules must specify how the type is | Media-specific modules must specify how the type is | |||
mapped to entries in the ifTable."; | mapped to entries in the ifTable."; | |||
reference | reference | |||
"RFC 2863: The Interfaces Group MIB - ifIndex"; | "RFC 2863: The Interfaces Group MIB - ifIndex"; | |||
} | } | |||
leaf mtu { | leaf mtu { | |||
type uint32; | type uint32; | |||
description | description | |||
"The size, in octets, of the largest packet that the | "The size, in octets, of the largest packet that the | |||
interface can send and receive. This node might not be | interface can send and receive. This node might not be | |||
valid for all interface types. | valid for all interface types. | |||
Media-specific modules must specify any restrictions on | Media-specific modules must specify any restrictions on | |||
the mtu for their interface type."; | the mtu for their interface type."; | |||
} | } | |||
skipping to change at page 11, line 23 | skipping to change at page 13, line 26 | |||
if-feature snmp-if-mib; | if-feature snmp-if-mib; | |||
type enumeration { | type enumeration { | |||
enum enabled { | enum enabled { | |||
value 1; | value 1; | |||
} | } | |||
enum disabled { | enum disabled { | |||
value 2; | value 2; | |||
} | } | |||
} | } | |||
description | description | |||
"Indicates whether linkUp/linkDown SNMP traps should be | "Indicates whether linkUp/linkDown SNMP notifications | |||
generated for this interface. | should be generated for this interface. | |||
If this node is not configured, the value 'enabled' is | If this node is not configured, the value 'enabled' is | |||
operationally used by the server for interfaces which do | operationally used by the server for interfaces which do | |||
not operate on top of any other intertface (as defined in | not operate on top of any other interface (as defined in | |||
the ifStackTable), and 'disabled' otherwise."; | the ifStackTable), and 'disabled' otherwise."; | |||
reference | reference | |||
"RFC 2863: The Interfaces Group MIB - | "RFC 2863: The Interfaces Group MIB - | |||
ifLinkUpDownTrapEnable"; | ifLinkUpDownTrapEnable"; | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
5. IANA Considerations | 6. IANA Considerations | |||
This document registers a URI in the IETF XML registry [RFC3688]. | This document registers a URI in the IETF XML registry [RFC3688]. | |||
Following the format in RFC 3688, the following registration is | Following the format in RFC 3688, the following registration is | |||
requested to be made. | requested to be made. | |||
URI: urn:ietf:params:xml:ns:yang:ietf-interfaces | URI: urn:ietf:params:xml:ns:yang:ietf-interfaces | |||
Registrant Contact: The NETMOD WG of the IETF. | Registrant Contact: The IESG. | |||
XML: N/A, the requested URI is an XML namespace. | XML: N/A, the requested URI is an XML namespace. | |||
This document registers a YANG module in the YANG Module Names | This document registers a YANG module in the YANG Module Names | |||
registry [RFC6020]. | registry [RFC6020]. | |||
name: ietf-interfaces | name: ietf-interfaces | |||
namespace: urn:ietf:params:xml:ns:yang:ietf-interfaces | namespace: urn:ietf:params:xml:ns:yang:ietf-interfaces | |||
prefix: if | prefix: if | |||
reference: RFC XXXX | reference: RFC XXXX | |||
6. Security Considerations | 7. Security Considerations | |||
The YANG module defined in this memo is designed to be accessed via | The YANG module defined in this memo is designed to be accessed via | |||
the NETCONF protocol [RFC6241]. The lowest NETCONF layer is the | the NETCONF protocol [RFC6241]. The lowest NETCONF layer is the | |||
secure transport layer and the mandatory-to-implement secure | secure transport layer and the mandatory-to-implement secure | |||
transport is SSH [RFC6242]. | transport is SSH [RFC6242]. | |||
There are a number of data nodes defined in the YANG module which are | There are a number of data nodes defined in the YANG module which are | |||
writable/creatable/deletable (i.e., config true, which is the | writable/creatable/deletable (i.e., config true, which is the | |||
default). These data nodes may be considered sensitive or vulnerable | default). These data nodes may be considered sensitive or vulnerable | |||
in some network environments. Write operations (e.g., edit-config) | in some network environments. Write operations (e.g., edit-config) | |||
skipping to change at page 14, line 5 | skipping to change at page 16, line 5 | |||
and their sensitivity/vulnerability: | and their sensitivity/vulnerability: | |||
/interfaces/interface: This list specify the configured interfaces | /interfaces/interface: This list specify the configured interfaces | |||
on a device. Unauthorized access to this list could cause the | on a device. Unauthorized access to this list could cause the | |||
device to ignore packets destined to it. | device to ignore packets destined to it. | |||
/interfaces/interface/enabled: This leaf controls if an interface is | /interfaces/interface/enabled: This leaf controls if an interface is | |||
enabled or not. Unauthorized access to this leaf could cause the | enabled or not. Unauthorized access to this leaf could cause the | |||
device to ignore packets destined to it. | device to ignore packets destined to it. | |||
7. Acknowledgments | 8. Acknowledgments | |||
The author wishes to thank Per Hedeland, Ladislav Lhotka, and Juergen | The author wishes to thank Per Hedeland, Ladislav Lhotka, and Juergen | |||
Schoenwaelder for their helpful comments. | Schoenwaelder for their helpful comments. | |||
8. Normative References | 9. Normative 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-00 (work in progress), | draft-ietf-netmod-iana-if-type-00 (work in progress), | |||
April 2011. | April 2011. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
[RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., and J. | ||||
Schoenwaelder, Ed., "Textual Conventions for SMIv2", | ||||
STD 58, RFC 2579, April 1999. | ||||
[RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group | [RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group | |||
MIB", RFC 2863, June 2000. | MIB", RFC 2863, June 2000. | |||
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
January 2004. | January 2004. | |||
[RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the | [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the | |||
Network Configuration Protocol (NETCONF)", RFC 6020, | Network Configuration Protocol (NETCONF)", RFC 6020, | |||
October 2010. | October 2010. | |||
skipping to change at page 20, line 7 | skipping to change at page 22, line 7 | |||
type uint16 { | type uint16 { | |||
range "1..4094"; | range "1..4094"; | |||
} | } | |||
must "../base-interface"; | must "../base-interface"; | |||
} | } | |||
} | } | |||
} | } | |||
Appendix D. Example: NETCONF <get> reply | Appendix D. Example: NETCONF <get> reply | |||
This section gives an example of a reply to the NETCOMF <get> request | This section gives an example of a reply to the NETCONF <get> request | |||
for a device that implements the example data models above. | for a device that implements the example data models above. | |||
<rpc-reply | <rpc-reply | |||
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" | xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" | |||
message-id="101"> | message-id="101"> | |||
<data> | <data> | |||
<interfaces | <interfaces | |||
xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"> | xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"> | |||
<interface> | <interface> | |||
<name>eth0</name> | <name>eth0</name> | |||
<type>ethernetCsmacd</type> | <type>ethernetCsmacd</type> | |||
<location>0</location> | <location>0</location> | |||
<enabled>true</enabled> | <enabled>true</enabled> | |||
<if-index>2</if-index> | <if-index>2</if-index> | |||
<ip xmlns="http://example.com/ip"> | ||||
<address> | ||||
<ip>192.0.2.1</ip> | ||||
<prefix-length>24</prefix-length> | ||||
</address> | ||||
</ip> | ||||
</interface> | </interface> | |||
<interface> | <interface> | |||
<name>eth1</name> | <name>eth1</name> | |||
<type>ethernetCsmacd</type> | <type>ethernetCsmacd</type> | |||
<location>1</location> | <location>1</location> | |||
<enabled>true</enabled> | <enabled>true</enabled> | |||
<if-index>7</if-index> | <if-index>7</if-index> | |||
<ip xmlns="http://example.com/ip"> | <vlan-tagging | |||
<address> | xmlns="http://example.com/vlan">true</vlan-tagging> | |||
<ip>192.168.1.1</ip> | ||||
<prefix-length>24</prefix-length> | ||||
</address> | ||||
</ip> | ||||
</interface> | </interface> | |||
</interfaces> | </interfaces> | |||
</data> | </data> | |||
</rpc-reply> | </rpc-reply> | |||
Appendix E. ChangeLog | Appendix E. ChangeLog | |||
RFC Editor: remove this section upon publication as an RFC. | RFC Editor: remove this section upon publication as an RFC. | |||
E.1. Version -02 | E.1. Version -03 | |||
o Added the section Relationship to the IF-MIB. | ||||
o Changed if-index to be a leaf instead of leaf-list. | ||||
o Explained the notation used in the data model tree picture. | ||||
E.2. Version -02 | ||||
o Editorial fixes | o Editorial fixes | |||
E.2. Version -01 | E.3. Version -01 | |||
o Changed leaf "if-admin-status" to leaf "enabled". | o Changed leaf "if-admin-status" to leaf "enabled". | |||
o Added Security Considerations | o Added Security Considerations | |||
Author's Address | Author's Address | |||
Martin Bjorklund | Martin Bjorklund | |||
Tail-f Systems | Tail-f Systems | |||
End of changes. 31 change blocks. | ||||
62 lines changed or deleted | 87 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/ |