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/