aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-access-points.yang
diff options
context:
space:
mode:
authorAndrej Kozemcak <andrej.kozemcak@pantheon.tech>2018-12-20 17:49:33 +0100
committerAndrej Kozemcak <andrej.kozemcak@pantheon.tech>2018-12-20 17:51:10 +0100
commit639509ad42f8bd6baf9b6f5b668a9bbfb05108d4 (patch)
tree83de866d2e47bd71dae0c6ff9e03f51c3269413b /src/plugins/yang/openconfig/openconfig-access-points.yang
parentba089324594f450a1b549906ec7fde1ba63a1e89 (diff)
Add Openconfig YANG modules.
Change-Id: I7e98bf1ca7196cff042a35b8bf096d2ea9d80028 Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-access-points.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-access-points.yang168
1 files changed, 168 insertions, 0 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-access-points.yang b/src/plugins/yang/openconfig/openconfig-access-points.yang
new file mode 100644
index 0000000..7665814
--- /dev/null
+++ b/src/plugins/yang/openconfig/openconfig-access-points.yang
@@ -0,0 +1,168 @@
+module openconfig-access-points {
+
+ yang-version "1";
+
+ // namespace
+ namespace "http://openconfig.net/yang/wifi/access-points";
+
+ // Assign this module a prefix to be used by other modules, when imported.
+ prefix "access-points";
+
+ // Imports
+ import openconfig-extensions { prefix oc-ext; }
+ import openconfig-inet-types { prefix oc-inet; }
+ import openconfig-wifi-phy { prefix wifi-phy; }
+ import openconfig-wifi-mac { prefix wifi-mac; }
+ import openconfig-system { prefix oc-sys; }
+
+ // Meta
+ organization "OpenConfig working group";
+
+ contact
+ "OpenConfig working group
+ www.openconfig.net";
+
+ description
+ "This module defines the top level WiFi Configurations for a list of
+ Access Points.";
+
+ oc-ext:openconfig-version "0.1.0";
+
+ revision "2018-02-14" {
+ description
+ "Initial version";
+ reference "0.1.0";
+ }
+
+ grouping assigned-ap-managers-config {
+ description
+ "AP Manager(s) an AP may join. If cloud manager, this will be
+ the cloud instance(s). This is often referred to as 'Controller'.";
+
+ leaf id {
+ type string;
+ description
+ "The unique reference for the AP manager described in the list entry.";
+ }
+
+ leaf fqdn {
+ type oc-inet:domain-name;
+ description
+ "The FQDN of a manager this AP is assigned to. The list should be
+ ordered, according to priority. eg Primary first,
+ Secondary second, Tertiary third etc.";
+ }
+
+ leaf ap-manager-ipv4-address {
+ type oc-inet:ipv4-address;
+ description
+ "IPv4 address of a manager for this AP. The list should be
+ ordered, according to priority. eg. Primary first, Secondary second,
+ Tertiary third etc.";
+ }
+
+ leaf-list ap-manager-ipv6-address {
+ type oc-inet:ipv6-address;
+ description
+ "IPv6 address of a manager for this AP. The list should be
+ ordered, according to priority. eg. Primary first, Secondary second,
+ Tertiary third etc.";
+ }
+ }
+
+ grouping assigned-ap-managers-state {
+ description
+ "Manager(s) an AP may join. If cloud manager, this will be
+ the cloud instance(s).";
+
+ leaf joined {
+ type boolean;
+ description
+ "True only if this AP is currently joined to a manager. If this AP
+ is configured to join manager(s), however is not currently joined
+ to any manager, this MUST return False.";
+ }
+ }
+
+ grouping manager-ap-parameters-top {
+ description
+ "Top-level grouping for assigning AP's to manager(s).";
+
+ container assigned-ap-managers {
+ description
+ "Wireless manager(s) this AP is assigned to. eg. Primary
+ Secondary, Tertiary etc.";
+
+ list ap-manager {
+ key "id";
+ description
+ "Manager(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] manager(s) this AP
+ is assigned to.";
+ }
+
+ container config {
+ description
+ "Config. container for assigning APs to managers.";
+
+ uses assigned-ap-managers-config;
+ }
+
+ container state {
+ config false;
+ description
+ "State container for APs assigned to managers.";
+
+ uses assigned-ap-managers-config;
+ uses assigned-ap-managers-state;
+ }
+ }
+ }
+ }
+
+ grouping access-points-top {
+ description
+ "Top-level grouping for AP configuration & state data.";
+
+ container access-points {
+ description
+ "Top most container for configuration and state data for Access
+ Points.";
+
+ list access-point {
+ key "hostname";
+ description
+ "Configuration and state data for the access point referenced in the
+ list entry.";
+
+ leaf hostname {
+ type oc-inet:domain-name;
+ description
+ "AP FQDN";
+ }
+
+ uses wifi-phy:radio-top;
+ uses wifi-mac:ssid-top;
+ uses wifi-mac:bssid-counters-top;
+ uses oc-sys:system-top;
+ uses manager-ap-parameters-top;
+ }
+ }
+ }
+ uses access-points-top;
+
+ // hostname is set using openconfig-wifi-aps model.
+ deviation /oc-sys:system/oc-sys:config/oc-sys:hostname {
+ deviate not-supported;
+ }
+
+ deviation /oc-sys:system/oc-sys:state/oc-sys:hostname {
+ deviate not-supported;
+ }
+}