netconfcentral logo


  module ietf-bfd-ip-mh {

    yang-version 1;


    prefix bfd-ip-mh;

    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";

      "WG Web:   <>
     WG List:  <>

     Editors:  Reshad Rahman (,
               Lianshu Zheng (,
               Mahesh Jethanandani (";

      "This module contains the YANG definition for BFD IP multi-hop
     as per RFC5883.

     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

     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.";
        "RFC XXXX: A YANG data model for BFD IP multi-hop";


    augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/bfd:bfd {
        "BFD augmentation for IP multi-hop";
      container ip-mh {
          "BFD IP multi-hop top level container";
        uses bfd-types:session-statistics;

        list session-group {
          key "source-addr dest-addr";
            "Group of BFD IP multi-hop sessions (for ECMP). A "
              + "group of sessions is between 1 source and 1  "
              + "destination, each session has a different field "
              + "in UDP/IP hdr for ECMP.";
          leaf source-addr {
            type inet:ip-address;
            description "Local IP address";

          leaf dest-addr {
            type inet:ip-address;
              "IP address of the peer";

          uses bfd-types:common-cfg-parms;

          leaf tx-ttl {
            type bfd-types:hops;
            default '255';
              "Hop count of outgoing BFD control packets";

          leaf rx-ttl {
            type bfd-types:hops;
            mandatory true;
              "Minimum allowed hop count value for incoming BFD control
             packets. Control packets whose hop count is lower than this
                   value are dropped.";

          list sessions {
            config false;
              "The multiple BFD sessions between a source and a "
                + "destination.";
            uses bfd-types:all-session;
          }  // list sessions
        }  // list session-group
      }  // container ip-mh

    notification multihop-notification {
        "Notification for BFD multi-hop session state change. An "
          + "implementation may rate-limit notifications, e.g. when a"
          + "session is continuously changing state.";
      uses bfd-types:notification-parms;
    }  // notification multihop-notification
  }  // module ietf-bfd-ip-mh