openconfig-fw-link-monitoring

This model defines interface groups and corresponding monitoring policies for firewall HA groups. It also provides modeling for...

  • Version: 2021-06-16

    openconfig-fw-link-monitoring@2021-06-16


    
      module openconfig-fw-link-monitoring {
    
        yang-version 1;
    
        namespace
          "http://openconfig.net/yang/openconfig-fw-link-monitoring";
    
        prefix oc-fw-linkmon;
    
        import openconfig-extensions {
          prefix oc-ext;
        }
        import openconfig-interfaces {
          prefix oc-if;
        }
    
        organization "OpenConfig working group";
    
        contact
          "OpenConfig working group
    www.openconfig.net";
    
        description
          "This model defines interface groups and corresponding monitoring
    policies for firewall HA groups.  It also provides modeling for a
    global health monitoring policy for the HA group.";
    
        revision "2021-06-16" {
          description
            "Remove trailing whitespace";
          reference
            "0.2.1";
    
        }
    
        revision "2021-03-21" {
          description
            "Removed redundandt uses statement from root node.";
          reference
            "0.2.0";
    
        }
    
        revision "2020-06-23" {
          description "Initial version";
          reference
            "0.1.0";
    
        }
    
        oc-ext:openconfig-version "0.2.1";
    
        grouping interface-group-config {
          description
            "Parameters to bundle monitored interfaces together";
          leaf id {
            type union {
              type uint8;
              type string;
            }
            description
              "Assign a unique id to an interface group";
          }
    
          leaf-list monitored-interfaces {
            type oc-if:base-interface-ref;
            description
              "Interface being monitored";
          }
    
          leaf group-policy {
            type enumeration {
              enum "ANY" {
                value 0;
                description
                  "Group status is DOWN if the status of ANY interface
    within the group is down.";
              }
              enum "ALL" {
                value 1;
                description
                  "Group status is DOWN if the status of ALL interfaces
    within the group are down.";
              }
            }
            description
              "Determines how the State of monitored-interfaces is used to
    determine the State of the group they are a member of";
          }
        }  // grouping interface-group-config
    
        grouping interface-group-state {
          description
            "State data associated with the interface groups";
          leaf group-status {
            type enumeration {
              enum "UP" {
                value 0;
                description "Group status is UP";
              }
              enum "DOWN" {
                value 1;
                description
                  "Group status is DOWN";
              }
            }
            description
              "The status of this interface group";
          }
        }  // grouping interface-group-state
    
        grouping global-health-config {
          description
            "Configuration parameters used to drive the decision criteria to
    determine the global health of the interface monitoring state
    machine. The global health is a derivative of the status of the
     individual interface groups";
          leaf global-health-policy {
            type enumeration {
              enum "ANY" {
                value 0;
                description
                  "Global health is DOWN if ANY of the monitored interface
    groups are DOWN";
              }
              enum "ALL" {
                value 1;
                description
                  "Global health is DOWN if ALL of the monitored interface
    groups are DOWN";
              }
            }
            description
              "Global health values associated with the interface monitoring
    state machine";
          }
        }  // grouping global-health-config
    
        grouping global-health-state {
          description
            "State parameters associated with the global health of the
    interface monitoring state machine";
          leaf global-health-status {
            type enumeration {
              enum "UP" {
                value 0;
                description
                  "Global interface monitoring status is UP";
              }
              enum "DOWN" {
                value 1;
                description
                  "Global interface monitoring status is DOWN";
              }
            }
            description
              "Global interface monitoring status";
          }
        }  // grouping global-health-state
    
        grouping interface-group-top {
          description
            "Top level grouping for monitored interface-groups";
          container interface-groups {
            description
              "Top level container for monitored interface groups";
            list interface-group {
              key "id";
              description
                "List of interface groups being monitored";
              leaf id {
                type leafref {
                  path "../config/id";
                }
                description
                  "Reference to the interface-group key used to bundle
    interfaces in a logical group";
              }
    
              container config {
                description
                  "Configuration parameters for the interface-groups";
                uses interface-group-config;
              }  // container config
    
              container state {
                config false;
                description
                  "State container for monitored interface-groups.";
                uses interface-group-config;
    
                uses interface-group-state;
              }  // container state
            }  // list interface-group
          }  // container interface-groups
        }  // grouping interface-group-top
      }  // module openconfig-fw-link-monitoring
    

© 2023 YumaWorks, Inc. All rights reserved.