Q. What does the base Cisco
® Extensible Network Controller (XNC) provide without the applications?
A. The base controller is a fully functional OpenFlow controller. It provides the common infrastructure and services that applications use:
• Network topology services
• Cluster-based high availability
• Forwarding rules manager, which allows an application to program rules (flows) on OpenFlow capable network devices within the domain of the controller
• Basic GUI
• Representational state transfer (REST) API and Java API for applications to use
Q. What are the differences between the OpenDaylight controller and Cisco XNC?
A. Cisco XNC is based on the OpenDaylight controller, but there are important differences between the two. Cisco XNC includes the base controller plus:
• Applications such as Monitor Manager, Topology-Independent Forwarding (TIF), and Network Slicing
• An advanced GUI and superior troubleshooting and debugging capabilities compared to the OpenDaylight controller
• Support for the Cisco Open Network Environment (ONE) Platform Kit (onePK) as well as OpenFlow 1.0 for communication with network devices
• Integration with an external authentication, authorization, and accounting (AAA) server for authentication as well as for authorization for both GUI and REST API calls
• Full Cisco Technical Assistance Center (TAC) support for Cisco XNC and its applications, whereas the OpenDaylight controller is community supported
Figure 1. OpenDaylight Controller Architecture and Components
Figure 2. Cisco XNC Architecture and Components
Q. What is the security mechanism for the REST API?
A. All REST API calls are authenticated and authorized either using local AAA or external AAA server, depending on Cisco XNC configuration and setup. In addition, Cisco XNC supports secure communications for the REST API.
Q. What are the system requirements for Cisco XNC?
A. Cisco XNC can run on a virtual machine or bare-metal server. The minimum recommendation is a 6-core CPU with 8 GB of RAM running a 64-bit distribution of Linux with Java 1.7 or later.
Q. Does Cisco XNC support only OpenFlow and Cisco onePK?
A. Cisco XNC supports OpenFlow 1.0, and a Cisco onePK plug-in will be available in a future release.
Q. How do I achieve Cisco XNC high availability?
A. Cisco XNC supports cluster-based high availability. Multiple instances of Cisco XNC can deployed for high availability and scalability. Multiple instances logically act as one single instance of the controller.
Q. How does Cisco XNC connect to the platforms? Does it use the management port or front-panel ports?
A. A switch can connect to Cisco XNC through the management port or front-panel port. As long as IP connectivity exists between the device and Cisco XNC, the two should be able to communicate. The most common way of connecting a switch to Cisco XNC is through the management VLAN to which the management port of the switch belongs.
Q. Can I build an application on top of Cisco XNC?
A. Yes. The REST API can be used by an application if the application is written in any programming language (for example, C, C++, or Java) or script (Python), and the application can run in a different address space than the controller. An application also can be written using the Java API, but an application the uses the Java API must be written in Java and will run in the same address space as the controller.
Q. Can Cisco XNC manage other network devices from other vendors?
A. Cisco XNC can manage any third-party switches that support OpenFlow 1.0; however, Cisco TAC does not support these switches.
Q. What Cisco platforms does Cisco XNC Release 1.0 officially support?
A. Cisco XNC 1.0 supports the Cisco Nexus® 3000 Series Switches with Cisco NX-OS Software Release 6.0(2)U1(1) and Cisco Agent for OpenFlow Release 1.0.0 or 6.0(2)U1(2) and Cisco Agent for OpenFlow Release 1.0.1.