ietf/RFC YANG Modules
iana-crypt-hash.yang
This module contains the 'crypt-hash' typedef. This data type is supported internally by the server. Passwords configured using this data type are stored as hash values. The plain-text passwords are never stored if this data type is used.
Source Document: RFC 7317
GitHub File: iana-crypt-hash@2014-08-06.yang
YANG Tree: none
History:
Initial release train: 18.10
ietf-datastores.yang
This module contains the datastore-ref typedef.
This data type is supported internally by the server.
The --with-nmda CLI parameter must be set to true
for this
module to be used in the server.
Source Document: RFC 8342
GitHub File: ietf-datastores@2018-02-14.yang
YANG Tree: none
History:
Initial release train: 19.10
ietf-inet-types.yang
This module contains the standard YANG Internet address types. These types are available for commonly used management object types. A YANG module author should check this module first, before creating any new data types with the YANG typedef statement.
There are no accessible objects in this module, so there are no SIL
callback functions. The YANG data-types are supported within the YumaPro
engine core modules, such as ncx/val.c
and ncx/xml_wr.c
.
Source Document: RFC 6991
GitHub File: ietf-inet-types@2013-07-15.yang
YANG Tree: none
History:
Initial release train: 12.09
ietf-interfaces.yang
This module contains the YumaPro interfaces table, which is just a
skeleton configuration list, plus some basic interface counters. This
module is intended to provide an example for embedded developers to
replace this module with their own interfaces table. The YumaPro table
uses information in some files found in Unix systems which support the
/proc/net/dev
system file.
The file libyuma-interfaces/src/yuma-interfaces.c
contains the SIL
callback functions for this module.
Use WITH_YUMA_INTERFACES=1 or EVERYTHING=1 make flags in order to build the libyuma-interfaces directory and install the SIL code for the yuma-interfaces YANG module. Refer to YumaPro README for build instructions.
Source Document: RFC 8343
GitHub File: ietf-interfaces@2018-02-20.yang
YANG Tree:
module: ietf-interfaces +--rw interfaces | +--rw interface* [name] | +--rw name string | +--rw description? string | +--rw type identityref | +--rw enabled? boolean | +--rw link-up-down-trap-enable? enumeration {if-mib}? | +--ro admin-status enumeration {if-mib}? | +--ro oper-status enumeration | +--ro last-change? yang:date-and-time | +--ro if-index int32 {if-mib}? | +--ro phys-address? yang:phys-address | +--ro higher-layer-if* interface-ref | +--ro lower-layer-if* interface-ref | +--ro speed? yang:gauge64 | +--ro statistics | +--ro discontinuity-time yang:date-and-time | +--ro in-octets? yang:counter64 | +--ro in-unicast-pkts? yang:counter64 | +--ro in-broadcast-pkts? yang:counter64 | +--ro in-multicast-pkts? yang:counter64 | +--ro in-discards? yang:counter32 | +--ro in-errors? yang:counter32 | +--ro in-unknown-protos? yang:counter32 | +--ro out-octets? yang:counter64 | +--ro out-unicast-pkts? yang:counter64 | +--ro out-broadcast-pkts? yang:counter64 | +--ro out-multicast-pkts? yang:counter64 | +--ro out-discards? yang:counter32 | +--ro out-errors? yang:counter32 x--ro interfaces-state x--ro interface* [name] x--ro name string x--ro type identityref x--ro admin-status enumeration {if-mib}? x--ro oper-status enumeration x--ro last-change? yang:date-and-time x--ro if-index int32 {if-mib}? x--ro phys-address? yang:phys-address x--ro higher-layer-if* interface-state-ref x--ro lower-layer-if* interface-state-ref x--ro speed? yang:gauge64 x--ro statistics x--ro discontinuity-time yang:date-and-time x--ro in-octets? yang:counter64 x--ro in-unicast-pkts? yang:counter64 x--ro in-broadcast-pkts? yang:counter64 x--ro in-multicast-pkts? yang:counter64 x--ro in-discards? yang:counter32 x--ro in-errors? yang:counter32 x--ro in-unknown-protos? yang:counter32 x--ro out-octets? yang:counter64 x--ro out-unicast-pkts? yang:counter64 x--ro out-broadcast-pkts? yang:counter64 x--ro out-multicast-pkts? yang:counter64 x--ro out-discards? yang:counter32 x--ro out-errors? yang:counter32
History:
Initial release train: 18.10
ietf-origin.yang
This module contains the origin typedef.
This data type is supported internally by the server.
The --with-nmda CLI parameter must be set to true
for this
module to be used in the server.
Source Document: RFC 8342
GitHub File: ietf-origin@2018-02-14.yang
YANG Tree: none
History:
Initial release train: 19.10
ietf-netconf.yang
The standard NETCONF module is used to access the NETCONF operations. and is defined in RFC 6536.
The module yuma-netconf.yang is actually used in the server instead, even though this module is advertised to clients.
The agt/agt_ncx.c
file contains the SIL callback functions for this
module.
Source Document: RFC 6241
GitHub File: ietf-netconf@2011-06-01.yang
YANG Tree:
module: ietf-netconf rpcs: +---x get-config | +---w input | | +---w source | | | +---w (config-source) | | | +--:(candidate) | | | | +---w candidate? empty {candidate}? | | | +--:(running) | | | | +---w running? empty | | | +--:(startup) | | | +---w startup? empty {startup}? | | +---w filter? <anyxml> | +--ro output | +--ro data? <anyxml> +---x edit-config | +---w input | +---w target | | +---w (config-target) | | +--:(candidate) | | | +---w candidate? empty {candidate}? | | +--:(running) | | +---w running? empty {writable-running}? | +---w default-operation? enumeration | +---w test-option? enumeration {validate}? | +---w error-option? enumeration | +---w (edit-content) | +--:(config) | | +---w config? <anyxml> | +--:(url) | +---w url? inet:uri {url}? +---x copy-config | +---w input | +---w target | | +---w (config-target) | | +--:(candidate) | | | +---w candidate? empty {candidate}? | | +--:(running) | | | +---w running? empty {writable-running}? | | +--:(startup) | | | +---w startup? empty {startup}? | | +--:(url) | | +---w url? inet:uri {url}? | +---w source | +---w (config-source) | +--:(candidate) | | +---w candidate? empty {candidate}? | +--:(running) | | +---w running? empty | +--:(startup) | | +---w startup? empty {startup}? | +--:(url) | | +---w url? inet:uri {url}? | +--:(config) | +---w config? <anyxml> +---x delete-config | +---w input | +---w target | +---w (config-target) | +--:(startup) | | +---w startup? empty {startup}? | +--:(url) | +---w url? inet:uri {url}? +---x lock | +---w input | +---w target | +---w (config-target) | +--:(candidate) | | +---w candidate? empty {candidate}? | +--:(running) | | +---w running? empty | +--:(startup) | +---w startup? empty {startup}? +---x unlock | +---w input | +---w target | +---w (config-target) | +--:(candidate) | | +---w candidate? empty {candidate}? | +--:(running) | | +---w running? empty | +--:(startup) | +---w startup? empty {startup}? +---x get | +---w input | | +---w filter? <anyxml> | +--ro output | +--ro data? <anyxml> +---x close-session +---x kill-session | +---w input | +---w session-id session-id-type +---x commit {candidate}? | +---w input | +---w confirmed? empty {confirmed-commit}? | +---w confirm-timeout? uint32 {confirmed-commit}? | +---w persist? string {confirmed-commit}? | +---w persist-id? string {confirmed-commit}? +---x discard-changes {candidate}? +---x cancel-commit {confirmed-commit}? | +---w input | +---w persist-id? string +---x validate {validate}? +---w input +---w source +---w (config-source) +--:(candidate) | +---w candidate? empty {candidate}? +--:(running) | +---w running? empty +--:(startup) | +---w startup? empty {startup}? +--:(url) | +---w url? inet:uri {url}? +--:(config) +---w config? <anyxml>
History:
Initial release train: 12.09
ietf-netconf-acm.yang
The standard NETCONF Access Control module is used to control which YANG content each group of users can access from the server.
This YANG module is used by default, is the 'ietf' ACM mode is selected, which is the default ACM mode in YumaPro. It will not be present if the server is using an external ACM instead of NACM.
The agt/agt_acm_ietf.c
file contains the SIL callback functions for this
module.
Source Document: RFC 8341
GitHub File: ietf-netconf-acm@2018-02-14.yang
YANG Tree:
module: ietf-netconf-acm +--rw nacm +--rw enable-nacm? boolean +--rw read-default? action-type +--rw write-default? action-type +--rw exec-default? action-type +--rw enable-external-groups? boolean +--ro denied-operations yang:zero-based-counter32 +--ro denied-data-writes yang:zero-based-counter32 +--ro denied-notifications yang:zero-based-counter32 +--rw groups | +--rw group* [name] | +--rw name group-name-type | +--rw user-name* user-name-type +--rw rule-list* [name] +--rw name string +--rw group* union +--rw rule* [name] +--rw name string +--rw module-name? union +--rw (rule-type)? | +--:(protocol-operation) | | +--rw rpc-name? union | +--:(notification) | | +--rw notification-name? union | +--:(data-node) | +--rw path node-instance-identifier +--rw access-operations? union +--rw action action-type +--rw comment? string
History:
Initial release train: 12.09
ietf-netconf-monitoring.yang
The standard NETCONF Monitoring module is used to examine the capabilities, current state, and statistics related to the NETCONF server. The entire module is supported, and is defined in RFC 6022.
This module is also used to retrieve the actual YANG or YIN files (or
URLs for them) that the server is using. Clients can use the
<get-schema> RPC operation to retrieve the YANG or YIN files listed in
the /netconf-state/schemas
subtree.
A client will normally check the <hello> message from the server for module capabilities, and use its own local copy of a server YANG module, if it can. If not, then the <get-schema> function can be used to retrieve the YANG module.
The agt/agt_state.c
file contains the SIL callback functions for this
module.
Source Document: RFC 6022
GitHub File: ietf-netconf-monitoring@2010-10-04.yang
YANG Tree:
module: ietf-netconf-monitoring +--ro netconf-state +--ro capabilities | +--ro capability* inet:uri +--ro datastores | +--ro datastore* [name] | +--ro name netconf-datastore-type | +--ro locks! | +--ro (lock-type)? | +--:(global-lock) | | +--ro global-lock | | +--ro locked-by-session uint32 | | +--ro locked-time yang:date-and-time | +--:(partial-lock) | +--ro partial-lock* [lock-id] | +--ro lock-id uint32 | +--ro locked-by-session uint32 | +--ro locked-time yang:date-and-time | +--ro select* yang:xpath1.0 | +--ro locked-node* instance-identifier +--ro schemas | +--ro schema* [identifier version format] | +--ro identifier string | +--ro version string | +--ro format identityref | +--ro namespace inet:uri | +--ro location* union +--ro sessions | +--ro session* [session-id] | +--ro session-id uint32 | +--ro transport identityref | +--ro username string | +--ro source-host? inet:host | +--ro login-time yang:date-and-time | +--ro in-rpcs? yang:zero-based-counter32 | +--ro in-bad-rpcs? yang:zero-based-counter32 | +--ro out-rpc-errors? yang:zero-based-counter32 | +--ro out-notifications? yang:zero-based-counter32 +--ro statistics +--ro netconf-start-time? yang:date-and-time +--ro in-bad-hellos? yang:zero-based-counter32 +--ro in-sessions? yang:zero-based-counter32 +--ro dropped-sessions? yang:zero-based-counter32 +--ro in-rpcs? yang:zero-based-counter32 +--ro in-bad-rpcs? yang:zero-based-counter32 +--ro out-rpc-errors? yang:zero-based-counter32 +--ro out-notifications? yang:zero-based-counter32 rpcs: +---x get-schema +---w input | +---w identifier string | +---w version? string | +---w format? identityref +--ro output +--ro data? <anyxml>
History:
Initial release train: 12.09
ietf-netconf-nmda.yang
The standard NETCONF operations for NMDA module is used to implement the
<get-data> operation. The --with-nmda CLI parameter must be
set to true
for this module to be used in the server.
The agt/ietf-netconf-nmda.c
file contains the SIL callback functions for
this module.
Source Document: RFC 8527
GitHub File: ietf-netconf-nmda@2019-01-07.yang
YANG Tree:
module: ietf-netconf-nmda augment /nc:lock/nc:input/nc:target/nc:config-target: +-- datastore? ds:datastore-ref augment /nc:unlock/nc:input/nc:target/nc:config-target: +-- datastore? ds:datastore-ref augment /nc:validate/nc:input/nc:source/nc:config-source: +-- datastore? ds:datastore-ref rpcs: +---x get-data | +---w input | | +---w datastore ds:datastore-ref | | +---w (filter-spec)? | | | +--:(subtree-filter) | | | | +---w subtree-filter? <anydata> | | | +--:(xpath-filter) | | | +---w xpath-filter? yang:xpath1.0 {nc:xpath}? | | +---w config-filter? boolean | | +---w (origin-filters)? {origin}? | | | +--:(origin-filter) | | | | +---w origin-filter* or:origin-ref | | | +--:(negated-origin-filter) | | | +---w negated-origin-filter* or:origin-ref | | +---w max-depth? union | | +---w with-origin? empty {origin}? | | +---w with-defaults? with-defaults-mode {with-defaults}? | +--ro output | +--ro data? <anydata> +---x edit-data +---w input +---w datastore ds:datastore-ref +---w default-operation? enumeration +---w (edit-content) +--:(config) | +---w config? <anydata> +--:(url) +---w url? inet:uri {nc:url}?
History:
Initial release train: 19.10
ietf-netconf-notifications.yang
The standard NETCONF Base Notifications module is used to report common NETCONF server events in the standard NETCONF notification stream. The entire module is supported, and is defined in RFC 6470.
The agt/agt_sys.c contains the SIL callback functions for this module.
Source Document: RFC 6470
GitHub File: ietf-netconf-notifications@2012-02-06.yang
YANG Tree:
module: ietf-netconf-notifications notifications: +---n netconf-config-change | +--ro changed-by | | +--ro (server-or-user) | | +--:(server) | | | +--ro server? empty | | +--:(by-user) | | +--ro username string | | +--ro session-id nc:session-id-or-zero-type | | +--ro source-host? inet:ip-address | +--ro datastore? enumeration | +--ro edit* [] | +--ro target? instance-identifier | +--ro operation? nc:edit-operation-type +---n netconf-capability-change | +--ro changed-by | | +--ro (server-or-user) | | +--:(server) | | | +--ro server? empty | | +--:(by-user) | | +--ro username string | | +--ro session-id nc:session-id-or-zero-type | | +--ro source-host? inet:ip-address | +--ro added-capability* inet:uri | +--ro deleted-capability* inet:uri | +--ro modified-capability* inet:uri +---n netconf-session-start | +--ro username string | +--ro session-id nc:session-id-or-zero-type | +--ro source-host? inet:ip-address +---n netconf-session-end | +--ro username string | +--ro session-id nc:session-id-or-zero-type | +--ro source-host? inet:ip-address | +--ro killed-by? nc:session-id-type | +--ro termination-reason enumeration +---n netconf-confirmed-commit +--ro username string +--ro session-id nc:session-id-or-zero-type +--ro source-host? inet:ip-address +--ro confirm-event enumeration +--ro timeout? uint32
History:
Initial release train: 12.09
ietf-netconf-partial-lock.yang
The standard NETCONF Partial Lock module is used to lock subtrees within the <running> datastore, using the <partial-lock> and <partial-unlock> operations.
The agt/agt_plock.c
file contains the SIL callback functions for this
module.
Source Document: RFC 5717
GitHub File: ietf-netconf-partial-lock@2009-10-19.yang
YANG Tree:
module: ietf-netconf-partial-lock rpcs: +---x partial-lock | +---w input | | +---w select* yang:xpath1.0 | +--ro output | +--ro lock-id lock-id-type | +--ro locked-node* instance-identifier +---x partial-unlock +---w input +---w lock-id lock-id-type
History:
Initial release train: 12.09
ietf-netconf-with-defaults.yang
The standard <with-defaults> extension to some NETCONF operations is defined in this module. The entire module is supported, and defined in RFC 6243.
This parameter is added to the following NETCONF operations:
It allows the client to control how 'default leafs' are returned by
the server. The YumaPro server can be configured to use any of the
default handling styles (report-all, trim, or explicit). The filtering
of default nodes is handled automatically by the server support
functions in agt/agt_util.c
, and the XML write functions
in ncx/xml_wr.c
.
The --default-style CLI parameter is used in the server to pick the desired basic mode, as defined in the RFC.
Source Document: RFC 6243
GitHub File: ietf-netconf-with-defaults@2011-06-01.yang
YANG Tree:
module: ietf-netconf-with-defaults augment /nc:get-config/nc:input: +---w with-defaults? with-defaults-mode augment /nc:get/nc:input: +---w with-defaults? with-defaults-mode augment /nc:copy-config/nc:input: +---w with-defaults? with-defaults-mode
History:
Initial release train: 12.09
ietf-notification-capabilities.yang
Defines the /system-capabilities/notification-capabilities
container.
The following leafs are implemented:
max-nodes-per-update: The value '10000' is returned. There is no actual conformace required for this object. The size of updates is not required for YANG Push. The maximum size of the update is usually determined by the filter.
periodic-notifications-supported: Both 'config-changes' and 'state-changes' are set
minimum-update-period: Derived from the --push-min-period C:LI parameter.
on-change-supported: Both 'config-changes' and 'state-changes' are set
minimum-dampening-period: Derived from the --push-min-dampening C:LI parameter.
supported-excluded-change-type: 'all'
This module is loaded if the --bundle=yang-push parameter is used to start the server, and the --with-notifications=true parameter is also used.
Source Document: RFC 9196
GitHub File: ietf-notification-capabilities@2022-02-17.yang
YANG Tree:
module: ietf-notification-capabilities augment /sysc:system-capabilities: +--ro subscription-capabilities +--ro max-nodes-per-update? uint32 +--ro periodic-notifications-supported? notification-support +--ro (update-period)? | +--:(minimum-update-period) | | +--ro minimum-update-period? uint32 | +--:(supported-update-period) | +--ro supported-update-period* uint32 +--ro on-change-supported? notification-support {yp:on-change}? +--ro minimum-dampening-period? uint32 {yp:on-change}? +--ro supported-excluded-change-type* union {yp:on-change}? augment /sysc:system-capabilities/sysc:datastore-capabilities/sysc:per-node-capabilities: +--ro subscription-capabilities +--ro max-nodes-per-update? uint32 +--ro periodic-notifications-supported? notification-support +--ro (update-period)? | +--:(minimum-update-period) | | +--ro minimum-update-period? uint32 | +--:(supported-update-period) | +--ro supported-update-period* uint32 +--ro on-change-supported? notification-support {yp:on-change}? +--ro minimum-dampening-period? uint32 {yp:on-change}? +--ro supported-excluded-change-type* union {yp:on-change}?
History:
Initial release train: 23.10T
Example:
system-capabilities {
subscription-capabilities {
max-nodes-per-update 10000
periodic-notifications-supported "config-changes state-changes"
minimum-update-period 100
on-change-supported "config-changes state-changes"
minimum-dampening-period 100
supported-excluded-change-type all
}
}
ietf-restconf.yang
This module is loaded if the --with-restconf=true CLI parameter is used.
The standard YANG extension “yang-data” is defined in this module. It is fully supported with the server, and has the same effect as the ncx:abstract extension. The module ncx/yang_data.c contains the code supporting this YANG extension.
The rc:yang-api yang-data struct is implemented for the RESTCONF protocol interface.
The rc:yang-errors yang-data struct is implemented for RESTCONF error responses
Source Document: RFC 8040
GitHub File: ietf-restconf@2017-01-26.yang
YANG Tree:
module: ietf-restconf grouping errors +-- errors +-- error* [] +-- error-type enumeration +-- error-tag string +-- error-app-tag? string +-- error-path? instance-identifier +-- error-message? string +-- error-info? <anyxml> grouping restconf +-- restconf +-- data +-- operations +--ro yang-library-version string
History:
Initial release train: 15.10
ietf-restconf-monitoring.yang
This module contains monitoring information for the RESTCONF protocol. Contains a list of protocol capability URIs and description of stream content.
The file libietf-restmonitoring/src/ietf-restconf-monitoring.c
contains the SIL callback functions for this module.
Use WITH_RESTCONF=1 or EVERYTHING=1 make flags in order to build the libietf-restmonitoring directory and install the SIL code for the ietf-restconf-monitoring YANG module. Refer to YumaPro README for build instructions.
This module contains the /restconf-state
subtree. It is
fully supported and provides information about the RESTCONF capabilities
and notification streams. The separate library libietf-restmonitoring
contains the SIL callbacks for this module.
Source Document: RFC 8040
GitHub File: ietf-restconf-monitoring@2017-01-26.yang
YANG Tree:
module: ietf-restconf-monitoring +--ro restconf-state +--ro capabilities | +--ro capability* inet:uri +--ro streams +--ro stream* [name] +--ro name string +--ro description? string +--ro replay-support? boolean +--ro replay-log-creation-time? yang:date-and-time +--ro access* [encoding] +--ro encoding string +--ro location inet:uri
History:
Initial release train: 15.10
Example
restconf-state {
capabilities {
capability urn:ietf:params:restconf:capability:depth:1.0
capability urn:ietf:params:restconf:capability:with-defaults:1.0
capability urn:ietf:params:restconf:capability:defaults:1.0?basic-mode=explicit
capability urn:ietf:params:restconf:capability:fields:1.0
capability urn:ietf:params:restconf:capability:replay:1.0
capability urn:ietf:params:restconf:capability:filter:1.0
capability urn:ietf:params:restconf:capability:yang-patch:1.0
}
streams {
stream NETCONF {
name NETCONF
description 'default NETCONF event stream'
replay-support true
replay-log-creation-time 2024-10-05T18:00:25Z
access xml {
encoding xml
location http://localhost/restconf/streams/NETCONF
}
}
stream RESTCONF {
name RESTCONF
description 'default RESTCONF event stream'
replay-support true
replay-log-creation-time 2024-10-05T18:00:25Z
access xml {
encoding xml
location http://localhost/restconf/stream
}
}
}
}
ietf-sid-file.yang
This standard YANG module supports YANG to SID mappings. It is fully supported within the server for loading SID values into the server.
The WITH_YANG_CBOR=1 make flag must be used for this module to be present.
The --with-yang-cbor CLI parameter must be set to 'true' for this module to be present.
This module is only available in YumaPro 23.10T and higher
Note
The '2021-11-16' version is implemented, not the latest '2023-10-27' version.
The module will not be updated until the RFC version is published.
The implemented module can be installed from sources or the 'yumapro-sdk' package, and found in the
/usr/share/yumapro/modules/ietf/DRAFT
directory.The source document and Github links are for the latest version.
Source Document: draft-ietf-core-sid-23.txt (Latest)
GitHub File: ietf-sid-file@2021-11-16.yang (Latest)
YANG Tree: (Implemented)
module: ietf-sid-file structure sid-file: +-- module-name yang:yang-identifier +-- module-revision? revision-identifier +-- sid-file-version? sid-file-version-identifier +-- description? string +-- dependency-revision* [module-name] | +-- module-name yang:yang-identifier | +-- module-revision revision-identifier +-- assignment-range* [entry-point] | +-- entry-point sid | +-- size uint64 +-- item* [namespace identifier] +-- namespace enumeration +-- identifier union +-- sid sid
History:
Initial release train: 22.10T
Module present but not supported in 23.10
Module present and pre-release support in 24.10
ietf-subscribed-notifications.yang
This module contains notification subscription management features.
This module is not loaded if the --with-notifications=false parameter is used. Otherwise, this module is loaded if either of the following conditions is true:
the --bundle=yang-push CLI parameter is used
the --with-new-notifs=true CLI parameter is used (default)
The dynamic subscription feature is fully implemented and the 'on-change' capability is supported. The yumaworks-yangpush-dev.yang module contains the deviations for this module.
Source Document: RFC 8639
GitHub File: ietf-subscribed-notifications@2019-09-09.yang
YANG Tree:
module: ietf-subscribed-notifications +--ro streams | +--ro stream* [name] | +--ro name string | +--ro description? string | +--ro replay-support? empty {replay}? | +--ro replay-log-creation-time yang:date-and-time {replay}? | +--ro replay-log-aged-time? yang:date-and-time {replay}? +--rw filters | +--rw stream-filter* [name] | +--rw name string | +--rw (filter-spec)? | +--:(stream-subtree-filter) | | +--rw stream-subtree-filter? <anydata> {subtree}? | +--:(stream-xpath-filter) | +--rw stream-xpath-filter? yang:xpath1.0 {xpath}? +--rw subscriptions +--rw subscription* [id] +--rw id subscription-id +--rw (target) | +--:(stream) | +--rw (stream-filter)? | | +--:(by-reference) | | | +--rw stream-filter-name stream-filter-ref | | +--:(within-subscription) | | +--rw (filter-spec)? | | +--:(stream-subtree-filter) | | | +--rw stream-subtree-filter? <anydata> {subtree}? | | +--:(stream-xpath-filter) | | +--rw stream-xpath-filter? yang:xpath1.0 {xpath}? | +--rw stream stream-ref | +--ro replay-start-time? yang:date-and-time {replay}? | +--rw configured-replay? empty {configured,replay}? +--rw stop-time? yang:date-and-time +--rw dscp? inet:dscp {dscp}? +--rw weighting? uint8 {qos}? +--rw dependency? subscription-id {qos}? +--rw transport? transport {configured}? +--rw encoding? encoding +--rw purpose? string {configured}? +--rw (notification-message-origin)? {configured}? | +--:(interface-originated) | | +--rw source-interface? if:interface-ref {interface-designation}? | +--:(address-originated) | +--rw source-vrf? -> /ni:network-instances/network-instance/name {supports-vrf}? | +--rw source-address? inet:ip-address-no-zone +--ro configured-subscription-state? enumeration {configured}? +--rw receivers +--rw receiver* [name] +--rw name string +--ro sent-event-records? yang:zero-based-counter64 +--ro excluded-event-records? yang:zero-based-counter64 +--ro state enumeration +---x reset {configured}? +--ro output +--ro time yang:date-and-time rpcs: +---x establish-subscription | +---w input | | +---w (target) | | | +--:(stream) | | | +---w (stream-filter)? | | | | +--:(by-reference) | | | | | +---w stream-filter-name stream-filter-ref | | | | +--:(within-subscription) | | | | +---w (filter-spec)? | | | | +--:(stream-subtree-filter) | | | | | +---w stream-subtree-filter? <anydata> {subtree}? | | | | +--:(stream-xpath-filter) | | | | +---w stream-xpath-filter? yang:xpath1.0 {xpath}? | | | +---w stream stream-ref | | | +---w replay-start-time? yang:date-and-time {replay}? | | +---w stop-time? yang:date-and-time | | +---w dscp? inet:dscp {dscp}? | | +---w weighting? uint8 {qos}? | | +---w dependency? subscription-id {qos}? | | +---w encoding? encoding | +--ro output | +--ro id subscription-id | +--ro replay-start-time-revision? yang:date-and-time {replay}? +---x modify-subscription | +---w input | +---w id subscription-id | +---w (target) | | +--:(stream) | | +---w (stream-filter)? | | +--:(by-reference) | | | +---w stream-filter-name stream-filter-ref | | +--:(within-subscription) | | +---w (filter-spec)? | | +--:(stream-subtree-filter) | | | +---w stream-subtree-filter? <anydata> {subtree}? | | +--:(stream-xpath-filter) | | +---w stream-xpath-filter? yang:xpath1.0 {xpath}? | +---w stop-time? yang:date-and-time +---x delete-subscription | +---w input | +---w id subscription-id +---x kill-subscription +---w input +---w id subscription-id notifications: +---n replay-completed {replay}? | +--ro id subscription-id +---n subscription-completed {configured}? | +--ro id subscription-id +---n subscription-modified | +--ro id subscription-id | +--ro (target) | | +--:(stream) | | +--ro (stream-filter)? | | | +--:(by-reference) | | | | +--ro stream-filter-name stream-filter-ref | | | +--:(within-subscription) | | | +--ro (filter-spec)? | | | +--:(stream-subtree-filter) | | | | +--ro stream-subtree-filter? <anydata> {subtree}? | | | +--:(stream-xpath-filter) | | | +--ro stream-xpath-filter? yang:xpath1.0 {xpath}? | | +--ro stream stream-ref | | +--ro replay-start-time? yang:date-and-time {replay}? | +--ro stop-time? yang:date-and-time | +--ro dscp? inet:dscp {dscp}? | +--ro weighting? uint8 {qos}? | +--ro dependency? subscription-id {qos}? | +--ro transport? transport {configured}? | +--ro encoding? encoding | +--ro purpose? string {configured}? +---n subscription-resumed | +--ro id subscription-id +---n subscription-started {configured}? | +--ro id subscription-id | +--ro (target) | | +--:(stream) | | +--ro (stream-filter)? | | | +--:(by-reference) | | | | +--ro stream-filter-name stream-filter-ref | | | +--:(within-subscription) | | | +--ro (filter-spec)? | | | +--:(stream-subtree-filter) | | | | +--ro stream-subtree-filter? <anydata> {subtree}? | | | +--:(stream-xpath-filter) | | | +--ro stream-xpath-filter? yang:xpath1.0 {xpath}? | | +--ro stream stream-ref | | +--ro replay-start-time? yang:date-and-time {replay}? | | +--ro replay-previous-event-time? yang:date-and-time {replay}? | +--ro stop-time? yang:date-and-time | +--ro dscp? inet:dscp {dscp}? | +--ro weighting? uint8 {qos}? | +--ro dependency? subscription-id {qos}? | +--ro transport? transport {configured}? | +--ro encoding? encoding | +--ro purpose? string {configured}? +---n subscription-suspended | +--ro id subscription-id | +--ro reason identityref +---n subscription-terminated +--ro id subscription-id +--ro reason identityref
History:
Initial release train: 20.10
24.10 release train: Loaded by default even without YANG Push
ietf-system.yang
The ietf-system.yang module defines a YANG data model for configuring and identifying common system properties within a device containing a NETCONF server. It provides configuration and monitoring capabilities for system identification, time management, user authentication, DNS-resolver configuration, and system control operations.
This module is used to configure system properties in devices managed by NETCONF.
The features provided by this module are fixed and cannot be changed.
Supported Configurations:
Hostname
Clock
Contact: Not supported
Location: Not supported
NTP: Not supported
DNS Resolver: Not supported
Radius: Not supported
Authentication: Not supported
Supported RPC:
set-current-datetime
system-restart
system-shutdown
Supported Read-Only Data:
system-state:
platform
clock
Note
This module is for instructional purposes only and is not supported as a production module at this time.
The server must be run with sudo when using this module.
The SIL code for implementation can be found in the libietf-system directory, while the linux instrumentation code is available in the libsystem-linux directory. And also yumaworks-system-dev.yang, this module contains deviation statements used by netconfd-pro to mark some nodes as 'not-supported'.
Use WITH_IETF_SYSTEM=1 make flags in order to build the libietf-system directory and install the SIL code for the ietf-system YANG module. Refer to YumaPro README for build instructions.
Source Document: RFC 7317
GitHub File: ietf-system@2014-08-06.yang
YANG Tree:
module: ietf-system +--rw system | +--rw contact? string | +--rw hostname? inet:domain-name | +--rw location? string | +--rw clock | | +--rw (timezone)? | | +--:(timezone-name) {timezone-name}? | | | +--rw timezone-name? timezone-name | | +--:(timezone-utc-offset) | | +--rw timezone-utc-offset? int16 | +--rw ntp! {ntp}? | | +--rw enabled? boolean | | +--rw server* [name] | | +--rw name string | | +--rw (transport) | | | +--:(udp) | | | +--rw udp | | | +--rw address inet:host | | | +--rw port? inet:port-number {ntp-udp-port}? | | +--rw association-type? enumeration | | +--rw iburst? boolean | | +--rw prefer? boolean | +--rw dns-resolver | | +--rw search* inet:domain-name | | +--rw server* [name] | | | +--rw name string | | | +--rw (transport) | | | +--:(udp-and-tcp) | | | +--rw udp-and-tcp | | | +--rw address inet:ip-address | | | +--rw port? inet:port-number {dns-udp-tcp-port}? | | +--rw options | | +--rw timeout? uint8 | | +--rw attempts? uint8 | +--rw radius {radius}? | | +--rw server* [name] | | | +--rw name string | | | +--rw (transport) | | | | +--:(udp) | | | | +--rw udp | | | | +--rw address inet:host | | | | +--rw authentication-port? inet:port-number | | | | +--rw shared-secret string | | | +--rw authentication-type? identityref | | +--rw options | | +--rw timeout? uint8 | | +--rw attempts? uint8 | +--rw authentication {authentication}? | +--rw user-authentication-order* identityref | +--rw user* [name] {local-users}? | +--rw name string | +--rw password? ianach:crypt-hash | +--rw authorized-key* [name] | +--rw name string | +--rw algorithm string | +--rw key-data binary +--ro system-state +--ro platform | +--ro os-name? string | +--ro os-release? string | +--ro os-version? string | +--ro machine? string +--ro clock +--ro current-datetime? yang:date-and-time +--ro boot-datetime? yang:date-and-time rpcs: +---x set-current-datetime | +---w input | +---w current-datetime yang:date-and-time +---x system-restart +---x system-shutdown
History:
Initial release train: 23.10T-8
ietf-system-capabilities.yang
Defines the /system-capabilities
container.
This module is loaded if the --with-notifications=true parameter is used.
No objects except the top container are supported at this time.
Source Document: RFC 9196
GitHub File: ietf-system-capabilities@2022-02-17.yang
YANG Tree:
module: ietf-system-capabilities +--ro system-capabilities +--ro datastore-capabilities* [datastore] +--ro datastore -> /yanglib:yang-library/datastore/name +--ro per-node-capabilities* [] +--ro (node-selection)? +--:(node-selector) +--ro node-selector? nacm:node-instance-identifier
History:
Initial release train: 23.10T
ietf-x509-cert-to-name.yang
This module contains the 'cert-to-name' grouping that is used in the yumaworks-cert-usermap.yang module to configure client certificate to username mappings for NETCONF over TLS sessions.
The --with-yumaworks-cert-usermap and --with-netconf-tls parameters must be set to 'true' for this module to be present in the server.
Source Document: RFC 7407
GitHub File: ietf-x509-cert-to-name@2014-12-10.yang
YANG Tree:
module: ietf-x509-cert-to-name grouping cert-to-name: +-- cert-to-name* [id] +-- id? uint32 +-- fingerprint x509c2n:tls-fingerprint +-- map-type identityref +-- name string
History:
Initial release train: 21.10
Examples
The tls-fingerprint data type requires a very specific pattern and length. The full fingerprint must be provided.
There are several Hash Type Algorithms that are supported.
Registry value First Octet
-------------- -----------
- md5(1) 01
- sha1(2) 02
- sha224(3) 03
- sha256(4) 04
- sha384(5) 05
- sha512(6) 06
The 'openssl' command can be used with different hash types to generate different fingerprints, depending on the hash type.
The most common hash type used is sha1(2)
.
SHA-1 Example
openssl x509 -noout -fingerprint -sha1 -inform pem -in client.crt
sha1 Fingerprint=08:29:DF:75:6C:FD:27:19:68:3E:8D:D4:ED:1E:96:98:49:EA:A9:86
YANG tls-fingerprint value:
02:08:29:DF:75:6C:FD:27:19:68:3E:8D:D4:ED:1E:96:98:49:EA:A9:86
SHA-224 Example
openssl x509 -noout -fingerprint -sha224 -inform pem -in client.crt
sha224 Fingerprint=7A:B5:61:85:06:0E:09:82:1D:E4:F6:1D:C9:3A:93:08:F3:85:29:0E:32:E7:67:6F:C5:6B:03:41
YANG tls-fingerprint value:
03:7A:B5:61:85:06:0E:09:82:1D:E4:F6:1D:C9:3A:93:08:F3:85:29:0E:32:E7:67:6F:C5:6B:03:41
SHA-512 Example
openssl x509 -noout -fingerprint -sha512 -inform pem -in client.crt
sha512 Fingerprint=A1:3A:98:0D:4E:E6:E5:54:B6:DF:48:CC:D9:E9:76:A8:37:8E:2E:D5:5F:01:5F:A1:C0:2C:35:98:06:6E:3F:E1:95:EF:90:32:AB:30:06:D4:09:CC:DA:1E:05:66:E0:13:CF:5F:CC:A9:B7:AE:3C:B6:95:E5:47:24:F4:F1:FC:E6
YANG tls-fingerprint value:
06:A1:3A:98:0D:4E:E6:E5:54:B6:DF:48:CC:D9:E9:76:A8:37:8E:2E:D5:5F:01:5F:A1:C0:2C:35:98:06:6E:3F:E1:95:EF:90:32:AB:30:06:D4:09:CC:DA:1E:05:66:E0:13:CF:5F:CC:A9:B7:AE:3C:B6:95:E5:47:24:F4:F1:FC:E6
ietf-yang-library.yang
This module contains the YANG Module Library
NMDA version (
/yang-library
)non-NMDA version (
/modules-state
)
It is fully supported and provides information
about the YANG modules loaded on the server. The file
libietf-yang-library/src/ietf-yang-library.c
contains the SIL
callback functions for this module.
The --with-nmda CLI parameter must be
set to true
for the NMDA version of this module to be used in the server.
Refer to the :yang-library capability section for more details.
Source Document: RFC 8525
GitHub File: ietf-yang-library@2019-01-04.yang
YANG Tree:
module: ietf-yang-library +--ro yang-library | +--ro module-set* [name] | | +--ro name string | | +--ro module* [name] | | | +--ro name yang:yang-identifier | | | +--ro revision? revision-identifier | | | +--ro namespace inet:uri | | | +--ro location* inet:uri | | | +--ro submodule* [name] | | | | +--ro name yang:yang-identifier | | | | +--ro revision? revision-identifier | | | | +--ro location* inet:uri | | | +--ro feature* yang:yang-identifier | | | +--ro deviation* -> ../../module/name | | +--ro import-only-module* [name revision] | | +--ro name yang:yang-identifier | | +--ro revision union | | +--ro namespace inet:uri | | +--ro location* inet:uri | | +--ro submodule* [name] | | +--ro name yang:yang-identifier | | +--ro revision? revision-identifier | | +--ro location* inet:uri | +--ro schema* [name] | | +--ro name string | | +--ro module-set* -> ../../module-set/name | +--ro datastore* [name] | | +--ro name ds:datastore-ref | | +--ro schema -> ../../schema/name | +--ro content-id string x--ro modules-state x--ro module-set-id string x--ro module* [name revision] x--ro name yang:yang-identifier x--ro revision union +--ro schema? inet:uri x--ro namespace inet:uri x--ro feature* yang:yang-identifier x--ro deviation* [name revision] | x--ro name yang:yang-identifier | x--ro revision union x--ro conformance-type enumeration x--ro submodule* [name revision] x--ro name yang:yang-identifier x--ro revision union +--ro schema? inet:uri notifications: +---n yang-library-update | +--ro content-id -> /yang-library/content-id x---n yang-library-change x--ro module-set-id -> /modules-state/module-set-id
History:
Initial release train: 14.08
ietf-yang-patch.yang
This module contains the YANG Patch Media Type, defined in RFC 8072. It
is fully supported and provides the template for complex RESTCONF
protocol edit requests. The DB-API protocol uses the yang-patch grouping
as well. The file ncx/yang_patch.c
contains basic support for this
module.
The file agt/agt_yangpatch.c
provides RESTCONF support for this module.
Source Document: RFC 8072
GitHub File: ietf-yang-patch@2017-02-22.yang
YANG Tree:
module: ietf-yang-patch grouping yang-patch +-- yang-patch +-- patch-id string +-- comment? string +-- edit* [edit-id] +-- edit-id? string +-- operation enumeration +-- target target-resource-offset +-- point? target-resource-offset +-- where? enumeration +-- value? <anydata> grouping yang-patch-status +-- yang-patch-status +-- patch-id string +-- (global-status)? | +--:(global-errors) | | +-- errors | | +-- error* [] | | +-- error-type enumeration | | +-- error-tag string | | +-- error-app-tag? string | | +-- error-path? instance-identifier | | +-- error-message? string | | +-- error-info? <anyxml> | +--:(ok) | +-- ok? empty +-- edit-status +-- edit* [edit-id] +-- edit-id? string +-- (edit-status-choice)? +--:(ok) | +-- ok? empty +--:(errors) +-- errors +-- error* [] +-- error-type enumeration +-- error-tag string +-- error-app-tag? string +-- error-path? instance-identifier +-- error-message? string +-- error-info? <anyxml>
ietf-yang-push.yang
This module contains the YANG Push feature APIs.
This module is loaded if the --bundle=yang-push parameter is used to start the server, and the --with-notifications=true parameter is also used.
Source Document: RFC 8641
GitHub File: ietf-yang-push@2019-09-09.yang
YANG Tree:
module: ietf-yang-push augment /sn:establish-subscription/sn:input: +---w (update-trigger)? +--:(periodic) | +---w periodic! | +---w period centiseconds | +---w anchor-time? yang:date-and-time +--:(on-change) {on-change}? +---w on-change! +---w dampening-period? centiseconds +---w sync-on-start? boolean +---w excluded-change* change-type augment /sn:establish-subscription/sn:input/sn:target: +--:(datastore) +-- datastore identityref +-- (selection-filter)? +--:(by-reference) | +-- selection-filter-ref selection-filter-ref +--:(within-subscription) +-- (filter-spec)? +--:(datastore-subtree-filter) | +-- datastore-subtree-filter? <anydata> {sn:subtree}? +--:(datastore-xpath-filter) +-- datastore-xpath-filter? yang:xpath1.0 {sn:xpath}? augment /sn:modify-subscription/sn:input: +---w (update-trigger)? +--:(periodic) | +---w periodic! | +---w period centiseconds | +---w anchor-time? yang:date-and-time +--:(on-change) {on-change}? +---w on-change! +---w dampening-period? centiseconds augment /sn:modify-subscription/sn:input/sn:target: +--:(datastore) +-- datastore identityref +-- (selection-filter)? +--:(by-reference) | +-- selection-filter-ref selection-filter-ref +--:(within-subscription) +-- (filter-spec)? +--:(datastore-subtree-filter) | +-- datastore-subtree-filter? <anydata> {sn:subtree}? +--:(datastore-xpath-filter) +-- datastore-xpath-filter? yang:xpath1.0 {sn:xpath}? augment /sn:subscription-started: +--ro (update-trigger)? +--:(periodic) | +--ro periodic! | +--ro period centiseconds | +--ro anchor-time? yang:date-and-time +--:(on-change) {on-change}? +--ro on-change! +--ro dampening-period? centiseconds +--ro sync-on-start? boolean +--ro excluded-change* change-type augment /sn:subscription-started/sn:target: +--:(datastore) +-- datastore identityref +-- (selection-filter)? +--:(by-reference) | +-- selection-filter-ref selection-filter-ref +--:(within-subscription) +-- (filter-spec)? +--:(datastore-subtree-filter) | +-- datastore-subtree-filter? <anydata> {sn:subtree}? +--:(datastore-xpath-filter) +-- datastore-xpath-filter? yang:xpath1.0 {sn:xpath}? augment /sn:subscription-modified: +--ro (update-trigger)? +--:(periodic) | +--ro periodic! | +--ro period centiseconds | +--ro anchor-time? yang:date-and-time +--:(on-change) {on-change}? +--ro on-change! +--ro dampening-period? centiseconds +--ro sync-on-start? boolean +--ro excluded-change* change-type augment /sn:subscription-modified/sn:target: +--:(datastore) +-- datastore identityref +-- (selection-filter)? +--:(by-reference) | +-- selection-filter-ref selection-filter-ref +--:(within-subscription) +-- (filter-spec)? +--:(datastore-subtree-filter) | +-- datastore-subtree-filter? <anydata> {sn:subtree}? +--:(datastore-xpath-filter) +-- datastore-xpath-filter? yang:xpath1.0 {sn:xpath}? augment /sn:filters: +--rw selection-filter* [filter-id] +--rw filter-id string +--rw (filter-spec)? +--:(datastore-subtree-filter) | +--rw datastore-subtree-filter? <anydata> {sn:subtree}? +--:(datastore-xpath-filter) +--rw datastore-xpath-filter? yang:xpath1.0 {sn:xpath}? augment /sn:subscriptions/sn:subscription: +--rw (update-trigger)? +--:(periodic) | +--rw periodic! | +--rw period centiseconds | +--rw anchor-time? yang:date-and-time +--:(on-change) {on-change}? +--rw on-change! +--rw dampening-period? centiseconds +--rw sync-on-start? boolean +--rw excluded-change* change-type augment /sn:subscriptions/sn:subscription/sn:target: +--:(datastore) +--rw datastore identityref +--rw (selection-filter)? +--:(by-reference) | +--rw selection-filter-ref selection-filter-ref +--:(within-subscription) +--rw (filter-spec)? +--:(datastore-subtree-filter) | +--rw datastore-subtree-filter? <anydata> {sn:subtree}? +--:(datastore-xpath-filter) +--rw datastore-xpath-filter? yang:xpath1.0 {sn:xpath}? rpcs: +---x resync-subscription {on-change}? +---w input +---w id sn:subscription-id notifications: +---n push-update | +--ro id? sn:subscription-id | +--ro datastore-contents? <anydata> | +--ro incomplete-update? empty +---n push-change-update {on-change}? +--ro id? sn:subscription-id +--ro datastore-changes | +--ro yang-patch | +--ro patch-id string | +--ro comment? string | +--ro edit* [edit-id] | +--ro edit-id string | +--ro operation enumeration | +--ro target target-resource-offset | +--ro point? target-resource-offset | +--ro where? enumeration | +--ro value? <anydata> +--ro incomplete-update? empty
History:
Initial release train: 20.10
ietf-yang-schema-mount.yang
This module contains the YANG Schema Mount YANG definitions.
'mount-point' extension: The server supports this extension to specify a mount point within a YANG module.
'schema-mounts' container: monitoring information used by a client application to identify the mount points implemented by the server and configured to be used
The --with-schema-mount=true parameter must be used for this module to be present in the server.
Source Document: RFC 8528
GitHub File: ietf-yang-schema-mount@2019-01-14.yang
YANG Tree:
module: ietf-yang-schema-mount +--ro schema-mounts +--ro namespace* [prefix] | +--ro prefix yang:yang-identifier | +--ro uri? inet:uri +--ro mount-point* [module label] +--ro module yang:yang-identifier +--ro label yang:yang-identifier +--ro config? boolean +--ro (schema-ref) +--:(inline) | +--ro inline! +--:(shared-schema) +--ro shared-schema! +--ro parent-reference* yang:xpath1.0
History:
Initial release train: 22.10T
ietf-yang-structure-ext.yang
This module contains the sx:structure and sx:augment-structure YANG extensions.
Added in release 21.10-2
Source Document: RFC 8791
GitHub File: ietf-yang-structure-ext@2020-06-17.yang
YANG Tree: none
History:
Initial release train: 21.10
ietf-yang-types.yang
This module contains the standard YANG general user data types. These types are available for commonly used derived types. A YANG module author should check this module first, before creating any new data types with the YANG typedef statement.
There are no accessible objects in this module, so there are no SIL
callback functions. The YANG data-types are supported within the YumaPro
engine core modules, such as ncx/val.c
and ncx/xml_wr.c.
Source Document: RFC 6991
GitHub File: ietf-yang-types@2013-07-15.yang
YANG Tree: none
History:
Initial release train: 12.09
nc-notifications.yang
This module is based on the definition in RFC 5277, the NETCONF Notifications specification. It contains the <replayComplete> and <notificationComplete> notification event definitions.
The file agt/agt_not.c
contains the SIL support code for this module.
Source Document: None: Based on RFC 5277
GitHub File: None
YANG Tree:
module: nc-notifications +--ro netconf +--ro streams +--ro stream* [name] +--ro name ncEvent:streamNameType +--ro description string +--ro replaySupport boolean +--ro replayLogCreationTime? yang:date-and-time notifications: +---n replayComplete +---n notificationComplete
History:
Initial release train: 12.09
notifications.yang
This module is based on the definition in RFC 5277, the NETCONF Notifications specification.
All of this RFC is supported in the server.
This module contains the <create-subscription> RPC operation.
The notification replay feature is controlled with the --eventlog-size configuration parameter.
The <create-subscription> operation is fully supported, including XPath and subtree filters.
The ietf-netconf-acm.yang module can be used to control what notification events a user is allowed to receive.
The <create-subscription> filter allows the client to select which notification events it wants to receive.
The file agt/agt_not.c
contains the SIL callback functions for
this modules.
Source Document: None: Based on RFC 5277
GitHub File: None
YANG Tree:
module: notifications +--ro notification +--ro eventTime yang:date-and-time +--ro sequence-id? uint32 rpcs: +---x create-subscription +---w input +---w stream? streamNameType +---w filter? <anyxml> +---w startTime? yang:date-and-time +---w stopTime? yang:date-and-time
History:
Initial release train: 12.09