draft-ietf-dhc-dhcpv6-yang-01.txt   draft-ietf-dhc-dhcpv6-yang-02.txt 
DHC Working Group Y. Cui DHC Working Group Y. Cui
Internet-Draft H. Wang Internet-Draft H. Wang
Intended status: Standards Track L. Sun Intended status: Standards Track L. Sun
Expires: September 22, 2016 Tsinghua University Expires: December 16, 2016 Tsinghua University
T. Lemon T. Lemon
Nominum Nominum
I. Farrer I. Farrer
S. Zoric S. Zoric
Deutsche Telekom AG Deutsche Telekom AG
March 21, 2016 June 14, 2016
YANG Data Model for DHCPv6 Configuration YANG Data Model for DHCPv6 Configuration
draft-ietf-dhc-dhcpv6-yang-01 draft-ietf-dhc-dhcpv6-yang-02
Abstract Abstract
This document describes a YANG data model [RFC6020] for the This document describes a YANG data model [RFC6020] for the
configuration and management of DHCPv6 servers, relays and clients. configuration and management of DHCPv6 servers, relays and clients.
Requirements Language Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
skipping to change at page 1, line 43 skipping to change at page 1, line 43
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 September 22, 2016. This Internet-Draft will expire on December 16, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2016 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 2, line 25 skipping to change at page 2, line 25
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
2. DHCPv6 Tree Diagrams . . . . . . . . . . . . . . . . . . . . 3 2. DHCPv6 Tree Diagrams . . . . . . . . . . . . . . . . . . . . 3
2.1. DHCPv6 Server Tree Diagrams . . . . . . . . . . . . . . . 3 2.1. DHCPv6 Server Tree Diagrams . . . . . . . . . . . . . . . 3
2.2. DHCPv6 Relay Tree Diagrams . . . . . . . . . . . . . . . 12 2.2. DHCPv6 Relay Tree Diagrams . . . . . . . . . . . . . . . 12
2.3. DHCPv6 Client Tree Diagrams . . . . . . . . . . . . . . . 15 2.3. DHCPv6 Client Tree Diagrams . . . . . . . . . . . . . . . 15
2.4. Notifications Mechanism for DHCPv6 . . . . . . . . . . . 20 2.4. Notifications Mechanism for DHCPv6 . . . . . . . . . . . 20
3. DHCPv6 YANG Model . . . . . . . . . . . . . . . . . . . . . . 22 3. DHCPv6 YANG Model . . . . . . . . . . . . . . . . . . . . . . 22
4. Security Considerations (TBD) . . . . . . . . . . . . . . . . 86 4. Security Considerations (TBD) . . . . . . . . . . . . . . . . 87
5. IANA Considerations (TBD) . . . . . . . . . . . . . . . . . . 87 5. IANA Considerations (TBD) . . . . . . . . . . . . . . . . . . 87
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 87 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 87
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 87 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 87
7.1. Normative References . . . . . . . . . . . . . . . . . . 87 7.1. Normative References . . . . . . . . . . . . . . . . . . 87
7.2. Informative References . . . . . . . . . . . . . . . . . 87 7.2. Informative References . . . . . . . . . . . . . . . . . 88
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 89 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 90
1. Introduction 1. Introduction
DHCPv6 [RFC3315] is widely used for supplying configuration and other DHCPv6 [RFC3315] is widely used for supplying configuration and other
relevant parameters to clients in IPv6 networks. This document relevant parameters to clients in IPv6 networks. This document
defines a DHCPv6 YANG data model, containing sub-modules for the defines a DHCPv6 YANG data model, containing sub-modules for the
configuration and management of DHCPv6 servers, relays and clients. configuration and management of DHCPv6 servers, relays and clients.
A single YANG model covering all of these elements provides an A single YANG model covering all of these elements provides an
operator with a common interface for the management of the entire operator with a common interface for the management of the entire
DHCPv6 deployment in their network. DHCPv6 deployment in their network.
skipping to change at page 4, line 9 skipping to change at page 4, line 9
| +--rw ipv6-address? inet:ipv6-address | +--rw ipv6-address? inet:ipv6-address
| +--rw description? string | +--rw description? string
| +--rw pd-function boolean | +--rw pd-function boolean
| +--rw stateless-service boolean | +--rw stateless-service boolean
| +--rw rapid-commit boolean | +--rw rapid-commit boolean
| +--rw vendor-info | +--rw vendor-info
| +--rw ent-num uint32 | +--rw ent-num uint32
| +--rw data* string | +--rw data* string
+--rw option-sets +--rw option-sets
| +--rw option-set* [option-set-id] | +--rw option-set* [option-set-id]
| +--rw option-set-id -> /dhcpv6/server/option-sets/option-set | +--rw option-set-id uint8
| +--rw new-or-standard-option* [option-code] | +--rw new-or-standard-option* [option-code]
| | +--rw option-code uint16 | | +--rw option-code uint16
| | +--rw option-name string | | +--rw option-name string
| | +--rw option-description string | | +--rw option-description string
| | +--rw option-reference? string | | +--rw option-reference? string
| | +--rw option-value string | | +--rw option-value string
| +--rw user-class-value? string | +--rw user-class-value? string
| +--rw enterprise-number? uint32 | +--rw enterprise-number? uint32
| +--rw store-client-link-layer? boolean | +--rw store-client-link-layer? boolean
| +--rw preference-option | +--rw preference-option
skipping to change at page 8, line 15 skipping to change at page 8, line 15
| +--rw offset uint8 | +--rw offset uint8
| +--rw psid-len uint8 | +--rw psid-len uint8
| +--rw psid uint16 | +--rw psid uint16
+--rw network-ranges +--rw network-ranges
| +--rw option-set [option-set-id] | +--rw option-set [option-set-id]
| +--rw network-range* [network-range-id] | +--rw network-range* [network-range-id]
| +--rw network-range-id uint8 | +--rw network-range-id uint8
| +--rw network-description string | +--rw network-description string
| +--rw network-prefix inet:ipv6-prefix | +--rw network-prefix inet:ipv6-prefix
| +--rw inherit-option-set boolean | +--rw inherit-option-set boolean
| +--rw option-set [option-set-id] | +--rw option-set-id uint8
| +--rw address-pools | +--rw address-pools
| | +--rw address-pool* [pool-id] | | +--rw address-pool* [pool-id]
| | | +--rw pool-id uint8 | | | +--rw pool-id uint8
| | | +--rw pool-prefix inet:ipv6-prefix | | | +--rw pool-prefix inet:ipv6-prefix
| | | +--rw start-address inet:ipv6-address | | | +--rw start-address inet:ipv6-address
| | | +--rw end-address inet:ipv6-address | | | +--rw end-address inet:ipv6-address
| | | +--rw renew-time yang:timeticks | | | +--rw renew-time yang:timeticks
| | | +--rw rebind-time yang:timeticks | | | +--rw rebind-time yang:timeticks
| | | +--rw preferred-lifetime yang:timeticks | | | +--rw preferred-lifetime yang:timeticks
| | | +--rw valid-lifetime yang:timeticks | | | +--rw valid-lifetime yang:timeticks
| | | +--ro total-ipv6-count uint64 | | | +--ro total-ipv6-count uint64
| | | +--ro used-ipv6-count uint64 | | | +--ro used-ipv6-count uint64
| | | +--rw utilization-ratio threshold | | | +--rw utilization-ratio threshold
| | | +--rw inherit-option-set boolean | | | +--rw inherit-option-set boolean
| | | +--rw option-set [option-set-id] | | | +--rw option-set-id uint8
| | | +--rw reserved-addresses | | | +--rw reserved-addresses
| | | +--rw static-binding* [cli-id] | | | +--rw static-binding* [cli-id]
| | | | +--rw cli-id uint32 | | | | +--rw cli-id uint32
| | | | +--rw duid duidtype | | | | +--rw duid duidtype
| | | | +--rw reserv-addr* inet:ipv6-address | | | | +--rw reserv-addr* inet:ipv6-address
| | | +--rw other-reserv-addr* inet:ipv6-address | | | +--rw other-reserv-addr* inet:ipv6-address
| | +--ro binding-info* [cli-id] | | +--ro binding-info* [cli-id]
| | +--ro cli-id uint32 | | +--ro cli-id uint32
| | +--ro duid duidtype | | +--ro duid duidtype
| | +--ro cli-ia* [iaid] | | +--ro cli-ia* [iaid]
skipping to change at page 9, line 8 skipping to change at page 9, line 8
| | +--rw prefix-pool* [pool-id] | | +--rw prefix-pool* [pool-id]
| | | +--rw pool-id uint8 | | | +--rw pool-id uint8
| | | +--rw prefix inet:ipv6-prefix | | | +--rw prefix inet:ipv6-prefix
| | | +--rw prefix-length uint8 | | | +--rw prefix-length uint8
| | | +--rw renew-time yang:timeticks | | | +--rw renew-time yang:timeticks
| | | +--rw rebind-time yang:timeticks | | | +--rw rebind-time yang:timeticks
| | | +--rw preferred-lifetime yang:timeticks | | | +--rw preferred-lifetime yang:timeticks
| | | +--rw valid-lifetime yang:timeticks | | | +--rw valid-lifetime yang:timeticks
| | | +--rw utilization-ratio threshold | | | +--rw utilization-ratio threshold
| | | +--rw inherit-option-set boolean | | | +--rw inherit-option-set boolean
| | | +--rw option-set [option-set-id] | | | +--rw option-set-id uint8
| | | +--rw reserved-prefixes | | | +--rw reserved-prefixes
| | | +--rw static-binding* [cli-id] | | | +--rw static-binding* [cli-id]
| | | | +--rw cli-id uint32 | | | | +--rw cli-id uint32
| | | | +--rw duid duidtype | | | | +--rw duid duidtype
| | | | +--rw reserv-prefix-len uint8 | | | | +--rw reserv-prefix-len uint8
| | | | +--rw reserv-prefix inet:ipv6-prefix | | | | +--rw reserv-prefix inet:ipv6-prefix
| | | +--rw exclude-prefix-len uint8 | | | +--rw exclude-prefix-len uint8
| | | +--rw exclude-prefix inet:ipv6-prefix | | | +--rw exclude-prefix inet:ipv6-prefix
| | | +--rw other-reserv-prefix* [reserv-id] | | | +--rw other-reserv-prefix* [reserv-id]
| | | +--rw reserv-id uint8 | | | +--rw reserv-id uint8
skipping to change at page 9, line 34 skipping to change at page 9, line 34
| | +--ro cli-iapd* [iaid] | | +--ro cli-iapd* [iaid]
| | +--ro iaid uint32 | | +--ro iaid uint32
| | +--ro cli-prefix* uint32 | | +--ro cli-prefix* uint32
| | +--ro cli-prefix-len* uint8 | | +--ro cli-prefix-len* uint8
| | +--ro pool-id? uint8 | | +--ro pool-id? uint8
| +--rw hosts | +--rw hosts
| +--rw host* [cli-id] | +--rw host* [cli-id]
| +--rw cli-id uint32 | +--rw cli-id uint32
| +--rw duid duidtype | +--rw duid duidtype
| +--rw inherit-option-set boolean | +--rw inherit-option-set boolean
| +--rw option-set [option-set-id] | +--rw option-set-id uint8
| +--rw nis-domain-name? string | +--rw nis-domain-name? string
| +--rw nis-plus-domain-name? string | +--rw nis-plus-domain-name? string
+--rw relay-opaque-paras +--rw relay-opaque-paras
| +--rw relays* [relay-name] | +--rw relays* [relay-name]
| +--rw relay-name string | +--rw relay-name string
| +--rw interface-info* [if-name] | +--rw interface-info* [if-name]
| | +--rw if-name string | | +--rw if-name string
| | +--rw interface-id string | | +--rw interface-id string
| +--rw subscribers* [subscriber] | +--rw subscribers* [subscriber]
| | +--rw subscriber uint8 | | +--rw subscriber uint8
skipping to change at page 22, line 25 skipping to change at page 22, line 25
o retransmission-failed: raised when the retransmission mechanism o retransmission-failed: raised when the retransmission mechanism
defined in [RFC3315] is failed. defined in [RFC3315] is failed.
o failed-status-turn-up: raised when the client receives a message o failed-status-turn-up: raised when the client receives a message
includes an unsuccessful Status Code option. includes an unsuccessful Status Code option.
3. DHCPv6 YANG Model 3. DHCPv6 YANG Model
This module imports typedefs from [RFC6991]. This module imports typedefs from [RFC6991].
<CODE BEGINS> file "ietf-dhcpv6@2015-10-16.yang" <CODE BEGINS> file "ietf-dhcpv6@2016-06-15.yang"
module ietf-dhcpv6 { module ietf-dhcpv6 {
namespace "urn:ietf:params:xml:ns:yang:ietf-dhcpv6"; namespace "urn:ietf:params:xml:ns:yang:ietf-dhcpv6";
prefix "dhcpv6"; prefix "dhcpv6";
import ietf-inet-types { import ietf-inet-types {
prefix inet; prefix inet;
revision-date "2013-07-15"; revision-date "2013-07-15";
} }
import ietf-yang-types { import ietf-yang-types {
prefix yang; prefix yang;
skipping to change at page 22, line 47 skipping to change at page 22, line 47
} }
organization "dhc wg"; organization "dhc wg";
contact "yong@csnet1.cs.tsinghua.edu.cn contact "yong@csnet1.cs.tsinghua.edu.cn
wangh13@mails.tsinghua.edu.cn wangh13@mails.tsinghua.edu.cn
lh.sunlinh@gmail.com lh.sunlinh@gmail.com
Ted.Lemon@nominum.com Ted.Lemon@nominum.com
ian.farrer@telekom.de"; ian.farrer@telekom.de";
description "This model defines a YANG data model that can be description "This model defines a YANG data model that can be
used to configure and manage DHCPv6 server, DHCPv6 relay and used to configure and manage DHCPv6 server, DHCPv6 relay and
DHCPv6 client."; DHCPv6 client.";
revision 2016-06-15 {
description "version07: resolve yang compiling errors, wait
for YANG doctor's review";
reference "I-D: draft-ietf-dhc-dhcpv6-yang-01";
}
revision 2016-03-21 {
description "version06: resolve feedbacks from IETF94";
reference "I-D: draft-ietf-dhc-dhcpv6-yang-01";
}
revision 2015-10-16 { revision 2015-10-16 {
description "version05: Omit the feature statement. Modify description "version05: Omit the feature statement. Modify
model according to comments from Huawei. Also correct some model according to comments from Huawei. Also correct some
grammar errors."; grammar errors.";
reference "I-D: draft-ietf-dhc-dhcpv6-yang-00"; reference "I-D: draft-ietf-dhc-dhcpv6-yang-00";
} }
revision 2015-09-25 { revision 2015-09-25 {
description "version04: Correct duid and grammar errors."; description "version04: Correct duid and grammar errors.";
skipping to change at page 23, line 25 skipping to change at page 23, line 35
reference "I-D: draft-cui-dhc-dhcpv6-yang-03"; reference "I-D: draft-cui-dhc-dhcpv6-yang-03";
} }
revision 2015-04-13 { revision 2015-04-13 {
description "version02: Correct grammar errors."; description "version02: Correct grammar errors.";
reference "I-D: draft-cui-dhc-dhcpv6-yang-02"; reference "I-D: draft-cui-dhc-dhcpv6-yang-02";
} }
revision 2015-04-02 { revision 2015-04-02 {
description "version01: Correct grammar errors, Reuse description "version01: Correct grammar errors, Reuse
groupings, Update 'dhcpv6-relay' feature, Add groupings, Update 'dhcpv6-relay' feature, Add
notifications."; notifications.";
reference "I-D: draft-cui-dhc-dhcpv6-yang-01"; reference "I-D: draft-cui-dhc-dhcpv6-yang-01";
} }
revision 2015-03-04 { revision 2015-03-04 {
description "version00: Initial revision."; description "version00: Initial revision.";
reference "I-D: draft-cui-dhc-dhcpv6-yang-00"; reference "I-D: draft-cui-dhc-dhcpv6-yang-00";
} }
/* /*
skipping to change at page 25, line 28 skipping to change at page 25, line 38
description "This container contains basic attributes description "This container contains basic attributes
of a DHCPv6 server such as DUID, server name and so of a DHCPv6 server such as DUID, server name and so
on. Some optional functions that can be provided by on. Some optional functions that can be provided by
the server is also included."; the server is also included.";
leaf name { leaf name {
type string; type string;
mandatory true; mandatory true;
description "server's name"; description "server's name";
} }
leaf duid { leaf duid {
type duidtype; type duidtype;
mandatory true; mandatory true;
description "DHCP Unique Identifer"; description "DHCP Unique Identifer";
} }
leaf enable { leaf enable {
type boolean; type boolean;
mandatory true; mandatory true;
description "whether to enable the server"; description "whether to enable the server";
} }
leaf ipv6-address { leaf ipv6-address {
type inet:ipv6-address; type inet:ipv6-address;
description "server's IPv6 address"; description "server's IPv6 address";
} }
leaf description { leaf description {
type string; type string;
description "description of the server"; description "description of the server";
} }
leaf pd-function { leaf pd-function {
type boolean; type boolean;
mandatory true; mandatory true;
description "Whether the server can act as a description "Whether the server can act as a
delegating router to perform prefix delegation delegating router to perform prefix delegation
([RFC3633])."; ([RFC3633]).";
} }
leaf stateless-service { leaf stateless-service {
type boolean; type boolean;
mandatory true; mandatory true;
description "A boolean value specifies whether description "A boolean value specifies whether
the server support client-server exchanges the server support client-server exchanges
involving two messages defined in ([RFC3315])."; involving two messages defined in ([RFC3315]).";
} }
leaf rapid-commit { leaf rapid-commit {
type boolean; type boolean;
skipping to change at page 26, line 48 skipping to change at page 27, line 10
description "A server may allow different option description "A server may allow different option
sets to be configured for different conditions sets to be configured for different conditions
(i.e. different networks, clients and etc). This (i.e. different networks, clients and etc). This
'option-set' list enables various sets of options 'option-set' list enables various sets of options
being defined and configured in a single server. being defined and configured in a single server.
Different sets are distinguished by the key called Different sets are distinguished by the key called
'option-set-id'. All the possible options discussed 'option-set-id'. All the possible options discussed
above are defined in the list and each option is above are defined in the list and each option is
corresponding to a container."; corresponding to a container.";
leaf option-set-id { leaf option-set-id {
type leafref; { type uint8;
path "/dhcpv6/server/option-sets/option-set/option-set-id";
mandatory true; mandatory true;
description "the option-set-id key"; description "the option-set-id key";
}
} }
list new-or-standard-option { list new-or-standard-option {
key option-code; key option-code;
description "new or standard option"; description "new or standard option";
leaf option-code { leaf option-code {
type uint16; type uint16;
mandatory true; mandatory true;
description "the option code key"; description "the option code key";
} }
leaf option-name { leaf option-name {
type string; type string;
mandatory true; mandatory true;
skipping to change at page 41, line 10 skipping to change at page 41, line 18
description "operator integer 32 info"; description "operator integer 32 info";
leaf int32val-id { leaf int32val-id {
type uint8; type uint8;
mandatory true; mandatory true;
description "operator integer 32 id"; description "operator integer 32 id";
} }
leaf int32val{ leaf int32val{
type uint32; type uint32;
mandatory true; mandatory true;
description "operator integer 32 value"; description "operator integer 32 value";
} }
} }
} }
container operator-option-int16 { container operator-option-int16 {
description "operator integer 16 option"; description "operator integer 16 option";
leaf enable { leaf enable {
type boolean; type boolean;
mandatory true; mandatory true;
description "indicate whether this description "indicate whether this
option will be included in the option will be included in the
option set"; option set";
skipping to change at page 41, line 47 skipping to change at page 42, line 7
container operator-option-int8 { container operator-option-int8 {
description "operator integer 8 option"; description "operator integer 8 option";
leaf enable { leaf enable {
type boolean; type boolean;
mandatory true; mandatory true;
description "indicate whether this description "indicate whether this
option will be included in the option will be included in the
option set"; option set";
} }
list int8val{ list int8val{
key int32val-id; key int8val-id;
description "operator integer 8 info"; description "operator integer 8 info";
leaf int8val-id { leaf int8val-id {
type uint8; type uint8;
mandatory true; mandatory true;
description "operator integer 8 id"; description "operator integer 8 id";
} }
leaf int8val{ leaf int8val{
type uint8; type uint8;
mandatory true; mandatory true;
description "operator integer 8 value"; description "operator integer 8 value";
skipping to change at page 46, line 31 skipping to change at page 46, line 39
type inet:ipv6-prefix; type inet:ipv6-prefix;
mandatory true; mandatory true;
description "subnet prefix"; description "subnet prefix";
} }
leaf inherit-option-set { leaf inherit-option-set {
type boolean; type boolean;
mandatory true; mandatory true;
description "indicate whether to inherit description "indicate whether to inherit
the configuration from higher level"; the configuration from higher level";
} }
leaf-list option-set { leaf option-set-id {
type uint8; type uint8;
description "configured option set"; mandatory true;
description "the selected option-set";
} }
container address-pools { container address-pools {
description "A container describes description "A container describes
the DHCPv6 server's address pools."; the DHCPv6 server's address pools.";
list address-pool { list address-pool {
key pool-id; key pool-id;
description "A DHCPv6 server can description "A DHCPv6 server can
be configured with several address be configured with several address
pools. This list defines such pools. This list defines such
address pools which are distinguish address pools which are distinguish
skipping to change at page 48, line 16 skipping to change at page 48, line 25
mandatory true; mandatory true;
description "the utilization ratio"; description "the utilization ratio";
} }
leaf inherit-option-set { leaf inherit-option-set {
type boolean; type boolean;
mandatory true; mandatory true;
description "indicate whether to description "indicate whether to
inherit the configuration from inherit the configuration from
higher level"; higher level";
} }
leaf-list option-set { leaf option-set-id {
type uint8; type uint8;
description "configured option mandatory true;
set"; description "the selected option-set";
} }
container reserved-addresses { container reserved-addresses {
description "reserved addresses"; description "reserved addresses";
list static-binding { list static-binding {
key cli-id; key cli-id;
description "static binding of description "static binding of
reserved addresses"; reserved addresses";
leaf cli-id { leaf cli-id {
type uint32; type uint32;
mandatory true; mandatory true;
skipping to change at page 49, line 18 skipping to change at page 49, line 27
addresses."; addresses.";
leaf cli-id { leaf cli-id {
type uint32; type uint32;
mandatory true; mandatory true;
description "client id"; description "client id";
} }
leaf duid { leaf duid {
type duidtype; type duidtype;
mandatory true; mandatory true;
description "DHCP Unique Identifer"; description "DHCP Unique Identifer";
} }
list cli-ia { list cli-ia {
key iaid; key iaid;
description "client IA"; description "client IA";
leaf ia-type { leaf ia-type {
type string; type string;
mandatory true; mandatory true;
description "IA type"; description "IA type";
} }
leaf iaid { leaf iaid {
type uint32; type uint32;
skipping to change at page 51, line 7 skipping to change at page 51, line 17
type threshold; type threshold;
mandatory true; mandatory true;
description "utilization ratio"; description "utilization ratio";
} }
leaf inherit-option-set { leaf inherit-option-set {
type boolean; type boolean;
mandatory true; mandatory true;
description "whether to inherit description "whether to inherit
configuration from higher level"; configuration from higher level";
} }
leaf-list option-set { leaf option-set-id {
type uint8; type uint8;
description "configured option mandatory true;
set"; description "the selected option-set";
} }
container reserved-prefixes { container reserved-prefixes {
description "reserved prefixes"; description "reserved prefixes";
list static-binding { list static-binding {
key cli-id; key cli-id;
description "static binding"; description "static binding";
leaf cli-id { leaf cli-id {
type uint32; type uint32;
mandatory true; mandatory true;
description "client id"; description "client id";
skipping to change at page 53, line 47 skipping to change at page 54, line 8
description "DHCP Unique description "DHCP Unique
Identifer"; Identifer";
} }
leaf inherit-option-set { leaf inherit-option-set {
type boolean; type boolean;
mandatory true; mandatory true;
description "whether to inherit description "whether to inherit
configuration configuration
from higher level"; from higher level";
} }
leaf-list option-set { leaf option-set-id {
type uint8; type uint8;
description "configured option set"; mandatory true;
description "the selected option-set";
} }
leaf nis-domain-name { leaf nis-domain-name {
type string; type string;
description "nis domain name"; description "nis domain name";
} }
leaf nis-plus-domain-name { leaf nis-plus-domain-name {
type string; type string;
description "nisp domain name"; description "nisp domain name";
} }
} }
 End of changes. 32 change blocks. 
36 lines changed or deleted 46 lines changed or added

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