draft-ietf-netconf-netconf-client-server-15.txt | draft-ietf-netconf-netconf-client-server-16.txt | |||
---|---|---|---|---|
NETCONF Working Group K. Watsen | NETCONF Working Group K. Watsen | |||
Internet-Draft Watsen Networks | Internet-Draft Watsen Networks | |||
Intended status: Standards Track October 18, 2019 | Intended status: Standards Track November 1, 2019 | |||
Expires: April 20, 2020 | Expires: May 4, 2020 | |||
NETCONF Client and Server Models | NETCONF Client and Server Models | |||
draft-ietf-netconf-netconf-client-server-15 | draft-ietf-netconf-netconf-client-server-16 | |||
Abstract | Abstract | |||
This document defines two YANG modules, one module to configure a | This document defines two YANG modules, one module to configure a | |||
NETCONF client and the other module to configure a NETCONF server. | NETCONF client and the other module to configure a NETCONF server. | |||
Both modules support both the SSH and TLS transport protocols, and | Both modules support both the SSH and TLS transport protocols, and | |||
support both standard NETCONF and NETCONF Call Home connections. | support both standard NETCONF and NETCONF Call Home connections. | |||
Editorial Note (To be removed by RFC Editor) | Editorial Note (To be removed by RFC Editor) | |||
skipping to change at page 2, line 11 ¶ | skipping to change at page 2, line 11 ¶ | |||
o "YYYY" --> the assigned RFC value for I-D.ietf-netconf-ssh-client- | o "YYYY" --> the assigned RFC value for I-D.ietf-netconf-ssh-client- | |||
server | server | |||
o "ZZZZ" --> the assigned RFC value for I-D.ietf-netconf-tls-client- | o "ZZZZ" --> the assigned RFC value for I-D.ietf-netconf-tls-client- | |||
server | server | |||
Artwork in this document contains placeholder values for the date of | Artwork in this document contains placeholder values for the date of | |||
publication of this draft. Please apply the following replacement: | publication of this draft. Please apply the following replacement: | |||
o "2019-10-18" --> the publication date of this draft | o "2019-11-02" --> the publication date of this draft | |||
The following Appendix section is to be removed prior to publication: | The following Appendix section is to be removed prior to publication: | |||
o Appendix B. Change Log | o Appendix B. Change Log | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
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 April 20, 2020. | This Internet-Draft will expire on May 4, 2020. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 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 | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://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 3, line 20 ¶ | skipping to change at page 3, line 20 ¶ | |||
3.1. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 4 | 3.1. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 4 | |||
3.2. Example Usage . . . . . . . . . . . . . . . . . . . . . . 6 | 3.2. Example Usage . . . . . . . . . . . . . . . . . . . . . . 6 | |||
3.3. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 9 | 3.3. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
4. The NETCONF Server Model . . . . . . . . . . . . . . . . . . 20 | 4. The NETCONF Server Model . . . . . . . . . . . . . . . . . . 20 | |||
4.1. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 20 | 4.1. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 20 | |||
4.2. Example Usage . . . . . . . . . . . . . . . . . . . . . . 22 | 4.2. Example Usage . . . . . . . . . . . . . . . . . . . . . . 22 | |||
4.3. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 28 | 4.3. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 28 | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 40 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 40 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 41 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 41 | |||
6.1. The IETF XML Registry . . . . . . . . . . . . . . . . . . 41 | 6.1. The IETF XML Registry . . . . . . . . . . . . . . . . . . 41 | |||
6.2. The YANG Module Names Registry . . . . . . . . . . . . . 42 | 6.2. The YANG Module Names Registry . . . . . . . . . . . . . 41 | |||
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 42 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 42 | |||
7.1. Normative References . . . . . . . . . . . . . . . . . . 42 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 42 | |||
7.2. Informative References . . . . . . . . . . . . . . . . . 43 | 7.2. Informative References . . . . . . . . . . . . . . . . . 43 | |||
Appendix A. Expanded Tree Diagrams . . . . . . . . . . . . . . . 45 | Appendix A. Expanded Tree Diagrams . . . . . . . . . . . . . . . 45 | |||
A.1. Expanded Tree Diagram for 'ietf-netconf-client' . . . . . 45 | A.1. Expanded Tree Diagram for 'ietf-netconf-client' . . . . . 45 | |||
A.2. Expanded Tree Diagram for 'ietf-netconf-server' . . . . . 60 | A.2. Expanded Tree Diagram for 'ietf-netconf-server' . . . . . 60 | |||
Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 79 | Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 78 | |||
B.1. 00 to 01 . . . . . . . . . . . . . . . . . . . . . . . . 79 | B.1. 00 to 01 . . . . . . . . . . . . . . . . . . . . . . . . 78 | |||
B.2. 01 to 02 . . . . . . . . . . . . . . . . . . . . . . . . 79 | B.2. 01 to 02 . . . . . . . . . . . . . . . . . . . . . . . . 79 | |||
B.3. 02 to 03 . . . . . . . . . . . . . . . . . . . . . . . . 79 | B.3. 02 to 03 . . . . . . . . . . . . . . . . . . . . . . . . 79 | |||
B.4. 03 to 04 . . . . . . . . . . . . . . . . . . . . . . . . 79 | B.4. 03 to 04 . . . . . . . . . . . . . . . . . . . . . . . . 79 | |||
B.5. 04 to 05 . . . . . . . . . . . . . . . . . . . . . . . . 80 | B.5. 04 to 05 . . . . . . . . . . . . . . . . . . . . . . . . 79 | |||
B.6. 05 to 06 . . . . . . . . . . . . . . . . . . . . . . . . 80 | B.6. 05 to 06 . . . . . . . . . . . . . . . . . . . . . . . . 79 | |||
B.7. 06 to 07 . . . . . . . . . . . . . . . . . . . . . . . . 80 | B.7. 06 to 07 . . . . . . . . . . . . . . . . . . . . . . . . 80 | |||
B.8. 07 to 08 . . . . . . . . . . . . . . . . . . . . . . . . 80 | B.8. 07 to 08 . . . . . . . . . . . . . . . . . . . . . . . . 80 | |||
B.9. 08 to 09 . . . . . . . . . . . . . . . . . . . . . . . . 80 | B.9. 08 to 09 . . . . . . . . . . . . . . . . . . . . . . . . 80 | |||
B.10. 09 to 10 . . . . . . . . . . . . . . . . . . . . . . . . 81 | B.10. 09 to 10 . . . . . . . . . . . . . . . . . . . . . . . . 80 | |||
B.11. 10 to 11 . . . . . . . . . . . . . . . . . . . . . . . . 81 | B.11. 10 to 11 . . . . . . . . . . . . . . . . . . . . . . . . 80 | |||
B.12. 11 to 12 . . . . . . . . . . . . . . . . . . . . . . . . 81 | B.12. 11 to 12 . . . . . . . . . . . . . . . . . . . . . . . . 81 | |||
B.13. 12 to 13 . . . . . . . . . . . . . . . . . . . . . . . . 82 | B.13. 12 to 13 . . . . . . . . . . . . . . . . . . . . . . . . 81 | |||
B.14. 13 to 14 . . . . . . . . . . . . . . . . . . . . . . . . 82 | B.14. 13 to 14 . . . . . . . . . . . . . . . . . . . . . . . . 81 | |||
B.15. 14 to 15 . . . . . . . . . . . . . . . . . . . . . . . . 82 | B.15. 14 to 15 . . . . . . . . . . . . . . . . . . . . . . . . 81 | |||
B.16. 15 to 16 . . . . . . . . . . . . . . . . . . . . . . . . 82 | ||||
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 82 | Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 82 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 82 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 82 | |||
1. Introduction | 1. Introduction | |||
This document defines two YANG [RFC7950] modules, one module to | This document defines two YANG [RFC7950] modules, one module to | |||
configure a NETCONF [RFC6241] client and the other module to | configure a NETCONF [RFC6241] client and the other module to | |||
configure a NETCONF server. Both modules support both NETCONF over | configure a NETCONF server. Both modules support both NETCONF over | |||
SSH [RFC6242] and NETCONF over TLS [RFC7589] and NETCONF Call Home | SSH [RFC6242] and NETCONF over TLS [RFC7589] and NETCONF Call Home | |||
connections [RFC8071]. | connections [RFC8071]. | |||
skipping to change at page 9, line 22 ¶ | skipping to change at page 9, line 22 ¶ | |||
</listen> | </listen> | |||
</netconf-client> | </netconf-client> | |||
3.3. YANG Module | 3.3. YANG Module | |||
This YANG module has normative references to [RFC6242], [RFC6991], | This YANG module has normative references to [RFC6242], [RFC6991], | |||
[RFC7589], [RFC8071], [I-D.kwatsen-netconf-tcp-client-server], | [RFC7589], [RFC8071], [I-D.kwatsen-netconf-tcp-client-server], | |||
[I-D.ietf-netconf-ssh-client-server], and | [I-D.ietf-netconf-ssh-client-server], and | |||
[I-D.ietf-netconf-tls-client-server]. | [I-D.ietf-netconf-tls-client-server]. | |||
<CODE BEGINS> file "ietf-netconf-client@2019-10-18.yang" | <CODE BEGINS> file "ietf-netconf-client@2019-11-02.yang" | |||
module ietf-netconf-client { | module ietf-netconf-client { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-netconf-client"; | namespace "urn:ietf:params:xml:ns:yang:ietf-netconf-client"; | |||
prefix ncc; | prefix ncc; | |||
import ietf-yang-types { | import ietf-yang-types { | |||
prefix yang; | prefix yang; | |||
reference | reference | |||
"RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
skipping to change at page 9, line 48 ¶ | skipping to change at page 9, line 48 ¶ | |||
"RFC AAAA: YANG Groupings for TCP Clients and TCP Servers"; | "RFC AAAA: YANG Groupings for TCP Clients and TCP Servers"; | |||
} | } | |||
import ietf-tcp-server { | import ietf-tcp-server { | |||
prefix tcps; | prefix tcps; | |||
reference | reference | |||
"RFC AAAA: YANG Groupings for TCP Clients and TCP Servers"; | "RFC AAAA: YANG Groupings for TCP Clients and TCP Servers"; | |||
} | } | |||
import ietf-ssh-client { | import ietf-ssh-client { | |||
prefix sshc; | prefix sshc; | |||
revision-date 2019-10-18; // stable grouping definitions | revision-date 2019-11-02; // stable grouping definitions | |||
reference | reference | |||
"RFC BBBB: YANG Groupings for SSH Clients and SSH Servers"; | "RFC BBBB: YANG Groupings for SSH Clients and SSH Servers"; | |||
} | } | |||
import ietf-tls-client { | import ietf-tls-client { | |||
prefix tlsc; | prefix tlsc; | |||
revision-date 2019-10-18; // stable grouping definitions | revision-date 2019-11-02; // stable grouping definitions | |||
reference | reference | |||
"RFC CCCC: YANG Groupings for TLS Clients and TLS Servers"; | "RFC CCCC: YANG Groupings for TLS Clients and TLS Servers"; | |||
} | } | |||
organization | organization | |||
"IETF NETCONF (Network Configuration) Working Group"; | "IETF NETCONF (Network Configuration) Working Group"; | |||
contact | contact | |||
"WG Web: <http://datatracker.ietf.org/wg/netconf/> | "WG Web: <http://datatracker.ietf.org/wg/netconf/> | |||
WG List: <mailto:netconf@ietf.org> | WG List: <mailto:netconf@ietf.org> | |||
skipping to change at page 10, line 45 ¶ | skipping to change at page 10, line 45 ¶ | |||
(https://www.rfc-editor.org/info/rfcXXXX); see the RFC | (https://www.rfc-editor.org/info/rfcXXXX); see the RFC | |||
itself for full legal notices.; | itself for full legal notices.; | |||
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', | The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', | |||
'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', | 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', | |||
'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document | 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document | |||
are to be interpreted as described in BCP 14 (RFC 2119) | are to be interpreted as described in BCP 14 (RFC 2119) | |||
(RFC 8174) when, and only when, they appear in all | (RFC 8174) when, and only when, they appear in all | |||
capitals, as shown here."; | capitals, as shown here."; | |||
revision 2019-10-18 { | revision 2019-11-02 { | |||
description | description | |||
"Initial version"; | "Initial version"; | |||
reference | reference | |||
"RFC XXXX: NETCONF Client and Server Models"; | "RFC XXXX: NETCONF Client and Server Models"; | |||
} | } | |||
// Features | // Features | |||
feature ssh-initiate { | feature ssh-initiate { | |||
description | description | |||
"The 'ssh-initiate' feature indicates that the NETCONF client | "The 'ssh-initiate' feature indicates that the NETCONF client | |||
skipping to change at page 23, line 40 ¶ | skipping to change at page 23, line 40 ¶ | |||
/truststore-reference> | /truststore-reference> | |||
</client-certs> | </client-certs> | |||
</client-authentication> | </client-authentication> | |||
</tls-server-parameters> | </tls-server-parameters> | |||
<netconf-server-parameters> | <netconf-server-parameters> | |||
<client-identification> | <client-identification> | |||
<cert-maps> | <cert-maps> | |||
<cert-to-name> | <cert-to-name> | |||
<id>1</id> | <id>1</id> | |||
<fingerprint>11:0A:05:11:00</fingerprint> | <fingerprint>11:0A:05:11:00</fingerprint> | |||
<map-type>x509c2n:san-any</map-type> | <map-type>x509c2n:specified</map-type> | |||
<name>scooby-doo</name> | ||||
</cert-to-name> | </cert-to-name> | |||
<cert-to-name> | <cert-to-name> | |||
<id>2</id> | <id>2</id> | |||
<fingerprint>B3:4F:A1:8C:54</fingerprint> | <map-type>x509c2n:san-any</map-type> | |||
<map-type>x509c2n:specified</map-type> | ||||
<name>scooby-doo</name> | ||||
</cert-to-name> | </cert-to-name> | |||
</cert-maps> | </cert-maps> | |||
</client-identification> | </client-identification> | |||
</netconf-server-parameters> | </netconf-server-parameters> | |||
</tls> | </tls> | |||
</endpoint> | </endpoint> | |||
</listen> | </listen> | |||
<!-- calling home to SSH and TLS based NETCONF clients --> | <!-- calling home to SSH and TLS based NETCONF clients --> | |||
<call-home> | <call-home> | |||
<netconf-client> <!-- SSH-based client --> | <netconf-client> <!-- SSH-based client --> | |||
<name>config-mgr</name> | <name>config-mgr</name> | |||
<endpoints> | <endpoints> | |||
<endpoint> | <endpoint> | |||
<name>east-data-center</name> | <name>east-data-center</name> | |||
<ssh> | <ssh> | |||
<tcp-client-parameters> | <tcp-client-parameters> | |||
<remote-address>east.config-mgr.example.com</remote-ad\ | <remote-address>east.config-mgr.example.com</remote-ad\ | |||
skipping to change at page 26, line 38 ¶ | skipping to change at page 26, line 35 ¶ | |||
<max-wait>30</max-wait> | <max-wait>30</max-wait> | |||
<max-attempts>3</max-attempts> | <max-attempts>3</max-attempts> | |||
</keepalives> | </keepalives> | |||
</tls-server-parameters> | </tls-server-parameters> | |||
<netconf-server-parameters> | <netconf-server-parameters> | |||
<client-identification> | <client-identification> | |||
<cert-maps> | <cert-maps> | |||
<cert-to-name> | <cert-to-name> | |||
<id>1</id> | <id>1</id> | |||
<fingerprint>11:0A:05:11:00</fingerprint> | <fingerprint>11:0A:05:11:00</fingerprint> | |||
<map-type>x509c2n:san-any</map-type> | <map-type>x509c2n:specified</map-type> | |||
<name>scooby-doo</name> | ||||
</cert-to-name> | </cert-to-name> | |||
<cert-to-name> | <cert-to-name> | |||
<id>2</id> | <id>2</id> | |||
<fingerprint>B3:4F:A1:8C:54</fingerprint> | <map-type>x509c2n:san-any</map-type> | |||
<map-type>x509c2n:specified</map-type> | ||||
<name>scooby-doo</name> | ||||
</cert-to-name> | </cert-to-name> | |||
</cert-maps> | </cert-maps> | |||
</client-identification> | </client-identification> | |||
</netconf-server-parameters> | </netconf-server-parameters> | |||
</tls> | </tls> | |||
</endpoint> | </endpoint> | |||
<endpoint> | <endpoint> | |||
<name>west-data-center</name> | <name>west-data-center</name> | |||
<tls> | <tls> | |||
<tcp-client-parameters> | <tcp-client-parameters> | |||
skipping to change at page 27, line 45 ¶ | skipping to change at page 27, line 43 ¶ | |||
<max-wait>30</max-wait> | <max-wait>30</max-wait> | |||
<max-attempts>3</max-attempts> | <max-attempts>3</max-attempts> | |||
</keepalives> | </keepalives> | |||
</tls-server-parameters> | </tls-server-parameters> | |||
<netconf-server-parameters> | <netconf-server-parameters> | |||
<client-identification> | <client-identification> | |||
<cert-maps> | <cert-maps> | |||
<cert-to-name> | <cert-to-name> | |||
<id>1</id> | <id>1</id> | |||
<fingerprint>11:0A:05:11:00</fingerprint> | <fingerprint>11:0A:05:11:00</fingerprint> | |||
<map-type>x509c2n:san-any</map-type> | <map-type>x509c2n:specified</map-type> | |||
<name>scooby-doo</name> | ||||
</cert-to-name> | </cert-to-name> | |||
<cert-to-name> | <cert-to-name> | |||
<id>2</id> | <id>2</id> | |||
<fingerprint>B3:4F:A1:8C:54</fingerprint> | <map-type>x509c2n:san-any</map-type> | |||
<map-type>x509c2n:specified</map-type> | ||||
<name>scooby-doo</name> | ||||
</cert-to-name> | </cert-to-name> | |||
</cert-maps> | </cert-maps> | |||
</client-identification> | </client-identification> | |||
</netconf-server-parameters> | </netconf-server-parameters> | |||
</tls> | </tls> | |||
</endpoint> | </endpoint> | |||
</endpoints> | </endpoints> | |||
<connection-type> | <connection-type> | |||
<persistent/> | <persistent/> | |||
</connection-type> | </connection-type> | |||
<reconnect-strategy> | <reconnect-strategy> | |||
<start-with>first-listed</start-with> | <start-with>first-listed</start-with> | |||
<max-attempts>3</max-attempts> | <max-attempts>3</max-attempts> | |||
</reconnect-strategy> | </reconnect-strategy> | |||
skipping to change at page 28, line 31 ¶ | skipping to change at page 28, line 27 ¶ | |||
</netconf-server> | </netconf-server> | |||
4.3. YANG Module | 4.3. YANG Module | |||
This YANG module has normative references to [RFC6242], [RFC6991], | This YANG module has normative references to [RFC6242], [RFC6991], | |||
[RFC7407], [RFC7589], [RFC8071], | [RFC7407], [RFC7589], [RFC8071], | |||
[I-D.kwatsen-netconf-tcp-client-server], | [I-D.kwatsen-netconf-tcp-client-server], | |||
[I-D.ietf-netconf-ssh-client-server], and | [I-D.ietf-netconf-ssh-client-server], and | |||
[I-D.ietf-netconf-tls-client-server]. | [I-D.ietf-netconf-tls-client-server]. | |||
<CODE BEGINS> file "ietf-netconf-server@2019-10-18.yang" | <CODE BEGINS> file "ietf-netconf-server@2019-11-02.yang" | |||
module ietf-netconf-server { | module ietf-netconf-server { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-netconf-server"; | namespace "urn:ietf:params:xml:ns:yang:ietf-netconf-server"; | |||
prefix ncs; | prefix ncs; | |||
import ietf-yang-types { | import ietf-yang-types { | |||
prefix yang; | prefix yang; | |||
reference | reference | |||
"RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
skipping to change at page 29, line 15 ¶ | skipping to change at page 29, line 11 ¶ | |||
} | } | |||
import ietf-tcp-server { | import ietf-tcp-server { | |||
prefix tcps; | prefix tcps; | |||
reference | reference | |||
"RFC AAAA: YANG Groupings for TCP Clients and TCP Servers"; | "RFC AAAA: YANG Groupings for TCP Clients and TCP Servers"; | |||
} | } | |||
import ietf-ssh-server { | import ietf-ssh-server { | |||
prefix sshs; | prefix sshs; | |||
revision-date 2019-10-18; // stable grouping definitions | revision-date 2019-11-02; // stable grouping definitions | |||
reference | reference | |||
"RFC BBBB: YANG Groupings for SSH Clients and SSH Servers"; | "RFC BBBB: YANG Groupings for SSH Clients and SSH Servers"; | |||
} | } | |||
import ietf-tls-server { | import ietf-tls-server { | |||
prefix tlss; | prefix tlss; | |||
revision-date 2019-10-18; // stable grouping definitions | revision-date 2019-11-02; // stable grouping definitions | |||
reference | reference | |||
"RFC CCCC: YANG Groupings for TLS Clients and TLS Servers"; | "RFC CCCC: YANG Groupings for TLS Clients and TLS Servers"; | |||
} | } | |||
organization | organization | |||
"IETF NETCONF (Network Configuration) Working Group"; | "IETF NETCONF (Network Configuration) Working Group"; | |||
contact | contact | |||
"WG Web: <http://datatracker.ietf.org/wg/netconf/> | "WG Web: <http://datatracker.ietf.org/wg/netconf/> | |||
WG List: <mailto:netconf@ietf.org> | WG List: <mailto:netconf@ietf.org> | |||
skipping to change at page 30, line 6 ¶ | skipping to change at page 30, line 4 ¶ | |||
Redistribution and use in source and binary forms, with | Redistribution and use in source and binary forms, with | |||
or without modification, is permitted pursuant to, and | or without modification, is permitted pursuant to, and | |||
subject to the license terms contained in, the Simplified | subject to the license terms contained in, the Simplified | |||
BSD License set forth in Section 4.c of the IETF Trust's | BSD License set forth in Section 4.c of the IETF Trust's | |||
Legal Provisions Relating to IETF Documents | Legal Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info). | (https://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 | (https://www.rfc-editor.org/info/rfcXXXX); see the RFC | |||
itself for full legal notices.; | itself for full legal notices.; | |||
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', | The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', | |||
'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', | 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', | |||
'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document | 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document | |||
are to be interpreted as described in BCP 14 (RFC 2119) | are to be interpreted as described in BCP 14 (RFC 2119) | |||
(RFC 8174) when, and only when, they appear in all | (RFC 8174) when, and only when, they appear in all | |||
capitals, as shown here."; | capitals, as shown here."; | |||
revision 2019-10-18 { | revision 2019-11-02 { | |||
description | description | |||
"Initial version"; | "Initial version"; | |||
reference | reference | |||
"RFC XXXX: NETCONF Client and Server Models"; | "RFC XXXX: NETCONF Client and Server Models"; | |||
} | } | |||
// Features | // Features | |||
feature ssh-listen { | feature ssh-listen { | |||
description | description | |||
skipping to change at page 31, line 35 ¶ | skipping to change at page 31, line 33 ¶ | |||
statement in a container called, e.g., | statement in a container called, e.g., | |||
'netconf-server-parameters'. This model purposely does | 'netconf-server-parameters'. This model purposely does | |||
not do this itself so as to provide maximum flexibility | not do this itself so as to provide maximum flexibility | |||
to consuming models."; | to consuming models."; | |||
container client-identification { | container client-identification { | |||
description | description | |||
"Specifies a mapping through which clients MAY be identified | "Specifies a mapping through which clients MAY be identified | |||
(i.e., the NETCONF username) from a supplied certificate. | (i.e., the NETCONF username) from a supplied certificate. | |||
Note that a client MAY alternatively be identified via an | Note that a client MAY alternatively be identified via an | |||
HTTP-level authentication schema. This configuration does | alternate authentication scheme."; | |||
not necessitate clients send a certificate (that can be | ||||
controlled via the ietf-netconf-server module)."; | ||||
container cert-maps { | container cert-maps { | |||
when "../../../../tls"; | when "../../../../tls"; | |||
uses x509c2n:cert-to-name; | uses x509c2n:cert-to-name { | |||
refine "cert-to-name/fingerprint" { | ||||
mandatory false; | ||||
description | ||||
"A 'fingerprint' value does not need to be specified | ||||
when the 'cert-to-name' mapping is independent of | ||||
fingerprint matching. A 'cert-to-name' having no | ||||
fingerprint value will match any client certificate | ||||
and therefore should only be present at the end of | ||||
the user-ordered 'cert-to-name' list."; | ||||
} | ||||
} | ||||
description | description | |||
"The cert-maps container is used by TLS-based NETCONF | "The cert-maps container is used by TLS-based NETCONF | |||
servers (even if the TLS sessions are terminated | servers (even if the TLS sessions are terminated | |||
externally) to map the NETCONF client's presented | externally) to map the NETCONF client's presented | |||
X.509 certificate to a NETCONF username. If no | X.509 certificate to a NETCONF username. If no | |||
matching and valid cert-to-name list entry can be | matching and valid cert-to-name list entry can be | |||
found, then the NETCONF server MUST close the | found, then the NETCONF server MUST close the | |||
connection, and MUST NOT accept NETCONF messages | connection, and MUST NOT accept NETCONF messages | |||
over it."; | over it."; | |||
reference | reference | |||
skipping to change at page 33, line 28 ¶ | skipping to change at page 33, line 35 ¶ | |||
IANA-assigned well-known port value | IANA-assigned well-known port value | |||
for 'netconf-tls' (6513) if no value | for 'netconf-tls' (6513) if no value | |||
is specified."; | is specified."; | |||
} | } | |||
} | } | |||
} | } | |||
container tls-server-parameters { | container tls-server-parameters { | |||
description | description | |||
"A wrapper around the TLS server parameters to | "A wrapper around the TLS server parameters to | |||
avoid name collisions."; | avoid name collisions."; | |||
uses tlss:tls-server-grouping { | uses tlss:tls-server-grouping; /* { | |||
FIXME: commented out since auth could also be external. | ||||
^-- need a better 'must' expression? | ||||
refine "client-authentication" { | refine "client-authentication" { | |||
//must 'ca-certs or client-certs'; | must 'ca-certs or client-certs'; | |||
description | description | |||
"NETCONF/TLS servers MUST validate client | "NETCONF/TLS servers MUST validate client | |||
certificates."; | certificates."; | |||
} | } | |||
} | }*/ | |||
} | } | |||
container netconf-server-parameters { | container netconf-server-parameters { | |||
description | description | |||
"A wrapper around the NETCONF server parameters | "A wrapper around the NETCONF server parameters | |||
to avoid name collisions."; | to avoid name collisions."; | |||
uses ncs:netconf-server-grouping; | uses ncs:netconf-server-grouping; | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
grouping netconf-server-callhome-stack-grouping { | grouping netconf-server-callhome-stack-grouping { | |||
description | description | |||
"A reusable grouping for configuring a NETCONF server | "A reusable grouping for configuring a NETCONF server | |||
'call-home' protocol stack, for a single connection."; | 'call-home' protocol stack, for a single connection."; | |||
choice transport { | choice transport { | |||
mandatory true; | mandatory true; | |||
description | description | |||
"Selects between available transports."; | "Selects between available transports."; | |||
case ssh { | case ssh { | |||
if-feature "ssh-call-home"; | if-feature "ssh-call-home"; | |||
container ssh { | container ssh { | |||
description | description | |||
"Specifies SSH-specific call-home transport | "Specifies SSH-specific call-home transport | |||
configuration."; | configuration."; | |||
skipping to change at page 35, line 18 ¶ | skipping to change at page 35, line 27 ¶ | |||
description | description | |||
"The NETCONF server will attempt to connect | "The NETCONF server will attempt to connect | |||
to the IANA-assigned well-known port for | to the IANA-assigned well-known port for | |||
'netconf-ch-tls' (4335) if no value is | 'netconf-ch-tls' (4335) if no value is | |||
specified."; | specified."; | |||
} | } | |||
} | } | |||
} | } | |||
container tls-server-parameters { | container tls-server-parameters { | |||
description | description | |||
"A wrapper around the TLS server parameters | "A wrapper around the TLS server parameters to | |||
to avoid name collisions."; | avoid name collisions."; | |||
uses tlss:tls-server-grouping { | uses tlss:tls-server-grouping; /* { | |||
FIXME: commented out since auth could also be external. | ||||
^-- need a better 'must' expression? | ||||
refine "client-authentication" { | refine "client-authentication" { | |||
/* commented out since auth could be external | ||||
must 'ca-certs or client-certs'; | must 'ca-certs or client-certs'; | |||
*/ | ||||
description | description | |||
"NETCONF/TLS servers MUST validate client | "NETCONF/TLS servers MUST validate client | |||
certificates."; | certificates."; | |||
} | } | |||
augment "client-authentication" { | }*/ | |||
description | ||||
"Augments in the cert-to-name structure."; | ||||
container cert-maps { | ||||
uses x509c2n:cert-to-name; | ||||
description | ||||
"The cert-maps container is used by a | ||||
TLS-based NETCONF server to map the | ||||
NETCONF client's presented X.509 | ||||
certificate to a NETCONF username. If | ||||
no matching and valid cert-to-name list | ||||
entry can be found, then the NETCONF | ||||
server MUST close the connection, and | ||||
MUST NOT accept NETCONF messages over | ||||
it."; | ||||
reference | ||||
"RFC WWWW: NETCONF over TLS, Section 7"; | ||||
} | ||||
} | ||||
} | ||||
} | } | |||
container netconf-server-parameters { | container netconf-server-parameters { | |||
description | description | |||
"A wrapper around the NETCONF server parameters | "A wrapper around the NETCONF server parameters | |||
to avoid name collisions."; | to avoid name collisions."; | |||
uses ncs:netconf-server-grouping; | uses ncs:netconf-server-grouping; | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
skipping to change at page 42, line 35 ¶ | skipping to change at page 42, line 21 ¶ | |||
namespace: urn:ietf:params:xml:ns:yang:ietf-netconf-server | namespace: urn:ietf:params:xml:ns:yang:ietf-netconf-server | |||
prefix: ncs | prefix: ncs | |||
reference: RFC XXXX | reference: RFC XXXX | |||
7. References | 7. References | |||
7.1. Normative References | 7.1. Normative References | |||
[I-D.ietf-netconf-keystore] | [I-D.ietf-netconf-keystore] | |||
Watsen, K., "A YANG Data Model for a Keystore", draft- | Watsen, K., "A YANG Data Model for a Keystore", draft- | |||
ietf-netconf-keystore-12 (work in progress), July 2019. | ietf-netconf-keystore-13 (work in progress), October 2019. | |||
[I-D.ietf-netconf-ssh-client-server] | [I-D.ietf-netconf-ssh-client-server] | |||
Watsen, K., Wu, G., and L. Xia, "YANG Groupings for SSH | Watsen, K., Wu, G., and L. Xia, "YANG Groupings for SSH | |||
Clients and SSH Servers", draft-ietf-netconf-ssh-client- | Clients and SSH Servers", draft-ietf-netconf-ssh-client- | |||
server-14 (work in progress), June 2019. | server-15 (work in progress), October 2019. | |||
[I-D.ietf-netconf-tls-client-server] | [I-D.ietf-netconf-tls-client-server] | |||
Watsen, K., Wu, G., and L. Xia, "YANG Groupings for TLS | Watsen, K., Wu, G., and L. Xia, "YANG Groupings for TLS | |||
Clients and TLS Servers", draft-ietf-netconf-tls-client- | Clients and TLS Servers", draft-ietf-netconf-tls-client- | |||
server-14 (work in progress), July 2019. | server-15 (work in progress), October 2019. | |||
[I-D.kwatsen-netconf-tcp-client-server] | [I-D.kwatsen-netconf-tcp-client-server] | |||
Watsen, K. and M. Scharf, "YANG Groupings for TCP Clients | Watsen, K. and M. Scharf, "YANG Groupings for TCP Clients | |||
and TCP Servers", draft-kwatsen-netconf-tcp-client- | and TCP Servers", draft-kwatsen-netconf-tcp-client- | |||
server-02 (work in progress), April 2019. | server-02 (work in progress), April 2019. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
skipping to change at page 43, line 50 ¶ | skipping to change at page 43, line 35 ¶ | |||
<https://www.rfc-editor.org/info/rfc7950>. | <https://www.rfc-editor.org/info/rfc7950>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
7.2. Informative References | 7.2. Informative References | |||
[I-D.ietf-netconf-trust-anchors] | [I-D.ietf-netconf-trust-anchors] | |||
Watsen, K., "A YANG Data Model for a Truststore", draft- | Watsen, K., "A YANG Data Model for a Truststore", draft- | |||
ietf-netconf-trust-anchors-05 (work in progress), June | ietf-netconf-trust-anchors-06 (work in progress), October | |||
2019. | 2019. | |||
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
<https://www.rfc-editor.org/info/rfc3688>. | <https://www.rfc-editor.org/info/rfc3688>. | |||
[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | |||
Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | |||
<https://www.rfc-editor.org/info/rfc8040>. | <https://www.rfc-editor.org/info/rfc8040>. | |||
skipping to change at page 46, line 8 ¶ | skipping to change at page 46, line 8 ¶ | |||
| | | | | +--:(password) | | | | | | +--:(password) | |||
| | | | | | +--rw password? string | | | | | | | +--rw password? string | |||
| | | | | +--:(public-key) | | | | | | +--:(public-key) | |||
| | | | | | +--rw public-key | | | | | | | +--rw public-key | |||
| | | | | | +--rw (local-or-keystore) | | | | | | | +--rw (local-or-keystore) | |||
| | | | | | +--:(local) | | | | | | | +--:(local) | |||
| | | | | | | {local-definiti\ | | | | | | | | {local-definiti\ | |||
\ons-supported}? | \ons-supported}? | |||
| | | | | | | +--rw local-definition | | | | | | | | +--rw local-definition | |||
| | | | | | | +--rw algorithm | | | | | | | | +--rw algorithm | |||
| | | | | | | | asymmetric\ | | | | | | | | | iasa:asymm\ | |||
\-key-algorithm-t | \etric-algorithm-type | |||
| | | | | | | +--rw public-key-f\ | | | | | | | | +--rw public-key-f\ | |||
\ormat? | \ormat? | |||
| | | | | | | | identityref | | | | | | | | | identityref | |||
| | | | | | | +--rw public-key | | | | | | | | +--rw public-key | |||
| | | | | | | | binary | | | | | | | | | binary | |||
| | | | | | | +--rw private-key-\ | | | | | | | | +--rw private-key-\ | |||
\format? | \format? | |||
| | | | | | | | identityref | | | | | | | | | identityref | |||
| | | | | | | +--rw (private-key\ | | | | | | | | +--rw (private-key\ | |||
\-type) | \-type) | |||
skipping to change at page 47, line 23 ¶ | skipping to change at page 47, line 23 ¶ | |||
| | | | | +--:(certificate) | | | | | | +--:(certificate) | |||
| | | | | +--rw certificate | | | | | | +--rw certificate | |||
| | | | | {sshcmn:ssh-x509-certs\ | | | | | | {sshcmn:ssh-x509-certs\ | |||
\}? | \}? | |||
| | | | | +--rw (local-or-keystore) | | | | | | +--rw (local-or-keystore) | |||
| | | | | +--:(local) | | | | | | +--:(local) | |||
| | | | | | {local-definiti\ | | | | | | | {local-definiti\ | |||
\ons-supported}? | \ons-supported}? | |||
| | | | | | +--rw local-definition | | | | | | | +--rw local-definition | |||
| | | | | | +--rw algorithm | | | | | | | +--rw algorithm | |||
| | | | | | | asymmetric\ | | | | | | | | iasa:asymm\ | |||
\-key-algorithm-t | \etric-algorithm-type | |||
| | | | | | +--rw public-key-f\ | | | | | | | +--rw public-key-f\ | |||
\ormat? | \ormat? | |||
| | | | | | | identityref | | | | | | | | identityref | |||
| | | | | | +--rw public-key | | | | | | | +--rw public-key | |||
| | | | | | | binary | | | | | | | | binary | |||
| | | | | | +--rw private-key-\ | | | | | | | +--rw private-key-\ | |||
\format? | \format? | |||
| | | | | | | identityref | | | | | | | | identityref | |||
| | | | | | +--rw (private-key\ | | | | | | | +--rw (private-key\ | |||
\-type) | \-type) | |||
skipping to change at page 49, line 8 ¶ | skipping to change at page 49, line 8 ¶ | |||
| | | | | +--rw keystore-refere\ | | | | | | +--rw keystore-refere\ | |||
\nce | \nce | |||
| | | | | +--rw asymmetric-k\ | | | | | | +--rw asymmetric-k\ | |||
\ey? | \ey? | |||
| | | | | | ks:asymmet\ | | | | | | | ks:asymmet\ | |||
\ric-key-ref | \ric-key-ref | |||
| | | | | +--rw certificate?\ | | | | | | +--rw certificate?\ | |||
\ leafref | \ leafref | |||
| | | | +--rw server-authentication | | | | | +--rw server-authentication | |||
| | | | | +--rw ssh-host-keys! | | | | | | +--rw ssh-host-keys! | |||
| | | | | | {ts:ssh-host-keys}? | ||||
| | | | | | +--rw (local-or-truststore) | | | | | | | +--rw (local-or-truststore) | |||
| | | | | | +--:(local) | | | | | | | +--:(local) | |||
| | | | | | | {local-definitions-su\ | | | | | | | | {local-definitions-su\ | |||
\pported}? | \pported}? | |||
| | | | | | | +--rw local-definition | | | | | | | | +--rw local-definition | |||
| | | | | | | +--rw host-key* | | | | | | | | +--rw host-key* | |||
| | | | | | | ct:ssh-host-key | | | | | | | | ct:ssh-host-key | |||
| | | | | | +--:(truststore) | | | | | | | +--:(truststore) | |||
| | | | | | {truststore-supported\ | | | | | | | {truststore-supported\ | |||
\,ssh-host-keys}? | \,ssh-host-keys}? | |||
| | | | | | +--rw truststore-reference? | | | | | | | +--rw truststore-reference? | |||
| | | | | | ts:host-keys-ref | | | | | | | ts:host-keys-ref | |||
| | | | | +--rw ca-certs! | | | | | | +--rw ca-certs! | |||
| | | | | | {sshcmn:ssh-x509-certs,ts:x5\ | | | | | | | {sshcmn:ssh-x509-certs}? | |||
\09-certificates}? | ||||
| | | | | | +--rw (local-or-truststore) | | | | | | | +--rw (local-or-truststore) | |||
| | | | | | +--:(local) | | | | | | | +--:(local) | |||
| | | | | | | {local-definitions-su\ | | | | | | | | {local-definitions-su\ | |||
\pported}? | \pported}? | |||
| | | | | | | +--rw local-definition | | | | | | | | +--rw local-definition | |||
| | | | | | | +--rw cert* | | | | | | | | +--rw cert* | |||
| | | | | | | | trust-anchor-cer\ | | | | | | | | | trust-anchor-cer\ | |||
\t-cms | \t-cms | |||
| | | | | | | +---n certificate-expira\ | | | | | | | | +---n certificate-expira\ | |||
\tion | \tion | |||
| | | | | | | +-- expiration-date | | | | | | | | +-- expiration-date | |||
| | | | | | | yang:date-and\ | | | | | | | | yang:date-and\ | |||
\-time | \-time | |||
| | | | | | +--:(truststore) | | | | | | | +--:(truststore) | |||
| | | | | | {truststore-supported\ | | | | | | | {truststore-supported\ | |||
\,x509-certificates}? | \,x509-certificates}? | |||
| | | | | | +--rw truststore-reference? | | | | | | | +--rw truststore-reference? | |||
| | | | | | ts:certificates-ref | | | | | | | ts:certificates-ref | |||
| | | | | +--rw server-certs! | | | | | | +--rw server-certs! | |||
| | | | | {sshcmn:ssh-x509-certs,ts:x5\ | | | | | | {sshcmn:ssh-x509-certs}? | |||
\09-certificates}? | ||||
| | | | | +--rw (local-or-truststore) | | | | | | +--rw (local-or-truststore) | |||
| | | | | +--:(local) | | | | | | +--:(local) | |||
| | | | | | {local-definitions-su\ | | | | | | | {local-definitions-su\ | |||
\pported}? | \pported}? | |||
| | | | | | +--rw local-definition | | | | | | | +--rw local-definition | |||
| | | | | | +--rw cert* | | | | | | | +--rw cert* | |||
| | | | | | | trust-anchor-cer\ | | | | | | | | trust-anchor-cer\ | |||
\t-cms | \t-cms | |||
| | | | | | +---n certificate-expira\ | | | | | | | +---n certificate-expira\ | |||
\tion | \tion | |||
| | | | | | +-- expiration-date | | | | | | | +-- expiration-date | |||
| | | | | | yang:date-and\ | | | | | | | yang:date-and\ | |||
\-time | \-time | |||
| | | | | +--:(truststore) | | | | | | +--:(truststore) | |||
| | | | | {truststore-supported\ | | | | | | {truststore-supported\ | |||
\,x509-certificates}? | \,x509-certificates}? | |||
| | | | | +--rw truststore-reference? | | | | | | +--rw truststore-reference? | |||
skipping to change at page 51, line 4 ¶ | skipping to change at page 50, line 49 ¶ | |||
| | | +--rw keepalives! | | | | +--rw keepalives! | |||
| | | {keepalives-supported}? | | | | {keepalives-supported}? | |||
| | | +--rw idle-time uint16 | | | | +--rw idle-time uint16 | |||
| | | +--rw max-probes uint16 | | | | +--rw max-probes uint16 | |||
| | | +--rw probe-interval uint16 | | | | +--rw probe-interval uint16 | |||
| | +--rw tls-client-parameters | | | +--rw tls-client-parameters | |||
| | | +--rw client-identity | | | | +--rw client-identity | |||
| | | | +--rw (local-or-keystore) | | | | | +--rw (local-or-keystore) | |||
| | | | +--:(local) | | | | | +--:(local) | |||
| | | | | {local-definitions-suppo\ | | | | | | {local-definitions-suppo\ | |||
\rted}? | \rted}? | |||
| | | | | +--rw local-definition | | | | | | +--rw local-definition | |||
| | | | | +--rw algorithm | | | | | | +--rw algorithm | |||
| | | | | | asymmetric-key-algo\ | | | | | | | iasa:asymmetric-alg\ | |||
\rithm-t | \orithm-type | |||
| | | | | +--rw public-key-format? | | | | | | +--rw public-key-format? | |||
| | | | | | identityref | | | | | | | identityref | |||
| | | | | +--rw public-key | | | | | | +--rw public-key | |||
| | | | | | binary | | | | | | | binary | |||
| | | | | +--rw private-key-format? | | | | | | +--rw private-key-format? | |||
| | | | | | identityref | | | | | | | identityref | |||
| | | | | +--rw (private-key-type) | | | | | | +--rw (private-key-type) | |||
| | | | | | +--:(private-key) | | | | | | | +--:(private-key) | |||
| | | | | | | +--rw private-key? | | | | | | | | +--rw private-key? | |||
| | | | | | | binary | | | | | | | | binary | |||
skipping to change at page 52, line 21 ¶ | skipping to change at page 52, line 18 ¶ | |||
| | | | +--:(keystore) | | | | | +--:(keystore) | |||
| | | | {keystore-supported}? | | | | | {keystore-supported}? | |||
| | | | +--rw keystore-reference | | | | | +--rw keystore-reference | |||
| | | | +--rw asymmetric-key? | | | | | +--rw asymmetric-key? | |||
| | | | | ks:asymmetric-key-r\ | | | | | | ks:asymmetric-key-r\ | |||
\ef | \ef | |||
| | | | +--rw certificate? lea\ | | | | | +--rw certificate? lea\ | |||
\fref | \fref | |||
| | | +--rw server-authentication | | | | +--rw server-authentication | |||
| | | | +--rw ca-certs! | | | | | +--rw ca-certs! | |||
| | | | | {ts:x509-certificates}? | ||||
| | | | | +--rw (local-or-truststore) | | | | | | +--rw (local-or-truststore) | |||
| | | | | +--:(local) | | | | | | +--:(local) | |||
| | | | | | {local-definitions-su\ | | | | | | | {local-definitions-su\ | |||
\pported}? | \pported}? | |||
| | | | | | +--rw local-definition | | | | | | | +--rw local-definition | |||
| | | | | | +--rw cert* | | | | | | | +--rw cert* | |||
| | | | | | | trust-anchor-cer\ | | | | | | | | trust-anchor-cer\ | |||
\t-cms | \t-cms | |||
| | | | | | +---n certificate-expira\ | | | | | | | +---n certificate-expira\ | |||
\tion | \tion | |||
| | | | | | +-- expiration-date | | | | | | | +-- expiration-date | |||
| | | | | | yang:date-and\ | | | | | | | yang:date-and\ | |||
\-time | \-time | |||
| | | | | +--:(truststore) | | | | | | +--:(truststore) | |||
| | | | | {truststore-supported\ | | | | | | {truststore-supported\ | |||
\,x509-certificates}? | \,x509-certificates}? | |||
| | | | | +--rw truststore-reference? | | | | | | +--rw truststore-reference? | |||
| | | | | ts:certificates-ref | | | | | | ts:certificates-ref | |||
| | | | +--rw server-certs! | | | | | +--rw server-certs! | |||
| | | | {ts:x509-certificates}? | ||||
| | | | +--rw (local-or-truststore) | | | | | +--rw (local-or-truststore) | |||
| | | | +--:(local) | | | | | +--:(local) | |||
| | | | | {local-definitions-su\ | | | | | | {local-definitions-su\ | |||
\pported}? | \pported}? | |||
| | | | | +--rw local-definition | | | | | | +--rw local-definition | |||
| | | | | +--rw cert* | | | | | | +--rw cert* | |||
| | | | | | trust-anchor-cer\ | | | | | | | trust-anchor-cer\ | |||
\t-cms | \t-cms | |||
| | | | | +---n certificate-expira\ | | | | | | +---n certificate-expira\ | |||
\tion | \tion | |||
skipping to change at page 54, line 16 ¶ | skipping to change at page 54, line 11 ¶ | |||
| | | +--:(password) | | | | +--:(password) | |||
| | | | +--rw password? string | | | | | +--rw password? string | |||
| | | +--:(public-key) | | | | +--:(public-key) | |||
| | | | +--rw public-key | | | | | +--rw public-key | |||
| | | | +--rw (local-or-keystore) | | | | | +--rw (local-or-keystore) | |||
| | | | +--:(local) | | | | | +--:(local) | |||
| | | | | {local-definitions-su\ | | | | | | {local-definitions-su\ | |||
\pported}? | \pported}? | |||
| | | | | +--rw local-definition | | | | | | +--rw local-definition | |||
| | | | | +--rw algorithm | | | | | | +--rw algorithm | |||
| | | | | | asymmetric-key-a\ | | | | | | | iasa:asymmetric-\ | |||
\lgorithm-t | \algorithm-type | |||
| | | | | +--rw public-key-format? | | | | | | +--rw public-key-format? | |||
| | | | | | identityref | | | | | | | identityref | |||
| | | | | +--rw public-key | | | | | | +--rw public-key | |||
| | | | | | binary | | | | | | | binary | |||
| | | | | +--rw private-key-format? | | | | | | +--rw private-key-format? | |||
| | | | | | identityref | | | | | | | identityref | |||
| | | | | +--rw (private-key-type) | | | | | | +--rw (private-key-type) | |||
| | | | | +--:(private-key) | | | | | | +--:(private-key) | |||
| | | | | | +--rw private-key? | | | | | | | +--rw private-key? | |||
| | | | | | binary | | | | | | | binary | |||
skipping to change at page 55, line 18 ¶ | skipping to change at page 55, line 13 ¶ | |||
\ef | \ef | |||
| | | +--:(certificate) | | | | +--:(certificate) | |||
| | | +--rw certificate | | | | +--rw certificate | |||
| | | {sshcmn:ssh-x509-certs}? | | | | {sshcmn:ssh-x509-certs}? | |||
| | | +--rw (local-or-keystore) | | | | +--rw (local-or-keystore) | |||
| | | +--:(local) | | | | +--:(local) | |||
| | | | {local-definitions-su\ | | | | | {local-definitions-su\ | |||
\pported}? | \pported}? | |||
| | | | +--rw local-definition | | | | | +--rw local-definition | |||
| | | | +--rw algorithm | | | | | +--rw algorithm | |||
| | | | | asymmetric-key-a\ | | | | | | iasa:asymmetric-\ | |||
\lgorithm-t | \algorithm-type | |||
| | | | +--rw public-key-format? | | | | | +--rw public-key-format? | |||
| | | | | identityref | | | | | | identityref | |||
| | | | +--rw public-key | | | | | +--rw public-key | |||
| | | | | binary | | | | | | binary | |||
| | | | +--rw private-key-format? | | | | | +--rw private-key-format? | |||
| | | | | identityref | | | | | | identityref | |||
| | | | +--rw (private-key-type) | | | | | +--rw (private-key-type) | |||
| | | | | +--:(private-key) | | | | | | +--:(private-key) | |||
| | | | | | +--rw private-key? | | | | | | | +--rw private-key? | |||
| | | | | | binary | | | | | | | binary | |||
skipping to change at page 56, line 34 ¶ | skipping to change at page 56, line 29 ¶ | |||
| | | | binary | | | | | binary | |||
| | | +--:(keystore) | | | | +--:(keystore) | |||
| | | {keystore-supported}? | | | | {keystore-supported}? | |||
| | | +--rw keystore-reference | | | | +--rw keystore-reference | |||
| | | +--rw asymmetric-key? | | | | +--rw asymmetric-key? | |||
| | | | ks:asymmetric-ke\ | | | | | ks:asymmetric-ke\ | |||
\y-ref | \y-ref | |||
| | | +--rw certificate? \ | | | | +--rw certificate? \ | |||
\leafref | \leafref | |||
| | +--rw server-authentication | | | +--rw server-authentication | |||
| | | +--rw ssh-host-keys! {ts:ssh-host-keys}? | | | | +--rw ssh-host-keys! | |||
| | | | +--rw (local-or-truststore) | | | | | +--rw (local-or-truststore) | |||
| | | | +--:(local) | | | | | +--:(local) | |||
| | | | | {local-definitions-supporte\ | | | | | | {local-definitions-supporte\ | |||
\d}? | \d}? | |||
| | | | | +--rw local-definition | | | | | | +--rw local-definition | |||
| | | | | +--rw host-key* | | | | | | +--rw host-key* | |||
| | | | | ct:ssh-host-key | | | | | | ct:ssh-host-key | |||
| | | | +--:(truststore) | | | | | +--:(truststore) | |||
| | | | {truststore-supported,ssh-h\ | | | | | {truststore-supported,ssh-h\ | |||
\ost-keys}? | \ost-keys}? | |||
| | | | +--rw truststore-reference? | | | | | +--rw truststore-reference? | |||
| | | | ts:host-keys-ref | | | | | ts:host-keys-ref | |||
| | | +--rw ca-certs! | | | | +--rw ca-certs! {sshcmn:ssh-x509-certs}? | |||
| | | | {sshcmn:ssh-x509-certs,ts:x509-cer\ | ||||
\tificates}? | ||||
| | | | +--rw (local-or-truststore) | | | | | +--rw (local-or-truststore) | |||
| | | | +--:(local) | | | | | +--:(local) | |||
| | | | | {local-definitions-supporte\ | | | | | | {local-definitions-supporte\ | |||
\d}? | \d}? | |||
| | | | | +--rw local-definition | | | | | | +--rw local-definition | |||
| | | | | +--rw cert* | | | | | | +--rw cert* | |||
| | | | | | trust-anchor-cert-cms | | | | | | | trust-anchor-cert-cms | |||
| | | | | +---n certificate-expiration | | | | | | +---n certificate-expiration | |||
| | | | | +-- expiration-date | | | | | | +-- expiration-date | |||
| | | | | yang:date-and-time | | | | | | yang:date-and-time | |||
| | | | +--:(truststore) | | | | | +--:(truststore) | |||
| | | | {truststore-supported,x509-\ | | | | | {truststore-supported,x509-\ | |||
\certificates}? | \certificates}? | |||
| | | | +--rw truststore-reference? | | | | | +--rw truststore-reference? | |||
| | | | ts:certificates-ref | | | | | ts:certificates-ref | |||
| | | +--rw server-certs! | | | | +--rw server-certs! | |||
| | | {sshcmn:ssh-x509-certs,ts:x509-cer\ | | | | {sshcmn:ssh-x509-certs}? | |||
\tificates}? | ||||
| | | +--rw (local-or-truststore) | | | | +--rw (local-or-truststore) | |||
| | | +--:(local) | | | | +--:(local) | |||
| | | | {local-definitions-supporte\ | | | | | {local-definitions-supporte\ | |||
\d}? | \d}? | |||
| | | | +--rw local-definition | | | | | +--rw local-definition | |||
| | | | +--rw cert* | | | | | +--rw cert* | |||
| | | | | trust-anchor-cert-cms | | | | | | trust-anchor-cert-cms | |||
| | | | +---n certificate-expiration | | | | | +---n certificate-expiration | |||
| | | | +-- expiration-date | | | | | +-- expiration-date | |||
| | | | yang:date-and-time | | | | | yang:date-and-time | |||
skipping to change at page 58, line 17 ¶ | skipping to change at page 58, line 9 ¶ | |||
| +--rw idle-time uint16 | | +--rw idle-time uint16 | |||
| +--rw max-probes uint16 | | +--rw max-probes uint16 | |||
| +--rw probe-interval uint16 | | +--rw probe-interval uint16 | |||
+--rw tls-client-parameters | +--rw tls-client-parameters | |||
| +--rw client-identity | | +--rw client-identity | |||
| | +--rw (local-or-keystore) | | | +--rw (local-or-keystore) | |||
| | +--:(local) | | | +--:(local) | |||
| | | {local-definitions-supported}? | | | | {local-definitions-supported}? | |||
| | | +--rw local-definition | | | | +--rw local-definition | |||
| | | +--rw algorithm | | | | +--rw algorithm | |||
| | | | asymmetric-key-algorithm-t | | | | | iasa:asymmetric-algorithm\ | |||
\-type | ||||
| | | +--rw public-key-format? | | | | +--rw public-key-format? | |||
| | | | identityref | | | | | identityref | |||
| | | +--rw public-key | | | | +--rw public-key | |||
| | | | binary | | | | | binary | |||
| | | +--rw private-key-format? | | | | +--rw private-key-format? | |||
| | | | identityref | | | | | identityref | |||
| | | +--rw (private-key-type) | | | | +--rw (private-key-type) | |||
| | | | +--:(private-key) | | | | | +--:(private-key) | |||
| | | | | +--rw private-key? | | | | | | +--rw private-key? | |||
| | | | | binary | | | | | | binary | |||
skipping to change at page 59, line 20 ¶ | skipping to change at page 59, line 13 ¶ | |||
| | | +--ro output | | | | +--ro output | |||
| | | +--ro certificate-signing-r\ | | | | +--ro certificate-signing-r\ | |||
\equest | \equest | |||
| | | binary | | | | binary | |||
| | +--:(keystore) {keystore-supported}? | | | +--:(keystore) {keystore-supported}? | |||
| | +--rw keystore-reference | | | +--rw keystore-reference | |||
| | +--rw asymmetric-key? | | | +--rw asymmetric-key? | |||
| | | ks:asymmetric-key-ref | | | | ks:asymmetric-key-ref | |||
| | +--rw certificate? leafref | | | +--rw certificate? leafref | |||
| +--rw server-authentication | | +--rw server-authentication | |||
| | +--rw ca-certs! {ts:x509-certificates}? | | | +--rw ca-certs! | |||
| | | +--rw (local-or-truststore) | | | | +--rw (local-or-truststore) | |||
| | | +--:(local) | | | | +--:(local) | |||
| | | | {local-definitions-supporte\ | | | | | {local-definitions-supporte\ | |||
\d}? | \d}? | |||
| | | | +--rw local-definition | | | | | +--rw local-definition | |||
| | | | +--rw cert* | | | | | +--rw cert* | |||
| | | | | trust-anchor-cert-cms | | | | | | trust-anchor-cert-cms | |||
| | | | +---n certificate-expiration | | | | | +---n certificate-expiration | |||
| | | | +-- expiration-date | | | | | +-- expiration-date | |||
| | | | yang:date-and-time | | | | | yang:date-and-time | |||
| | | +--:(truststore) | | | | +--:(truststore) | |||
| | | {truststore-supported,x509-\ | | | | {truststore-supported,x509-\ | |||
\certificates}? | \certificates}? | |||
| | | +--rw truststore-reference? | | | | +--rw truststore-reference? | |||
| | | ts:certificates-ref | | | | ts:certificates-ref | |||
| | +--rw server-certs! {ts:x509-certificates}? | | | +--rw server-certs! | |||
| | +--rw (local-or-truststore) | | | +--rw (local-or-truststore) | |||
| | +--:(local) | | | +--:(local) | |||
| | | {local-definitions-supporte\ | | | | {local-definitions-supporte\ | |||
\d}? | \d}? | |||
| | | +--rw local-definition | | | | +--rw local-definition | |||
| | | +--rw cert* | | | | +--rw cert* | |||
| | | | trust-anchor-cert-cms | | | | | trust-anchor-cert-cms | |||
| | | +---n certificate-expiration | | | | +---n certificate-expiration | |||
| | | +-- expiration-date | | | | +-- expiration-date | |||
| | | yang:date-and-time | | | | yang:date-and-time | |||
skipping to change at page 61, line 9 ¶ | skipping to change at page 60, line 50 ¶ | |||
| | | | +--rw name string | | | | | +--rw name string | |||
| | | | +--rw (host-key-type) | | | | | +--rw (host-key-type) | |||
| | | | +--:(public-key) | | | | | +--:(public-key) | |||
| | | | | +--rw public-key | | | | | | +--rw public-key | |||
| | | | | +--rw (local-or-keystore) | | | | | | +--rw (local-or-keystore) | |||
| | | | | +--:(local) | | | | | | +--:(local) | |||
| | | | | | {local-definitions\ | | | | | | | {local-definitions\ | |||
\-supported}? | \-supported}? | |||
| | | | | | +--rw local-definition | | | | | | | +--rw local-definition | |||
| | | | | | +--rw algorithm | | | | | | | +--rw algorithm | |||
| | | | | | | asymmetric-ke\ | | | | | | | | iasa:asymmetr\ | |||
\y-algorithm-t | \ic-algorithm-type | |||
| | | | | | +--rw public-key-form\ | | | | | | | +--rw public-key-form\ | |||
\at? | \at? | |||
| | | | | | | identityref | | | | | | | | identityref | |||
| | | | | | +--rw public-key | | | | | | | +--rw public-key | |||
| | | | | | | binary | | | | | | | | binary | |||
| | | | | | +--rw private-key-for\ | | | | | | | +--rw private-key-for\ | |||
\mat? | \mat? | |||
| | | | | | | identityref | | | | | | | | identityref | |||
| | | | | | +--rw (private-key-ty\ | | | | | | | +--rw (private-key-ty\ | |||
\pe) | \pe) | |||
skipping to change at page 62, line 18 ¶ | skipping to change at page 62, line 11 ¶ | |||
\y-ref | \y-ref | |||
| | | | +--:(certificate) | | | | | +--:(certificate) | |||
| | | | +--rw certificate | | | | | +--rw certificate | |||
| | | | {sshcmn:ssh-x509-certs}? | | | | | {sshcmn:ssh-x509-certs}? | |||
| | | | +--rw (local-or-keystore) | | | | | +--rw (local-or-keystore) | |||
| | | | +--:(local) | | | | | +--:(local) | |||
| | | | | {local-definitions\ | | | | | | {local-definitions\ | |||
\-supported}? | \-supported}? | |||
| | | | | +--rw local-definition | | | | | | +--rw local-definition | |||
| | | | | +--rw algorithm | | | | | | +--rw algorithm | |||
| | | | | | asymmetric-ke\ | | | | | | | iasa:asymmetr\ | |||
\y-algorithm-t | \ic-algorithm-type | |||
| | | | | +--rw public-key-form\ | | | | | | +--rw public-key-form\ | |||
\at? | \at? | |||
| | | | | | identityref | | | | | | | identityref | |||
| | | | | +--rw public-key | | | | | | +--rw public-key | |||
| | | | | | binary | | | | | | | binary | |||
| | | | | +--rw private-key-for\ | | | | | | +--rw private-key-for\ | |||
\mat? | \mat? | |||
| | | | | | identityref | | | | | | | identityref | |||
| | | | | +--rw (private-key-ty\ | | | | | | +--rw (private-key-ty\ | |||
\pe) | \pe) | |||
skipping to change at page 64, line 9 ¶ | skipping to change at page 63, line 51 ¶ | |||
| | | | | +--rw other* string | | | | | | +--rw other* string | |||
| | | | +--rw (local-or-external) | | | | | +--rw (local-or-external) | |||
| | | | +--:(local) | | | | | +--:(local) | |||
| | | | | {local-client-auth-supported}? | | | | | | {local-client-auth-supported}? | |||
| | | | | +--rw users | | | | | | +--rw users | |||
| | | | | +--rw user* [name] | | | | | | +--rw user* [name] | |||
| | | | | +--rw name string | | | | | | +--rw name string | |||
| | | | | +--rw password? | | | | | | +--rw password? | |||
| | | | | | ianach:crypt-hash | | | | | | | ianach:crypt-hash | |||
| | | | | +--rw host-keys! | | | | | | +--rw host-keys! | |||
| | | | | | {ts:ssh-host-keys}? | ||||
| | | | | | +--rw (local-or-truststore) | | | | | | | +--rw (local-or-truststore) | |||
| | | | | | +--:(local) | | | | | | | +--:(local) | |||
| | | | | | | {local-definiti\ | | | | | | | | {local-definiti\ | |||
\ons-supported}? | \ons-supported}? | |||
| | | | | | | +--rw local-definition | | | | | | | | +--rw local-definition | |||
| | | | | | | +--rw host-key* | | | | | | | | +--rw host-key* | |||
| | | | | | | ct:ssh-hos\ | | | | | | | | ct:ssh-hos\ | |||
\t-key | \t-key | |||
| | | | | | +--:(truststore) | | | | | | | +--:(truststore) | |||
| | | | | | {truststore-sup\ | | | | | | | {truststore-sup\ | |||
\ported,ssh-host-keys}? | \ported,ssh-host-keys}? | |||
| | | | | | +--rw truststore-refe\ | | | | | | | +--rw truststore-refe\ | |||
\rence? | \rence? | |||
| | | | | | ts:host-keys-\ | | | | | | | ts:host-keys-\ | |||
\ref | \ref | |||
| | | | | +--rw ca-certs! | | | | | | +--rw ca-certs! | |||
| | | | | | {sshcmn:ssh-x509-certs\ | | | | | | | {sshcmn:ssh-x509-certs\ | |||
\,ts:x509-certificates}? | \}? | |||
| | | | | | +--rw (local-or-truststore) | | | | | | | +--rw (local-or-truststore) | |||
| | | | | | +--:(local) | | | | | | | +--:(local) | |||
| | | | | | | {local-definiti\ | | | | | | | | {local-definiti\ | |||
\ons-supported}? | \ons-supported}? | |||
| | | | | | | +--rw local-definition | | | | | | | | +--rw local-definition | |||
| | | | | | | +--rw cert* | | | | | | | | +--rw cert* | |||
| | | | | | | | trust-anch\ | | | | | | | | | trust-anch\ | |||
\or-cert-cms | \or-cert-cms | |||
| | | | | | | +---n certificate-\ | | | | | | | | +---n certificate-\ | |||
\expiration | \expiration | |||
skipping to change at page 64, line 51 ¶ | skipping to change at page 64, line 43 ¶ | |||
\te-and-time | \te-and-time | |||
| | | | | | +--:(truststore) | | | | | | | +--:(truststore) | |||
| | | | | | {truststore-sup\ | | | | | | | {truststore-sup\ | |||
\ported,x509-certificates}? | \ported,x509-certificates}? | |||
| | | | | | +--rw truststore-refe\ | | | | | | | +--rw truststore-refe\ | |||
\rence? | \rence? | |||
| | | | | | ts:certificat\ | | | | | | | ts:certificat\ | |||
\es-ref | \es-ref | |||
| | | | | +--rw client-certs! | | | | | | +--rw client-certs! | |||
| | | | | {sshcmn:ssh-x509-certs\ | | | | | | {sshcmn:ssh-x509-certs\ | |||
\,ts:x509-certificates}? | \}? | |||
| | | | | +--rw (local-or-truststore) | | | | | | +--rw (local-or-truststore) | |||
| | | | | +--:(local) | | | | | | +--:(local) | |||
| | | | | | {local-definiti\ | | | | | | | {local-definiti\ | |||
\ons-supported}? | \ons-supported}? | |||
| | | | | | +--rw local-definition | | | | | | | +--rw local-definition | |||
| | | | | | +--rw cert* | | | | | | | +--rw cert* | |||
| | | | | | | trust-anch\ | | | | | | | | trust-anch\ | |||
\or-cert-cms | \or-cert-cms | |||
| | | | | | +---n certificate-\ | | | | | | | +---n certificate-\ | |||
\expiration | \expiration | |||
skipping to change at page 65, line 48 ¶ | skipping to change at page 65, line 40 ¶ | |||
| | | | +--rw mac | | | | | +--rw mac | |||
| | | | +--rw mac-alg* identityref | | | | | +--rw mac-alg* identityref | |||
| | | +--rw keepalives! {ssh-server-keepalives}? | | | | +--rw keepalives! {ssh-server-keepalives}? | |||
| | | +--rw max-wait? uint16 | | | | +--rw max-wait? uint16 | |||
| | | +--rw max-attempts? uint8 | | | | +--rw max-attempts? uint8 | |||
| | +--rw netconf-server-parameters | | | +--rw netconf-server-parameters | |||
| | +--rw client-identification | | | +--rw client-identification | |||
| | +--rw cert-maps | | | +--rw cert-maps | |||
| | +--rw cert-to-name* [id] | | | +--rw cert-to-name* [id] | |||
| | +--rw id uint32 | | | +--rw id uint32 | |||
| | +--rw fingerprint | | | +--rw fingerprint? | |||
| | | x509c2n:tls-fingerprint | | | | x509c2n:tls-fingerprint | |||
| | +--rw map-type identityref | | | +--rw map-type identityref | |||
| | +--rw name string | | | +--rw name string | |||
| +--:(tls) {tls-listen}? | | +--:(tls) {tls-listen}? | |||
| +--rw tls | | +--rw tls | |||
| +--rw tcp-server-parameters | | +--rw tcp-server-parameters | |||
| | +--rw local-address inet:ip-address | | | +--rw local-address inet:ip-address | |||
| | +--rw local-port? inet:port-number | | | +--rw local-port? inet:port-number | |||
| | +--rw keepalives! {keepalives-supported}? | | | +--rw keepalives! {keepalives-supported}? | |||
| | +--rw idle-time uint16 | | | +--rw idle-time uint16 | |||
| | +--rw max-probes uint16 | | | +--rw max-probes uint16 | |||
| | +--rw probe-interval uint16 | | | +--rw probe-interval uint16 | |||
| +--rw tls-server-parameters | | +--rw tls-server-parameters | |||
| | +--rw server-identity | | | +--rw server-identity | |||
| | | +--rw (local-or-keystore) | | | | +--rw (local-or-keystore) | |||
| | | +--:(local) | | | | +--:(local) | |||
| | | | {local-definitions-supported}? | | | | | {local-definitions-supported}? | |||
| | | | +--rw local-definition | | | | | +--rw local-definition | |||
| | | | +--rw algorithm | | | | | +--rw algorithm | |||
| | | | | asymmetric-key-algorithm-t | | | | | | iasa:asymmetric-algorithm\ | |||
\-type | ||||
| | | | +--rw public-key-format? | | | | | +--rw public-key-format? | |||
| | | | | identityref | | | | | | identityref | |||
| | | | +--rw public-key | | | | | +--rw public-key | |||
| | | | | binary | | | | | | binary | |||
| | | | +--rw private-key-format? | | | | | +--rw private-key-format? | |||
| | | | | identityref | | | | | | identityref | |||
| | | | +--rw (private-key-type) | | | | | +--rw (private-key-type) | |||
| | | | | +--:(private-key) | | | | | | +--:(private-key) | |||
| | | | | | +--rw private-key? | | | | | | | +--rw private-key? | |||
| | | | | | binary | | | | | | | binary | |||
skipping to change at page 67, line 34 ¶ | skipping to change at page 67, line 27 ¶ | |||
| | | | +--:(required) | | | | | +--:(required) | |||
| | | | | +--rw required? | | | | | | +--rw required? | |||
| | | | | empty | | | | | | empty | |||
| | | | +--:(optional) | | | | | +--:(optional) | |||
| | | | +--rw optional? | | | | | +--rw optional? | |||
| | | | empty | | | | | empty | |||
| | | +--rw (local-or-external) | | | | +--rw (local-or-external) | |||
| | | +--:(local) | | | | +--:(local) | |||
| | | | {local-client-auth-supported}? | | | | | {local-client-auth-supported}? | |||
| | | | +--rw ca-certs! | | | | | +--rw ca-certs! | |||
| | | | | {ts:x509-certificates}? | ||||
| | | | | +--rw (local-or-truststore) | | | | | | +--rw (local-or-truststore) | |||
| | | | | +--:(local) | | | | | | +--:(local) | |||
| | | | | | {local-definitions-su\ | | | | | | | {local-definitions-su\ | |||
\pported}? | \pported}? | |||
| | | | | | +--rw local-definition | | | | | | | +--rw local-definition | |||
| | | | | | +--rw cert* | | | | | | | +--rw cert* | |||
| | | | | | | trust-anchor-cer\ | | | | | | | | trust-anchor-cer\ | |||
\t-cms | \t-cms | |||
| | | | | | +---n certificate-expira\ | | | | | | | +---n certificate-expira\ | |||
\tion | \tion | |||
| | | | | | +-- expiration-date | | | | | | | +-- expiration-date | |||
| | | | | | yang:date-and\ | | | | | | | yang:date-and\ | |||
\-time | \-time | |||
| | | | | +--:(truststore) | | | | | | +--:(truststore) | |||
| | | | | {truststore-supported\ | | | | | | {truststore-supported\ | |||
\,x509-certificates}? | \,x509-certificates}? | |||
| | | | | +--rw truststore-reference? | | | | | | +--rw truststore-reference? | |||
| | | | | ts:certificates-ref | | | | | | ts:certificates-ref | |||
| | | | +--rw client-certs! | | | | | +--rw client-certs! | |||
| | | | {ts:x509-certificates}? | ||||
| | | | +--rw (local-or-truststore) | | | | | +--rw (local-or-truststore) | |||
| | | | +--:(local) | | | | | +--:(local) | |||
| | | | | {local-definitions-su\ | | | | | | {local-definitions-su\ | |||
\pported}? | \pported}? | |||
| | | | | +--rw local-definition | | | | | | +--rw local-definition | |||
| | | | | +--rw cert* | | | | | | +--rw cert* | |||
| | | | | | trust-anchor-cer\ | | | | | | | trust-anchor-cer\ | |||
\t-cms | \t-cms | |||
| | | | | +---n certificate-expira\ | | | | | | +---n certificate-expira\ | |||
\tion | \tion | |||
skipping to change at page 68, line 44 ¶ | skipping to change at page 68, line 35 ¶ | |||
| | | +--rw cipher-suites | | | | +--rw cipher-suites | |||
| | | +--rw cipher-suite* identityref | | | | +--rw cipher-suite* identityref | |||
| | +--rw keepalives! {tls-server-keepalives}? | | | +--rw keepalives! {tls-server-keepalives}? | |||
| | +--rw max-wait? uint16 | | | +--rw max-wait? uint16 | |||
| | +--rw max-attempts? uint8 | | | +--rw max-attempts? uint8 | |||
| +--rw netconf-server-parameters | | +--rw netconf-server-parameters | |||
| +--rw client-identification | | +--rw client-identification | |||
| +--rw cert-maps | | +--rw cert-maps | |||
| +--rw cert-to-name* [id] | | +--rw cert-to-name* [id] | |||
| +--rw id uint32 | | +--rw id uint32 | |||
| +--rw fingerprint | | +--rw fingerprint? | |||
| | x509c2n:tls-fingerprint | | | x509c2n:tls-fingerprint | |||
| +--rw map-type identityref | | +--rw map-type identityref | |||
| +--rw name string | | +--rw name string | |||
+--rw call-home! {ssh-call-home or tls-call-home}? | +--rw call-home! {ssh-call-home or tls-call-home}? | |||
+--rw netconf-client* [name] | +--rw netconf-client* [name] | |||
+--rw name string | +--rw name string | |||
+--rw endpoints | +--rw endpoints | |||
| +--rw endpoint* [name] | | +--rw endpoint* [name] | |||
| +--rw name string | | +--rw name string | |||
| +--rw (transport) | | +--rw (transport) | |||
skipping to change at page 69, line 35 ¶ | skipping to change at page 69, line 26 ¶ | |||
| | | | +--rw (host-key-type) | | | | | +--rw (host-key-type) | |||
| | | | +--:(public-key) | | | | | +--:(public-key) | |||
| | | | | +--rw public-key | | | | | | +--rw public-key | |||
| | | | | +--rw (local-or-keystore) | | | | | | +--rw (local-or-keystore) | |||
| | | | | +--:(local) | | | | | | +--:(local) | |||
| | | | | | {local-defin\ | | | | | | | {local-defin\ | |||
\itions-supported}? | \itions-supported}? | |||
| | | | | | +--rw local-defini\ | | | | | | | +--rw local-defini\ | |||
\tion | \tion | |||
| | | | | | +--rw algorithm | | | | | | | +--rw algorithm | |||
| | | | | | | asymmet\ | | | | | | | | iasa:as\ | |||
\ric-key-algorithm-t | \ymmetric-algorithm-type | |||
| | | | | | +--rw public-ke\ | | | | | | | +--rw public-ke\ | |||
\y-format? | \y-format? | |||
| | | | | | | identit\ | | | | | | | | identit\ | |||
\yref | \yref | |||
| | | | | | +--rw public-key | | | | | | | +--rw public-key | |||
| | | | | | | binary | | | | | | | | binary | |||
| | | | | | +--rw private-k\ | | | | | | | +--rw private-k\ | |||
\ey-format? | \ey-format? | |||
| | | | | | | identit\ | | | | | | | | identit\ | |||
\yref | \yref | |||
skipping to change at page 71, line 5 ¶ | skipping to change at page 70, line 44 ¶ | |||
| | | | +--rw certificate | | | | | +--rw certificate | |||
| | | | {sshcmn:ssh-x509-ce\ | | | | | {sshcmn:ssh-x509-ce\ | |||
\rts}? | \rts}? | |||
| | | | +--rw (local-or-keystore) | | | | | +--rw (local-or-keystore) | |||
| | | | +--:(local) | | | | | +--:(local) | |||
| | | | | {local-defin\ | | | | | | {local-defin\ | |||
\itions-supported}? | \itions-supported}? | |||
| | | | | +--rw local-defini\ | | | | | | +--rw local-defini\ | |||
\tion | \tion | |||
| | | | | +--rw algorithm | | | | | | +--rw algorithm | |||
| | | | | | asymmet\ | | | | | | | iasa:as\ | |||
\ric-key-algorithm-t | \ymmetric-algorithm-type | |||
| | | | | +--rw public-ke\ | | | | | | +--rw public-ke\ | |||
\y-format? | \y-format? | |||
| | | | | | identit\ | | | | | | | identit\ | |||
\yref | \yref | |||
| | | | | +--rw public-key | | | | | | +--rw public-key | |||
| | | | | | binary | | | | | | | binary | |||
| | | | | +--rw private-k\ | | | | | | +--rw private-k\ | |||
\ey-format? | \ey-format? | |||
| | | | | | identit\ | | | | | | | identit\ | |||
\yref | \yref | |||
skipping to change at page 73, line 4 ¶ | skipping to change at page 72, line 44 ¶ | |||
| | | | +--rw supported-authentication-metho\ | | | | | +--rw supported-authentication-metho\ | |||
\ds | \ds | |||
| | | | | +--rw publickey? empty | | | | | | +--rw publickey? empty | |||
| | | | | +--rw passsword? empty | | | | | | +--rw passsword? empty | |||
| | | | | +--rw hostbased? empty | | | | | | +--rw hostbased? empty | |||
| | | | | +--rw none? empty | | | | | | +--rw none? empty | |||
| | | | | +--rw other* string | | | | | | +--rw other* string | |||
| | | | +--rw (local-or-external) | | | | | +--rw (local-or-external) | |||
| | | | +--:(local) | | | | | +--:(local) | |||
| | | | | {local-client-auth-suppo\ | | | | | | {local-client-auth-suppo\ | |||
\rted}? | \rted}? | |||
| | | | | +--rw users | | | | | | +--rw users | |||
| | | | | +--rw user* [name] | | | | | | +--rw user* [name] | |||
| | | | | +--rw name | | | | | | +--rw name | |||
| | | | | | string | | | | | | | string | |||
| | | | | +--rw password? | | | | | | +--rw password? | |||
| | | | | | ianach:crypt-hash | | | | | | | ianach:crypt-hash | |||
| | | | | +--rw host-keys! | | | | | | +--rw host-keys! | |||
| | | | | | {ts:ssh-host-key\ | ||||
\s}? | ||||
| | | | | | +--rw (local-or-trust\ | | | | | | | +--rw (local-or-trust\ | |||
\store) | \store) | |||
| | | | | | +--:(local) | | | | | | | +--:(local) | |||
| | | | | | | {local-de\ | | | | | | | | {local-de\ | |||
\finitions-supported}? | \finitions-supported}? | |||
| | | | | | | +--rw local-def\ | | | | | | | | +--rw local-def\ | |||
\inition | \inition | |||
| | | | | | | +--rw host-k\ | | | | | | | | +--rw host-k\ | |||
\ey* | \ey* | |||
| | | | | | | ct:s\ | | | | | | | | ct:s\ | |||
\sh-host-key | \sh-host-key | |||
skipping to change at page 73, line 35 ¶ | skipping to change at page 73, line 24 ¶ | |||
\sh-host-key | \sh-host-key | |||
| | | | | | +--:(truststore) | | | | | | | +--:(truststore) | |||
| | | | | | {truststo\ | | | | | | | {truststo\ | |||
\re-supported,ssh-host-keys}? | \re-supported,ssh-host-keys}? | |||
| | | | | | +--rw truststor\ | | | | | | | +--rw truststor\ | |||
\e-reference? | \e-reference? | |||
| | | | | | ts:host\ | | | | | | | ts:host\ | |||
\-keys-ref | \-keys-ref | |||
| | | | | +--rw ca-certs! | | | | | | +--rw ca-certs! | |||
| | | | | | {sshcmn:ssh-x509\ | | | | | | | {sshcmn:ssh-x509\ | |||
\-certs,ts:x509-certificates}? | \-certs}? | |||
| | | | | | +--rw (local-or-trust\ | | | | | | | +--rw (local-or-trust\ | |||
\store) | \store) | |||
| | | | | | +--:(local) | | | | | | | +--:(local) | |||
| | | | | | | {local-de\ | | | | | | | | {local-de\ | |||
\finitions-supported}? | \finitions-supported}? | |||
| | | | | | | +--rw local-def\ | | | | | | | | +--rw local-def\ | |||
\inition | \inition | |||
| | | | | | | +--rw cert* | | | | | | | | +--rw cert* | |||
| | | | | | | | trus\ | | | | | | | | | trus\ | |||
\t-anchor-cert-cms | \t-anchor-cert-cms | |||
skipping to change at page 74, line 12 ¶ | skipping to change at page 73, line 50 ¶ | |||
\ang:date-and-time | \ang:date-and-time | |||
| | | | | | +--:(truststore) | | | | | | | +--:(truststore) | |||
| | | | | | {truststo\ | | | | | | | {truststo\ | |||
\re-supported,x509-certificates}? | \re-supported,x509-certificates}? | |||
| | | | | | +--rw truststor\ | | | | | | | +--rw truststor\ | |||
\e-reference? | \e-reference? | |||
| | | | | | ts:cert\ | | | | | | | ts:cert\ | |||
\ificates-ref | \ificates-ref | |||
| | | | | +--rw client-certs! | | | | | | +--rw client-certs! | |||
| | | | | {sshcmn:ssh-x509\ | | | | | | {sshcmn:ssh-x509\ | |||
\-certs,ts:x509-certificates}? | \-certs}? | |||
| | | | | +--rw (local-or-trust\ | | | | | | +--rw (local-or-trust\ | |||
\store) | \store) | |||
| | | | | +--:(local) | | | | | | +--:(local) | |||
| | | | | | {local-de\ | | | | | | | {local-de\ | |||
\finitions-supported}? | \finitions-supported}? | |||
| | | | | | +--rw local-def\ | | | | | | | +--rw local-def\ | |||
\inition | \inition | |||
| | | | | | +--rw cert* | | | | | | | +--rw cert* | |||
| | | | | | | trus\ | | | | | | | | trus\ | |||
\t-anchor-cert-cms | \t-anchor-cert-cms | |||
skipping to change at page 75, line 16 ¶ | skipping to change at page 75, line 5 ¶ | |||
| | | | +--rw mac-alg* identityref | | | | | +--rw mac-alg* identityref | |||
| | | +--rw keepalives! | | | | +--rw keepalives! | |||
| | | {ssh-server-keepalives}? | | | | {ssh-server-keepalives}? | |||
| | | +--rw max-wait? uint16 | | | | +--rw max-wait? uint16 | |||
| | | +--rw max-attempts? uint8 | | | | +--rw max-attempts? uint8 | |||
| | +--rw netconf-server-parameters | | | +--rw netconf-server-parameters | |||
| | +--rw client-identification | | | +--rw client-identification | |||
| | +--rw cert-maps | | | +--rw cert-maps | |||
| | +--rw cert-to-name* [id] | | | +--rw cert-to-name* [id] | |||
| | +--rw id uint32 | | | +--rw id uint32 | |||
| | +--rw fingerprint | | | +--rw fingerprint? | |||
| | | x509c2n:tls-fingerprint | | | | x509c2n:tls-fingerprint | |||
| | +--rw map-type | | | +--rw map-type | |||
| | | identityref | | | | identityref | |||
| | +--rw name string | | | +--rw name string | |||
| +--:(tls) {tls-call-home}? | | +--:(tls) {tls-call-home}? | |||
| +--rw tls | | +--rw tls | |||
| +--rw tcp-client-parameters | | +--rw tcp-client-parameters | |||
| | +--rw remote-address inet:host | | | +--rw remote-address inet:host | |||
| | +--rw remote-port? inet:port-number | | | +--rw remote-port? inet:port-number | |||
| | +--rw local-address? inet:ip-address | | | +--rw local-address? inet:ip-address | |||
skipping to change at page 75, line 43 ¶ | skipping to change at page 75, line 32 ¶ | |||
| | +--rw max-probes uint16 | | | +--rw max-probes uint16 | |||
| | +--rw probe-interval uint16 | | | +--rw probe-interval uint16 | |||
| +--rw tls-server-parameters | | +--rw tls-server-parameters | |||
| | +--rw server-identity | | | +--rw server-identity | |||
| | | +--rw (local-or-keystore) | | | | +--rw (local-or-keystore) | |||
| | | +--:(local) | | | | +--:(local) | |||
| | | | {local-definitions-suppo\ | | | | | {local-definitions-suppo\ | |||
\rted}? | \rted}? | |||
| | | | +--rw local-definition | | | | | +--rw local-definition | |||
| | | | +--rw algorithm | | | | | +--rw algorithm | |||
| | | | | asymmetric-key-algo\ | | | | | | iasa:asymmetric-alg\ | |||
\rithm-t | \orithm-type | |||
| | | | +--rw public-key-format? | | | | | +--rw public-key-format? | |||
| | | | | identityref | | | | | | identityref | |||
| | | | +--rw public-key | | | | | +--rw public-key | |||
| | | | | binary | | | | | | binary | |||
| | | | +--rw private-key-format? | | | | | +--rw private-key-format? | |||
| | | | | identityref | | | | | | identityref | |||
| | | | +--rw (private-key-type) | | | | | +--rw (private-key-type) | |||
| | | | | +--:(private-key) | | | | | | +--:(private-key) | |||
| | | | | | +--rw private-key? | | | | | | | +--rw private-key? | |||
| | | | | | binary | | | | | | | binary | |||
skipping to change at page 77, line 17 ¶ | skipping to change at page 77, line 5 ¶ | |||
\fref | \fref | |||
| | +--rw client-authentication! | | | +--rw client-authentication! | |||
| | | +--rw (required-or-optional) | | | | +--rw (required-or-optional) | |||
| | | | +--:(required) | | | | | +--:(required) | |||
| | | | | +--rw required? | | | | | | +--rw required? | |||
| | | | | empty | | | | | | empty | |||
| | | | +--:(optional) | | | | | +--:(optional) | |||
| | | | +--rw optional? | | | | | +--rw optional? | |||
| | | | empty | | | | | empty | |||
| | | +--rw (local-or-external) | | | | +--rw (local-or-external) | |||
| | | | +--:(local) | | | | +--:(local) | |||
| | | | | {local-client-auth-suppo\ | | | | | {local-client-auth-suppo\ | |||
\rted}? | \rted}? | |||
| | | | | +--rw ca-certs! | | | | | +--rw ca-certs! | |||
| | | | | | {ts:x509-certificates}? | | | | | | +--rw (local-or-truststore) | |||
| | | | | | +--rw (local-or-truststore) | | | | | | +--:(local) | |||
| | | | | | +--:(local) | | | | | | | {local-definiti\ | |||
| | | | | | | {local-definiti\ | ||||
\ons-supported}? | \ons-supported}? | |||
| | | | | | | +--rw local-definition | | | | | | | +--rw local-definition | |||
| | | | | | | +--rw cert* | | | | | | | +--rw cert* | |||
| | | | | | | | trust-anch\ | | | | | | | | trust-anch\ | |||
\or-cert-cms | \or-cert-cms | |||
| | | | | | | +---n certificate-\ | | | | | | | +---n certificate-\ | |||
\expiration | \expiration | |||
| | | | | | | +-- expiration-\ | | | | | | | +-- expiration-\ | |||
\date | \date | |||
| | | | | | | yang:da\ | | | | | | | yang:da\ | |||
\te-and-time | \te-and-time | |||
| | | | | | +--:(truststore) | | | | | | +--:(truststore) | |||
| | | | | | {truststore-sup\ | | | | | | {truststore-sup\ | |||
\ported,x509-certificates}? | \ported,x509-certificates}? | |||
| | | | | | +--rw truststore-refe\ | | | | | | +--rw truststore-refe\ | |||
\rence? | \rence? | |||
| | | | | | ts:certificat\ | | | | | | ts:certificat\ | |||
\es-ref | \es-ref | |||
| | | | | +--rw client-certs! | | | | | +--rw client-certs! | |||
| | | | | {ts:x509-certificates}? | | | | | +--rw (local-or-truststore) | |||
| | | | | +--rw (local-or-truststore) | | | | | +--:(local) | |||
| | | | | +--:(local) | | | | | | {local-definiti\ | |||
| | | | | | {local-definiti\ | ||||
\ons-supported}? | \ons-supported}? | |||
| | | | | | +--rw local-definition | | | | | | +--rw local-definition | |||
| | | | | | +--rw cert* | | | | | | +--rw cert* | |||
| | | | | | | trust-anch\ | | | | | | | trust-anch\ | |||
\or-cert-cms | \or-cert-cms | |||
| | | | | | +---n certificate-\ | | | | | | +---n certificate-\ | |||
\expiration | \expiration | |||
| | | | | | +-- expiration-\ | | | | | | +-- expiration-\ | |||
\date | \date | |||
| | | | | | yang:da\ | | | | | | yang:da\ | |||
\te-and-time | \te-and-time | |||
| | | | | +--:(truststore) | | | | | +--:(truststore) | |||
| | | | | {truststore-sup\ | | | | | {truststore-sup\ | |||
\ported,x509-certificates}? | \ported,x509-certificates}? | |||
| | | | | +--rw truststore-refe\ | | | | | +--rw truststore-refe\ | |||
\rence? | \rence? | |||
| | | | | ts:certificat\ | | | | | ts:certificat\ | |||
\es-ref | \es-ref | |||
| | | | +--:(external) | | | | +--:(external) | |||
| | | | {external-client-auth-su\ | | | | {external-client-auth-su\ | |||
\pported}? | \pported}? | |||
| | | | +--rw client-auth-defined-else\ | | | | +--rw client-auth-defined-else\ | |||
\where? | \where? | |||
| | | | empty | | | | empty | |||
| | | +--rw cert-maps | ||||
| | | +--rw cert-to-name* [id] | ||||
| | | +--rw id uint32 | ||||
| | | +--rw fingerprint | ||||
| | | | x509c2n:tls-fingerprint | ||||
| | | +--rw map-type | ||||
| | | | identityref | ||||
| | | +--rw name string | ||||
| | +--rw hello-params | | | +--rw hello-params | |||
| | | {tls-server-hello-params-config\ | | | | {tls-server-hello-params-config\ | |||
\}? | \}? | |||
| | | +--rw tls-versions | | | | +--rw tls-versions | |||
| | | | +--rw tls-version* identityref | | | | | +--rw tls-version* identityref | |||
| | | +--rw cipher-suites | | | | +--rw cipher-suites | |||
| | | +--rw cipher-suite* identityref | | | | +--rw cipher-suite* identityref | |||
| | +--rw keepalives! | | | +--rw keepalives! | |||
| | {tls-server-keepalives}? | | | {tls-server-keepalives}? | |||
| | +--rw max-wait? uint16 | | | +--rw max-wait? uint16 | |||
| | +--rw max-attempts? uint8 | | | +--rw max-attempts? uint8 | |||
| +--rw netconf-server-parameters | | +--rw netconf-server-parameters | |||
| +--rw client-identification | | +--rw client-identification | |||
| +--rw cert-maps | | +--rw cert-maps | |||
| +--rw cert-to-name* [id] | | +--rw cert-to-name* [id] | |||
| +--rw id uint32 | | +--rw id uint32 | |||
| +--rw fingerprint | | +--rw fingerprint? | |||
| | x509c2n:tls-fingerprint | | | x509c2n:tls-fingerprint | |||
| +--rw map-type | | +--rw map-type | |||
| | identityref | | | identityref | |||
| +--rw name string | | +--rw name string | |||
+--rw connection-type | +--rw connection-type | |||
| +--rw (connection-type) | | +--rw (connection-type) | |||
| +--:(persistent-connection) | | +--:(persistent-connection) | |||
| | +--rw persistent! | | | +--rw persistent! | |||
| +--:(periodic-connection) | | +--:(periodic-connection) | |||
| +--rw periodic! | | +--rw periodic! | |||
skipping to change at page 82, line 26 ¶ | skipping to change at page 82, line 5 ¶ | |||
o Updated examples to reflect ietf-crypto-types change (e.g., | o Updated examples to reflect ietf-crypto-types change (e.g., | |||
identities --> enumerations) | identities --> enumerations) | |||
B.15. 14 to 15 | B.15. 14 to 15 | |||
o Refactored both the client and server modules similar to how the | o Refactored both the client and server modules similar to how the | |||
ietf-restconf-server module was refactored in -13 of that draft, | ietf-restconf-server module was refactored in -13 of that draft, | |||
and the ietf-restconf-client grouping. | and the ietf-restconf-client grouping. | |||
B.16. 15 to 16 | ||||
o Added refinement to make "cert-to-name/fingerprint" be mandatory | ||||
false. | ||||
o Commented out refinement to "tls-server-grouping/client- | ||||
authentication" until a better "must" expression is defined. | ||||
Acknowledgements | Acknowledgements | |||
The authors would like to thank for following for lively discussions | The authors would like to thank for following for lively discussions | |||
on list and in the halls (ordered by last name): Andy Bierman, Martin | on list and in the halls (ordered by last name): Andy Bierman, Martin | |||
Bjorklund, Benoit Claise, Ramkumar Dhanapal, Mehmet Ersue, Balazs | Bjorklund, Benoit Claise, Ramkumar Dhanapal, Mehmet Ersue, Balazs | |||
Kovacs, David Lamparter, Alan Luchuk, Ladislav Lhotka, Radek Krejci, | Kovacs, David Lamparter, Alan Luchuk, Ladislav Lhotka, Radek Krejci, | |||
Tom Petch, Juergen Schoenwaelder, Phil Shafer, Sean Turner, and Bert | Tom Petch, Juergen Schoenwaelder, Phil Shafer, Sean Turner, and Bert | |||
Wijnen. | Wijnen. | |||
Author's Address | Author's Address | |||
End of changes. 101 change blocks. | ||||
173 lines changed or deleted | 145 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |