Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

NETCONF

NETCONF overview

NETCONF is a protocol that provides mechanisms for installing, manipulating, and deleting the configuration of network devices. It uses Extensible Markup Language (XML)-based data encoding for configuration data and protocol messages. The NETCONF operations are realized as remote procedure calls (RPCs).

...

Refer to RFC 6242, Using the NETCONF Protocol over Secure Shell (SSH), at https://tools.ietf.org/html/rfc6242 for more information on using the NETCONF configuration protocol over SSH.

NETCONF capabilities supported on the DANOS vRouter

A NETCONF capability is a set of functions that supplements the base NETCONF specification. The capability is identified by a uniform resource identifier (URI). Capabilities augment the base operations of the device, describing both additional operations and the content that is allowed inside the operations. The client discovers the capabilities of the server and uses any additional operations, parameters, and content that are defined by those capabilities.

...

Refer to RFC 6241, Network Configuration Protocol (NETCONF), at https://tools.ietf.org/html/rfc6241 for more information on these capabilities.

Initiating a NETCONF session

To allow an inbound NETCONF session request from a remote system to be accepted, use the commands that are shown in the following table.

Code Block
languagetext
vyatta@R1# set service netconf
vyatta@R1# set service ssh port 830
vyatta@R1# commit

YANG model for NETCONF monitoring

The <getā€schema> operation is supported on the DANOS vRouter to query and retrieve schema information and NETCONF state information from a NETCONF server.

Refer to RFC 6022, YANG Module for NETCONF Monitoring, at https://tools.ietf.org/html/rfc6022 for more information on using <get-schema>.

Verifying Connections and Retrieving Operational Data Using NETCONF

ping

The ping command displays whether a destination responded and how long the destination took to receive a reply. If an error occurs in the delivery to the destination, the command displays an error message.

...

Code Block
languagetext
<tx-packet-count>5</tx-packet-count>
<rx-packet-count>5</rx-packet-count>
<min-delay>54</min-delay>
<average-delay>62</average-delay>
<max-delay>74</max-delay>

interface

The interface command displays information about an interface name. The command output displays all the IP addresses that are associated with the interface, administrator status, operational status, and description of the interface.

...

Code Block
<address>
    <ip>15.15.15.15/24</ip>
</address>
<address>
    <ip>2020::/64</ip>
</address>
<address>
    <ip>2001::15/64</ip>
</address>
<address>
    <ip>3001::211:22ff:fe33:4455/64</ip>
</address>
<admin-status>up</admin-status>
<oper-status>up</oper-status>
<description>sample bridge</description>

route

The route command displays information about the path taken to a particular destination address.

...

Code Block
<route>
    <destination>192.168.14.0</destination>
    <path>
        <entry>1</entry>
        <nexthop>31.31.31.32</nexthop>
        <device>dp0p256p1</device>
    </path>
</route>

Retrieving statistics using NETCONF

Overview

You can retrieve DANOS vRouter statistics of all types by using NETCONF. Some of the statistics are also available from the CLI. The configuration model is a subtree of the overall YANG tree, which is included in the ISO distribution for the DANOS vRouter.

...

The following sections provide XML examples for different categories of statistics and other information.

CPU information

The XML examples in this section provide CPU information.

...

Code Block
<?xml version="1.0" encoding="UTF-8"?>
    <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1">
        <data>
            <system xmlns="urn:vyatta.com:mgmt:vyatta-system:1">
                <state>
                    <processor>
                        <utilization>
                            <cpu>0</cpu>
                            <guest>0.00</guest>
                            <idle>98.41</idle>
                            <iowait>0.11</iowait>
                            <irq>0.00</irq>
                            <nice>0.00</nice>
                            <niced-guest>0.00</niced-guest>
                            <soft>0.00</soft>
                            <steal>0.07</steal>
                            <sys>1.39</sys>
                            <user>0.01</user>
                        </utilization>
                        <utilization>
                            <cpu>1</cpu>
                            <guest>0.00</guest>
                            <idle>97.27</idle>
                            <iowait>0.06</iowait>
                            <irq>0.00</irq>
                            <nice>0.00</nice>
                            <niced-guest>0.00</niced-guest>
                            <soft>0.00</soft>
                            <steal>0.35</steal>
                            <sys>1.87</sys>
                            <user>0.44</user>
                        </utilization>
                        <utilization>
                            <cpu>all</cpu>
                            <guest>0.00</guest>
                            <idle>97.85</idle>
                            <iowait>0.09</iowait>
                            <irq>0.00</irq>
                            <nice>0.00</nice>
                            <niced-guest>0.00</niced-guest>
                            <soft>0.00</soft>
                            <steal>0.21</steal>
                            <sys>1.63</sys>
                            <user>0.23</user>
                    </utilization>
                </processor>
            </state>
        </system>
    </data>
</rpc-reply>
]]>]]>

Memory information

The XML examples in this section provide memory information.

...

Code Block
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1">
    <get xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
        <filter type="subtree">
            <system>
                <state>
                    <memory xmlns="urn:vyatta.com:mgmt:vyatta-system:1">
                    </memory>
                </state>
            </system>
        </filter>
    </get>
</rpc>]]>]]>

Uptime information

The XML examples in this section provide memory information.

...

Code Block
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1">
    <get xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
        <filter type="subtree">
            <system>
                <state>
                    <times xmlns="urn:vyatta.com:mgmt:vyatta-system:1">
                    </times>
                </state>
            </system>
        </filter>
    </get>
</rpc>]]>]]>

Version information

The XML examples in this section provide memory information.

...