draft-ietf-dhc-dhcpv6-yang-02.txt | draft-ietf-dhc-dhcpv6-yang-03.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: December 16, 2016 Tsinghua University | Expires: December 20, 2016 Tsinghua University | |||
T. Lemon | T. Lemon | |||
Nominum | Nominum | |||
I. Farrer | I. Farrer | |||
S. Zoric | S. Zoric | |||
Deutsche Telekom AG | Deutsche Telekom AG | |||
June 14, 2016 | June 18, 2016 | |||
YANG Data Model for DHCPv6 Configuration | YANG Data Model for DHCPv6 Configuration | |||
draft-ietf-dhc-dhcpv6-yang-02 | draft-ietf-dhc-dhcpv6-yang-03 | |||
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 December 16, 2016. | This Internet-Draft will expire on December 20, 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 8, line 9 ¶ | skipping to change at page 8, line 9 ¶ | |||
| +--rw ce* [ce-id] | | +--rw ce* [ce-id] | |||
| +--rw ce-id uint8 | | +--rw ce-id uint8 | |||
| +--rw ipv4-addr inet:ipv4-address | | +--rw ipv4-addr inet:ipv4-address | |||
| +--rw bind-prefix6-len uint8 | | +--rw bind-prefix6-len uint8 | |||
| +--rw bind-ipv6-prefix inet:ipv6-prefix | | +--rw bind-ipv6-prefix inet:ipv6-prefix | |||
| +--rw port-parameter | | +--rw port-parameter | |||
| +--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-id uint8 | |||
| +--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-id uint8 | | +--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 | |||
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@2016-06-15.yang" | <CODE BEGINS> file "ietf-dhcpv6@2016-06-18.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; | |||
revision-date "2013-07-15"; | revision-date "2013-07-15"; | |||
} | } | |||
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 | |||
sladjana.zoric@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-18 { | ||||
description "version08: resolve yang compiling error: | ||||
top-level node must not be mandatory, wait for YANG | ||||
doctor's review"; | ||||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-03"; | ||||
} | ||||
revision 2016-06-15 { | revision 2016-06-15 { | |||
description "version07: resolve yang compiling errors, wait | description "version07: resolve yang compiling errors, wait | |||
for YANG doctor's review"; | for YANG doctor's review"; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-01"; | ||||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-02"; | ||||
} | } | |||
revision 2016-03-21 { | revision 2016-03-21 { | |||
description "version06: resolve feedbacks from IETF94"; | description "version06: resolve feedbacks from IETF94"; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-01"; | 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."; | |||
skipping to change at page 25, line 26 ¶ | skipping to change at page 25, line 36 ¶ | |||
description "psid value"; | description "psid value"; | |||
} | } | |||
} | } | |||
} | } | |||
/* | /* | |||
* Data Nodes | * Data Nodes | |||
*/ | */ | |||
container server { | container server { | |||
presence "Enables server"; | ||||
description "dhcpv6 server portion"; | description "dhcpv6 server portion"; | |||
container serv-attributes { | container serv-attributes { | |||
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 45, line 51 ¶ | skipping to change at page 46, line 13 ¶ | |||
description "This model supports a hierarchy | description "This model supports a hierarchy | |||
to achieve dynamic configuration. That is to | to achieve dynamic configuration. That is to | |||
say we could configure the server at different | say we could configure the server at different | |||
levels through this model. The top level is a | levels through this model. The top level is a | |||
global level which is defined as the container | global level which is defined as the container | |||
'network-ranges'. The following levels are | 'network-ranges'. The following levels are | |||
defined as sub-containers under it. The | defined as sub-containers under it. The | |||
'network-ranges' contains the parameters | 'network-ranges' contains the parameters | |||
(e.g. option-sets) that would be allocated to | (e.g. option-sets) that would be allocated to | |||
all the clients served by this server."; | all the clients served by this server."; | |||
leaf-list option-set { | leaf option-set-id { | |||
type uint8; | type uint8; | |||
description "a specific option set"; | description "a specific option set"; | |||
} | } | |||
list network-range { | list network-range { | |||
key network-range-id; | key network-range-id; | |||
description "Under the 'network-ranges' | description "Under the 'network-ranges' | |||
container, a 'network-range' list is | container, a 'network-range' list is | |||
defined to configure the server at a | defined to configure the server at a | |||
network level which is also considered | network level which is also considered | |||
as the second level. Different network | as the second level. Different network | |||
skipping to change at page 49, line 27 ¶ | skipping to change at page 49, line 37 ¶ | |||
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 57, line 32 ¶ | skipping to change at page 57, line 42 ¶ | |||
} | } | |||
leaf relay-reply-count { | leaf relay-reply-count { | |||
type uint32; | type uint32; | |||
mandatory true; | mandatory true; | |||
description "relay reply counter"; | description "relay reply counter"; | |||
} | } | |||
} | } | |||
} | } | |||
container relay { | container relay { | |||
presence "Enables relay"; | ||||
description "dhcpv6 relay portion"; | description "dhcpv6 relay portion"; | |||
container relay-attributes { | container relay-attributes { | |||
description "A container describes | description "A container describes | |||
some basic attributes of the relay | some basic attributes of the relay | |||
agent including some relay agent | agent including some relay agent | |||
specific options data that need to | specific options data that need to | |||
be configured previously. Such options | be configured previously. Such options | |||
include Remote-Id option and | include Remote-Id option and | |||
Subscriber-Id option."; | Subscriber-Id option."; | |||
leaf name { | leaf name { | |||
skipping to change at page 64, line 41 ¶ | skipping to change at page 65, line 4 ¶ | |||
description "relay reply sent counter"; | description "relay reply sent counter"; | |||
} | } | |||
leaf discarded-packet-count { | leaf discarded-packet-count { | |||
type uint32; | type uint32; | |||
mandatory true; | mandatory true; | |||
description "discarded packet counter"; | description "discarded packet counter"; | |||
} | } | |||
} | } | |||
} | } | |||
container client { | container client { | |||
presence "Enables client"; | ||||
description "dhcpv6 client portion"; | description "dhcpv6 client portion"; | |||
list client-if { | list client-if { | |||
key if-name; | key if-name; | |||
description "A client may have several | description "A client may have several | |||
interfaces, it is more reasonable to | interfaces, it is more reasonable to | |||
configure and manage parameters on | configure and manage parameters on | |||
the interface-level. The list defines | the interface-level. The list defines | |||
specific client interfaces and their | specific client interfaces and their | |||
data. Different interfaces are distinguished | data. Different interfaces are distinguished | |||
by the key which is a configurable string | by the key which is a configurable string | |||
End of changes. 18 change blocks. | ||||
14 lines changed or deleted | 27 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/ |