Skip to main content

A YANG Data Model for MPLS Base
RFC 8960

Document Type RFC - Proposed Standard (December 2020) Errata
Authors Tarek Saad , Syed Kamran Raza , Rakesh Gandhi , Xufeng Liu , Vishnu Pavan Beeram
Last updated 2022-08-02
RFC stream Internet Engineering Task Force (IETF)
Formats
Additional resources Mailing list discussion
IESG Responsible AD Deborah Brungard
Send notices to (None)
RFC 8960
NETCONF Working Group                                          K. Watsen
Internet-Draft                                           Watsen Networks
Intended status: Standards Track                           17 April 2023
Expires: 19 October 2023

                   RESTCONF Client and Server Models
              draft-ietf-netconf-restconf-client-server-29

Abstract

   This document defines two YANG modules, one module to configure a
   RESTCONF client and the other module to configure a RESTCONF server.
   Both modules support the TLS transport protocol with both standard
   RESTCONF and RESTCONF Call Home connections.

Editorial Note (To be removed by RFC Editor)

   This draft contains placeholder values that need to be replaced with
   finalized values at the time of publication.  This note summarizes
   all of the substitutions that are needed.  No other RFC Editor
   instructions are specified elsewhere in this document.

   Artwork in this document contains shorthand references to drafts in
   progress.  Please apply the following replacements (note: not all may
   be present):

   *  AAAA --> the assigned RFC value for draft-ietf-netconf-crypto-
      types

   *  BBBB --> the assigned RFC value for draft-ietf-netconf-trust-
      anchors

   *  CCCC --> the assigned RFC value for draft-ietf-netconf-keystore

   *  DDDD --> the assigned RFC value for draft-ietf-netconf-tcp-client-
      server

   *  EEEE --> the assigned RFC value for draft-ietf-netconf-ssh-client-
      server

   *  FFFF --> the assigned RFC value for draft-ietf-netconf-tls-client-
      server

   *  GGGG --> the assigned RFC value for draft-ietf-netconf-http-
      client-server

Watsen                   Expires 19 October 2023                [Page 1]
Internet-Draft      RESTCONF Client and Server Models         April 2023

   *  HHHH --> the assigned RFC value for draft-ietf-netconf-netconf-
      client-server

   *  IIII --> the assigned RFC value for this draft

   Artwork in this document contains placeholder values for the date of
   publication of this draft.  Please apply the following replacement:

   *  2023-04-17 --> the publication date of this draft

   The "Relation to other RFCs" section Section 1.1 contains the text
   "one or more YANG modules" and, later, "modules".  This text is
   sourced from a file in a context where it is unknown how many modules
   a draft defines.  The text is not wrong as is, but it may be improved
   by stating more directly how many modules are defined.

   The "Relation to other RFCs" section Section 1.1 contains a self-
   reference to this draft, along with a corresponding Informative
   Reference in the Appendix.

   The following Appendix section is to be removed prior to publication:

   *  Appendix A.  Change Log

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 19 October 2023.

Copyright Notice

   Copyright (c) 2023 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

Watsen                   Expires 19 October 2023                [Page 2]
Internet-Draft      RESTCONF Client and Server Models         April 2023

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (https://trustee.ietf.org/
   license-info) in effect on the date of publication of this document.
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.  Code Components
   extracted from this document must include Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   4
     1.1.  Relation to other RFCs  . . . . . . . . . . . . . . . . .   4
     1.2.  Specification Language  . . . . . . . . . . . . . . . . .   6
     1.3.  Adherence to the NMDA . . . . . . . . . . . . . . . . . .   6
     1.4.  Conventions . . . . . . . . . . . . . . . . . . . . . . .   6
   2.  The "ietf-restconf-client" Module . . . . . . . . . . . . . .   6
     2.1.  Data Model Overview . . . . . . . . . . . . . . . . . . .   6
     2.2.  Example Usage . . . . . . . . . . . . . . . . . . . . . .  11
     2.3.  YANG Module . . . . . . . . . . . . . . . . . . . . . . .  15
   3.  The "ietf-restconf-server" Module . . . . . . . . . . . . . .  26
     3.1.  Data Model Overview . . . . . . . . . . . . . . . . . . .  26
     3.2.  Example Usage . . . . . . . . . . . . . . . . . . . . . .  31
     3.3.  YANG Module . . . . . . . . . . . . . . . . . . . . . . .  35
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .  48
     4.1.  The "ietf-restconf-client" YANG Module  . . . . . . . . .  48
     4.2.  The "ietf-restconf-server" YANG Module  . . . . . . . . .  49
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  49
     5.1.  The "IETF XML" Registry . . . . . . . . . . . . . . . . .  49
     5.2.  The "YANG Module Names" Registry  . . . . . . . . . . . .  50
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  50
     6.1.  Normative References  . . . . . . . . . . . . . . . . . .  50
     6.2.  Informative References  . . . . . . . . . . . . . . . . .  51
   Appendix A.  Change Log . . . . . . . . . . . . . . . . . . . . .  53
     A.1.  00 to 01  . . . . . . . . . . . . . . . . . . . . . . . .  53
     A.2.  01 to 02  . . . . . . . . . . . . . . . . . . . . . . . .  53
     A.3.  02 to 03  . . . . . . . . . . . . . . . . . . . . . . . .  53
     A.4.  03 to 04  . . . . . . . . . . . . . . . . . . . . . . . .  53
     A.5.  04 to 05  . . . . . . . . . . . . . . . . . . . . . . . .  54
     A.6.  05 to 06  . . . . . . . . . . . . . . . . . . . . . . . .  54
     A.7.  06 to 07  . . . . . . . . . . . . . . . . . . . . . . . .  54
     A.8.  07 to 08  . . . . . . . . . . . . . . . . . . . . . . . .  54
     A.9.  08 to 09  . . . . . . . . . . . . . . . . . . . . . . . .  54
     A.10. 09 to 10  . . . . . . . . . . . . . . . . . . . . . . . .  55
     A.11. 10 to 11  . . . . . . . . . . . . . . . . . . . . . . . .  55
     A.12. 11 to 12  . . . . . . . . . . . . . . . . . . . . . . . .  55
     A.13. 12 to 13  . . . . . . . . . . . . . . . . . . . . . . . .  55
     A.14. 13 to 14  . . . . . . . . . . . . . . . . . . . . . . . .  56

Watsen                   Expires 19 October 2023                [Page 3]
Internet-Draft      RESTCONF Client and Server Models         April 2023

     A.15. 14 to 15  . . . . . . . . . . . . . . . . . . . . . . . .  56
     A.16. 15 to 16  . . . . . . . . . . . . . . . . . . . . . . . .  56
     A.17. 16 to 17  . . . . . . . . . . . . . . . . . . . . . . . .  56
     A.18. 17 to 18  . . . . . . . . . . . . . . . . . . . . . . . .  57
     A.19. 18 to 19  . . . . . . . . . . . . . . . . . . . . . . . .  57
     A.20. 19 to 20  . . . . . . . . . . . . . . . . . . . . . . . .  57
     A.21. 20 to 21  . . . . . . . . . . . . . . . . . . . . . . . .  57
     A.22. 21 to 22  . . . . . . . . . . . . . . . . . . . . . . . .  57
     A.23. 22 to 23  . . . . . . . . . . . . . . . . . . . . . . . .  57
     A.24. 23 to 24  . . . . . . . . . . . . . . . . . . . . . . . .  57
     A.25. 24 to 25  . . . . . . . . . . . . . . . . . . . . . . . .  58
     A.26. 25 to 26  . . . . . . . . . . . . . . . . . . . . . . . .  58
     A.27. 26 to 27  . . . . . . . . . . . . . . . . . . . . . . . .  58
     A.28. 27 to 28  . . . . . . . . . . . . . . . . . . . . . . . .  58
     A.29. 28 to 29  . . . . . . . . . . . . . . . . . . . . . . . .  58
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .  58
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  58

1.  Introduction

   This document defines two YANG [RFC7950] modules, one module to
   configure a RESTCONF client and the other module to configure a
   RESTCONF server [RFC8040].  Both modules support the TLS [RFC8446]
   transport protocol with both standard RESTCONF and RESTCONF Call Home
   connections [RFC8071].

1.1.  Relation to other RFCs

   This document presents one or more YANG modules [RFC7950] that are
   part of a collection of RFCs that work together to, ultimately,
   enable the configuration of both the clients and servers of both the
   NETCONF [RFC6241] and RESTCONF [RFC8040] protocols.

   The normative dependency relationship between the various RFCs in
   this collection is presented in the below diagram.  The labels in the
   diagram represent the primary purpose provided by each RFC.  URLs for
   each RFC are provided below the diagram.

Watsen                   Expires 19 October 2023                [Page 4]
Internet-Draft      RESTCONF Client and Server Models         April 2023

                                  ":
                   "198.51.100.2/32",
                   "ietf-mpls:route-context":"SID-IDX:2"
                 }
               ]
             }
           },
           {
             "name":"RIB-V6",
             "address-family":
             "ietf-ipv6-unicast-routing:v6ur:ipv6-unicast",
             "routes":{
               "route":[
                 {
                   "next-hop":{
                     "outgoing-interface":"eth0",
                     "ietf-mpls:mpls-label-stack":{
                       "entry":[
                         {
                           "id":1,
                           "label":16003,
                           "ttl":255
                         }
                       ]
                     },
                     "ietf-ipv6-unicast-routing:next-hop-address":
                     "2001:db8:0:1::1"
                   },
                   "source-protocol":"ietf-isis:isis",
                   "ietf-mpls:mpls-enabled":true,
                   "ietf-mpls:mpls-local-label":16003,
                   "ietf-ipv6-unicast-routing:destination-prefix":
                   "2001:db8:0:10::1/128",
                   "ietf-mpls:route-context":"SID-IDX:3"
                 },
                 {
                   "next-hop":{
                     "next-hop-list":{
                       "next-hop":[
                         {
                           "outgoing-interface":"eth0",
                           "ietf-mpls:index":"1",
                           "ietf-mpls:backup-index":"2",
                           "ietf-mpls:role":"primary-and-backup",
                           "ietf-mpls:mpls-label-stack":{
                             "entry":[
                               {
                                 "id":1,
                                 "label":16004,
                                 "ttl":255
                               }
                             ]
                           },
                           "ietf-ipv6-unicast-routing:address":
                           "2001:db8:0:1::1"
                         },
                         {
                           "outgoing-interface":"eth1",
                           "ietf-mpls:index":"2",
                           "ietf-mpls:backup-index":"1",
                           "ietf-mpls:role":"primary-and-backup",
                           "ietf-mpls:mpls-label-stack":{
                             "entry":[
                               {
                                 "id":1,
                                 "label":16004,
                                 "ttl":255
                               }
                             ]
                           },
                           "ietf-ipv6-unicast-routing:address":
                           "2001:db8:0:2::1"
                         }
                       ]
                     }
                   },
                   "source-protocol":"ietf-isis:isis",
                   "ietf-mpls:mpls-enabled":true,
                   "ietf-mpls:mpls-local-label":16004,
                   "ietf-ipv6-unicast-routing:destination-prefix":
                   "2001:db8:0:10::2/128",
                   "ietf-mpls:route-context":"SID-IDX:4"
                 }
               ]
             }
           },
           {
             "name":"RIB-MPLS",
             "address-family":"ietf-mpls:mpls:mpls",
             "routes":{
               "route":[
                 {
                   "next-hop":{
                     "outgoing-interface":"eth0",
                     "ietf-mpls:mpls-label-stack":{
                       "entry":[
                         {
                           "id":1,
                           "label":24002,
                           "ttl":255
                         }
                       ]
                     },
                     "ietf-ipv4-unicast-routing:next-hop-address":
                     "192.0.2.5"
                   },
                   "source-protocol":"ietf-rsvp:rsvp",
                   "ietf-mpls:mpls-enabled":true,
                   "ietf-mpls:mpls-local-label":24001,
                   "ietf-mpls:destination-prefix":"24001",
                   "ietf-mpls:route-context":
                   "RSVP Src:198.51.100.3,Dst:198.51.100.4,T:10,L:1"
                 }
               ]
             }
           }
         ]
       },
       "ietf-mpls:mpls":{
         "mpls-label-blocks":{
           "mpls-label-block":[
             {
              "index":"mpls-srgb-label-block",
              "start-label":16000,
              "end-label":16500,
              "block-allocation-mode":
              "ietf-mpls:label-block-alloc-mode-manager"
             }
           ]
         },
         "interfaces":{
           "interface":[
             {
               "name":"eth0",
               "mpls-enabled":true,
               "maximum-labeled-packet":1488
             },
             {
               "name":"eth1",
               "mpls-enabled":true,
               "maximum-labeled-packet":1488
             }
           ]
         }
       }
     }
   }

                    Figure 6: Instance Data Tree Example

Acknowledgments

   The authors would like to thank Xia Chen for her contributions to the
   early draft revisions of this document.

Contributors

   Igor Bryskin
   Huawei Technologies

   Email: i_bryskin@yahoo.com

   Himanshu Shah
   Ciena

   Email: hshah@ciena.com

Authors' Addresses

   Tarek Saad
   Juniper Networks

   Email: tsaad@juniper.net

   Kamran Raza
   Cisco Systems, Inc.

   Email: skraza@cisco.com

   Rakesh Gandhi
   Cisco Systems, Inc.

   Email: rgandhi@cisco.com

   Xufeng Liu
   Volta Networks

   Email: xufeng.liu.ietf@gmail.com

   Vishnu Pavan Beeram
   Juniper Networks

   Email: vbeeram@juniper.net