netconfcentral logo

ietf-bfd-mpls@2017-10-30



  module ietf-bfd-mpls {

    yang-version 1;

    namespace
      "urn:ietf:params:xml:ns:yang:ietf-bfd-mpls";

    prefix bfd-mpls;

    import ietf-bfd-types {
      prefix bfd-types;
    }
    import ietf-bfd {
      prefix bfd;
    }
    import ietf-inet-types {
      prefix inet;
    }
    import ietf-routing {
      prefix rt;
    }

    organization "IETF BFD Working Group";

    contact
      "WG Web:   <http://tools.ietf.org/wg/bfd>
     WG List:  <rtg-bfd@ietf.org>

     Editors:   Reshad Rahman (rrahman@cisco.com),
                Lianshu Zheng (vero.zheng@huawei.com),
                Mahesh Jethanandani (mjethanandani@gmail.com)";

    description
      "This module contains the YANG definition for BFD parameters for
     MPLS LSPs as per RFC5884.

     Copyright (c) 2017 IETF Trust and the persons
     identified as authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject
     to the license terms contained in, the Simplified BSD License
     set forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (http://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX; see
     the RFC itself for full legal notices.";

    revision "2017-10-30" {
      description "Initial revision.";
      reference
        "RFC XXXX: A YANG data model for BFD over MPLS LSPs";

    }


    identity encap-gach {
      base bfd-types:encap-type;
      description
        "BFD with G-ACh encapsulation as per RFC5586.";
    }

    identity encap-ip-gach {
      base bfd-types:encap-type;
      description
        "BFD with IP and G-ACh encapsulation as per RFC5586.";
    }

    grouping encap-cfg {
      description
        "Configuration for BFD encapsulation";
      leaf encap {
        type identityref {
          base bfd-types:encap-type;
        }
        default 'encap-ip';
        description "BFD encapsulation";
      }
    }  // grouping encap-cfg

    grouping mpls-dest-address {
      description
        "Destination address as per RFC5884";
      leaf mpls-dest-address {
        type inet:ip-address;
        config false;
        description
          "Destination address as per RFC5884.
         Needed if IP encapsulation is used";
      }
    }  // grouping mpls-dest-address

    augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/bfd:bfd {
      description
        "BFD augmentation for MPLS";
      container mpls {
        description
          "BFD MPLS top level container";
        uses bfd-types:session-statistics;

        container egress {
          description "Egress configuration";
          uses bfd-types:client-cfg-parms;

          uses bfd-types:auth-parms;
        }  // container egress

        list session-group {
          key "mpls-fec";
          description
            "Group of BFD MPLS sessions (for ECMP). A group of "
              + "sessions is for 1 FEC, each session has a different "
              + "field in UDP/IP hdr for ECMP.";
          leaf mpls-fec {
            type inet:ip-prefix;
            description "MPLS FEC";
          }

          uses bfd-types:common-cfg-parms;

          list sessions {
            config false;
            description
              "The BFD sessions for an MPLS FEC. Local "
                + "discriminator is unique for each session in the "
                + "group.";
            uses bfd-types:all-session;

            uses bfd-mpls:mpls-dest-address;
          }  // list sessions
        }  // list session-group
      }  // container mpls
    }

    notification mpls-notification {
      description
        "Notification for BFD over MPLS FEC session state change. "
          + "An implementation may rate-limit notifications, e.g. when a"
          + "session is continuously changing state.";
      uses bfd-types:notification-parms;

      leaf mpls-dest-address {
        type inet:ip-address;
        description
          "Destination address as per RFC5884.
         Needed if IP encapsulation is used";
      }
    }  // notification mpls-notification
  }  // module ietf-bfd-mpls