Cisco VIRL is a network orchestration and virtualization platform that allows users to:
- Design and configure simulated networks with Cisco and third-party elements using a graphical tool
- Set properties on network topologies or individual network elements.
- Generate router and switch configurations, and visualizations of network designs that illustrate a wide range of characteristics such Layer-2 connectivity, IP addressing, IGP configurations, BGP configurations, and more.
- Start and stop simulations of network designs.
- Interact with active simulations, including the ability to access simulated nodes via console connections, modify running configurations, and extract configurations for use in subsequent simulations for transfer to 'real' routers.
- Link network simulations with external networks for management-, control-, and data-plane connectivity.
Using VIRL to Simulate an Open NX-OS Environment
VIRL is based in part on OpenStack, and the elements that are used to build network topologies are executed as Nova / KVM virtual machines. These are linked with Neutron-managed networks and subnets.
Many virtualized elements are available, including:
- Cisco NX-OSv
- Cisco IOSv
- Cisco IOS XRv
- Cisco IOS XE (as CSR1000v)
- Cisco ASAv
- Ubuntu 14.04 LTS server
VIRL provides a simple and cost-effective mechanism for developers (or anyone else) to learn the NX-API REST interface and create network applications.
Note: users can leverage the DevNet Open NX-OS Sandbox available at https://developer.cisco.com/sandbox for NX-API REST interface testing.
Beyond providing a simulation capability that can be used with NX-API REST, VIRL also provides several other facilities that expose RESTful interfaces that can be used for learning about APIs, including the full set of OpenStack APIs and those exposed by VIRL directly.
For more information on VIRL, including configuration guides, tutorials, and how to purchase VIRL for personal or development use, visit the VIRL microsite at https://virl.cisco.com.