netconfcentral logo

ietf-bfd-mpls-te@2017-10-30



  module ietf-bfd-mpls-te {

    yang-version 1;

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

    prefix bfd-mpls-te;

    import ietf-bfd-types {
      prefix bfd-types;
    }
    import ietf-bfd {
      prefix bfd;
    }
    import ietf-bfd-mpls {
      prefix bfd-mpls;
    }
    import ietf-te {
      prefix te;
    }
    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 Traffic Engineering 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-TE";

    }


    augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/bfd:bfd {
      description
        "BFD augmentation for MPLS-TE";
      container mpls-te {
        description
          "BFD MPLS-TE top level container";
        container egress {
          description "Egress configuration";
          uses bfd-types:client-cfg-parms;

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

        uses bfd-types:session-statistics;
      }  // container mpls-te
    }

    augment /te:te/te:tunnels/te:tunnel {
      description
        "BFD configuration on MPLS-TE tunnel.";
      uses bfd-types:common-cfg-parms;

      uses bfd-mpls:encap-cfg;
    }

    augment /te:te/te:lsps-state/te:lsp {
      when
        "/te:te/te:lsps-state/te:lsp/te:origin-type != 'transit'" {
        description
          "BFD information not needed at transit points";
      }
      description
        "BFD state information on MPLS-TE LSP.";
      uses bfd-types:all-session;

      uses bfd-mpls:mpls-dest-address;
    }

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

      uses bfd-mpls:mpls-dest-address;

      leaf tunnel-name {
        type string;
        description
          "MPLS-TE tunnel on which BFD was running.";
      }
    }  // notification mpls-te-notification
  }  // module ietf-bfd-mpls-te