Waveserver Ai Driver support
Change-Id: I1d65e30b4b46dbad8802fd2edd9dec74b5d2ec18
revert readme
Change-Id: I32f7a9ec21f743d98cdece2ceb097fc65b784589
diff --git a/models/ciena/waveserverai/src/main/yang/ciena-waveserver-lldp@2017-06-16.yang b/models/ciena/waveserverai/src/main/yang/ciena-waveserver-lldp@2017-06-16.yang
new file mode 100644
index 0000000..1dc2385
--- /dev/null
+++ b/models/ciena/waveserverai/src/main/yang/ciena-waveserver-lldp@2017-06-16.yang
@@ -0,0 +1,1098 @@
+module ciena-waveserver-lldp {
+ namespace "urn:ciena:params:xml:ns:yang:ciena-ws:ciena-waveserver-lldp";
+ prefix lldp;
+
+ import ciena-waveserver-typedefs {
+ prefix cienawstypes;
+ }
+
+ organization
+ "Ciena Corporation";
+ contact
+ "Web URL: http://www.ciena.com/
+ Postal: 7035 Ridge Road
+ Hanover, Maryland 21076
+ U.S.A.
+ Phone: +1 800-921-1144
+ Fax: +1 410-694-5750";
+ description
+ "This module defines the configuration and operational data for Link Layer Discovery Protocol (LLDP) on the Waveserver.";
+
+ revision 2017-06-16 {
+ description
+ "Waveserver Platform Data Model
+ Migrated from Waveserver Classic R1.4 YANG model.
+ Updated namespace to 'ciena-waveserver'.
+ Changed 'port-id' from integer to string format.";
+ reference "";
+ }
+
+ typedef chassis-id {
+ type string {
+ length "1..256";
+ }
+ description
+ "Chassis Identifier";
+ }
+
+ typedef chassis-id-subtype {
+ type enumeration {
+ enum "unknown" {
+ value 0;
+ }
+ enum "chassis-component" {
+ value 1;
+ }
+ enum "interface-alias" {
+ value 2;
+ }
+ enum "port-component" {
+ value 3;
+ }
+ enum "mac-address" {
+ value 4;
+ }
+ enum "network-address" {
+ value 5;
+ }
+ enum "interface-name" {
+ value 6;
+ }
+ enum "local" {
+ value 7;
+ }
+ }
+ }
+
+ typedef lldp-system-capability-bits {
+ type bits {
+ bit other {
+ position 0;
+ }
+ bit repeater {
+ position 1;
+ }
+ bit bridge {
+ position 2;
+ }
+ bit wlan-access-point {
+ position 3;
+ }
+ bit router {
+ position 4;
+ }
+ bit telephone {
+ position 5;
+ }
+ bit docsis {
+ position 6;
+ }
+ bit station-only {
+ position 7;
+ }
+ }
+ }
+
+ typedef lldp-management-address-subtype {
+ type enumeration {
+ enum "reserved" {
+ value 0;
+ }
+ enum "ipv4" {
+ value 1;
+ }
+ enum "ipv6" {
+ value 2;
+ }
+ enum "nsap" {
+ value 3;
+ }
+ enum "hdlc" {
+ value 4;
+ }
+ enum "bbn-1822" {
+ value 5;
+ }
+ enum "ieee-802" {
+ value 6;
+ }
+ enum "e-163" {
+ value 7;
+ }
+ enum "e164-smds-atm" {
+ value 8;
+ }
+ enum "f69-telex" {
+ value 9;
+ }
+ enum "x121-x25-fr" {
+ value 10;
+ }
+ enum "ipx" {
+ value 11;
+ }
+ enum "appletalk" {
+ value 12;
+ }
+ enum "decnet-iv" {
+ value 13;
+ }
+ enum "banyan-vines" {
+ value 14;
+ }
+ enum "e164-w-nsap" {
+ value 15;
+ }
+ enum "dns" {
+ value 16;
+ }
+ enum "distinguish-name" {
+ value 17;
+ }
+ enum "as-number" {
+ value 18;
+ }
+ enum "xtp-over-ipv4" {
+ value 19;
+ }
+ enum "xtp-over-ipv6" {
+ value 20;
+ }
+ enum "xtp-native-mode" {
+ value 21;
+ }
+ enum "fibre-ch-ww-port" {
+ value 22;
+ }
+ enum "fibre-ch-ww-node" {
+ value 23;
+ }
+ enum "gwid" {
+ value 24;
+ }
+ }
+ description
+ "";
+ }
+
+ typedef lldp-management-address-interface-subtype {
+ type enumeration {
+ enum "unknown" {
+ value 0;
+ }
+ enum "un-known" {
+ value 1;
+ }
+ enum "if-index" {
+ value 2;
+ }
+ enum "system-port-number" {
+ value 3;
+ }
+ }
+ description
+ "";
+ }
+
+ typedef lldp-port-id-sub-type {
+ type enumeration {
+ enum "unknown" {
+ value 0;
+ }
+ enum "interface-alias" {
+ value 1;
+ }
+ enum "port-component" {
+ value 2;
+ }
+ enum "mac-address" {
+ value 3;
+ }
+ enum "network-address" {
+ value 4;
+ }
+ enum "interface-name" {
+ value 5;
+ }
+ enum "agent-circuit-id" {
+ value 6;
+ }
+ enum "local" {
+ value 7;
+ }
+ }
+ description
+ "Local port id sub-type.";
+ }
+
+ typedef lldp-auto-neg-capability {
+ type enumeration {
+ enum "unknown" {
+ value 0;
+ }
+ enum "b-10base-t" {
+ value 1;
+ }
+ enum "b-10base-t-fd" {
+ value 2;
+ }
+ enum "b-100base-t4" {
+ value 3;
+ }
+ enum "b-100base-tx" {
+ value 4;
+ }
+ enum "b-100base-tx-full-duplex" {
+ value 5;
+ }
+ enum "b-100base-t2" {
+ value 6;
+ }
+ enum "b-100base-t2-full-duplex" {
+ value 7;
+ }
+ enum "b-full-duplex-pause" {
+ value 8;
+ }
+ enum "b-full-duplex-asymmetric-pause" {
+ value 9;
+ }
+ enum "b-full-duplex-symmetric-pause" {
+ value 10;
+ }
+ enum "b-full-duplex-asymmetric-symmetric-pause" {
+ value 11;
+ }
+ enum "b-1000base-x" {
+ value 12;
+ }
+ enum "b-1000base-x-full-duplex" {
+ value 13;
+ }
+ enum "b-1000base-t" {
+ value 14;
+ }
+ enum "b-1000base-t-full-duplex" {
+ value 15;
+ }
+ }
+ }
+
+ typedef lldp-operational-mau-type {
+ type enumeration {
+ enum "unknown" {
+ value 0;
+ }
+ enum "dot3-mau-type-aui" {
+ value 1;
+ }
+ enum "dot3-mau-type-10-base-5" {
+ value 2;
+ }
+ enum "dot3-mau-type-foirl" {
+ value 3;
+ }
+ enum "dot3-mau-type-10-base-2" {
+ value 4;
+ }
+ enum "dot3-mau-type-10-base-t" {
+ value 5;
+ }
+ enum "dot3-mau-type-10-base-fp" {
+ value 6;
+ }
+ enum "dot3-mau-type-10-base-fb" {
+ value 7;
+ }
+ enum "dot3-mau-type-10-base-fl" {
+ value 8;
+ }
+ enum "dot3-mau-type-10-broad36" {
+ value 9;
+ }
+ enum "dot3-mau-type-10-base-thd" {
+ value 10;
+ }
+ enum "dot3-mau-type-10-base-tfd" {
+ value 11;
+ }
+ enum "dot3-mau-type-10-base-flhd" {
+ value 12;
+ }
+ enum "dot3-mau-type-10-base-flfd" {
+ value 13;
+ }
+ enum "dot3-mau-type-100-base-t4" {
+ value 14;
+ }
+ enum "dot3-mau-type-100-base-txhd" {
+ value 15;
+ }
+ enum "dot3-mau-type-100-base-txfd" {
+ value 16;
+ }
+ enum "dot3-mau-type-100-base-fxhd" {
+ value 17;
+ }
+ enum "dot3-mau-type-100-base-fxfd" {
+ value 18;
+ }
+ enum "dot3-mau-type-100-base-t2hd" {
+ value 19;
+ }
+ enum "dot3-mau-type-100-base-t2fd" {
+ value 20;
+ }
+ enum "dot3-mau-type-1000-base-xhd" {
+ value 21;
+ }
+ enum "dot3-mau-type-1000-base-xfd" {
+ value 22;
+ }
+ enum "dot3-mau-type-1000-base-lxhd" {
+ value 23;
+ }
+ enum "dot3-mau-type-1000-base-lxfd" {
+ value 24;
+ }
+ enum "dot3-mau-type-1000-base-sxhd" {
+ value 25;
+ }
+ enum "dot3-mau-type-1000-base-sxfd" {
+ value 26;
+ }
+ enum "dot3-mau-type-1000-base-cxhd" {
+ value 27;
+ }
+ enum "dot3-mau-type-1000-base-cxfd" {
+ value 28;
+ }
+ enum "dot3-mau-type-1000-base-thd" {
+ value 29;
+ }
+ enum "dot3-mau-type-1000-base-tfd" {
+ value 30;
+ }
+ enum "dot3-mau-type-10Gig-base-x" {
+ value 31;
+ }
+ enum "dot3-mau-type-10Gig-base-lx4" {
+ value 32;
+ }
+ enum "dot3-mau-type-10Gig-base-r" {
+ value 33;
+ }
+ enum "dot3-mau-type-10Gig-base-er" {
+ value 34;
+ }
+ enum "dot3-mau-type-10Gig-base-lr" {
+ value 35;
+ }
+ enum "dot3-mau-type-10Gig-base-sr" {
+ value 36;
+ }
+ enum "dot3-mau-type-10Gig-base-w" {
+ value 37;
+ }
+ enum "dot3-mau-type-10Gig-base-ew" {
+ value 38;
+ }
+ enum "dot3-mau-type-10Gig-base-lw" {
+ value 39;
+ }
+ enum "dot3-mau-type-10Gig-base-sw" {
+ value 40;
+ }
+ enum "dot3-mau-type-10Gig-base-cx4" {
+ value 41;
+ }
+ enum "dot3-mau-type-2-base-tl" {
+ value 42;
+ }
+ enum "dot3-mau-type-10-pass-ts" {
+ value 43;
+ }
+ enum "dot3-mau-type-100-base-bx10D" {
+ value 44;
+ }
+ enum "dot3-mau-type-100-base-bx10u" {
+ value 45;
+ }
+ enum "dot3-mau-type-100-base-lx10" {
+ value 46;
+ }
+ enum "dot3-mau-type-1000-base-bx10d" {
+ value 47;
+ }
+ enum "dot3-mau-type-1000-base-bx10u" {
+ value 48;
+ }
+ enum "dot3-mau-type-1000-base-lx10" {
+ value 49;
+ }
+ enum "dot3-mau-type-1000-base-px10d" {
+ value 50;
+ }
+ enum "dot3-mau-type-1000-base-px10u" {
+ value 51;
+ }
+ enum "dot3-mau-type-1000-base-px20d" {
+ value 52;
+ }
+ enum "dot3-mau-type-1000-base-px20u" {
+ value 53;
+ }
+ enum "invalid" {
+ value 54;
+ }
+ }
+ }
+
+ typedef supported-notsupported-enum {
+ type enumeration {
+ enum "not-supported" {
+ value 0;
+ }
+ enum "supported" {
+ value 1;
+ }
+ }
+ }
+
+ typedef lldp-port-class {
+ type enumeration {
+ enum "pd" {
+ value 0;
+ }
+ enum "pse" {
+ value 1;
+ }
+ }
+ }
+
+ typedef lldp-pair-control {
+ type enumeration {
+ enum "cannot" {
+ value 0;
+ }
+ enum "can" {
+ value 1;
+ }
+ }
+ }
+
+ typedef lldp-power-pair {
+ type enumeration {
+ enum "not-support" {
+ value 0;
+ }
+ enum "signal" {
+ value 1;
+ }
+ enum "spare" {
+ value 2;
+ }
+ enum "unknown" {
+ value 3;
+ }
+ }
+ }
+
+ typedef lldp-power-class {
+ type enumeration {
+ enum "not-support" {
+ value 0;
+ }
+ enum "class-0" {
+ value 1;
+ }
+ enum "class-1" {
+ value 2;
+ }
+ enum "class-2" {
+ value 3;
+ }
+ enum "class-3" {
+ value 4;
+ }
+ enum "class-4" {
+ value 5;
+ }
+ enum "unknown" {
+ value 6;
+ }
+ }
+ description
+ "Power class.";
+ }
+
+ grouping system-capability-group {
+ description
+ "group of LLDP system capability data.";
+ leaf capabilities {
+ type lldp-system-capability-bits;
+ description
+ "LLDP system capabilities.";
+ }
+ leaf capability-enabled {
+ type lldp-system-capability-bits;
+ description
+ "Enabled LLDP system capability.";
+ }
+ }
+
+ grouping management-address-group {
+ description
+ "group of LLDP management address data.";
+ leaf address {
+ type cienawstypes:string-maxl-256;
+ config false;
+ description
+ "Management address.";
+ }
+ leaf subtype {
+ type lldp-management-address-subtype;
+ config false;
+ description
+ "Management adress subtype.";
+ }
+ }
+
+ grouping management-address-interface-group {
+ description
+ "group of LLDP management address data.";
+ leaf interface-subtype {
+ type lldp-management-address-interface-subtype;
+ config false;
+ description
+ "Management address interface subtype.";
+ }
+ leaf oid-if-number {
+ type uint32;
+ config false;
+ description
+ "Management address interface OID interface number.";
+ }
+ leaf oid {
+ type cienawstypes:string-maxl-128;
+ config false;
+ description
+ "Management address interface OID.";
+ }
+ }
+
+ grouping port-id-group {
+ description
+ "group of port identification data.";
+ leaf id {
+ type cienawstypes:string-maxl-32;
+ config false;
+ description
+ "port identifier.";
+ }
+ leaf sub-type {
+ type lldp-port-id-sub-type;
+ config false;
+ description
+ "Port identificer sub-type.";
+ }
+ leaf descriptor {
+ type cienawstypes:string-maxl-256;
+ config false;
+ description
+ "Port descriptor";
+ }
+ }
+
+ container waveserver-lldp {
+ description
+ "Waveserver LLDP configuration and operational data.";
+ container chassis {
+ container state {
+ leaf admin-state {
+ type cienawstypes:enabled-disabled-enum;
+ description
+ "Administrative state of chassis level LLDP.";
+ }
+ leaf notification-interval {
+ type uint16 {
+ range "5 .. 32768";
+ }
+ description
+ "LLDP Notification interval.";
+ }
+ }
+ container id {
+ config false;
+ leaf chassis-id {
+ type chassis-id;
+ description
+ "Chassis ID.";
+ }
+ leaf chassis-id-subtype {
+ type chassis-id-subtype;
+ description
+ "Chassis Id subtype.";
+ }
+ leaf system-name {
+ type cienawstypes:string-maxl-256;
+ description
+ "System Name. Max string length of 255 characters.";
+ }
+ leaf system-description {
+ type cienawstypes:string-maxl-256;
+ description
+ "System escription. Max string length of 255 characters.";
+ }
+ }
+ leaf time-to-live {
+ type uint16;
+ config false;
+ description
+ "Time To Live.";
+ }
+ container system-capabilities {
+ config false;
+ description
+ "LLDP system capabilities.";
+ uses system-capability-group;
+ }
+ container local-management-address-table {
+ config false;
+ description
+ "LLDP local management address table.";
+ list address-table {
+ key "index";
+ config false;
+ max-elements "4";
+ leaf index {
+ type uint32;
+ description
+ "Unique id, read-only attribute.";
+ }
+ uses management-address-group;
+ uses management-address-interface-group;
+ }
+ }
+ container statistics {
+ config false;
+ leaf last-change {
+ type uint32;
+ description
+ "remote table last change in 1/100 seconds.";
+ }
+ leaf inserts {
+ type uint32;
+ description
+ "Inserts.";
+ }
+ leaf deletes {
+ type uint32;
+ description
+ "Deletes.";
+ }
+ leaf drops {
+ type uint32;
+ description
+ "Drops.";
+ }
+ leaf age-outs {
+ type uint32;
+ description
+ "Age outs.";
+ }
+ }
+ }
+ list port {
+ key "port-id";
+ leaf port-id {
+ type cienawstypes:port-name;
+ mandatory true;
+ description
+ "Port ID/name string.";
+ }
+ container properties {
+ description
+ "LLDP port level properties.";
+ leaf mode {
+ type enumeration {
+ enum "unknown" {
+ value 0;
+ }
+ enum "tx-only" {
+ value 1;
+ }
+ enum "snoop" {
+ value 2;
+ }
+ enum "tx-rx" {
+ value 3;
+ }
+ enum "disabled" {
+ value 4;
+ }
+ }
+ description
+ "LLDP port admin state";
+ }
+ leaf notification {
+ type cienawstypes:on-off-enum;
+ description
+ "Turn notification on or off";
+ }
+ }
+ container statistics {
+ config false;
+ description
+ "Port level statistics.";
+ leaf out-packets-total {
+ type uint32;
+ config false;
+ description
+ "Out packets.";
+ }
+ leaf in-packets-total {
+ type uint32;
+ config false;
+ description
+ "In packets";
+ }
+ leaf in-err-packets-discarded {
+ type uint32;
+ config false;
+ description
+ "Discarded in error packets";
+ }
+ leaf in-errored-tlv {
+ type uint32;
+ config false;
+ description
+ "In errored TLV";
+ }
+ leaf tlv-discarded {
+ type uint32;
+ config false;
+ description
+ "Discarded TLV.";
+ }
+ leaf unknown-tlv {
+ type uint32;
+ config false;
+ description
+ "Unknown TLV";
+ }
+ leaf aged-out-total {
+ type uint32;
+ config false;
+ description
+ "Aged out total.";
+ }
+ }
+ container local {
+ config false;
+ description
+ "Port LLDP local data.";
+ container id {
+ description
+ "LLDP port identification.";
+ uses port-id-group;
+ }
+ container specification-802-3 {
+ config false;
+ description
+ "LLDP Specification 802.3.";
+ container mac-physical-config {
+ config false;
+ description
+ "Mac physical configuration.";
+ leaf auto-negotiation-support {
+ type supported-notsupported-enum;
+ description
+ "Auto-negotiation support.";
+ }
+ leaf auto-negotiation-status {
+ type cienawstypes:enabled-disabled-enum;
+ description
+ "Auto-negotiation status.";
+ }
+ leaf pmd-auto-negotiation-advertised-capability {
+ type lldp-auto-neg-capability;
+ description
+ "PMD Auto-negotiation advertised capability.";
+ }
+ leaf operational-mau-type {
+ type lldp-operational-mau-type;
+ description
+ "Operational MAU type.";
+ }
+ }
+ container power-via-mdi {
+ config false;
+ description
+ "Power Via MDI.";
+ leaf port-class {
+ type lldp-port-class;
+ description
+ "Port class";
+ }
+ leaf mdi {
+ type supported-notsupported-enum;
+ description
+ "mdi";
+ }
+ leaf mdi-power-support {
+ type cienawstypes:enabled-disabled-enum;
+ description
+ "MDI power support.";
+ }
+ leaf pair-control {
+ type lldp-pair-control;
+ description
+ "Pair control.";
+ }
+ leaf power-pair {
+ type lldp-power-pair;
+ description
+ "Power pair.";
+ }
+ leaf power-class {
+ type lldp-power-class;
+ description
+ "Power class.";
+ }
+ }
+ leaf max-frame-size {
+ type uint16;
+ description
+ "Maximum frame size.";
+ }
+ }
+ list local-management-address-table {
+ key "index";
+ config false;
+ max-elements "4";
+ leaf index {
+ type uint32;
+ description
+ "Unique id, read-only attribute.";
+ }
+ uses management-address-group;
+ uses management-address-interface-group;
+ }
+ }
+ container remote {
+ config false;
+ description
+ "LLDP port level remote data.";
+ container chassis {
+ config false;
+ container chassis-id {
+ leaf chassis-id {
+ type chassis-id;
+ description
+ "Chassis ID. Read only attribute.";
+ }
+ leaf chassis-id-subtype {
+ type chassis-id-subtype;
+ description
+ "Chassis Id subtype.";
+ }
+ leaf system-name {
+ type cienawstypes:string-maxl-256;
+ description
+ "System Name. Max string length of 255 characters.";
+ }
+ leaf system-description {
+ type cienawstypes:string-maxl-256;
+ description
+ "System escription. Max string length of 255 characters.";
+ }
+ }
+ leaf time-to-live {
+ type uint16;
+ config false;
+ description
+ "Time to live.";
+ }
+ container system-capabilities {
+ config false;
+ uses system-capability-group;
+ }
+ list management-address-table {
+ key "index";
+ config false;
+ max-elements "4";
+ leaf index {
+ type uint32;
+ description
+ "Unique id, read-only attribute.";
+ }
+ uses management-address-group;
+ uses management-address-interface-group;
+ }
+ }
+ container port {
+ config false;
+ container id {
+ config false;
+ description
+ "LLDP port identification.";
+ uses port-id-group;
+ }
+ container specification-802-3 {
+ config false;
+ description
+ "LLDP Specification 802.3.";
+ container mac-physical-config {
+ config false;
+ description
+ "Mac physical configuration.";
+ leaf auto-negotiation-support {
+ type supported-notsupported-enum;
+ description
+ "Auto-negotiation support.";
+ }
+ leaf auto-negotiation-status {
+ type cienawstypes:enabled-disabled-enum;
+ description
+ "Auto-negotiation status.";
+ }
+ leaf pmd-auto-negotiation-advertised-capability {
+ type lldp-auto-neg-capability;
+ description
+ "PMD Auto-negotiation advertised capability.";
+ }
+ leaf operational-mau-type {
+ type lldp-operational-mau-type;
+ description
+ "Operational MAU type.";
+ }
+ }
+ container power-via-mdi {
+ config false;
+ description
+ "Power Via MDI.";
+ leaf port-class {
+ type lldp-port-class;
+ description
+ "Port class";
+ }
+ leaf mdi {
+ type supported-notsupported-enum;
+ description
+ "mdi";
+ }
+ leaf mdi-power-support {
+ type cienawstypes:enabled-disabled-enum;
+ description
+ "MDI power support.";
+ }
+ leaf pair-control {
+ type lldp-pair-control;
+ description
+ "Pair control.";
+ }
+ leaf power-pair {
+ type lldp-power-pair;
+ description
+ "Power pair.";
+ }
+ leaf power-class {
+ type lldp-power-class;
+ description
+ "Power class.";
+ }
+ }
+ leaf max-frame-size {
+ type uint16;
+ description
+ "Maximum frame size.";
+ }
+ }
+ list organization-definition-information-table {
+ key "index";
+ config false;
+ description
+ "Remote organization definition information table.";
+ leaf index {
+ type uint32;
+ description
+ "Unique id, read-only attribute.";
+ }
+ leaf oui {
+ type cienawstypes:string-maxl-16;
+ description
+ "OUI.";
+ }
+ leaf subtype {
+ type uint8;
+ description
+ "Sub-Type.";
+ }
+ leaf information {
+ type cienawstypes:string-maxl-256;
+ description
+ "Information.";
+ }
+ }
+ list unrecognized-tlv-table {
+ key "index";
+ config false;
+ description
+ "Remote unrecognized TLV table.";
+ leaf index {
+ type uint32;
+ description
+ "Unique id, read-only attribute.";
+ }
+ leaf type {
+ type uint8;
+ description
+ "Type.";
+ }
+ leaf length {
+ type uint32;
+ description
+ "Length.";
+ }
+ leaf value {
+ type cienawstypes:string-maxl-256;
+ description
+ "Value.";
+ }
+ }
+ }
+ }
+ }
+ }
+ rpc waveserver-lldp-clear-statistics {
+ description
+ "Clear the LLDP statistics.";
+ output {
+ leaf return-code {
+ type uint32;
+ description
+ "return code: 0 is success; non-zero is failure";
+ }
+ }
+ }
+ rpc waveserver-lldp-clear-port-statistics {
+ description
+ "Clear the LLDP statistics for the specified port.";
+ input {
+ leaf port-id {
+ type cienawstypes:port-name;
+ mandatory true;
+ description
+ "The port ID/name string.";
+ }
+ }
+ output {
+ leaf return-code {
+ type uint32;
+ description
+ "return code: 0 is success; non-zero is failure";
+ }
+ }
+ }
+}