draft-ietf-dhc-dhcpv6-yang-15.txt | draft-ietf-dhc-dhcpv6-yang-16.txt | |||
---|---|---|---|---|
DHC Working Group Y. Cui | DHC Working Group Y. Cui | |||
Internet-Draft L. Sun | Internet-Draft L. Sun | |||
Intended status: Standards Track Tsinghua University | Intended status: Standards Track Tsinghua University | |||
Expires: 25 June 2021 I.F. Farrer | Expires: 11 July 2021 I. Farrer | |||
S.Z. Zechlin | S.Z. Zechlin | |||
Deutsche Telekom AG | Deutsche Telekom AG | |||
Z. He | Z. He | |||
Tsinghua University | Tsinghua University | |||
M.N. Nowikowski | M. Nowikowski | |||
Internet Systems Consortium | Internet Systems Consortium | |||
22 December 2020 | 7 January 2021 | |||
YANG Data Model for DHCPv6 Configuration | YANG Data Model for DHCPv6 Configuration | |||
draft-ietf-dhc-dhcpv6-yang-15 | draft-ietf-dhc-dhcpv6-yang-16 | |||
Abstract | Abstract | |||
This document describes YANG data modules for the configuration and | This document describes YANG data modules for the configuration and | |||
management of DHCPv6 servers, relays, and clients. | 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", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
skipping to change at page 1, line 46 ¶ | skipping to change at page 1, line 46 ¶ | |||
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 https://datatracker.ietf.org/drafts/current/. | Drafts is at https://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 25 June 2021. | This Internet-Draft will expire on 11 July 2021. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2021 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 (https://trustee.ietf.org/ | Provisions Relating to IETF Documents (https://trustee.ietf.org/ | |||
license-info) in effect on the date of publication of this document. | license-info) in effect on the date of publication of this document. | |||
Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
and restrictions with respect to this document. Code Components | and restrictions with respect to this document. Code Components | |||
extracted from this document must include Simplified BSD License text | extracted from this document must include Simplified BSD License text | |||
as described in Section 4.e of the Trust Legal Provisions and are | as described in Section 4.e of the Trust Legal Provisions and are | |||
provided without warranty as described in the Simplified BSD License. | provided without warranty as described in the Simplified BSD License. | |||
skipping to change at page 2, line 32 ¶ | skipping to change at page 2, line 32 ¶ | |||
1.1. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
1.2. Extensibility of the DHCPv6 Server YANG Module . . . . . 3 | 1.2. Extensibility of the DHCPv6 Server YANG Module . . . . . 3 | |||
1.2.1. DHCPv6 Option Definitions . . . . . . . . . . . . . . 4 | 1.2.1. DHCPv6 Option Definitions . . . . . . . . . . . . . . 4 | |||
1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 | 1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
2. DHCPv6 Tree Diagrams . . . . . . . . . . . . . . . . . . . . 5 | 2. DHCPv6 Tree Diagrams . . . . . . . . . . . . . . . . . . . . 5 | |||
2.1. DHCPv6 Server Tree Diagram . . . . . . . . . . . . . . . 5 | 2.1. DHCPv6 Server Tree Diagram . . . . . . . . . . . . . . . 5 | |||
2.2. DHCPv6 Relay Tree Diagram . . . . . . . . . . . . . . . . 12 | 2.2. DHCPv6 Relay Tree Diagram . . . . . . . . . . . . . . . . 12 | |||
2.3. DHCPv6 Client Tree Diagram . . . . . . . . . . . . . . . 14 | 2.3. DHCPv6 Client Tree Diagram . . . . . . . . . . . . . . . 14 | |||
3. DHCPv6 YANG Modules . . . . . . . . . . . . . . . . . . . . . 17 | 3. DHCPv6 YANG Modules . . . . . . . . . . . . . . . . . . . . . 17 | |||
3.1. DHCPv6 Server YANG Module . . . . . . . . . . . . . . . . 17 | 3.1. DHCPv6 Server YANG Module . . . . . . . . . . . . . . . . 17 | |||
3.2. DHCPv6 Relay YANG Module . . . . . . . . . . . . . . . . 31 | 3.2. DHCPv6 Relay YANG Module . . . . . . . . . . . . . . . . 32 | |||
3.3. DHCPv6 Client YANG Module . . . . . . . . . . . . . . . . 40 | 3.3. DHCPv6 Client YANG Module . . . . . . . . . . . . . . . . 41 | |||
3.4. RFC8415 Server Options YANG Module . . . . . . . . . . . 50 | 3.4. RFC8415 Server Options YANG Module . . . . . . . . . . . 50 | |||
3.5. RFC8415 Relay Options YANG Module . . . . . . . . . . . . 58 | 3.5. RFC8415 Relay Options YANG Module . . . . . . . . . . . . 58 | |||
3.6. RFC8415 Client Options YANG Module . . . . . . . . . . . 65 | 3.6. RFC8415 Client Options YANG Module . . . . . . . . . . . 62 | |||
3.7. DHCPv6 Common YANG Module . . . . . . . . . . . . . . . . 71 | 3.7. DHCPv6 Common YANG Module . . . . . . . . . . . . . . . . 69 | |||
4. Security Considerations . . . . . . . . . . . . . . . . . . . 75 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 73 | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 77 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 74 | |||
6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 78 | 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 75 | |||
7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 78 | 7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 75 | |||
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 78 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 76 | |||
8.1. Normative References . . . . . . . . . . . . . . . . . . 78 | 8.1. Normative References . . . . . . . . . . . . . . . . . . 76 | |||
8.2. Informative References . . . . . . . . . . . . . . . . . 80 | 8.2. Informative References . . . . . . . . . . . . . . . . . 78 | |||
Appendix A. Example of Augmenting Additional DHCPv6 Option | Appendix A. Example of Augmenting Additional DHCPv6 Option | |||
Definitions . . . . . . . . . . . . . . . . . . . . . . . 80 | Definitions . . . . . . . . . . . . . . . . . . . . . . . 78 | |||
Appendix B. Example Vendor Specific Server Configuration | Appendix B. Example Vendor Specific Server Configuration | |||
Module . . . . . . . . . . . . . . . . . . . . . . . . . 84 | Module . . . . . . . . . . . . . . . . . . . . . . . . . 82 | |||
Appendix C. Example definition of class selector | Appendix C. Example definition of class selector | |||
configuration . . . . . . . . . . . . . . . . . . . . . . 90 | configuration . . . . . . . . . . . . . . . . . . . . . . 88 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 97 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 95 | |||
1. Introduction | 1. Introduction | |||
DHCPv6 [RFC8415] is widely used for supplying configuration and other | DHCPv6 [RFC8415] 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 YANG modules for the configuration and management of DHCPv6 | defines YANG modules for the configuration and management of DHCPv6 | |||
servers, relays and clients. Separate 'element' modules are defined | servers, relays and clients. Separate 'element' modules are defined | |||
for each of these. There is an additional module per-element | for each of these. There is an additional module per-element | |||
defining DHCP options which are relevant for that element (taken from | defining DHCP options which are relevant for that element (taken from | |||
the options defined in [RFC8415]). | the options defined in [RFC8415]). | |||
skipping to change at page 18, line 34 ¶ | skipping to change at page 18, line 34 ¶ | |||
"cuiyong@tsinghua.edu.cn | "cuiyong@tsinghua.edu.cn | |||
lh.sunlinh@gmail.com | lh.sunlinh@gmail.com | |||
ian.farrer@telekom.de | ian.farrer@telekom.de | |||
sladjana.zechlin@telekom.de | sladjana.zechlin@telekom.de | |||
hezihao9512@gmail.com | hezihao9512@gmail.com | |||
godfryd@isc.org"; | godfryd@isc.org"; | |||
description "This YANG module defines components for the | description "This YANG module defines components for the | |||
configuration and management of DHCPv6 servers. | configuration and management of DHCPv6 servers. | |||
Copyright (c) 2020 IETF Trust and the persons identified as | Copyright (c) 2021 IETF Trust and the persons identified as | |||
authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
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 8513; see | This version of this YANG module is part of RFC 8513; see | |||
the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
revision 2021-01-06 { | ||||
description "Version update for draft -16 publication."; | ||||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-16"; | ||||
} | ||||
revision 2020-12-22 { | revision 2020-12-22 { | |||
description "Version update for draft -13 publication."; | description "Version update for draft -13 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-15"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-15"; | |||
} | } | |||
revision 2020-12-10 { | revision 2020-12-10 { | |||
description "Version update for draft -13 publication."; | description "Version update for draft -13 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-13"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-13"; | |||
} | } | |||
revision 2020-12-01 { | revision 2020-12-01 { | |||
description "Version update for draft -12 publication."; | description "Version update for draft -12 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-12"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-12"; | |||
} | } | |||
skipping to change at page 33, line 9 ¶ | skipping to change at page 33, line 12 ¶ | |||
lh.sunlinh@gmail.com | lh.sunlinh@gmail.com | |||
ian.farrer@telekom.de | ian.farrer@telekom.de | |||
sladjana.zechlin@telekom.de | sladjana.zechlin@telekom.de | |||
hezihao9512@gmail.com | hezihao9512@gmail.com | |||
godfryd@isc.org"; | godfryd@isc.org"; | |||
description | description | |||
"This YANG module defines components necessary for the | "This YANG module defines components necessary for the | |||
configuration and management of DHCPv6 relays. | configuration and management of DHCPv6 relays. | |||
Copyright (c) 2020 IETF Trust and the persons identified as | Copyright (c) 2021 IETF Trust and the persons identified as | |||
authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
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 8513; see | This version of this YANG module is part of RFC 8513; see | |||
the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
revision 2021-01-06 { | ||||
description "Version update for draft -16 publication."; | ||||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-16"; | ||||
} | ||||
revision 2020-12-22 { | revision 2020-12-22 { | |||
description "Version update for draft -13 publication."; | description "Version update for draft -13 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-15"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-15"; | |||
} | } | |||
revision 2020-12-10 { | revision 2020-12-10 { | |||
description "Version update for draft -13 publication."; | description "Version update for draft -13 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-13"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-13"; | |||
} | } | |||
skipping to change at page 38, line 14 ¶ | skipping to change at page 38, line 25 ¶ | |||
/* | /* | |||
* Data Nodes | * Data Nodes | |||
*/ | */ | |||
container dhcpv6-relay { | container dhcpv6-relay { | |||
description | description | |||
"This container contains the configuration data nodes for | "This container contains the configuration data nodes for | |||
the relay."; | the relay."; | |||
list relay-if { | list relay-if { | |||
key if-name; | key if-name; | |||
description "List of interfaces configured for DHCPv6 relaying. | description "List of interfaces configured for DHCPv6 | |||
"; | relaying."; | |||
leaf if-name { | leaf if-name { | |||
type if:interface-ref; | type if:interface-ref; | |||
description "interface-ref to the relay interface."; | description "interface-ref to the relay interface."; | |||
} | } | |||
leaf-list destination-addresses { | leaf-list destination-addresses { | |||
type inet:ipv6-address; | type inet:ipv6-address; | |||
description "Each DHCPv6 relay agent may be configured with | description "Each DHCPv6 relay agent may be configured with | |||
a list of destination addresses for relayed messages. | a list of destination addresses for relayed messages. | |||
The list may include unicast addresses, multicast addresses | The list may include unicast addresses, multicast addresses | |||
or other valid addresses."; | or other valid addresses."; | |||
skipping to change at page 39, line 39 ¶ | skipping to change at page 39, line 50 ¶ | |||
*/ | */ | |||
rpc clear-prefix-entry { | rpc clear-prefix-entry { | |||
nacm:default-deny-all; | nacm:default-deny-all; | |||
description "Clears an entry for an active delegated prefix | description "Clears an entry for an active delegated prefix | |||
from the relay."; | from the relay."; | |||
input { | input { | |||
leaf lease-prefix { | leaf lease-prefix { | |||
type inet:ipv6-prefix; | type inet:ipv6-prefix; | |||
mandatory true; | mandatory true; | |||
description "IPv6 prefix of an active lease entry that will b | description "IPv6 prefix of an active lease entry that will | |||
e | be deleted from the relay."; | |||
deleted from the relay."; | ||||
} | } | |||
} | } | |||
output { | output { | |||
leaf return-message { | leaf return-message { | |||
type string; | type string; | |||
description "Response message from the relay."; | description "Response message from the relay."; | |||
} | } | |||
} | } | |||
} | } | |||
rpc clear-client-prefixes { | rpc clear-client-prefixes { | |||
nacm:default-deny-all; | nacm:default-deny-all; | |||
description "Clears all active prefix entries for a single client | description "Clears all active prefix entries for a single | |||
."; | client."; | |||
input { | input { | |||
leaf client-duid { | leaf client-duid { | |||
type binary; | type binary; | |||
mandatory true; | mandatory true; | |||
description "DUID of the client ."; | description "DUID of the client ."; | |||
} | } | |||
} | } | |||
output { | output { | |||
leaf return-message { | leaf return-message { | |||
type string; | type string; | |||
skipping to change at page 41, line 50 ¶ | skipping to change at page 42, line 5 ¶ | |||
lh.sunlinh@gmail.com | lh.sunlinh@gmail.com | |||
ian.farrer@telekom.de | ian.farrer@telekom.de | |||
sladjana.zechlin@telekom.de | sladjana.zechlin@telekom.de | |||
hezihao9512@gmail.com | hezihao9512@gmail.com | |||
godfryd@isc.org"; | godfryd@isc.org"; | |||
description | description | |||
"This YANG module defines components necessary for the | "This YANG module defines components necessary for the | |||
configuration and management of DHCPv6 clients. | configuration and management of DHCPv6 clients. | |||
Copyright (c) 2020 IETF Trust and the persons identified as | Copyright (c) 2021 IETF Trust and the persons identified as | |||
authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
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 8513; see | This version of this YANG module is part of RFC 8513; see | |||
the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
revision 2021-01-06 { | ||||
description "Version update for draft -16 publication."; | ||||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-16"; | ||||
} | ||||
revision 2020-12-22 { | revision 2020-12-22 { | |||
description "Version update for draft -13 publication."; | description "Version update for draft -13 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-15"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-15"; | |||
} | } | |||
revision 2020-12-10 { | revision 2020-12-10 { | |||
description "Version update for draft -13 publication."; | description "Version update for draft -13 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-13"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-13"; | |||
} | } | |||
skipping to change at page 51, line 33 ¶ | skipping to change at page 51, line 43 ¶ | |||
"cuiyong@tsinghua.edu.cn | "cuiyong@tsinghua.edu.cn | |||
wangh13@mails.tsinghua.edu.cn | wangh13@mails.tsinghua.edu.cn | |||
lh.sunlinh@gmail.com | lh.sunlinh@gmail.com | |||
ian.farrer@telekom.de | ian.farrer@telekom.de | |||
sladjana.zechlin@telekom.de | sladjana.zechlin@telekom.de | |||
hezihao9512@gmail.com"; | hezihao9512@gmail.com"; | |||
description "This YANG module contains DHCPv6 options defined | description "This YANG module contains DHCPv6 options defined | |||
in RFC8415 that can be used by DHCPv6 clients. | in RFC8415 that can be used by DHCPv6 clients. | |||
Copyright (c) 2020 IETF Trust and the persons identified as | Copyright (c) 2021 IETF Trust and the persons identified as | |||
authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
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 | This version of this YANG module is part of RFC XXXX | |||
(https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself | (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself | |||
for full legal notices. | for full legal notices. | |||
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | |||
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | |||
'MAY', and 'OPTIONAL' in this document are to be interpreted as | 'MAY', and 'OPTIONAL' in this document are to be interpreted as | |||
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | |||
they appear in all capitals, as shown here."; | they appear in all capitals, as shown here."; | |||
skipping to change at page 52, line 5 ¶ | skipping to change at page 52, line 14 ¶ | |||
This version of this YANG module is part of RFC XXXX | This version of this YANG module is part of RFC XXXX | |||
(https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself | (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself | |||
for full legal notices. | for full legal notices. | |||
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | |||
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | |||
'MAY', and 'OPTIONAL' in this document are to be interpreted as | 'MAY', and 'OPTIONAL' in this document are to be interpreted as | |||
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | |||
they appear in all capitals, as shown here."; | they appear in all capitals, as shown here."; | |||
revision 2021-01-06 { | ||||
description "Version update for draft -16 publication."; | ||||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-16"; | ||||
} | ||||
revision 2020-12-22 { | revision 2020-12-22 { | |||
description "Version update for draft -13 publication."; | description "Version update for draft -13 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-15"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-15"; | |||
} | } | |||
revision 2020-12-10 { | revision 2020-12-10 { | |||
description "Version update for draft -13 publication."; | description "Version update for draft -13 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-13"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-13"; | |||
} | } | |||
skipping to change at page 53, line 19 ¶ | skipping to change at page 53, line 35 ¶ | |||
/* | /* | |||
* Groupings | * Groupings | |||
*/ | */ | |||
grouping preference-option-group { | grouping preference-option-group { | |||
description "OPTION_PREFERENCE (7) Preference Option."; | description "OPTION_PREFERENCE (7) Preference Option."; | |||
reference "RFC8415: Dynamic Host Configuration Protocol for | reference "RFC8415: Dynamic Host Configuration Protocol for | |||
IPv6 (DHCPv6)"; | IPv6 (DHCPv6)"; | |||
container preference-option { | container preference-option { | |||
description "OPTION_PREFERENCE (7) Preference Option container." | description "OPTION_PREFERENCE (7) Preference Option | |||
; | container."; | |||
leaf pref-value { | leaf pref-value { | |||
type uint8; | type uint8; | |||
description "The preference value for the server in this | description "The preference value for the server in this | |||
message. A 1-octet unsigned integer."; | message. A 1-octet unsigned integer."; | |||
} | } | |||
} | } | |||
} | } | |||
grouping auth-option-group { | grouping auth-option-group { | |||
description "OPTION_AUTH (11) Authentication Option."; | description "OPTION_AUTH (11) Authentication Option."; | |||
skipping to change at page 55, line 27 ¶ | skipping to change at page 55, line 43 ¶ | |||
Information Option."; | Information Option."; | |||
reference "RFC8415: Dynamic Host Configuration Protocol | reference "RFC8415: Dynamic Host Configuration Protocol | |||
for IPv6 (DHCPv6)"; | for IPv6 (DHCPv6)"; | |||
container vendor-specific-information-option { | container vendor-specific-information-option { | |||
description "OPTION_VENDOR_OPTS (17) Vendor-specific | description "OPTION_VENDOR_OPTS (17) Vendor-specific | |||
Information Option container."; | Information Option container."; | |||
list vendor-specific-information-option-instances { | list vendor-specific-information-option-instances { | |||
key enterprise-number; | key enterprise-number; | |||
description "The vendor specific information option allows | description "The vendor specific information option allows | |||
for multiple instances in a single message. Each list entry | for multiple instances in a single message. Each list entry | |||
defines the contents of an instance of the option."; | defines the contents of an instance of the option."; | |||
leaf enterprise-number { | leaf enterprise-number { | |||
type uint32; | type uint32; | |||
description "The vendor's registered Enterprise Number, | description "The vendor's registered Enterprise Number, | |||
as maintained by IANA."; | as maintained by IANA."; | |||
} | } | |||
list vendor-option-data { | list vendor-option-data { | |||
key sub-option-code; | key sub-option-code; | |||
description "Vendor options, interpreted by vendor-specific | description "Vendor options, interpreted by vendor-specific | |||
client/server functions."; | client/server functions."; | |||
leaf sub-option-code { | leaf sub-option-code { | |||
type uint16; | type uint16; | |||
description "The code for the sub-option."; | description "The code for the sub-option."; | |||
} | } | |||
leaf sub-option-data { | leaf sub-option-data { | |||
skipping to change at page 56, line 13 ¶ | skipping to change at page 56, line 29 ¶ | |||
description "OPTION_RECONF_MSG (19) Reconfigure Message | description "OPTION_RECONF_MSG (19) Reconfigure Message | |||
Option."; | Option."; | |||
reference "RFC8415: Dynamic Host Configuration Protocol for | reference "RFC8415: Dynamic Host Configuration Protocol for | |||
IPv6 (DHCPv6)"; | IPv6 (DHCPv6)"; | |||
container reconfigure-message-option { | container reconfigure-message-option { | |||
description "OPTION_RECONF_MSG (19) Reconfigure Message | description "OPTION_RECONF_MSG (19) Reconfigure Message | |||
Option."; | Option."; | |||
leaf msg-type { | leaf msg-type { | |||
type uint8; | type uint8; | |||
description "5 for Renew message, 6 for Rebind message, | description "5 for Renew message, 6 for Rebind message, | |||
11 for Information-request message."; | 11 for Information-request message."; | |||
} | } | |||
} | } | |||
} | } | |||
grouping reconfigure-accept-option-group { | grouping reconfigure-accept-option-group { | |||
description "OPTION_RECONF_ACCEPT (20) Reconfigure Accept | description "OPTION_RECONF_ACCEPT (20) Reconfigure Accept | |||
Option. | Option. | |||
A client uses the Reconfigure Accept option to announce to | A client uses the Reconfigure Accept option to announce to | |||
the server whether the client is willing to accept | the server whether the client is willing to accept Reconfigure | |||
Reconfigure messages, and a server uses this option to tell | messages, and a server uses this option to tell the client | |||
the client whether or not to accept Reconfigure messages. | whether or not to accept Reconfigure messages. In the absence | |||
In the absence of this option, the default behavior is that | of this option, the default behavior is that the client is | |||
the client is unwilling to accept Reconfigure messages. | unwilling to accept Reconfigure messages. The presence node | |||
The presence node is used to enable the option."; | is used to enable the option."; | |||
reference "RFC8415: Dynamic Host Configuration Protocol | reference "RFC8415: Dynamic Host Configuration Protocol | |||
for IPv6 (DHCPv6)"; | for IPv6 (DHCPv6)"; | |||
container reconfigure-accept-option { | container reconfigure-accept-option { | |||
presence "Enable sending of this option"; | presence "Enable sending of this option"; | |||
description "OPTION_RECONF_ACCEPT (20) Reconfigure Accept | description "OPTION_RECONF_ACCEPT (20) Reconfigure Accept | |||
Option container."; | Option container."; | |||
} | } | |||
} | } | |||
grouping info-refresh-time-option-group { | grouping info-refresh-time-option-group { | |||
description "OPTION_INFORMATION_REFRESH_TIME (32) | description "OPTION_INFORMATION_REFRESH_TIME (32) | |||
Information Refresh Time option."; | Information Refresh Time option."; | |||
reference "RFC8415: Dynamic Host Configuration Protocol for | reference "RFC8415: Dynamic Host Configuration Protocol for | |||
IPv6 (DHCPv6)"; | IPv6 (DHCPv6)"; | |||
container info-refresh-time-option { | container info-refresh-time-option { | |||
description "OPTION_INFORMATION_REFRESH_TIME (32) | description "OPTION_INFORMATION_REFRESH_TIME (32) | |||
Information Refresh Time option container."; | Information Refresh Time option container."; | |||
leaf info-refresh-time { | leaf info-refresh-time { | |||
type dhcpv6-common:timer-seconds32; | type dhcpv6-common:timer-seconds32; | |||
skipping to change at page 57, line 4 ¶ | skipping to change at page 57, line 19 ¶ | |||
container info-refresh-time-option { | container info-refresh-time-option { | |||
description "OPTION_INFORMATION_REFRESH_TIME (32) | description "OPTION_INFORMATION_REFRESH_TIME (32) | |||
Information Refresh Time option container."; | Information Refresh Time option container."; | |||
leaf info-refresh-time { | leaf info-refresh-time { | |||
type dhcpv6-common:timer-seconds32; | type dhcpv6-common:timer-seconds32; | |||
description "Time duration relative to the current time, | description "Time duration relative to the current time, | |||
expressed in units of seconds."; | expressed in units of seconds."; | |||
} | } | |||
} | } | |||
} | } | |||
grouping sol-max-rt-option-group { | grouping sol-max-rt-option-group { | |||
description "OPTION_SOL_MAX_RT (82) sol max rt option."; | description "OPTION_SOL_MAX_RT (82) sol max rt option."; | |||
reference "RFC8415: Dynamic Host Configuration Protocol for | reference "RFC8415: Dynamic Host Configuration Protocol for | |||
IPv6 (DHCPv6)"; | IPv6 (DHCPv6)"; | |||
container sol-max-rt-option { | container sol-max-rt-option { | |||
description "OPTION_SOL_MAX_RT (82) sol max rt option container | description "OPTION_SOL_MAX_RT (82) sol max rt option | |||
."; | container."; | |||
leaf sol-max-rt-value { | leaf sol-max-rt-value { | |||
type dhcpv6-common:timer-seconds32; | type dhcpv6-common:timer-seconds32; | |||
description "sol max rt value"; | description "sol max rt value"; | |||
} | } | |||
} | } | |||
} | } | |||
grouping inf-max-rt-option-group { | grouping inf-max-rt-option-group { | |||
description "OPTION_INF_MAX_RT (83) inf max rt option."; | description "OPTION_INF_MAX_RT (83) inf max rt option."; | |||
reference "RFC8415: Dynamic Host Configuration Protocol for | reference "RFC8415: Dynamic Host Configuration Protocol for | |||
IPv6 (DHCPv6)"; | IPv6 (DHCPv6)"; | |||
container inf-max-rt-option { | container inf-max-rt-option { | |||
description "OPTION_INF_MAX_RT (83) inf max rt option container | description "OPTION_INF_MAX_RT (83) inf max rt option | |||
."; | container."; | |||
leaf inf-max-rt-value { | leaf inf-max-rt-value { | |||
type dhcpv6-common:timer-seconds32; | type dhcpv6-common:timer-seconds32; | |||
description "inf max rt value"; | description "inf max rt value"; | |||
} | } | |||
} | } | |||
} | } | |||
/* | /* | |||
* Augmentations | * Augmentations | |||
*/ | */ | |||
skipping to change at page 58, line 13 ¶ | skipping to change at page 58, line 30 ¶ | |||
uses sol-max-rt-option-group; | uses sol-max-rt-option-group; | |||
uses inf-max-rt-option-group; | uses inf-max-rt-option-group; | |||
} | } | |||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
3.5. RFC8415 Relay Options YANG Module | 3.5. RFC8415 Relay Options YANG Module | |||
This module imports typedefs from [RFC6991]. | This module imports typedefs from [RFC6991]. | |||
<CODE BEGINS> file "ietf-dhcpv6-options-rfc8415-server.yang" | <CODE BEGINS> file "ietf-dhcpv6-options-rfc8415-relay.yang" | |||
module ietf-dhcpv6-options-rfc8415-server { | module ietf-dhcpv6-options-rfc8415-relay { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:" + | namespace "urn:ietf:params:xml:ns:yang:" + | |||
"ietf-dhcpv6-options-rfc8415-server"; | "ietf-dhcpv6-options-rfc8415-relay"; | |||
prefix "rfc8415-srv"; | prefix "rfc8415-rly"; | |||
import ietf-inet-types { | ||||
prefix inet; | ||||
reference | ||||
"RFC 6991: Common YANG Data Types"; | ||||
} | ||||
import ietf-dhcpv6-common { | ||||
prefix dhcpv6-common; | ||||
reference | ||||
"To be updated on publication"; | ||||
} | ||||
import ietf-dhcpv6-server { | import ietf-dhcpv6-relay { | |||
prefix dhcpv6-server; | prefix dhcpv6-relay; | |||
reference | reference | |||
"To be updated on publication"; | "To be updated on publication"; | |||
} | } | |||
organization "DHC WG"; | organization "DHC WG"; | |||
contact | contact | |||
"cuiyong@tsinghua.edu.cn | "cuiyong@tsinghua.edu.cn | |||
wangh13@mails.tsinghua.edu.cn | wangh13@mails.tsinghua.edu.cn | |||
lh.sunlinh@gmail.com | lh.sunlinh@gmail.com | |||
ian.farrer@telekom.de | ian.farrer@telekom.de | |||
sladjana.zechlin@telekom.de | sladjana.zechlin@telekom.de | |||
hezihao9512@gmail.com"; | hezihao9512@gmail.com"; | |||
description "This YANG module contains DHCPv6 options defined | description "This YANG module contains DHCPv6 options defined | |||
in RFC8415 that can be used by DHCPv6 clients. | in RFC8415 that can be used by DHCPv6 clients. | |||
Copyright (c) 2020 IETF Trust and the persons identified as | Copyright (c) 2021 IETF Trust and the persons identified as | |||
authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
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 | This version of this YANG module is part of RFC XXXX | |||
(https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself | (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself | |||
for full legal notices. | for full legal notices. | |||
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | |||
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | |||
'MAY', and 'OPTIONAL' in this document are to be interpreted as | 'MAY', and 'OPTIONAL' in this document are to be interpreted as | |||
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | |||
they appear in all capitals, as shown here."; | they appear in all capitals, as shown here."; | |||
revision 2021-01-06 { | ||||
description "Version update for draft -16 publication."; | ||||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-16"; | ||||
} | ||||
revision 2020-12-22 { | revision 2020-12-22 { | |||
description "Version update for draft -13 publication."; | description "Version update for draft -13 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-15"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-15"; | |||
} | } | |||
revision 2020-12-10 { | revision 2020-12-10 { | |||
description "Version update for draft -13 publication."; | description "Version update for draft -13 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-13"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-13"; | |||
} | } | |||
revision 2020-12-01 { | revision 2020-12-01 { | |||
description "Version update for draft -12 publication."; | description "Version update for draft -12 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-12"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-12"; | |||
} | } | |||
revision 2020-11-19 { | revision 2020-11-19 { | |||
description "Separated into a client specific set of options."; | description "Separated into a relay specific set of options."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-12"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-12"; | |||
} | } | |||
revision 2020-05-26 { | revision 2020-05-26 { | |||
description "Version update for draft -11 publication and | description "Version update for draft -11 publication and | |||
to align revisions across the different modules."; | to align revisions across the different modules."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-11"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-11"; | |||
} | } | |||
revision 2019-06-07 { | revision 2019-06-07 { | |||
description "Major reworking to only contain RFC8415 options. | description "Major reworking to only contain RFC8415 options. | |||
if-feature for each option removed. Removed groupings | if-feature for each option removed. Removed groupings | |||
of features by device or combination of devices. Added "; | of features by device or combination of devices. Added "; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang"; | |||
} | } | |||
revision 2018-09-04 { | revision 2018-09-04 { | |||
description ""; | description ""; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang"; | |||
} | } | |||
revision 2018-03-04 { | revision 2018-03-04 { | |||
description "Resolved most issues on the DHC official | description "Resolved most issues on the DHC official | |||
skipping to change at page 60, line 34 ¶ | skipping to change at page 60, line 43 ¶ | |||
revision 2017-11-24 { | revision 2017-11-24 { | |||
description "First version of the separated DHCPv6 options | description "First version of the separated DHCPv6 options | |||
YANG model."; | YANG model."; | |||
reference "I-D:draft-ietf-dhc-dhcpv6-yang"; | reference "I-D:draft-ietf-dhc-dhcpv6-yang"; | |||
} | } | |||
/* | /* | |||
* Groupings | * Groupings | |||
*/ | */ | |||
grouping preference-option-group { | ||||
description "OPTION_PREFERENCE (7) Preference Option."; | ||||
reference "RFC8415: Dynamic Host Configuration Protocol for | ||||
IPv6 (DHCPv6)"; | ||||
container preference-option { | ||||
description "OPTION_PREFERENCE (7) Preference Option container." | ||||
; | ||||
leaf pref-value { | ||||
type uint8; | ||||
description "The preference value for the server in this | ||||
message. A 1-octet unsigned integer."; | ||||
} | ||||
} | ||||
} | ||||
grouping auth-option-group { | grouping auth-option-group { | |||
description "OPTION_AUTH (11) Authentication Option."; | description "OPTION_AUTH (11) Authentication Option."; | |||
reference "RFC8415: Dynamic Host Configuration Protocol | reference "RFC8415: Dynamic Host Configuration Protocol | |||
for IPv6 (DHCPv6)"; | for IPv6 (DHCPv6)"; | |||
container auth-option { | container auth-option { | |||
description "OPTION_AUTH (11) Authentication Option container."; | description "OPTION_AUTH (11) Authentication Option | |||
leaf protocol { | container."; | |||
leaf protocol { | ||||
type uint8; | type uint8; | |||
description "The authentication protocol used in this | description "The authentication protocol used in this | |||
Authentication option."; | Authentication option."; | |||
} | } | |||
leaf algorithm { | leaf algorithm { | |||
type uint8; | type uint8; | |||
description "The algorithm used in the authentication | description "The algorithm used in the authentication | |||
protocol."; | protocol."; | |||
} | } | |||
leaf rdm { | leaf rdm { | |||
skipping to change at page 61, line 35 ¶ | skipping to change at page 61, line 30 ¶ | |||
} | } | |||
leaf auth-information { | leaf auth-information { | |||
type string; | type string; | |||
description "The authentication information, as specified | description "The authentication information, as specified | |||
by the protocol and algorithm used in this Authentication | by the protocol and algorithm used in this Authentication | |||
option."; | option."; | |||
} | } | |||
} | } | |||
} | } | |||
grouping server-unicast-option-group { | ||||
description "OPTION_UNICAST (12) Server Unicast Option."; | ||||
reference "RFC8415: Dynamic Host Configuration Protocol for | ||||
IPv6 (DHCPv6)"; | ||||
container server-unicast-option { | ||||
description "OPTION_UNICAST (12) Server Unicast Option | ||||
container."; | ||||
leaf server-address { | ||||
type inet:ipv6-address; | ||||
description "The 128-bit address to which the client | ||||
should send messages delivered using unicast."; | ||||
} | ||||
} | ||||
} | ||||
grouping status-code-option-group { | grouping status-code-option-group { | |||
description "OPTION_STATUS_CODE (13) Status Code Option."; | description "OPTION_STATUS_CODE (13) Status Code Option."; | |||
reference "RFC8415: Dynamic Host Configuration Protocol | reference "RFC8415: Dynamic Host Configuration Protocol | |||
for IPv6 (DHCPv6)"; | for IPv6 (DHCPv6)"; | |||
container status-code-option { | container status-code-option { | |||
description "OPTION_STATUS_CODE (13) Status Code Option | description "OPTION_STATUS_CODE (13) Status Code Option | |||
container."; | container."; | |||
leaf status-code { | leaf status-code { | |||
type uint16; | type uint16; | |||
description "The numeric code for the status encoded | description "The numeric code for the status encoded | |||
skipping to change at page 62, line 23 ¶ | skipping to change at page 62, line 4 ¶ | |||
<https://www.iana.org/assignments/dhcpv6-parameters> | <https://www.iana.org/assignments/dhcpv6-parameters> | |||
for the current list of status codes."; | for the current list of status codes."; | |||
} | } | |||
leaf status-message { | leaf status-message { | |||
type string; | type string; | |||
description "A UTF-8 encoded text string suitable for | description "A UTF-8 encoded text string suitable for | |||
display to an end user. MUST NOT be null-terminated."; | display to an end user. MUST NOT be null-terminated."; | |||
} | } | |||
} | } | |||
} | } | |||
grouping interface-id-option-group { | ||||
grouping rapid-commit-option-group { | description "OPTION_INTERFACE_ID (18) Interface-Id Option."; | |||
description "OPTION_RAPID_COMMIT (14) Rapid Commit Option."; | ||||
reference "RFC8415: Dynamic Host Configuration Protocol for | reference "RFC8415: Dynamic Host Configuration Protocol for | |||
IPv6 (DHCPv6)"; | IPv6 (DHCPv6)"; | |||
container rapid-commit-option { | container interface-id-option { | |||
presence "Enable sending of this option"; | description "OPTION_INTERFACE_ID (18) Interface-Id Option | |||
description "OPTION_RAPID_COMMIT (14) Rapid Commit Option | ||||
container."; | container."; | |||
} | leaf interface-id { | |||
} | type string; | |||
description "An opaque value of arbitrary length generated | ||||
grouping vendor-specific-information-option-group { | by the relay agent to identify one of the relay agent's | |||
description "OPTION_VENDOR_OPTS (17) Vendor-specific | interfaces."; | |||
Information Option."; | ||||
reference "RFC8415: Dynamic Host Configuration Protocol | ||||
for IPv6 (DHCPv6)"; | ||||
container vendor-specific-information-option { | ||||
description "OPTION_VENDOR_OPTS (17) Vendor-specific | ||||
Information Option container."; | ||||
list vendor-specific-information-option-instances { | ||||
key enterprise-number; | ||||
description "The vendor specific information option allows | ||||
for multiple instances in a single message. Each list entry | ||||
defines the contents of an instance of the option."; | ||||
leaf enterprise-number { | ||||
type uint32; | ||||
description "The vendor's registered Enterprise Number, | ||||
as maintained by IANA."; | ||||
} | ||||
list vendor-option-data { | ||||
key sub-option-code; | ||||
description "Vendor options, interpreted by vendor-specific | ||||
client/server functions."; | ||||
leaf sub-option-code { | ||||
type uint16; | ||||
description "The code for the sub-option."; | ||||
} | ||||
leaf sub-option-data { | ||||
type string; | ||||
description "The data area for the sub-option."; | ||||
} | ||||
} | ||||
} | ||||
} | ||||
} | ||||
grouping reconfigure-message-option-group { | ||||
description "OPTION_RECONF_MSG (19) Reconfigure Message | ||||
Option."; | ||||
reference "RFC8415: Dynamic Host Configuration Protocol for | ||||
IPv6 (DHCPv6)"; | ||||
container reconfigure-message-option { | ||||
description "OPTION_RECONF_MSG (19) Reconfigure Message | ||||
Option."; | ||||
leaf msg-type { | ||||
type uint8; | ||||
description "5 for Renew message, 6 for Rebind message, | ||||
11 for Information-request message."; | ||||
} | ||||
} | ||||
} | ||||
grouping reconfigure-accept-option-group { | ||||
description "OPTION_RECONF_ACCEPT (20) Reconfigure Accept | ||||
Option. | ||||
A client uses the Reconfigure Accept option to announce to | ||||
the server whether the client is willing to accept | ||||
Reconfigure messages, and a server uses this option to tell | ||||
the client whether or not to accept Reconfigure messages. | ||||
In the absence of this option, the default behavior is that | ||||
the client is unwilling to accept Reconfigure messages. | ||||
The presence node is used to enable the option."; | ||||
reference "RFC8415: Dynamic Host Configuration Protocol | ||||
for IPv6 (DHCPv6)"; | ||||
container reconfigure-accept-option { | ||||
presence "Enable sending of this option"; | ||||
description "OPTION_RECONF_ACCEPT (20) Reconfigure Accept | ||||
Option container."; | ||||
} | ||||
} | ||||
grouping info-refresh-time-option-group { | ||||
description "OPTION_INFORMATION_REFRESH_TIME (32) | ||||
Information Refresh Time option."; | ||||
reference "RFC8415: Dynamic Host Configuration Protocol for | ||||
IPv6 (DHCPv6)"; | ||||
container info-refresh-time-option { | ||||
description "OPTION_INFORMATION_REFRESH_TIME (32) | ||||
Information Refresh Time option container."; | ||||
leaf info-refresh-time { | ||||
type dhcpv6-common:timer-seconds32; | ||||
description "Time duration relative to the current time, | ||||
expressed in units of seconds."; | ||||
} | ||||
} | ||||
} | ||||
grouping sol-max-rt-option-group { | ||||
description "OPTION_SOL_MAX_RT (82) sol max rt option."; | ||||
reference "RFC8415: Dynamic Host Configuration Protocol for | ||||
IPv6 (DHCPv6)"; | ||||
container sol-max-rt-option { | ||||
description "OPTION_SOL_MAX_RT (82) sol max rt option container | ||||
."; | ||||
leaf sol-max-rt-value { | ||||
type dhcpv6-common:timer-seconds32; | ||||
description "sol max rt value"; | ||||
} | } | |||
} | } | |||
} | } | |||
grouping inf-max-rt-option-group { | ||||
description "OPTION_INF_MAX_RT (83) inf max rt option."; | ||||
reference "RFC8415: Dynamic Host Configuration Protocol for | ||||
IPv6 (DHCPv6)"; | ||||
container inf-max-rt-option { | ||||
description "OPTION_INF_MAX_RT (83) inf max rt option container | ||||
."; | ||||
leaf inf-max-rt-value { | ||||
type dhcpv6-common:timer-seconds32; | ||||
description "inf max rt value"; | ||||
} | ||||
} | ||||
} | ||||
/* | /* | |||
* Augmentations | * Augmentations | |||
*/ | */ | |||
augment "/dhcpv6-server:dhcpv6-server/dhcpv6-server:option-sets/" + | augment "/dhcpv6-relay:dhcpv6-relay/dhcpv6-relay:relay-if/" + | |||
"dhcpv6-server:option-set" { | "dhcpv6-relay:relay-options" { | |||
when "../../../dhcpv6-server:dhcpv6-node-type=" + | when "../../../dhcpv6-relay:dhcpv6-node-type=" + | |||
"'dhcpv6-server:server'"; | "'dhcpv6-relay:relay'"; | |||
description "Augment the option definition groupings to the | description "Augment the option definition groupings to the | |||
relay module."; | relay module."; | |||
uses preference-option-group; | ||||
uses auth-option-group; | uses auth-option-group; | |||
uses server-unicast-option-group; | ||||
uses status-code-option-group; | uses status-code-option-group; | |||
uses rapid-commit-option-group; | uses interface-id-option-group; | |||
uses vendor-specific-information-option-group; | ||||
uses reconfigure-message-option-group; | ||||
uses reconfigure-accept-option-group; | ||||
uses info-refresh-time-option-group; | ||||
uses sol-max-rt-option-group; | ||||
uses inf-max-rt-option-group; | ||||
} | } | |||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
3.6. RFC8415 Client Options YANG Module | 3.6. RFC8415 Client Options YANG Module | |||
This module imports typedefs from [RFC6991]. | This module imports typedefs from [RFC6991]. | |||
<CODE BEGINS> file "ietf-dhcpv6-options-rfc8415-client.yang" | <CODE BEGINS> file "ietf-dhcpv6-options-rfc8415-client.yang" | |||
skipping to change at page 66, line 11 ¶ | skipping to change at page 63, line 19 ¶ | |||
"cuiyong@tsinghua.edu.cn | "cuiyong@tsinghua.edu.cn | |||
wangh13@mails.tsinghua.edu.cn | wangh13@mails.tsinghua.edu.cn | |||
lh.sunlinh@gmail.com | lh.sunlinh@gmail.com | |||
ian.farrer@telekom.de | ian.farrer@telekom.de | |||
sladjana.zechlin@telekom.de | sladjana.zechlin@telekom.de | |||
hezihao9512@gmail.com"; | hezihao9512@gmail.com"; | |||
description "This YANG module contains DHCPv6 options defined | description "This YANG module contains DHCPv6 options defined | |||
in RFC8415 that can be used by DHCPv6 clients. | in RFC8415 that can be used by DHCPv6 clients. | |||
Copyright (c) 2020 IETF Trust and the persons identified as | Copyright (c) 2021 IETF Trust and the persons identified as | |||
authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
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 | This version of this YANG module is part of RFC XXXX | |||
(https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself | (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself | |||
for full legal notices. | for full legal notices. | |||
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | |||
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | |||
'MAY', and 'OPTIONAL' in this document are to be interpreted as | 'MAY', and 'OPTIONAL' in this document are to be interpreted as | |||
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | |||
they appear in all capitals, as shown here."; | they appear in all capitals, as shown here."; | |||
revision 2021-01-06 { | ||||
description "Version update for draft -16 publication."; | ||||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-16"; | ||||
} | ||||
revision 2020-12-22 { | revision 2020-12-22 { | |||
description "Version update for draft -13 publication."; | description "Version update for draft -13 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-15"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-15"; | |||
} | } | |||
revision 2020-12-10 { | revision 2020-12-10 { | |||
description "Version update for draft -13 publication."; | description "Version update for draft -13 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-13"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-13"; | |||
} | } | |||
revision 2020-12-01 { | revision 2020-12-01 { | |||
description "Version update for draft -12 publication."; | description "Version update for draft -12 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-12"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-12"; | |||
} | } | |||
revision 2020-11-19 { | revision 2020-11-19 { | |||
description "Separated into a client specific set of options."; | description "Separated into a client specific set of options."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-12"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-12"; | |||
skipping to change at page 72, line 18 ¶ | skipping to change at page 69, line 33 ¶ | |||
contact | contact | |||
"yong@csnet1.cs.tsinghua.edu.cn | "yong@csnet1.cs.tsinghua.edu.cn | |||
lh.sunlinh@gmail.com | lh.sunlinh@gmail.com | |||
ian.farrer@telekom.de | ian.farrer@telekom.de | |||
sladjana.zechlin@telekom.de | sladjana.zechlin@telekom.de | |||
hezihao9512@gmail.com"; | hezihao9512@gmail.com"; | |||
description "This YANG module defines common components | description "This YANG module defines common components | |||
used for the configuration and management of DHCPv6. | used for the configuration and management of DHCPv6. | |||
Copyright (c) 2020 IETF Trust and the persons identified as | Copyright (c) 2021 IETF Trust and the persons identified as | |||
authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
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 8513; see | This version of this YANG module is part of RFC 8513; see | |||
the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
revision 2021-01-06 { | ||||
description "Version update for draft -16 publication."; | ||||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-16"; | ||||
} | ||||
revision 2020-12-22 { | revision 2020-12-22 { | |||
description "Version update for draft -13 publication."; | description "Version update for draft -13 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-15"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-15"; | |||
} | } | |||
revision 2020-12-10 { | revision 2020-12-10 { | |||
description "Version update for draft -13 publication."; | description "Version update for draft -13 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-13"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-13"; | |||
} | } | |||
skipping to change at page 77, line 17 ¶ | skipping to change at page 74, line 37 ¶ | |||
Security considerations related to DHCPv6 are discussed in [RFC8415]. | Security considerations related to DHCPv6 are discussed in [RFC8415]. | |||
Security considerations given in [RFC7950] are also applicable here. | Security considerations given in [RFC7950] are also applicable here. | |||
5. IANA Considerations | 5. IANA Considerations | |||
This document registers the following YANG modules in the "YANG | This document registers the following YANG modules in the "YANG | |||
Module Names" registry [RFC6020]. | Module Names" registry [RFC6020]. | |||
name: ietf-dhcpv6 | name: ietf-dhcpv6-common | |||
namespace: urn:ietf:params:xml:ns:yang:ietf-dhcpv6-common | namespace: urn:ietf:params:xml:ns:yang:ietf-dhcpv6-common | |||
prefix: dhcpv6 | prefix: dhcpv6-common | |||
reference: TBD | reference: RFC XXXX YANG Data Model for DHCPv6 Configuration | |||
name: ietf-dhcpv6 | name: ietf-dhcpv6-server | |||
namespace: urn:ietf:params:xml:ns:yang:ietf-dhcpv6-server | namespace: urn:ietf:params:xml:ns:yang:ietf-dhcpv6-server | |||
prefix: dhcpv6 | prefix: dhcpv6-server | |||
reference: TBD | reference: RFC XXXX YANG Data Model for DHCPv6 Configuration | |||
name: ietf-dhcpv6 | name: ietf-dhcpv6-client | |||
namespace: urn:ietf:params:xml:ns:yang:ietf-dhcpv6-client | namespace: urn:ietf:params:xml:ns:yang:ietf-dhcpv6-client | |||
prefix: dhcpv6 | prefix: dhcpv6-client | |||
reference: TBD | reference: RFC XXXX YANG Data Model for DHCPv6 Configuration | |||
name: ietf-dhcpv6 | name: ietf-dhcpv6-relay | |||
namespace: urn:ietf:params:xml:ns:yang:ietf-dhcpv6-relay | namespace: urn:ietf:params:xml:ns:yang:ietf-dhcpv6-relay | |||
prefix: dhcpv6 | prefix: dhcpv6-relay | |||
reference: TBD | reference: RFC XXXX YANG Data Model for DHCPv6 Configuration | |||
name: ietf-dhcpv6 | name: ietf-dhcpv6-options-rfc8415-server | |||
namespace: | namespace: | |||
urn:ietf:params:xml:ns:yang:ietf-dhcpv6-options- | urn:ietf:params:xml:ns:yang:ietf-dhcpv6-options- | |||
rfc8415-server | rfc8415-server | |||
prefix: dhcpv6 | prefix: rfc8415-srv | |||
reference: TBD | reference: RFC XXXX YANG Data Model for DHCPv6 Configuration | |||
name: ietf-dhcpv6 | name: ietf-dhcpv6-options-rfc8415-relay | |||
namespace: | namespace: | |||
urn:ietf:params:xml:ns:yang:ietf-dhcpv6-options- | urn:ietf:params:xml:ns:yang:ietf-dhcpv6-options- | |||
rfc8415-relay | rfc8415-relay | |||
prefix: dhcpv6 | prefix: rfc8415-rly | |||
reference: TBD | reference: RFC XXXX YANG Data Model for DHCPv6 Configuration | |||
name: ietf-dhcpv6 | name: ietf-dhcpv6-options-rfc8415-client | |||
namespace: | namespace: | |||
urn:ietf:params:xml:ns:yang:ietf-dhcpv6-options- | urn:ietf:params:xml:ns:yang:ietf-dhcpv6-options- | |||
rfc8415-client | rfc8415-client | |||
prefix: dhcpv6 | prefix: rfc8415-rly | |||
reference: TBD | reference: RFC XXXX YANG Data Model for DHCPv6 Configuration | |||
6. Acknowledgments | 6. Acknowledgments | |||
The authors would like to thank Qi Sun, Lishan Li, Sladjana Zoric, | The authors would like to thank Qi Sun, Lishan Li, Sladjana Zoric, | |||
Tomek Mrugalski, Marcin Siodelski, and Bing Liu for their valuable | Tomek Mrugalski, Marcin Siodelski, and Bing Liu for their valuable | |||
comments and contributions to this work. | comments and contributions to this work. | |||
7. Contributors | 7. Contributors | |||
The following individuals contributed to this effort: | The following individuals contributed to this effort: | |||
skipping to change at page 81, line 38 ¶ | skipping to change at page 79, line 29 ¶ | |||
} | } | |||
organization "DHC WG"; | organization "DHC WG"; | |||
contact | contact | |||
"ian.farrer@telekom.de | "ian.farrer@telekom.de | |||
godfryd@isc.org"; | godfryd@isc.org"; | |||
description "This YANG module contains DHCPv6 options defined | description "This YANG module contains DHCPv6 options defined | |||
in RFC3319 that can be used by DHCPv6 servers. | in RFC3319 that can be used by DHCPv6 servers. | |||
Copyright (c) 2020 IETF Trust and the persons identified as | Copyright (c) 2021 IETF Trust and the persons identified as | |||
authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
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 8513; see | This version of this YANG module is part of RFC 8513; see | |||
the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
revision 2021-01-06 { | ||||
description "Version update for draft -16 publication."; | ||||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-16"; | ||||
} | ||||
revision 2020-12-22 { | revision 2020-12-22 { | |||
description "Version update for draft -13 publication."; | description "Version update for draft -13 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-15"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-15"; | |||
} | } | |||
revision 2020-12-10 { | revision 2020-12-10 { | |||
description "Version update for draft -13 publication."; | description "Version update for draft -13 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-13"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-13"; | |||
} | } | |||
skipping to change at page 82, line 39 ¶ | skipping to change at page 80, line 35 ¶ | |||
* Groupings | * Groupings | |||
*/ | */ | |||
grouping sip-server-domain-name-list-option-group { | grouping sip-server-domain-name-list-option-group { | |||
description "OPTION_SIP_SERVER_D (21) SIP Servers Domain Name | description "OPTION_SIP_SERVER_D (21) SIP Servers Domain Name | |||
List"; | List"; | |||
reference "RFC3319: Dynamic Host Configuration Protocol | reference "RFC3319: Dynamic Host Configuration Protocol | |||
(DHCPv6) Options for Session Initiation Protocol (SIP) | (DHCPv6) Options for Session Initiation Protocol (SIP) | |||
Servers"; | Servers"; | |||
container sip-server-domain-name-list-option { | container sip-server-domain-name-list-option { | |||
description "OPTION_SIP_SERVER_D (21) SIP Servers Domain Name Li | description "OPTION_SIP_SERVER_D (21) SIP Servers Domain Name | |||
st | List container."; | |||
container."; | ||||
list sip-server { | list sip-server { | |||
key sip-serv-id; | key sip-serv-id; | |||
description "sip server info"; | description "sip server info"; | |||
leaf sip-serv-id { | leaf sip-serv-id { | |||
type uint8; | type uint8; | |||
description "sip server id"; | description "sip server id"; | |||
} | } | |||
leaf sip-serv-domain-name { | leaf sip-serv-domain-name { | |||
type inet:domain-name; | type inet:domain-name; | |||
description "sip server domain name"; | description "sip server domain name"; | |||
skipping to change at page 83, line 43 ¶ | skipping to change at page 81, line 37 ¶ | |||
/* | /* | |||
* Augmentations | * Augmentations | |||
*/ | */ | |||
augment "/dhcpv6-server:dhcpv6-server/dhcpv6-server:option-sets/" + | augment "/dhcpv6-server:dhcpv6-server/dhcpv6-server:option-sets/" + | |||
"dhcpv6-server:option-set" { | "dhcpv6-server:option-set" { | |||
when "../../../dhcpv6-server:dhcpv6-node-type=" + | when "../../../dhcpv6-server:dhcpv6-node-type=" + | |||
"'dhcpv6-server:server'"; | "'dhcpv6-server:server'"; | |||
description "Augment the option definition groupings to the serve | description "Augment the option definition groupings to the | |||
r | server module."; | |||
module."; | ||||
uses sip-server-domain-name-list-option-group; | uses sip-server-domain-name-list-option-group; | |||
uses sip-server-address-list-option-group; | uses sip-server-address-list-option-group; | |||
} | } | |||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
The correct location to augment the new option definition(s) will | The correct location to augment the new option definition(s) will | |||
vary according to the specific rules defined for the use of that | vary according to the specific rules defined for the use of that | |||
specific option. E.g. for options which will be augmented into the | specific option. E.g. for options which will be augmented into the | |||
ietf-dhcpv6-server module, in many cases, these will be augmented to: | ietf-dhcpv6-server module, in many cases, these will be augmented to: | |||
'/dhcpv6-server:dhcpv6-server/dhcpv6-server:option-sets/\ dhcpv6- | '/dhcpv6-server:dhcpv6-server/dhcpv6-server:option-sets/\ dhcpv6- | |||
server:option-set' | server:option-set' | |||
so that they can be defined within option sets. However, there are | so that they can be defined within option sets. However, there are | |||
some options which are only applicable for specific deployment | some options which are only applicable for specific deployment | |||
scenarios and in these cases it may be more logical to augment the | scenarios and in these cases it may be more logical to augment the | |||
option group to a location relevant for the option. | option group to a location relevant for the option. | |||
One example for this could be OPTION_PD_EXCLUDE (67). This option is | One example for this could be OPTION_PD_EXCLUDE (67). This option is | |||
only relevant in combination with a delegated prefix which contains a | only relevant in combination with a delegated prefix which contains a | |||
specific prefix. In this case, the following location for the | specific prefix. In this case, the following location for the | |||
augmentation may be more suitable: | augmentation may be more suitable: | |||
skipping to change at page 85, line 29 ¶ | skipping to change at page 83, line 21 ¶ | |||
ian.farrer@telekom.de | ian.farrer@telekom.de | |||
sladjana.zechlin@telekom.de | sladjana.zechlin@telekom.de | |||
hezihao9512@gmail.com"; | hezihao9512@gmail.com"; | |||
description "This YANG module defines components for the | description "This YANG module defines components for the | |||
configuration and management of vendor/implementation specific | configuration and management of vendor/implementation specific | |||
DHCPv6 server functionality. As this functionality varies | DHCPv6 server functionality. As this functionality varies | |||
greatly between different implementations, the module | greatly between different implementations, the module | |||
provided as an example only. | provided as an example only. | |||
Copyright (c) 2020 IETF Trust and the persons identified as | Copyright (c) 2021 IETF Trust and the persons identified as | |||
authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
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 8513; see | This version of this YANG module is part of RFC 8513; see | |||
the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
revision 2021-01-06 { | ||||
description "Version update for draft -16 publication."; | ||||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-16"; | ||||
} | ||||
revision 2020-12-22 { | revision 2020-12-22 { | |||
description "Version update for draft -13 publication."; | description "Version update for draft -13 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-15"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-15"; | |||
} | } | |||
revision 2020-12-10 { | revision 2020-12-10 { | |||
description "Version update for draft -13 publication."; | description "Version update for draft -13 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-13"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-13"; | |||
} | } | |||
skipping to change at page 91, line 51 ¶ | skipping to change at page 89, line 47 ¶ | |||
ian.farrer@telekom.de | ian.farrer@telekom.de | |||
sladjana.zechlin@telekom.de | sladjana.zechlin@telekom.de | |||
hezihao9512@gmail.com"; | hezihao9512@gmail.com"; | |||
description "This YANG module defines components for the definition | description "This YANG module defines components for the definition | |||
and configuration of the client class selector function for a | and configuration of the client class selector function for a | |||
DHCPv6 server. As this functionality varies greatly between | DHCPv6 server. As this functionality varies greatly between | |||
different implementations, the module provided as an example | different implementations, the module provided as an example | |||
only. | only. | |||
Copyright (c) 2020 IETF Trust and the persons identified as | Copyright (c) 2021 IETF Trust and the persons identified as | |||
authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
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 8513; see | This version of this YANG module is part of RFC 8513; see | |||
the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
revision 2021-01-06 { | ||||
description "Version update for draft -16 publication."; | ||||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-16"; | ||||
} | ||||
revision 2020-12-22 { | revision 2020-12-22 { | |||
description "Version update for draft -13 publication."; | description "Version update for draft -13 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-15"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-15"; | |||
} | } | |||
revision 2020-12-10 { | revision 2020-12-10 { | |||
description "Version update for draft -13 publication."; | description "Version update for draft -13 publication."; | |||
reference "I-D: draft-ietf-dhc-dhcpv6-yang-13"; | reference "I-D: draft-ietf-dhc-dhcpv6-yang-13"; | |||
} | } | |||
skipping to change at page 95, line 51 ¶ | skipping to change at page 94, line 4 ¶ | |||
description "Remote-ID data to match."; | description "Remote-ID data to match."; | |||
} | } | |||
} | } | |||
} | } | |||
case client-duid-id { | case client-duid-id { | |||
description "Client class selection based on the value | description "Client class selection based on the value | |||
of the received client DUID."; | of the received client DUID."; | |||
uses dhcpv6-common:duid; | uses dhcpv6-common:duid; | |||
} | } | |||
} | } | |||
} | } | |||
/* | /* | |||
* Augmentations | * Augmentations | |||
*/ | */ | |||
augment "/dhcpv6-server:dhcpv6-server/dhcpv6-server:class-selector" | augment "/dhcpv6-server:dhcpv6-server/dhcpv6-server:class-selector" | |||
{ | { | |||
description "Augment class selector functions to the DHCPv6 serve | description "Augment class selector functions to the DHCPv6 | |||
r | server module."; | |||
module."; | ||||
container client-classes { | container client-classes { | |||
description "Client classes to augment."; | description "Client classes to augment."; | |||
list class { | list class { | |||
key client-class-name; | key client-class-name; | |||
description "List of the client class identifiers applicable | description "List of the client class identifiers applicable | |||
to clients served by this address pool"; | to clients served by this address pool"; | |||
uses dhcpv6-class-selector:client-class-id; | uses dhcpv6-class-selector:client-class-id; | |||
} | } | |||
} | } | |||
} | } | |||
augment "/dhcpv6-server:dhcpv6-server/" + | augment "/dhcpv6-server:dhcpv6-server/" + | |||
"dhcpv6-server:network-ranges/dhcpv6-server:network-range" { | "dhcpv6-server:network-ranges/dhcpv6-server:network-range" { | |||
description "Augment class selector functions to the DHCPv6 serve | description "Augment class selector functions to the DHCPv6 | |||
r | server network-ranges."; | |||
network-ranges."; | ||||
leaf-list client-class { | leaf-list client-class { | |||
type leafref { | type leafref { | |||
path "/dhcpv6-server:dhcpv6-server/dhcpv6-server:" + | path "/dhcpv6-server:dhcpv6-server/dhcpv6-server:" + | |||
"class-selector/client-classes/class/client-class-name"; | "class-selector/client-classes/class/client-class-name"; | |||
} | } | |||
description "Leafrefs to client classes."; | description "Leafrefs to client classes."; | |||
} | } | |||
} | } | |||
augment "/dhcpv6-server:dhcpv6-server/dhcpv6-server:" + | augment "/dhcpv6-server:dhcpv6-server/dhcpv6-server:" + | |||
"network-ranges/dhcpv6-server:network-range/dhcpv6-server:" + | "network-ranges/dhcpv6-server:network-range/dhcpv6-server:" + | |||
"address-pools/dhcpv6-server:address-pool" { | "address-pools/dhcpv6-server:address-pool" { | |||
description "Augment class selector functions to the DHCPv6 serve | description "Augment class selector functions to the DHCPv6 | |||
r | server address-pools."; | |||
address-pools."; | ||||
leaf-list client-class { | leaf-list client-class { | |||
type leafref { | type leafref { | |||
path "/dhcpv6-server:dhcpv6-server/dhcpv6-server:" + | path "/dhcpv6-server:dhcpv6-server/dhcpv6-server:" + | |||
"class-selector/client-classes/class/client-class-name"; | "class-selector/client-classes/class/client-class-name"; | |||
} | } | |||
description "Leafrefs to client classes."; | description "Leafrefs to client classes."; | |||
} | } | |||
} | } | |||
augment "/dhcpv6-server:dhcpv6-server/dhcpv6-server:" + | augment "/dhcpv6-server:dhcpv6-server/dhcpv6-server:" + | |||
"network-ranges/dhcpv6-server:network-range/dhcpv6-server:" + | "network-ranges/dhcpv6-server:network-range/dhcpv6-server:" + | |||
"prefix-pools/dhcpv6-server:prefix-pool" { | "prefix-pools/dhcpv6-server:prefix-pool" { | |||
description "Augment class selector functions to the DHCPv6 serve | description "Augment class selector functions to the DHCPv6 | |||
r | server prefix-pools."; | |||
prefix-pools."; | ||||
leaf-list client-class { | leaf-list client-class { | |||
type leafref { | type leafref { | |||
path "/dhcpv6-server:dhcpv6-server/dhcpv6-server:" + | path "/dhcpv6-server:dhcpv6-server/dhcpv6-server:" + | |||
"class-selector/client-classes/class/client-class-name"; | "class-selector/client-classes/class/client-class-name"; | |||
} | } | |||
description "Leafrefs to client classes."; | description "Leafrefs to client classes."; | |||
} | } | |||
} | } | |||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
End of changes. 89 change blocks. | ||||
282 lines changed or deleted | 168 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |