This topic lists detailed instructions and requirements for adding a Cisco 9800 controller to VMware Edge Network Intelligence. It also describes troubleshooting information for the Cisco 9800 controller.

  • Ensure to have the following:
    • IP Address of the Cisco 9800 controller
    • NETCONF-YANG Telemetry SSH username and password
    • SNMP V1/V2C community string or SNMP V3 username and password
  • Ensure that the crawler has connectivity to the SNMP crawler and optionally, Cisco telemetry.
  • Set up SNMP traps on your WLAN controller and add the crawler IP address as the target. If you have multiple crawlers, you must choose the crawler that is associated to the site where the controller is located. Crawlers use the trap source to identify the controller and assign the trap receiver as the SNMP get source. Set the trap source to be the same IP as defined in the controller setup.
Procedure to set up NETCONF-YANG on Cisco 9800 Controller
Note: If the legacy NETCONF protocol is activated on your device, the RFC-compliant NETCONF protocol does not work. Deactivate the legacy NETCONF protocol by using the no netconf legacy command.
Perform the following steps to configure NETCONF-YANG:
Steps Command or Action (Example) Purpose
1 Device> enable Enables privileged EXEC mode. Enter your password if prompted.
2 Device# configure terminal Enters global configuration mode.
3 Device (config)# netconf-yang Enables the NETCONF interface on your network device.
Note: After the initial activation through the CLI, network devices can be managed subsequently through a model based interface. The complete activation of model based interface processes may require up to 90 seconds.
4 Device(config)# netconf-yang feature candidate-datastore Enables candidate datastore.
5 Device (config)# exit Exits global configuration mode.

Procedure to configure SNMP:

Activate the SNMP Server in IOS to allow NETCONF to access SNMP MIB data using YANG models generated from supported MIBs, and to allow supported SNMP traps in IOS to receive NETCONF notifications from the supported traps.

Perform the following steps:
  1. Activate SNMP features in IOS. Below is an example:
    configure terminal
    logging history debugging
    logging snmp-trap emergencies
    logging snmp-trap alerts
    logging snmp-trap critical
    logging snmp-trap errors
    logging snmp-trap warnings
    logging snmp-trap notifications
    logging snmp-trap informational
    logging snmp-trap debugging
    snmp-server community public RW
    snmp-server trap link ietf
    snmp-server enable traps snmp authentication linkdown linkup 
    snmp-server enable traps syslog
    snmp-server manager
  2. After NETCONF-YANG starts, activate SNMP Trap support by sending the following RPC <edit-config> message to the NETCONF-YANG port. Below is an example:
    <?xml version="1.0" encoding="utf-8"?>
    <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="">
          <netconf-yang xmlns="">
            <cisco-ia xmlns="">
  3. Send the following RPC message to the NETCONF-YANG port to save the running configuration to the startup configuration. Below is an example:
    <?xml version="1.0" encoding="utf-8"?>
    <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="">
      <cisco-ia:save-config xmlns:cisco-ia=""/>
Procedure to add a Cisco 9800 Controller:
  1. Navigate to Admin settings > Feeds > Controllers.
  2. Click + Add Controller and select Cisco 9800 from the Manufacturer drop-down menu.
  3. Enter a name for the controller, IP address, and SSH username and password
  4. Choose the SNMP version and enter the community string, or username and password.
    Figure 1. Adding a Cisco 9800 Controller
  5. Once you have added a controller and the controller begins to send SNMP traps, the crawler reaches out and begin to collect data. If all goes well, the feed must look like the following example - choosing the controller displays specific details on the feeds.
    Figure 2. Cisco 9800 Feed Status
Troubleshooting the Cisco 9800 controller
  • Issue 1: Unable to connect to a controller through the SSH or unable to establish a periodic subscription on a controller.

    Description: This issue might occur due to improper setup of the Cisco 9800 controller.

    • Ensure to successfully complete your controller setup.
    • Once you have successfully completed the setup, check to see if NETCONF-YANG command is properly configured on the controller.
    • The command results should match the image below:
  • Issue 2: Subscription gets hung on the controller side causing stale data, which is not sent at the appropriate subscription period on the RPC call.

    Description:In such cases, the collector service resolves this issue through the monitoring thread.

    Workaround: If the issue is still not resolved, there is a cronjob on the crawler which restarts the 9800-telemetry service every 3 hours.

  • Issue 3: There are insufficient resources on the 9800 controller.

    Description: This issue might be due to multiple subscriptions. This prevents the controller from establishing an SSH connection or a periodic subscription.


    • Use the following command to check for current subscriptions: notif-bis:error-insufficient-resources.
    • The command results should match the image below:
  • Issue 3:You may notice Cisco YANG parsing errors on the manager side.

    Description: This issue occurs during an update from Cisco for their Cisco XE YANG schemas.

    Workaround: Copy the revised schemas from Cisco.

Most of the other troubleshooting can be done using the below information:

Cisco IOS Commands
  • Display the subscription status:
  • Display the subscription details:
  • Display subscription stats:
Crawler Commands: Code Location, Service Commands, Logs
Quick Test for NETCONF Connectivity: Using ncc library