Configuring Manageability

This module describes the configuration required to enable the Extensible Markup Language (XML) agent services. The XML Parser Infrastructure provides parsing and generation of XML documents with Document Object Model (DOM), Simple Application Programming Interface (API) for XML (SAX), and Document Type Definition (DTD) validation capabilities:

  • DOM allows customers to programmatically create, manipulate, and generate XML documents.

  • SAX supports user-defined functions for XML tags.

  • DTD allows for validation of defined document types.

Table 1. Feature History for Configuring Manageability on Cisco IOS XR Software
Release 5.0.0

This feature was introduced.

This module contains the following topics:

Information About XML Manageability

The Cisco IOS XR Extensible Markup Language (XML) API provides a programmable interface to the router for use by external management applications. This interface provides a mechanism for router configuration and monitoring utilizing XML formatted request and response streams. The XML interface is built on top of the Management Data API (MDA), which provides a mechanism for Cisco IOS XR components to publish their data models through MDA schema definition files.

Cisco IOS XR software provides the ability to access the router via XML using a dedicated TCP connection, Secure Socket Layer (SSL), or a specific VPN routing and forwarding (VRF) instance.

How to Configure Manageability

Configuring the XML Agent

SUMMARY STEPS

  1. xml agent [ ssl]
  2. iteration on size iteration-size
  3. session timeout timeout
  4. throttle { memory size | process-rate tags}
  5. vrf { default | vrf-name} [ access-list access-list-name]

DETAILED STEPS

  Command or Action Purpose
Step 1

xml agent [ ssl]

Example:

RP/0/RP0/CPU0:router:router(config)# xml agent

Enables Extensible Markup Language (XML) requests over a dedicated TCP connection and enters XML agent configuration mode. Use the ssl keyword to enable XML requests over Secure Socket Layer (SSL).

Step 2

iteration on size iteration-size

Example:

RP/0/RP0/CPU0:router:router(config-xml-agent)# iteration on size 500

Configures the iteration size for large XML agent responses in KBytes. The default is 48.

Step 3

session timeout timeout

Example:

RP/0/RP0/CPU0:router:router(config-xml-agent)# session timeout 5

Configures an idle timeout for the XML agent in minutes. By default, there is no timeout.

Step 4

throttle { memory size | process-rate tags}

Example:

RP/0/RP0/CPU0:router:router(config-xml-agent)# throttle memory 300

Configures the XML agent processing capabilities.

  • Specify the throttle memory size in Mbytes per session. Values can range from 100 to 600. The default is 300.

  • Specify the process-rate as the number of tags that the XML agent can process per second. Values can range from 1000 to 30000. By default the process rate is not throttled.

Step 5

vrf { default | vrf-name} [ access-list access-list-name]

Example:

RP/0/RP0/CPU0:router:router(config-xml-agent)# vrf my-vrf

Configures the dedicated agent or SSL agent to receive and send messages via the specified VPN routing and forwarding (VRF) instance.

Configuration Examples for Manageability

Enabling VRF on an XML Agent: Examples

The following example illustrates how to configure the dedicated XML agent to receive and send messages via VRF1, VRF2 and the default VRF:


RP/0/RP0/CPU0:router:router(config)# xml agent
RP/0/RP0/CPU0:router:router(config-xml-agent)# vrf VRF1
RP/0/RP0/CPU0:router:router(config-xml-agent)# vrf VRF2
  

The following example illustrates how to remove access to VRF2 from the dedicated agent:


RP/0/RP0/CPU0:router:router(config)# xml agent
RP/0/RP0/CPU0:router:router(config-xml-agent)# no vrf VRF2
  

The following example shows how to configure the XML SSL agent to receive and send messages through VRF1, VRF2 and the default VRF:


RP/0/RP0/CPU0:router:router(config)# xml agent ssl
RP/0/RP0/CPU0:router:router(config-xml-agent)# vrf VRF1
RP/0/RP0/CPU0:router:router(config-xml-agent)# vrf VRF2
  

The following example removes access for VRF2 from the dedicated XML agent:


RP/0/RP0/CPU0:router:router(config)# xml agent ssl
RP/0/RP0/CPU0:router:router(config-xml-agent)# no vrf VRF2