Introduction to the SRC XML and NETCONF APIs
The NETCONF API (application programming interface) is an Extensible Markup Language (XML) application that client applications use to request and change configuration information on a C Series Controller that runs the SRC software. The operations defined in the API are equivalent to configuration mode commands in the SRC command-line interface (CLI). Applications use the API to display, edit, and commit configuration statements (among other operations), just as administrators use CLI configuration mode commands such as show, set, and commit to perform those operations.
The SRC XML API is an XML representation of SRC CLI configuration statements and operational mode commands. SRC XML configuration tag elements are the content to which the operations in the NETCONF API apply. SRC XML operational tag elements are equivalent in function to operational mode commands in the CLI, which administrators use to retrieve and change status information for a C Series Controller.
The NETCONF API is described in RFC 4741, NETCONF Configuration Protocol, available at http://www.ietf.org/rfc/rfc4741.txt.
Client applications request or change information on the C Series Controller by encoding the request with tag elements from the NETCONF and SRC XML APIs and sending it to the NETCONF server on the C Series Controller. (The NETCONF server is integrated into the SRC software and does not appear as a separate entry in process listings.) The NETCONF server directs the request to the appropriate software modules within the C Series Controller, encodes the response in NETCONF and SRC XML tag elements, and returns the result to the client application. For example, to request information about the status of a C Series Controller’s interfaces, a client application sends the <get-interfaces> tag element from the SRC XML API. The NETCONF server gathers the information from the interface process and returns it in the <output> tag element.
This manual explains how to use the NETCONF and SRC XML APIs to configure Juniper Networks C Series Controllers or request information about configuration or operation. The main focus is on writing client applications to interact with the NETCONF server, but you can also use the NETCONF API to build custom end-user interfaces for configuration and information retrieval and display, such as a Web browser–based interface.
This chapter includes the following topics: