netconfcentral logo

openconfig-system-wifi-ext

HTML

openconfig-system-wifi-ext@2017-10-01



  module openconfig-system-wifi-ext {

    yang-version 1;

    namespace
      "http://openconfig.net/yang/wifi";

    prefix oc-system-wifi-ext;

    import openconfig-yang-types {
      prefix oc-yang;
    }
    import openconfig-extensions {
      prefix oc-ext;
    }
    import openconfig-inet-types {
      prefix oc-inet;
    }
    import openconfig-wifi-types {
      prefix oc-wifi;
    }
    import openconfig-system {
      prefix oc-sys;
    }

    organization "OpenConfig working group";

    contact
      "OpenConfig working group
    www.openconfig.net";

    description
      "Model for managing Controller-specific Config & State for
    system-level elements. This explicitly excludes any 802.11
    MAC/PHY layer elements.";

    revision "2017-10-01" {
      description
        "Add country-code and hostname to MAC.";
      reference
        "0.2.0";

    }

    revision "2017-07-25" {
      description "Initial revision";
      reference
        "0.1.0";

    }

    oc-ext:openconfig-version "0.1.0";

    grouping assigned-controllers-config {
      description
        "Controller(s) an AP may join. If cloud controller, this will be
      the cloud instance(s). This config is applied to APs, not Controllers,
      which is in-line with APs being the top-level network element.";
      leaf id {
        type string;
        description
          "id serves as a reference point to the [1-n] Controller(s) this AP
        is assigned to.";
      }

      leaf fqdn {
        type oc-inet:domain-name;
        description
          "The FQDN of a Controller this AP is assigned to. The list should be
        ordered, according to priority. eg Primary first,
        Secondary second, Tertiary third etc.";
      }

      leaf controller-ipv4-address {
        type oc-inet:ipv4-address;
        description
          "IPv4 address of Controller for this AP. The list should be
        ordered, according to priority. eg. Primary first, Secondary second,
        Tertiary third etc.";
      }

      leaf-list controller-ipv6-address {
        type oc-inet:ipv6-address;
        description
          "IPv6 address of Controller for this AP. The list should be
        ordered, according to priority. eg. Primary first, Secondary second,
        Tertiary third etc.";
      }
    }  // grouping assigned-controllers-config

    grouping controller-aps-system-config {
      description
        "Grouping for Controller & AP system configuration.";
      leaf mac {
        type oc-yang:mac-address;
        description
          "MAC address of the AP primary Ethernet interface. If AP
        has multiple Ethernet interfaces, this would be the MAC printed
        on the unit label and referenced within the management system.
        Vendors MUST reject attempts to configure this leaf.";
      }

      leaf hostname {
        type oc-inet:domain-name;
        description
          "Hostname of the Access Point.";
      }

      leaf country-code {
        type string {
          pattern '[a-zA-Z]{2}';
        }
        description
          "Country code where the AP operates in ISO 3166-1 alpha-2
        representation";
      }
    }  // grouping controller-aps-system-config

    grouping controller-aps-system-state {
      description
        "Grouping for a Controller & AP system state data.";
      leaf domain-name {
        type oc-inet:domain-name;
        description
          "FQDN of the Access Point.";
      }

      leaf opstate {
        type identityref {
          base oc-wifi:AP_STATE;
        }
        description
          "The current operational state of the AP.";
      }

      leaf uptime {
        type uint32;
        units "seconds";
        description
          "Seconds this AP has been in the op-state of 'Up'.";
      }

      leaf enabled {
        type boolean;
        description
          "Wheather the AP is enabled or disabled.";
      }

      leaf serial {
        type string;
        description
          "Serial number of the Access Point.";
      }

      leaf model {
        type string;
        description
          "Model number of the Access Point.";
      }

      leaf ipv4 {
        type oc-inet:ipv4-address;
        description
          "The IPv4 address of the Access Point.";
      }

      leaf ipv6 {
        type oc-inet:ipv6-address;
        description
          "The IPv6 address of the Access Point.";
      }

      leaf power-source {
        type enumeration {
          enum "AT" {
            value 0;
            description
              "Powered using 802.3at.";
          }
          enum "AF" {
            value 1;
            description
              "Powered using 802.3af.";
          }
          enum "PLUG" {
            value 2;
            description
              "Powered using local source, not PoE.";
          }
        }
        description
          "Enumerate how the AP is being powered.";
      }
    }  // grouping controller-aps-system-state

    grouping controller-aps-system-top {
      description
        "Top-level grouping for APs assigned to controller(s).";
      container joined-aps {
        description
          "Top most container for joined-aps.";
        list joined-ap {
          key "mac";
          description
            "List of access points that have joined the controller.";
          leaf mac {
            type leafref {
              path "../config/mac";
            }
            description
              "Reference to the MAC address list key.";
          }

          container config {
            description
              "Config container for Joined APs.";
            uses controller-aps-system-config;
          }  // container config

          container state {
            config false;
            description
              "State container for Joined APs.";
            uses controller-aps-system-config;

            uses controller-aps-system-state;
          }  // container state
        }  // list joined-ap
      }  // container joined-aps
    }  // grouping controller-aps-system-top

    grouping controller-ap-parameters-top {
      description
        "Top-level grouping for assigning AP's to Controller(s).";
      container ap-assigned-controllers {
        description
          "Wireless Controller(s) this AP is assigned to. eg. Primary
        Secondary, Tertiary etc. This is config & state applied to an AP;
        not used for Controller state (eg 'joined-aps' are below).";
        list controller {
          key "id";
          description
            "Controller(s) this AP is assinged to, referenced by id.";
          leaf id {
            type leafref {
              path "../config/id";
            }
            description
              "id serves as a reference point to the [1-n] Controller(s) this AP
            is assigned to.";
          }

          container config {
            description
              "Config. container for assigning APs to Controllers.";
            uses assigned-controllers-config;
          }  // container config

          container state {
            config false;
            description
              "State container for APs assigned to Controllers.";
            uses assigned-controllers-config;
          }  // container state
        }  // list controller
      }  // container ap-assigned-controllers
    }  // grouping controller-ap-parameters-top

    augment /oc-sys:system {
      description
        "Augmentation to opeconfig-system.yang to include WiFi Controller.";
      uses controller-ap-parameters-top;

      uses controller-aps-system-top;
    }
  }  // module openconfig-system-wifi-ext

