01/10/2025 | News release | Distributed by Public on 01/10/2025 12:40
XRd is a containerized version of IOS-XR where you can experiment with platform-independent features and deploy them to any on-premises or cloud infrastructure. providingall the benefits of using containersin network operations.
XRd comes with all the programmability aspects from IOS-XR, including Telemetry and YANG models, which makesit ideal for developers and network engineers.
The XRd sandbox provides an excellent opportunity to get started with XRd and explore network programmability.
XRd comes in two variants: XRd Control Planeand XRd vRouter. XRdControl Plane isideal for compute use cases like Virtual Route Reflectors (vRR) or Path Compute Element (PCE). vRouter is designed to forward traffic efficientlyandcan also handle control plane computations.
TheXRd Sandboxuses the XRd Control Plane, which is ideal for exploration and experimentation purposes.
XRd requires specific kernel settingson the host to work properly. The sandbox is already configuredwith these settings.
There are several ways to deploy XRd, includingusing Terraform, Helm or Packer. However, we used docker compose for the sandbox because it is simple and easy to manage.
For this sandbox,we based on the sample segment-routingtopology from the xrd-tools GitHub repository. We used acustom composeformatcalled XR-YAML, and the entire setup will bedeployedin a single virtual machine(VM) using Docker Compose.
A few changes were needed to make the topology work. First, we updared the IP addressing for the management network to match theavailable resources in the sandbox.
Second, weused the macvlan Docker driver so each XRd container had its ownIP address instead of sharing the IP address with the host VM.
See the XRdSandbox GitHub repositoryfor details and to explore the config files used to create the sandbox.
The lab provides everything you need;you'llonly need to create the compose file that will be used by Docker Compose. This file is created using the xr-composescript from xrd-tools.
Next, update the compose file (created by xr-compose) to point to the right container interface that will be created by the macvlan driver.
The sandbox instructions include the complete list of necessary commands.
To start experimenting, look for the XRdsandbox on the Cisco sandbox page.
Launch a reservation and follow the instructions. Usethe commands to create and start the topology.
The XRdsandbox is perfect to get familiar with XRd, how to work with it,and to play with native network protocols (e.g., ISIS, OSPF, BGP, MPLS, SR)or to explore programmable use cases with YANG, NETCONF and GNMI.
When developing the sandbox, we ran into a challenge. We suddenly lost the SSH connection to the VM whendocker compose was creating the topology.
It turned out that the links between XRd containers were created using docker bridge, which picked an IP segment used by the sandbox infrastructure, effectively blackholing the traffic. To fix it, we had to configure a default address pool to use an unused IP segment.
After applying this configuration, the issue was resolved.
Here are some resources to help you get started with XRd:
Additional labs are available on the directory "~/xrd-tools/samples/xr_compose_topos"in the Sandbox.
Want to get more content about XRd? Reach out to me on LinkedIn. I'm happyto hear your ideas.