Cisco SD-WAN#
Cisco SD-WAN controller components are identified with cisco_sdwan kind in the topology file. It is built using srl-labs/vrnetlab project and essentially is a Qemu VM packaged in a container format.
This kind supports all three Cisco SD-WAN controller components:
- vManage: Orchestration and management
- vSmart: Control plane controller
- vBond: Orchestrator/validator
Hardware resource requirements#
| Component | vCPU | RAM | Disk |
|---|---|---|---|
| vManage | 1 | 16 GB | 30 GB + 50 GB data |
| vSmart | 1 | 4 GB | 30 GB |
| vBond | 1 | 2 GB | 30 GB |
Managing cisco_sdwan nodes#
Note
SD-WAN components boot in 5-10 minutes. Monitor progress with:
Wait for System Ready or All daemons up message.
Credentials#
Default credentials: admin:admin
Component Types#
Specify the component type using the type parameter:
manager- vManage orchestratorcontroller- vSmart control planevalidator- vBond orchestrator
topology:
nodes:
sdwan-manager:
kind: cisco_sdwan
type: manager
image: vrnetlab/cisco_sdwan-manager:20.16.1
sdwan-controller:
kind: cisco_sdwan
type: controller
image: vrnetlab/cisco_sdwan-controller:20.16.1
sdwan-validator:
kind: cisco_sdwan
type: validator
image: vrnetlab/cisco_sdwan-validator:20.16.1
Interface naming#
You can use interfaces names in the topology file like they appear in the device.
The interface naming convention is: ethX, where X starts at 1.
eth0- Management interface (VPN 512)eth1- First transport interface (VPN 0)eth2+- Additional transport interfaces
Features and options#
Startup Configuration#
The cisco_sdwan kind supports two configuration file formats:
zCloud XML Configuration#
topology:
nodes:
sdwan-manager:
kind: cisco_sdwan
type: manager
startup-config: sdwan-manager-config.xml
Example zCloud XML (sdwan-manager-config.xml):
<config xmlns="http://tail-f.com/ns/config/1.0">
<system xmlns="http://viptela.com/system">
<personality>vmanage</personality>
<device-model>vmanage</device-model>
<host-name>my-vmanage</host-name>
<aaa>
<user>
<name>admin</name>
<password>MyPassword</password>
<group>netadmin</group>
</user>
</aaa>
</system>
<vpn xmlns="http://viptela.com/vpn">
<vpn-instance>
<vpn-id>512</vpn-id>
<interface>
<if-name>eth0</if-name>
<ip>
<dhcp-client>true</dhcp-client>
</ip>
</interface>
</vpn-instance>
</vpn>
</config>
Full Cloud-Init Configuration#
topology:
nodes:
sdwan-manager:
kind: cisco_sdwan
type: manager
startup-config: sdwan-manager-cloud-init.yaml
Example cloud-init (sdwan-manager-cloud-init.yaml):
#cloud-config
write_files:
- path: /etc/default/personality
content: "vmanage\n"
- path: /etc/confd/init/zcloud.xml
content: |
<config xmlns="http://tail-f.com/ns/config/1.0">
<!-- zCloud XML content here -->
</config>
If no startup-config is provided, the component will boot with auto-generated default configuration.
Lab examples#
name: sdwan-controllers
topology:
nodes:
sdwan-manager:
kind: cisco_sdwan
type: manager
image: vrnetlab/cisco_sdwan-manager:20.16.1
sdwan-controller:
kind: cisco_sdwan
type: controller
image: vrnetlab/cisco_sdwan-controller:20.16.1
sdwan-validator:
kind: cisco_sdwan
type: validator
image: vrnetlab/cisco_sdwan-validator:20.16.1
links:
- endpoints: ["sdwan-manager:eth1", "sdwan-validator:eth1"]
- endpoints: ["sdwan-controller:eth1", "sdwan-validator:eth1"]
name: sdwan-fabric
topology:
nodes:
sdwan-manager:
kind: cisco_sdwan
type: manager
image: vrnetlab/cisco_sdwan-manager:20.16.1
sdwan-controller:
kind: cisco_sdwan
type: controller
image: vrnetlab/cisco_sdwan-controller:20.16.1
sdwan-validator:
kind: cisco_sdwan
type: validator
image: vrnetlab/cisco_sdwan-validator:20.16.1
edge1:
kind: cisco_c8000v
type: controller # SD-WAN managed mode
image: vrnetlab/vr-c8000v:17.11.01a
links:
- endpoints: ["sdwan-manager:eth1", "sdwan-validator:eth1"]
- endpoints: ["sdwan-controller:eth1", "sdwan-validator:eth1"]
- endpoints: ["edge1:Gi2", "sdwan-validator:eth1"]
name: sdwan-custom
topology:
nodes:
sdwan-manager:
kind: cisco_sdwan
type: manager
startup-config: configs/sdwan-manager-zcloud.xml
image: vrnetlab/cisco_sdwan-manager:20.16.1
sdwan-controller:
kind: cisco_sdwan
type: controller
startup-config: configs/sdwan-controller-cloud-init.yaml
image: vrnetlab/cisco_sdwan-controller:20.16.1
sdwan-validator:
kind: cisco_sdwan
type: validator
image: vrnetlab/cisco_sdwan-validator:20.16.1