id: xrd-control-plane-rr boot: timeout: 300 completed: - "IOS XR RUN" uses_regex: false sim: linux_native: libvirt_domain_driver: docker driver: ubuntu ram: 2048 cpus: 2 cpu_limit: 100 video: memory: 1 general: nature: router description: Cisco XRd Control-Plane - IOS-XR containerized routing daemon read_only: false configuration: generator: driver: null provisioning: files: - editable: false name: config.json content: |- { "docker": { "image": "ios-xr/xrd-control-plane:25.1.1", "mounts": [ "type=bind,source=cfg/boot.sh,target=/cml-boot.sh", "type=bind,source=cfg/xrd-startup.cfg,target=/etc/xrd/startup.cfg" ], "misc_args": [ "--privileged" ], "env": [ "XR_STARTUP_CFG=/etc/xrd/startup.cfg", "XR_MGMT_INTERFACES=linux:eth0,chksum", "XR_INTERFACES=linux:eth1,xr_name=Gi0/0/0/0;linux:eth2,xr_name=Gi0/0/0/1;linux:eth3,xr_name=Gi0/0/0/2;linux:eth4,xr_name=Gi0/0/0/3" ] }, "shell": "/bin/bash", "day0cmd": [ "/bin/bash", "/cml-boot.sh" ], "busybox": false } - editable: true name: boot.sh content: |- #!/bin/bash # CML boot wrapper for XRd control-plane. # XRd handles its own init — this script configures # data-plane interfaces before XRd starts. # # Interface mapping (set via XR_INTERFACES env var): # eth0 = MgmtEth0/RP0/CPU0/0 (CML mgmt) # eth1 = Gi0/0/0/0 (data-plane link 1, e.g. to CORE-01) # eth2 = Gi0/0/0/1 (data-plane link 2, e.g. to CORE-02) # eth3+ = Gi0/0/0/2+ (additional links) # # Linux-level IP config is handled by XRd via startup.cfg. # Just ensure interfaces are up. for iface in eth0 eth1 eth2 eth3 eth4; do [ -d /sys/class/net/$iface ] && ip link set dev $iface up done # XRd entrypoint exec /usr/sbin/xrd - editable: true name: xrd-startup.cfg content: |- !! XRd Control-Plane - Third Route Reflector (RR3) !! Peers with CORE-01 and CORE-02 as RR mesh (non-client iBGP) !! Sends BMP to OpenBMP collector at 10.40.40.202:5000 !! hostname XRd-RR3 ! interface Loopback0 ipv4 address 10.10.255.30 255.255.255.255 ! interface Gi0/0/0/0 description to-CORE-01 ipv4 address 10.120.3.2 255.255.255.252 no shutdown ! interface Gi0/0/0/1 description to-CORE-02 ipv4 address 10.120.4.2 255.255.255.252 no shutdown ! router isis 1 is-type level-2-only net 49.0001.0100.1000.0030.00 address-family ipv4 unicast metric-style wide ! interface Loopback0 passive address-family ipv4 unicast ! ! interface Gi0/0/0/0 point-to-point address-family ipv4 unicast ! ! interface Gi0/0/0/1 point-to-point address-family ipv4 unicast ! ! ! router bgp 65020 bgp router-id 10.10.255.30 address-family ipv4 unicast ! neighbor 10.10.255.0 remote-as 65020 update-source Loopback0 address-family ipv4 unicast ! ! neighbor 10.10.255.20 remote-as 65020 update-source Loopback0 address-family ipv4 unicast ! ! ! bmp server 1 host 10.40.40.202 port 5000 description OpenBMP update-source Gi0/0/0/0 flapping-delay 60 initial-delay 5 stats-reporting-period 300 initial-refresh delay 30 spread 2 ! ssh server v2 end media_type: raw volume_name: cfg device: interfaces: serial_ports: 1 physical: - eth0 - eth1 - eth2 - eth3 - eth4 has_loopback_zero: false default_count: 3 ui: label_prefix: xrd- icon: router label: XRd Control-Plane (IOS-XR) visible: true group: Cisco description: |- Cisco XRd Control-Plane (IOS-XR 25.1.1) Containerized IOS-XR routing daemon for control-plane workloads. Full BGP, IS-IS, BMP, NETCONF support. Configured as third Route Reflector (RR3) with BMP to OpenBMP. inherited: image: ram: true cpus: true data_volume: false boot_disk_size: false cpu_limit: false node: ram: true cpus: true data_volume: false boot_disk_size: false cpu_limit: false schema_version: 0.0.1