Summary

  
  
Organization OpenConfig working group
  
Module openconfig-system-wifi-ext
Version 2017-10-01
File openconfig-system-wifi-ext.yang
  
Prefix oc-system-wifi-ext
Namespace http://openconfig.net/yang/wifi
  
Cooked /cookedmodules/openconfig-system-wifi-ext/2017-10-01
YANG /src/openconfig-system-wifi-ext@2017-10-01.yang
XSD /xsd/openconfig-system-wifi-ext@2017-10-01.xsd
  
Abstract Model for managing Controller-specific Config & State for system-level elements. This explicitly excludes any 802.11 MAC/PHY lay...
  
Contact
OpenConfig working group
www.openconfig.net

Description

 
Model for managing Controller-specific Config & State for
system-level elements. This explicitly excludes any 802.11
MAC/PHY layer elements.

Groupings

Grouping Objects Abstract
assigned-controllers-config id fqdn controller-ipv4-address controller-ipv6-address Controller(s) an AP may join. If cloud controller, this will be the cloud instance(s). This config is applied to APs, not Controllers, which is in-line with APs being the top-level network element.
controller-ap-parameters-top ap-assigned-controllers Top-level grouping for assigning AP's to Controller(s).
controller-aps-system-config mac hostname country-code Grouping for Controller & AP system configuration.
controller-aps-system-state domain-name opstate uptime enabled serial model ipv4 ipv6 power-source Grouping for a Controller & AP system state data.
controller-aps-system-top joined-aps Top-level grouping for APs assigned to controller(s).