ietf-bfd-lag

This module contains the YANG definition for BFD-over-LAG interfaces as per RFC 7130. Copyright (c) 2022 IETF Trust and the per...

  • Version: 2022-09-22

    ietf-bfd-lag@2022-09-22


    
      module ietf-bfd-lag {
    
        yang-version 1.1;
    
        namespace
          "urn:ietf:params:xml:ns:yang:ietf-bfd-lag";
    
        prefix bfd-lag;
    
        import ietf-bfd-types {
          prefix bfd-types;
          reference
            "RFC 9314: YANG Data Model for Bidirectional Forwarding
            Detection (BFD)";
    
    
        }
        import ietf-bfd {
          prefix bfd;
          reference
            "RFC 9314: YANG Data Model for Bidirectional Forwarding
            Detection (BFD)";
    
    
        }
        import ietf-interfaces {
          prefix if;
          reference
            "RFC 8343: A YANG Data Model for Interface Management";
    
    
        }
        import ietf-inet-types {
          prefix inet;
          reference
            "RFC 6991: Common YANG Data Types";
    
    
        }
        import ietf-routing {
          prefix rt;
          reference
            "RFC 8349: A YANG Data Model for Routing Management
            (NMDA Version)";
    
    
        }
    
        organization "IETF BFD Working Group";
    
        contact
          "WG Web:   <https://datatracker.ietf.org/wg/bfd/>
         WG List:  <mailto:rtg-bfd@ietf.org>
    
         Editor:   Reshad Rahman
                   <mailto:reshad@yahoo.com>
    
         Editor:   Lianshu Zheng
                   <mailto:veronique_cheng@hotmail.com>
    
         Editor:   Mahesh Jethanandani
                   <mailto:mjethanandani@gmail.com>";
    
        description
          "This module contains the YANG definition for BFD-over-LAG
         interfaces as per RFC 7130.
    
         Copyright (c) 2022 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 Revised BSD License set
         forth in Section 4.c of the IETF Trust's Legal Provisions
         Relating to IETF Documents
         (https://trustee.ietf.org/license-info).
    
         This version of this YANG module is part of RFC 9314; see the
         RFC itself for full legal notices.";
    
        reference
          "RFC 7130: Bidirectional Forwarding Detection (BFD) on
          Link Aggregation Group (LAG) Interfaces
           RFC 9314: YANG Data Model for Bidirectional Forwarding
          Detection (BFD)";
    
    
        revision "2022-09-22" {
          description
            "Updating reference to RFC 9314.";
          reference
            "RFC 9314: YANG Data Model for Bidirectional Forwarding
            Detection (BFD).";
    
        }
    
        revision "2021-10-21" {
          description "Initial revision.";
          reference
            "RFC 9127: YANG Data Model for Bidirectional Forwarding
            Detection (BFD)";
    
        }
    
    
        augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/bfd:bfd {
          description
            "BFD augmentation for a LAG.";
          container lag {
            description
              "BFD-over-LAG top-level container.";
            container micro-bfd-ipv4-session-statistics {
              description
                "Micro-BFD IPv4 session counters.";
              uses bfd-types:session-statistics-summary;
            }  // container micro-bfd-ipv4-session-statistics
    
            container micro-bfd-ipv6-session-statistics {
              description
                "Micro-BFD IPv6 session counters.";
              uses bfd-types:session-statistics-summary;
            }  // container micro-bfd-ipv6-session-statistics
    
            container sessions {
              description
                "BFD-over-LAG sessions.";
              list session {
                key "lag-name";
                description
                  "List of BFD-over-LAG sessions.";
                leaf lag-name {
                  type if:interface-ref;
                  description "Name of the LAG.";
                }
    
                leaf ipv4-dest-addr {
                  type inet:ipv4-address;
                  description
                    "IPv4 address of the peer, for IPv4 micro-BFD.";
                }
    
                leaf ipv6-dest-addr {
                  type inet:ipv6-address;
                  description
                    "IPv6 address of the peer, for IPv6 micro-BFD.";
                }
    
                uses bfd-types:common-cfg-parms;
    
                leaf use-ipv4 {
                  type boolean;
                  description
                    "Using IPv4 micro-BFD.";
                }
    
                leaf use-ipv6 {
                  type boolean;
                  description
                    "Using IPv6 micro-BFD.";
                }
    
                list member-links {
                  key "member-link";
                  config false;
                  description
                    "Micro-BFD over a LAG.  This represents one
                   member link.";
                  leaf member-link {
                    type if:interface-ref;
                    description
                      "Member link on which micro-BFD is running.";
                  }
    
                  container micro-bfd-ipv4 {
                    when
                      "../../use-ipv4 = 'true'" {
                      description
                        "Needed only if IPv4 is used.";
                    }
                    description
                      "Micro-BFD IPv4 session state on a member link.";
                    uses bfd-types:all-session;
                  }  // container micro-bfd-ipv4
    
                  container micro-bfd-ipv6 {
                    when
                      "../../use-ipv6 = 'true'" {
                      description
                        "Needed only if IPv6 is used.";
                    }
                    description
                      "Micro-BFD IPv6 session state on a member link.";
                    uses bfd-types:all-session;
                  }  // container micro-bfd-ipv6
                }  // list member-links
              }  // list session
            }  // container sessions
          }  // container lag
        }
    
        notification lag-notification {
          description
            "Notification for BFD-over-LAG session state change.
           An implementation may rate-limit notifications, e.g., when a
           session is continuously changing state.";
          uses bfd-types:notification-parms;
    
          leaf lag-name {
            type if:interface-ref;
            description "LAG interface name.";
          }
    
          leaf member-link {
            type if:interface-ref;
            description
              "Member link on which BFD is running.";
          }
        }  // notification lag-notification
      }  // module ietf-bfd-lag
    

© 2023 YumaWorks, Inc. All rights reserved.