Sample NETCONF Session
The following sections describe the sequence of tag elements in a sample NETCONF session with a device running Junos OS. The client application begins by establishing a connection to a NETCONF server.
Exchanging Initialization Tag Elements
After the client application establishes a connection to a NETCONF
server, the two exchange <hello>
tag
elements, as shown in the following example. For legibility, the example
places the client application’s <hello>
tag element below the NETCONF server’s. The two parties can
actually emit their <hello>
tag elements
at the same time. For information about the ]]>]]>
character sequence used in this and the following examples, see Generate Well-Formed XML Documents.
For a detailed discussion of the <hello>
tag element, see Exchanging <hello> Tag Elements.
![](../../images/t2102.gif)
Sending an Operational Request
The client application emits the <get-chassis-inventory>
tag element to request information about the device’s chassis
hardware. The NETCONF server returns the requested information in
the <chassis-inventory>
tag element.
![](../../images/t2103.gif)
Locking the Configuration
The client application then prepares to incorporate a change
into the candidate configuration by emitting the <lock/>
tag to prevent any other users or applications from altering the
candidate configuration at the same time. To confirm that the candidate
configuration is locked, the NETCONF server returns an <ok/>
tag in an <rpc-reply>
tag element. For more information about locking the configuration,
see Lock and Unlock the Candidate Configuration Using NETCONF.
![](../../images/t2104.gif)
Changing the Configuration
The client application now emits tag elements to create a new
Junos OS login class called network-mgmt
at the [edit system login class]
hierarchy level in the candidate configuration. To confirm that
the load operation was successful, the NETCONF server returns an <ok/>
tag in an <rpc-reply>
tag element.
![](../../images/t2105.gif)
Committing the Configuration
The client application then commits the candidate configuration.
To confirm that the commit operation was successful, the NETCONF server
returns an <ok/>
tag in an <rpc-reply>
tag element. For more information about
the commit operation, see Commit the Candidate Configuration Using NETCONF.
![](../../images/t2106.gif)
Unlocking the Configuration
The client application unlocks (and by implication closes) the
candidate configuration. To confirm that the unlock operation was
successful, the NETCONF server returns an <ok/>
tag in an <rpc-reply>
tag element.
For more information about unlocking a configuration, see Lock and Unlock the Candidate Configuration Using NETCONF.
![](../../images/t2107.gif)
Closing the NETCONF Session
The client application closes the NETCONF session by emitting
the <close-session>
tag. For more information
about closing the session, see End a NETCONF Session and Close the Connection.
![](../../images/t2108.gif)