Skip to main content

YANG Data Model for IS-IS Segment Routing
draft-ietf-isis-sr-yang-03

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Active".
Authors Stephane Litkowski , Yingzhen Qu , Pushpasis Sarkar , Ing-Wher (Helen) Chen , Jeff Tantsura
Last updated 2018-02-25 (Latest revision 2018-01-15)
RFC stream Internet Engineering Task Force (IETF)
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state WG Document
Document shepherd (None)
IESG IESG state I-D Exists
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ietf-isis-sr-yang-03
Litkowski, et al.         Expires July 19, 2018                [Page 11]
Internet-Draft                  isis-cfg                    January 2018

       list sid-list {
         key value;

         leaf flags {
           type bits {
             bit address-family {
               position 7;
               description
                "If unset, then the Adj-SID refers
               to an adjacency with outgoing IPv4 encapsulation.
               If set then the Adj-SID refers to an adjacency
               with outgoing IPv6 encapsulation.";
             }
             bit backup {
               position 6;
               description
                "If set, the Adj-SID refers to an
               adjacency being protected
               (e.g.: using IPFRR or MPLS-FRR)";
             }
             bit value {
               position 5;
               description
               "If set, then the SID carries a
               value (instead of an index).
               By default the flag is SET.";

             }
             bit local {
               position 4;
               description
               "If set, then the value/index carried by
               the SID has local significance.
               By default the flag is SET.";
             }
             bit set {
               position 3;
               description
               "When set, the S-Flag indicates that the
               Adj-SID refers to a set of adjacencies.";
             }
             bit persistent {
               position 2;
               description
               "When set, the P-Flag indicates that the
                     Adj-SID is persistently allocated.";
             }

Litkowski, et al.         Expires July 19, 2018                [Page 12]
Internet-Draft                  isis-cfg                    January 2018

           }

           description
            "Describes flags associated with the
            segment ID.";
         }
         leaf weight {
           type uint8;
           description
            "The value represents the weight of the Adj-SID
             for the purpose of load balancing.";
         }
         leaf neighbor-id {
           type isis:system-id;
           description
            "Describes the system ID of the neighbor
            associated with the SID value. This is only
            used on LAN adjacencies.";
         }
         leaf value {
           type uint32;
           description
            "Value of the Adj-SID.";
         }
         description
          "List of segments.";
       }

     }
     grouping segment-routing-binding-tlv {
     list segment-routing-bindings {

         key "fec range";

         leaf fec {
           type string;
           description
           "IP (v4 or v6) range to be bound to SIDs.";
         }

         leaf range {
           type uint16;
           description
            "Describes number of elements to assign
            a binding to.";
         }

         leaf flags {

Litkowski, et al.         Expires July 19, 2018                [Page 13]
Internet-Draft                  isis-cfg                    January 2018

           type bits {
             bit address-family {
               position 7;
               description
               "If unset, then the Prefix FEC
               carries an IPv4 Prefix.
               If set then the Prefix FEC carries an
               IPv6 Prefix.";
             }
             bit mirror {
               position 6;
               description
               "Set if the advertised SID/path
               corresponds to a mirrored context.
               ";
             }
             bit flooding {
               position 5;
               description
                "If the S bit is set(1),
                the IS-IS Router CAPABILITY TLV
               MUST be flooded across the entire routing domain.
               If the S bit is
               not set(0), the TLV MUST NOT be leaked between levels.
               This bit MUST NOT be altered during the TLV leaking.";
             }
             bit down {
               position 4;
               description
               "When the IS-IS Router CAPABILITY TLV is
               leaked from level-2 to level-1, the D bit
               MUST be set.  Otherwise, this bit MUST
               be clear.  IS-IS Router capability TLVs
               with the D bit set MUST NOT
               be leaked from level-1 to level-2.
               This is to prevent TLV looping.
               ";
             }
             bit attached {
               position 3;
               description
               "The originator of the SID/Label Binding
               TLV MAY set the A bit in order to signal
               that the prefixes and
               SIDs advertised in the SID/Label Binding
               TLV are directly
               connected to their originators.
               ";

Litkowski, et al.         Expires July 19, 2018                [Page 14]
Internet-Draft                  isis-cfg                    January 2018

             }

           }
           description
              "Flags of the binding.";
         }

         container binding {
           container prefix-sid {
             uses prefix-segment-id;
             description
              "Binding prefix SID to the range.";
           }
           description
            "Bindings associated with the range.";
         }

         description
          "This container describes list of SID/Label
          bindings.
          ISIS reference is TLV 149.";
       }
       description
        "Defines binding TLV for database.";

     }
     /* Cfg */

     augment "/rt:routing/" +
           "rt:control-plane-protocols/rt:control-plane-protocol"+
           "/isis:isis" {
       when "/rt:routing/rt:control-plane-protocols/"+
           "rt:control-plane-protocol/rt:type = 'isis:isis'" {
         description
         "This augment ISIS routing protocol when used";
       }
       description
        "This augments ISIS protocol configuration
         with segment routing.";

       uses sr:controlplane-cfg;
       container protocol-srgb {
            if-feature sr:protocol-srgb;
            uses sr-cmn:srgb-cfg;
            description
              "Per-protocol SRGB.";
          }
     }

Litkowski, et al.         Expires July 19, 2018                [Page 15]
Internet-Draft                  isis-cfg                    January 2018

      augment "/rt:routing/" +
           "rt:control-plane-protocols/rt:control-plane-protocol"+
           "/isis:isis/isis:interfaces/isis:interface" {
       when "/rt:routing/rt:control-plane-protocols/"+
           "rt:control-plane-protocol/rt:type = 'isis:isis'" {
         description
         "This augment ISIS routing protocol when used";
       }
       description
        "This augments ISIS protocol configuration
         with segment routing.";

       uses sr:igp-interface-cfg;
     }

      augment "/rt:routing/" +
           "rt:control-plane-protocols/rt:control-plane-protocol"+
           "/isis:isis/isis:interfaces/isis:interface"+
           "/isis:fast-reroute" {
       when "/rt:routing/rt:control-plane-protocols/"+
           "rt:control-plane-protocol/rt:type = 'isis:isis'" {
         description
         "This augment ISIS routing protocol when used";
       }
       description
        "This augments ISIS IP FRR with TILFA.";

       container ti-lfa {
           if-feature ti-lfa;
           leaf enable {
               type boolean;
               description
                "Enables TI-LFA computation.";
           }
           description
            "TILFA configuration.";
       }

     }

     augment "/rt:routing/" +
           "rt:control-plane-protocols/rt:control-plane-protocol"+
           "/isis:isis/isis:interfaces/isis:interface"+
           "/isis:fast-reroute/isis:lfa/isis:remote-lfa" {
       when "/rt:routing/rt:control-plane-protocols/"+
           "rt:control-plane-protocol/rt:type = 'isis:isis'" {
         description
         "This augment ISIS routing protocol when used";

Litkowski, et al.         Expires July 19, 2018                [Page 16]
Internet-Draft                  isis-cfg                    January 2018

       }
       description
        "This augments ISIS remoteLFA config with
        use of segment-routing path.";

       leaf use-segment-routing-path {
           if-feature remote-lfa-sr;
           type boolean;
           description
            "force remote LFA to use segment routing
            path instead of LDP path.";
       }

     }

     /* Operational states */

     augment "/rt:routing/" +
           "rt:control-plane-protocols/rt:control-plane-protocol"+
           "/isis:isis/isis:interfaces/isis:interface" +
           "/isis:adjacencies/isis:adjacency" {
       when "/rt:routing/rt:control-plane-protocols/"+
           "rt:control-plane-protocol/rt:type = 'isis:isis'" {
         description
         "This augment ISIS routing protocol when used";
       }
       description
        "This augments ISIS protocol configuration
         with segment routing.";

       uses adjacency-state;
     }

     augment "/rt:routing/" +
           "rt:control-plane-protocols/rt:control-plane-protocol"+
           "/isis:isis/isis:database/isis:level-db/isis:lsp"+
           "/isis:router-capabilities" {
        when "/rt:routing/rt:control-plane-protocols/"+
           "rt:control-plane-protocol/rt:type = 'isis:isis'" {
         description
         "This augment ISIS routing protocol when used";
       }
       description

Litkowski, et al.         Expires July 19, 2018                [Page 17]
Internet-Draft                  isis-cfg                    January 2018

        "This augments ISIS protocol LSDB router capability.";

       uses sr-capability;
       uses sr-algorithm;
       uses srlb;
       uses srms-preference;

     }

     augment "/rt:routing/" +
           "rt:control-plane-protocols/rt:control-plane-protocol"+
           "/isis:isis/isis:database/isis:level-db/isis:lsp"+
           "/isis:extended-is-neighbor/isis:neighbor" {
        when "/rt:routing/rt:control-plane-protocols/"+
           "rt:control-plane-protocol/rt:type = 'isis:isis'" {
         description
         "This augment ISIS routing protocol when used";
       }
       description
        "This augments ISIS protocol LSDB neighbor.";
       uses adjacency-segment-id;

     }
     augment "/rt:routing/" +
           "rt:control-plane-protocols/rt:control-plane-protocol"+
           "/isis:isis/isis:database/isis:level-db/isis:lsp"+
           "/isis:mt-is-neighbor/isis:neighbor" {
               when "/rt:routing/rt:control-plane-protocols/"+
           "rt:control-plane-protocol/rt:type = 'isis:isis'" {
         description
         "This augment ISIS routing protocol when used";
       }
           description
        "This augments ISIS protocol LSDB neighbor.";
       uses adjacency-segment-id;
     }

     augment "/rt:routing/" +
           "rt:control-plane-protocols/rt:control-plane-protocol"+
           "/isis:isis/isis:database/isis:level-db/isis:lsp"+
           "/isis:extended-ipv4-reachability/isis:prefixes" {
               when "/rt:routing/rt:control-plane-protocols/"+
           "rt:control-plane-protocol/rt:type = 'isis:isis'" {
         description
         "This augment ISIS routing protocol when used";
       }
           description
        "This augments ISIS protocol LSDB prefix.";

Litkowski, et al.         Expires July 19, 2018                [Page 18]
Internet-Draft                  isis-cfg                    January 2018

       uses prefix-segment-id;
     }

     augment "/rt:routing/" +
           "rt:control-plane-protocols/rt:control-plane-protocol"+
           "/isis:isis/isis:database/isis:level-db/isis:lsp"+
           "/isis:mt-extended-ipv4-reachability/isis:prefixes" {
               when "/rt:routing/rt:control-plane-protocols/"+
           "rt:control-plane-protocol/rt:type = 'isis:isis'" {
         description
         "This augment ISIS routing protocol when used";
       }
           description
        "This augments ISIS protocol LSDB prefix.";
       uses prefix-segment-id;

     }
     augment "/rt:routing/" +
           "rt:control-plane-protocols/rt:control-plane-protocol"+
           "/isis:isis/isis:database/isis:level-db/isis:lsp"+
           "/isis:ipv6-reachability/isis:prefixes" {
               when "/rt:routing/rt:control-plane-protocols/"+
           "rt:control-plane-protocol/rt:type = 'isis:isis'" {
         description
         "This augment ISIS routing protocol when used";
       }
           description
        "This augments ISIS protocol LSDB prefix.";
       uses prefix-segment-id;

     }
     augment "/rt:routing/" +
           "rt:control-plane-protocols/rt:control-plane-protocol"+
           "/isis:isis/isis:database/isis:level-db/isis:lsp"+
           "/isis:mt-ipv6-reachability/isis:prefixes" {
               when "/rt:routing/rt:control-plane-protocols/"+
           "rt:control-plane-protocol/rt:type = 'isis:isis'" {
         description
         "This augment ISIS routing protocol when used";
       }
           description
        "This augments ISIS protocol LSDB prefix.";
       uses prefix-segment-id;

     }
     augment "/rt:routing/" +
           "rt:control-plane-protocols/rt:control-plane-protocol"+
           "/isis:isis/isis:database/isis:level-db/isis:lsp" {

Litkowski, et al.         Expires July 19, 2018                [Page 19]
Internet-Draft                  isis-cfg                    January 2018

           when "/rt:routing/rt:control-plane-protocols/"+
           "rt:control-plane-protocol/rt:type = 'isis:isis'" {
         description
         "This augment ISIS routing protocol when used";
       }
           description
        "This augments ISIS protocol LSDB.";
       uses segment-routing-binding-tlv;

     }

     /* Notifications */

   }

   <CODE ENDS>

5.  Security Considerations

   Configuration and state data defined in this document are designed to
   be accessed via the NETCONF protocol [RFC6241].

   As IS-IS is an IGP protocol (critical piece of the network), ensuring
   stability and security of the protocol is mandatory for the network
   service.

   Authors recommends to implement NETCONF access control model
   ([RFC6536]) to restrict access to all or part of the configuration to
   specific users.

6.  Contributors

   Authors would like to thank Derek Yeung, Acee Lindem, Yi Yang for
   their major contributions to the draft.

7.  Acknowledgements

   TBD.

8.  IANA Considerations

   The IANA is requested to assign two new URIs from the IETF XML
   registry ([RFC3688]).  Authors are suggesting the following URI:

Litkowski, et al.         Expires July 19, 2018                [Page 20]
Internet-Draft                  isis-cfg                    January 2018

       URI: urn:ietf:params:xml:ns:yang:ietf-isis-sr
       Registrant Contact: IS-IS WG
       XML: N/A, the requested URI is an XML namespace

   This document also requests one new YANG module name in the YANG
   Module Names registry ([RFC6020]) with the following suggestion :

       name: ietf-isis-sr
       namespace: urn:ietf:params:xml:ns:yang:ietf-isis-sr
       prefix: isis-sr
       reference: RFC XXXX

9.  Change log for ietf-isis-sr YANG module

9.1.  From version -02 to version -03

   o  Change address-family type according to routing types.

9.2.  From isis-sr document version -01 to version -02

   o  NMDA compliancy.

   o  Added SRLB in configuration and LSDB.

   o  Added SR capability in LSDB.

   o  Added SR algorithms in LSDB.

   o  Added SRMS preference in LSDB.

   o  Alignment with iana-rt-types module.

   o  Align binding SID with draft-ietf-isis-segment-routing-extensions-
      13.

9.3.  From isis-sr document version -00 to version -01

   o  Added P-Flag in Adj-SID.

9.4.  From isis document version -12 to isis-sr document version -00

   o  Separate document for IS-IS SR extensions.

9.5.  From isis document version -12 to version -13

   o  Align with new segment routing common module.

Litkowski, et al.         Expires July 19, 2018                [Page 21]
Internet-Draft                  isis-cfg                    January 2018

9.6.  From isis document version -09 to version -11

   o  Fixed XPATH in 'when' expressions.

9.7.  From isis document version -08 to version -09

   o  Align to draft-ietf-netmod-routing-cfg-23.

9.8.  From isis document version -07 to version -08

   o  Align to draft-ietf-netmod-routing-cfg-21.

10.  Normative References

   [I-D.ietf-isis-segment-routing-extensions]
              Previdi, S., Ginsberg, L., Filsfils, C., Bashandy, A.,
              Gredler, H., Litkowski, S., Decraene, B., and J. Tantsura,
              "IS-IS Extensions for Segment Routing", draft-ietf-isis-
              segment-routing-extensions-15 (work in progress), December
              2017.

   [I-D.ietf-isis-yang-isis-cfg]
              Litkowski, S., Yeung, D., Lindem, A., Zhang, Z., and L.
              Lhotka, "YANG Data Model for IS-IS protocol", draft-ietf-
              isis-yang-isis-cfg-19 (work in progress), November 2017.

   [I-D.ietf-spring-sr-yang]
              Litkowski, S., Qu, Y., Sarkar, P., and J. Tantsura, "YANG
              Data Model for Segment Routing", draft-ietf-spring-sr-
              yang-08 (work in progress), December 2017.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/
              RFC2119, March 1997, <https://www.rfc-editor.org/info/
              rfc2119>.

   [RFC3688]  Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
              DOI 10.17487/RFC3688, January 2004, <https://www.rfc-
              editor.org/info/rfc3688>.

   [RFC6020]  Bjorklund, M., Ed., "YANG - A Data Modeling Language for
              the Network Configuration Protocol (NETCONF)", RFC 6020,
              DOI 10.17487/RFC6020, October 2010, <https://www.rfc-
              editor.org/info/rfc6020>.

Litkowski, et al.         Expires July 19, 2018                [Page 22]
Internet-Draft                  isis-cfg                    January 2018

   [RFC6241]  Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
              and A. Bierman, Ed., "Network Configuration Protocol
              (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
              <https://www.rfc-editor.org/info/rfc6241>.

   [RFC6536]  Bierman, A. and M. Bjorklund, "Network Configuration
              Protocol (NETCONF) Access Control Model", RFC 6536, DOI
              10.17487/RFC6536, March 2012, <https://www.rfc-
              editor.org/info/rfc6536>.

   [RFC7950]  Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
              RFC 7950, DOI 10.17487/RFC7950, August 2016,
              <https://www.rfc-editor.org/info/rfc7950>.

Authors' Addresses

   Stephane Litkowski
   Orange

   Email: stephane.litkowski@orange.com

   Yinghzen Qu
   Huawei

   Email: yingzhen.qu@huawei.com

   Pushpasis Sarkar
   Individual

   Email: pushpasis.ietf@gmail.com

   Ing-Wher Chen
   Jabil

   Email: ing-wher_chen@jabil.com

   Jeff Tantsura
   Individual

   Email: jefftant.ietf@gmail.com

Litkowski, et al.         Expires July 19, 2018                [Page 23]