The NETCONF protocol provides a set of operations to manage device configurations and retrieve device state information. NETCONF
supports a global lock, and the ability to kill non-responsive sessions are introduced in NETCONF.
To ensure consistency and prevent conflicting configurations through multiple simultaneous sessions, the owner of the session
can lock the NETCONF session. The NETCONF lock RPC locks the configuration parser and the running configuration database.
All other NETCONF sessions (that do not own the lock) cannot perform edit operations; but can perform read operations. These
locks are intended to be short-lived and allow the owner to make changes without interaction with other NETCONF clients, non-NETCONF
clients (such as, SNMP and CLI scripts), and human users.
A global lock held by an active session is revoked when the associated session is killed. The lock gives the session holding
the lock exclusive write access to the configuration. When a configuration change is denied due to a global lock, the error
message will specify that a NETCONF global lock is the reason the configuration change has been denied.
The <lock> operation takes a mandatory parameter, <target> that is the name of the configuration datastore that is to be locked.
When a lock is active, the <edit-config> and <copy-config> operations are not allowed.
If the clear configuration lock command is specified while a NETCONF global lock is being held, a full synchronization of the configuration is scheduled
and a warning syslog message is produced. This command clears only the parser configuration lock.
The following is a sample RPC that shows the <lock> operation: