diff options
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-system.yang')
-rw-r--r-- | src/plugins/yang/openconfig/openconfig-system.yang | 978 |
1 files changed, 0 insertions, 978 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-system.yang b/src/plugins/yang/openconfig/openconfig-system.yang deleted file mode 100644 index f4d4034..0000000 --- a/src/plugins/yang/openconfig/openconfig-system.yang +++ /dev/null @@ -1,978 +0,0 @@ -module openconfig-system { - - yang-version "1"; - - // namespace - namespace "http://openconfig.net/yang/system"; - - prefix "oc-sys"; - - // import some basic types - import openconfig-inet-types { prefix oc-inet; } - import openconfig-yang-types { prefix oc-yang; } - import openconfig-types { prefix oc-types; } - import openconfig-extensions { prefix oc-ext; } - import openconfig-aaa { prefix oc-aaa; } - import openconfig-system-logging { prefix oc-log; } - import openconfig-system-management { prefix oc-sys-mgmt; } - import openconfig-system-terminal { prefix oc-sys-term; } - import openconfig-procmon { prefix oc-proc; } - import openconfig-alarms { prefix oc-alarms; } - - // meta - organization "OpenConfig working group"; - - contact - "OpenConfig working group - netopenconfig@googlegroups.com"; - - description - "Model for managing system-wide services and functions on - network devices. - - Portions of this code were derived from IETF RFC 7317. - Please reproduce this note if possible. - - IETF code is subject to the following copyright and license: - Copyright (c) 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 Simplified BSD License set forth in - Section 4.c of the IETF Trust's Legal Provisions Relating - to IETF Documents (http://trustee.ietf.org/license-info)."; - - oc-ext:openconfig-version "0.6.0"; - - revision "2018-07-17" { - description - "Add gRPC server data"; - reference "0.6.0"; - } - - revision "2018-01-21" { - description - "Add cpu utilization data"; - reference "0.5.0"; - } - - revision "2017-12-15" { - description - "Add alarms to the system model"; - reference "0.4.0"; - } - - revision "2017-09-18" { - description - "Updated to use OpenConfig types modules"; - reference "0.3.0"; - } - - revision "2017-07-06" { - description - "Move to oc-inet types, add IETF attribution, add RADIUS - counters, changed password leaf names to indicate hashed"; - reference "0.2.0"; - } - - revision "2017-01-29" { - description - "Initial public release"; - reference "0.1.0"; - } - - // extension statements - - // feature statements - - // identity statements - - identity NTP_AUTH_TYPE { - description - "Base identity for encryption schemes supported for NTP - authentication keys"; - } - - identity NTP_AUTH_MD5 { - base NTP_AUTH_TYPE; - description - "MD5 encryption method"; - } - - // typedef statements - - typedef timezone-name-type { - type string; - description - "A time zone name as used by the Time Zone Database, - sometimes referred to as the 'Olson Database'. - - The exact set of valid values is an implementation-specific - matter. Client discovery of the exact set of time zone names - for a particular server is out of scope."; - reference - "BCP 175: Procedures for Maintaining the Time Zone Database"; - } - - // grouping statements - - grouping system-clock-config { - description - "Configuration data for system-wide clock configuration"; - - leaf timezone-name { - type timezone-name-type; - description - "The TZ database name to use for the system, such - as 'Europe/Stockholm'."; - reference "IANA Time Zone Database - http://www.iana.org/time-zones"; - } - } - - grouping system-clock-state { - description - "Operational state data for system-wide clock configuration"; - } - - grouping system-clock-top { - description - "Top-level grouping for system-wide clock configuration"; - - container clock { - description - "Top-level container for clock configuration data"; - - container config { - description - "Configuration data for system clock"; - - uses system-clock-config; - } - - container state { - - config false; - - description - "Operational state data for system clock"; - - uses system-clock-config; - uses system-clock-state; - } - } - } - - grouping system-global-config { - description "system-wide configuration parameters"; - - leaf hostname { - type oc-inet:domain-name; - description - "The hostname of the device -- should be a single domain - label, without the domain."; - } - - leaf domain-name { - type oc-inet:domain-name; - description - "Specifies the domain name used to form fully qualified name - for unqualified hostnames."; - } - - leaf login-banner { - type string; - description - "The console login message displayed before the login prompt, - i.e., before a user logs into the system."; - } - - leaf motd-banner { - type string; - description - "The console message displayed after a user logs into the - system. They system may append additional standard - information such as the current system date and time, uptime, - last login timestamp, etc."; - } - } - - grouping system-global-state { - description - "Global operational state data for the system"; - - leaf current-datetime { - type oc-yang:date-and-time; - description - "The current system date and time."; - } - - leaf boot-time { - type oc-types:timeticks64; - description - "This timestamp indicates the time that the system was last - restarted. The value is the timestamp in seconds relative - to the Unix Epoch (Jan 1, 1970 00:00:00 UTC)."; - } - - } - - grouping system-dns-config { - description "DNS / resolver related configuration data"; - - leaf-list search { - type oc-inet:domain-name; - ordered-by user; - description - "An ordered list of domains to search when resolving - a host name."; - } - } - - grouping system-dns-state { - description - "Operational state data for system DNS resolver"; - - } - - grouping system-dns-servers-config { - description - "Configuration data for DNS resolvers"; - - //RFC 7317 includes a single-value choice statement to for - //TCP and UDP transport. This has been removed since it the - //transport protocol is not generally available as an options - //on target devices. It may be added back if and when needed. - - leaf address { - type oc-inet:ip-address; - description - "The address of the DNS server, can be either IPv4 - or IPv6."; - } - - leaf port { - type oc-inet:port-number; - default 53; - description - "The port number of the DNS server."; - } - - //RFC 7317 includes resolver timeout and attempts options. These - //have been omitted as they are not available on many targets. If - //and when they are required, they may be added back in. - } - - grouping system-dns-static-config { - description - "Configuration data for static host entries"; - - leaf hostname { - type string; - description - "Hostname for the static DNS entry"; - } - - leaf-list alias { - type string; - description - "Additional aliases for the hostname"; - } - - leaf-list ipv4-address { - type oc-inet:ipv4-address; - description - "List of IPv4 addressses for the host entry"; - } - - leaf-list ipv6-address { - type oc-inet:ipv6-address; - description - "List of IPv6 addresses for the host entry"; - } - } - - grouping system-dns-static-state { - description - "Operational state data for static host entries"; - } - - grouping system-dns-static-top { - description - "Top-level grouping for static DNS host entries"; - - container host-entries { - description - "Enclosing container for list of static host entries"; - - list host-entry { - key "hostname"; - description - "List of static host entries"; - - leaf hostname { - type leafref { - path "../config/hostname"; - } - description - "Reference to the hostname list key"; - } - - container config { - description - "Configuration data for static host entries"; - - uses system-dns-static-config; - } - - container state { - - config false; - - description - "Operational state data for static host entries"; - - uses system-dns-static-config; - uses system-dns-static-state; - } - } - } - } - - grouping system-dns-servers-state { - description - "Operational state data for DNS resolvers"; - - } - - grouping system-dns-servers-top { - description - "Top-level grouping for the list of DNS resolvers."; - - container servers { - description - "Enclosing container for DNS resolver list"; - - list server { - key "address"; - ordered-by user; - description - "List of the DNS servers that the resolver should query. - - When the resolver is invoked by a calling application, it - sends the query to the first name server in this list. If - no response has been received within 'timeout' seconds, - the resolver continues with the next server in the list. - If no response is received from any server, the resolver - continues with the first server again. When the resolver - has traversed the list 'attempts' times without receiving - any response, it gives up and returns an error to the - calling application. - - Implementations MAY limit the number of entries in this - list."; - - leaf address { - type leafref { - path "../config/address"; - } - description - "References the configured address of the DNS server"; - } - - container config { - description - "Configuration data for each DNS resolver"; - - uses system-dns-servers-config; - } - - container state { - - config false; - - description - "Operational state data for each DNS resolver"; - - uses system-dns-servers-config; - uses system-dns-servers-state; - } - - } - } - } - - grouping system-dns-top { - description - "Top-level grouping for DNS / resolver config and operational - state data"; - - container dns { - description - "Enclosing container for DNS resolver data"; - - container config { - description - "Configuration data for the DNS resolver"; - - uses system-dns-config; - - } - - container state { - - config false; - - description - "Operational state data for the DNS resolver"; - - uses system-dns-config; - uses system-dns-state; - - } - - uses system-dns-servers-top; - uses system-dns-static-top; - } - } - - grouping system-ntp-server-config { - description - "Configuration data for NTP servers"; - - leaf address { - type oc-inet:host; - description - "The address or hostname of the NTP server."; - } - - leaf port { - type oc-inet:port-number; - default 123; - description - "The port number of the NTP server."; - } - - leaf version { - type uint8 { - range 1..4; - } - default 4; - description - "Version number to put in outgoing NTP packets"; - } - - leaf association-type { - type enumeration { - enum SERVER { - description - "Use client association mode. This device - will not provide synchronization to the - configured NTP server."; - } - enum PEER { - description - "Use symmetric active association mode. - This device may provide synchronization - to the configured NTP server."; - } - enum POOL { - description - "Use client association mode with one or - more of the NTP servers found by DNS - resolution of the domain name given by - the 'address' leaf. This device will not - provide synchronization to the servers."; - } - } - default SERVER; - description - "The desired association type for this NTP server."; - } - leaf iburst { - type boolean; - default false; - description - "Indicates whether this server should enable burst - synchronization or not."; - } - leaf prefer { - type boolean; - default false; - description - "Indicates whether this server should be preferred - or not."; - } - } - - grouping system-ntp-server-state { - description - "Operational state data for NTP servers"; - - leaf stratum { - type uint8; - description - "Indicates the level of the server in the NTP hierarchy. As - stratum number increases, the accuracy is degraded. Primary - servers are stratum while a maximum value of 16 indicates - unsynchronized. The values have the following specific - semantics: - - | 0 | unspecified or invalid - | 1 | primary server (e.g., equipped with a GPS receiver) - | 2-15 | secondary server (via NTP) - | 16 | unsynchronized - | 17-255 | reserved"; - reference - "RFC 5905 - Network Time Protocol Version 4: Protocol and - Algorithms Specification"; - } - - leaf root-delay { - type uint32; - // TODO: reconsider units for these values -- the spec defines - // rootdelay and rootdisperson as 2 16-bit integers for seconds - // and fractional seconds, respectively. This gives a - // precision of ~15 us (2^-16). Using milliseconds here based - // on what implementations typically provide and likely lack - // of utility for less than millisecond precision with NTP - // time sync. - units "milliseconds"; - description - "The round-trip delay to the server, in milliseconds."; - reference - "RFC 5905 - Network Time Protocol Version 4: Protocol and - Algorithms Specification"; - } - - leaf root-dispersion { - type uint64; - units "milliseconds"; - description - "Dispersion (epsilon) represents the maximum error inherent - in the measurement"; - reference - "RFC 5905 - Network Time Protocol Version 4: Protocol and - Algorithms Specification"; - } - - leaf offset { - type uint64; - units "milliseconds"; - description - "Estimate of the current time offset from the peer. This is - the time difference between the local and reference clock."; - } - - leaf poll-interval { - type uint32; - units "seconds"; - description - "Polling interval of the peer"; - } - } - - grouping system-ntp-server-top { - description - "Top-level grouping for the list of NTP servers"; - - container servers { - description - "Enclosing container for the list of NTP servers"; - - list server { - key "address"; - description - "List of NTP servers to use for system clock - synchronization. If '/system/ntp/enabled' - is 'true', then the system will attempt to - contact and utilize the specified NTP servers."; - - leaf address { - type leafref { - path "../config/address"; - } - description - "References the configured address or hostname of the - NTP server."; - } - - container config { - description - "Configuration data for an NTP server."; - - uses system-ntp-server-config; - } - - container state { - - config false; - - description - "Operational state data for an NTP server."; - - uses system-ntp-server-config; - uses system-ntp-server-state; - } - - } - } - } - - grouping system-ntp-auth-keys-config { - description - "Configuration data "; - - leaf key-id { - type uint16; - description - "Integer identifier used by the client and server to - designate a secret key. The client and server must use - the same key id."; - } - - leaf key-type { - type identityref { - base NTP_AUTH_TYPE; - } - description - "Encryption type used for the NTP authentication key"; - } - - leaf key-value { - type string; - description - "NTP authentication key value"; - } - } - - grouping system-ntp-auth-keys-state { - description - "Operational state data for NTP auth key data"; - } - - grouping system-ntp-auth-keys-top { - description - "Top-level grouping for NTP auth key data"; - - container ntp-keys { - description - "Enclosing container for list of NTP authentication keys"; - - list ntp-key { - key "key-id"; - description - "List of NTP authentication keys"; - - leaf key-id { - type leafref { - path "../config/key-id"; - } - description - "Reference to auth key-id list key"; - } - - container config { - description - "Configuration data for NTP auth keys"; - - uses system-ntp-auth-keys-config; - } - - container state { - - config false; - - description - "Operational state data for NTP auth keys"; - - uses system-ntp-auth-keys-config; - uses system-ntp-auth-keys-state; - } - } - } - } - - grouping system-ntp-config { - description - "Configuration data for system-wide NTP operation."; - - leaf enabled { - type boolean; - default false; - description - "Enables the NTP protocol and indicates that the system should - attempt to synchronize the system clock with an NTP server - from the servers defined in the 'ntp/server' list."; - } - - leaf ntp-source-address { - type oc-inet:ip-address; - description - "Source address to use on outgoing NTP packets"; - } - - leaf enable-ntp-auth { - type boolean; - default false; - description - "Enable or disable NTP authentication -- when enabled, the - system will only use packets containing a trusted - authentication key to synchronize the time."; - } - } - - grouping system-ntp-state { - description - "Operational state data for system-wide NTP operation."; - - leaf auth-mismatch { - type oc-yang:counter64; - description - "Count of the number of NTP packets received that were not - processed due to authentication mismatch."; - } - } - - grouping system-ntp-top { - description - "Top-level grouping for configuration and state data for NTP"; - - container ntp { - description - "Top-level container for NTP configuration and state"; - - container config { - description - "Configuration data for NTP client."; - - uses system-ntp-config; - } - - container state { - config false; - description - "Operational state data for NTP services."; - - uses system-ntp-config; - uses system-ntp-state; - } - uses system-ntp-auth-keys-top; - uses system-ntp-server-top; - } - } - - grouping system-memory-config { - description - "Configuration data for system memory"; - } - - grouping system-memory-state { - description - "Operational state data for system memory"; - - leaf physical { - type uint64; - units bytes; - // TODO: consider making units in megabytes - description - "Reports the total physical memory available on the - system."; - } - - leaf reserved { - type uint64; - units bytes; - description - "Memory reserved for system use"; - } - } - - grouping system-memory-top { - description - "Top-level grouping for system memory data definitions"; - - container memory { - description - "Top-level container for system memory data"; - - container config { - description - "Configuration data for system memory"; - - uses system-memory-config; - } - - container state { - config false; - description - "Operational state data for system memory"; - - uses system-memory-config; - uses system-memory-state; - } - } - } - - grouping system-cpu-state { - description - "Operational state data for the system CPU(s)"; - - leaf index { - type union { - type enumeration { - enum ALL { - description - "Index value indicating all CPUs in the system"; - } - } - type uint32; - } - description - "The CPU index for each processor core on the system. On a - single-core system, the index should be zero. The ALL - index signifies an aggregation of the CPU utilization - statistics over all cores in the system."; - } - - container total { - description - "Total CPU utilization."; - - uses oc-types:avg-min-max-instant-stats-pct; - } - - container user { - description - "Percentage of CPU time spent running in user space."; - - uses oc-types:avg-min-max-instant-stats-pct; - } - - container kernel { - description - "Percentage of CPU time spent running in kernel space."; - - uses oc-types:avg-min-max-instant-stats-pct; - } - - container nice { - description - "Percentage of CPU time spent running low-priority (niced) - user processes."; - - uses oc-types:avg-min-max-instant-stats-pct; - } - - container idle { - description - "Percentage of CPU time spent idle."; - - uses oc-types:avg-min-max-instant-stats-pct; - } - - container wait { - description - "Percentage of CPU time spent waiting for I/O."; - - uses oc-types:avg-min-max-instant-stats-pct; - } - - container hardware-interrupt { - description - "Percentage of CPU time spent servicing hardware interrupts."; - - uses oc-types:avg-min-max-instant-stats-pct; - } - - container software-interrupt { - description - "Percentage of CPU time spent servicing software interrupts"; - - uses oc-types:avg-min-max-instant-stats-pct; - } - } - - grouping system-cpu-top { - description - "Top-level grouping for system CPU data"; - - container cpus { - config false; - description - "Enclosing container for the list of CPU cores on the - system"; - - list cpu { - key "index"; - description - "List of CPU cores on the system (including logical CPUs - on hyperthreaded systems), keyed by either a numerical - index, or the ALL value for an entry representing the - aggregation across all CPUs."; - - leaf index { - type leafref { - path "../state/index"; - } - description - "Reference to list key"; - } - - container state { - - description - "Operational state data for the system CPU(s)"; - - uses system-cpu-state; - } - } - } - } - - grouping system-top { - description - "Top level system data containers"; - - container system { - description - "Enclosing container for system-related configuration and - operational state data"; - - container config { - description "Global configuration data for the system"; - - uses system-global-config; - - } - - container state { - config false; - description "Global operational state data for the system"; - - uses system-global-config; - uses system-global-state; - } - - uses system-clock-top; - uses system-dns-top; - uses system-ntp-top; - uses oc-sys-mgmt:system-grpc-server-top; - uses oc-sys-term:system-ssh-server-top; - uses oc-sys-term:system-telnet-server-top; - uses oc-log:logging-top; - uses oc-aaa:aaa-top; - uses system-memory-top; - uses system-cpu-top; - uses oc-proc:procmon-processes-top; - uses oc-alarms:alarms-top; - } - } - - // data definition statements - - uses system-top; - -} |