Capabilities
18 min
this section defines a set of capabilities that asternos has implemented asternos netconf capability is identified with a uri the base capabilities are defined using urns following the method described in rfc 3553\[rfc3553] https //datatracker ietf org/doc/html/rfc3553 capabilities defined in this document have the following format urn\ ietf\ params\ netconf\ capability {name} 1 x where {name} is the name of the capability \<font color="#1d50a2">capabilities exchange\</font> asternos netconf capabilities are advertised in messages sent by each peer during session establishment when the netconf session is opened, asternos netconf server will send a \<hello> element containing a list of peer’s capabilities for example urn\ ietf\ params\ netconf\ base 1 1 urn\ ietf\ params\ netconf\ capability\ writable running 1 0 urn\ ietf\ params\ netconf\ capability\ candidate 1 0 urn\ ietf\ params\ netconf\ capability\ rollback on error 1 0 urn\ ietf\ params\ netconf\ capability\ validate 1 1 urn\ ietf\ params\ netconf\ capability\ startup 1 0 urn\ ietf\ params\ xml\ ns\ yang\ ietf yang metadata?module=ietf yang metadata\&revision=2016 08 05 urn\ ietf\ params\ xml\ ns\ yang 1?module=yang\&revision=2021 04 07 urn\ ietf\ params\ xml\ ns\ yang\ ietf inet types?module=ietf inet types\&revision=2013 07 15 urn\ ietf\ params\ xml\ ns\ yang\ ietf yang types?module=ietf yang types\&revision=2013 07 15 urn\ ietf\ params\ netconf\ capability\ yang library 1 1?revision=2019 01 04\&content id=27 urn\ ietf\ params\ xml\ ns\ netconf\ base 1 0?module=ietf netconf\&revision=2013 09 29\&features=writable running,candidate,confirmed commit,rollback on error,validate,startup,url,xpath urn\ ietf\ params\ xml\ ns\ yang\ ietf netconf acm?module=ietf netconf acm\&revision=2018 02 14 urn\ ietf\ params\ netconf\ capability\ with defaults 1 0?basic mode=explicit\&also supported=trim,report all urn\ ietf\ params\ xml\ ns\ yang\ ietf netconf notifications?module=ietf netconf notifications\&revision=2012 02 06 urn\ ietf\ params\ xml\ ns\ netmod\ notification?module=nc notifications\&revision=2008 07 14 urn\ ietf\ params\ xml\ ns\ netconf\ notification 1 0?module=notifications\&revision=2008 07 14 if no protocol version capability in common is found, the netconf server will not continue the session \<font color="#1d50a2">writable running capability\</font> \<font color="#1d50a2">description\</font> the writable running capability indicates that the asternos device supports direct writes to the \<running> configuration datastore in other words, the device supports \<edit config> and \<copy config> operations where the \<running> configuration is the target \<font color="#1d50a2">capability identifier\</font> the \ writable running capability is identified by the following capability string urn\ ietf\ params\ netconf\ capability\ writable running 1 0 \<font color="#1d50a2">rollback on error capability\</font> \<font color="#1d50a2">description\</font> asternos support an internal integrated rollback on error mechanism, where when any node in a user request fails, all modifications made to that request will be rolled back, meaning that any failed request will not have any actual impact on the device state \<font color="#1d50a2">dependencies\</font> none \<font color="#1d50a2">capability identifier\</font> the \ rollback on error capability is identified by the following capability string urn\ ietf\ params\ netconf\ capability\ rollback on error 1 0 note users do not need to specify \<error option> rollback on error\</error option> in edit config, as the server will force the cancellation of all changes in this request \<font color="#1d50a2">validate capability\</font> \<font color="#1d50a2">description\</font> validation consists of checking a complete configuration for syntactical and semantic errors before applying the configuration to the device asternos support an internal integrated validate operation and checks syntax errors and business logic verification note asternos don't supports the \<validate> rpc and \<test option> parameter to the \<edit config> operation, as the server will perform validation automatically before applying the configuration to the device \<font color="#1d50a2">capability identifier\</font> the \ validate 1 1 capability is identified by the following capability string urn\ ietf\ params\ netconf\ capability\ validate 1 1 \<font color="#1d50a2">distinct startup capability\</font> \<font color="#1d50a2">description\</font> asternos supports separate running and startup configuration datastores the startup configuration is loaded by the device when it boots operations that affect the running configuration will not be automatically copied to the startup configuration important an explicit \<copy config> operation from the \<running> to the \<startup> is used to update the startup configuration to the current contents of the running configuration \<font color="#1d50a2">capability identifier\</font> the \ startup capability is identified by the following capability string urn\ ietf\ params\ netconf\ capability\ startup 1 0 \<font color="#1d50a2">url capability\</font> \<font color="#1d50a2">description\</font> asternos support to use url as source or target in \<copy config> operation with some limitations also, \<edit config> with a \<uri> as config is supported \<font color="#1d50a2">capability identifier\</font> the \ url capability is identified by the following capability string urn\ ietf\ params\ netconf\ capability\ url 1 0?scheme=http,https,file,scp,ftp,sftp \<font color="#1d50a2">netconf monitoring capability\</font> \<font color="#1d50a2">description\</font> asternos partly support rfc6022 netconf monitoring currently, only part of this module is supported type description /netconf state/capabilities support to get capabilities via \<get> /netconf state/datastores support to get all supported datastores name via \<get> /netconf state/schemas support to get all supported and valid schemas via \<get> return a list of schemas, contain 'identifier', 'version', 'format', 'location' rpc \<get schema> support to get schema content via \<get schema> rpc, need to specify 'identifier', 'version', 'format' \<font color="#1d50a2">capability identifier\</font> the \ ietf netconf monitoring capability is identified by the following capability string urn\ ietf\ params\ xml\ ns\ yang\ ietf netconf monitoring for more details about netconf on asternos, please refer to document netconf examples and netconf yang api reference
