Skip to main content

Overview

Xloud Networking supports two advanced router modes for production deployments: High Availability (HA) routers using VRRP for automatic failover between L3 agents, and Distributed Virtual Routing (DVR) that moves L3 forwarding to each compute node to eliminate centralized bottlenecks. This guide covers enabling and validating both modes.
Administrator Access Required — This operation requires the admin role. Contact your Xloud administrator if you do not have sufficient permissions.
Prerequisites
  • Admin credentials sourced from admin-openrc.sh
  • At least two L3 agents running for HA routers
  • XDeploy access to enable DVR cluster-wide

High-Availability Routers

HA routers use VRRP to provide automatic failover between L3 agent instances. When the active L3 agent fails, a standby agent takes ownership of the router’s namespace and floating IP NAT rules within seconds.

Create an HA Router

Authenticate

Source your credentials file to authenticate with the Xloud platform:
Load credentials
source admin-openrc.sh
Download the OpenRC file from Xloud Dashboard → Project → API Access → Download OpenStack RC File.

Create HA router with external gateway

Create HA router
openstack router create ha-router \
  --ha \
  --external-gateway public
The --ha flag schedules the router across all available L3 agents automatically.

Verify HA state

Show HA router fields
openstack router show ha-router -f json | grep ha
Confirm ha: true and status: ACTIVE in the output.
List L3 agents handling the router
openstack network agent list --router ha-router
At least two L3 agents appear, one active and one standby.
HA routers require at least two L3 agents running in the cluster. Xloud Networking automatically schedules the router across all available L3 agents. Verify with openstack network agent list --agent-type l3 before creating HA routers.

Distributed Virtual Routing (DVR)

DVR moves L3 forwarding from a centralized agent to each compute node, eliminating the network node as a bottleneck for east-west and north-south traffic.
ModeTraffic PathBest For
Centralized L3All traffic through network nodeSimple deployments, ≤ 10 compute nodes
DVREast-west direct between compute nodes; north-south via dedicated gatewayHigh-throughput workloads, large clusters

Enable DVR

Enable DVR cluster-wide in XDeploy under Configuration → Networking:
ParameterValueDescription
neutron_l3_haTrueEnable VRRP HA for centralized L3 agents
enable_neutron_dvrTrueDistribute L3 forwarding to compute nodes
Click Save and Deploy. XDeploy applies the configuration via xavs-ansible.
Enabling DVR on an existing cluster requires a rolling restart of all L3 and L2 agents. Plan a maintenance window and verify floating IP connectivity after the change. Test with a non-production network first.

Create a Distributed Router

Create distributed router
openstack router create distributed-router \
  --distributed \
  --external-gateway public
Verify distributed routing is enabled
openstack router show distributed-router -f json | grep distributed
Confirm distributed: true in the output.

Router Administration Reference

OperationCLI Command
List all routersopenstack router list
Show router detailopenstack router show <name>
Enable routeropenstack router set <name> --enable
Disable routeropenstack router set <name> --disable
Set external gatewayopenstack router set <name> --external-gateway <network>
Remove external gatewayopenstack router unset <name> --external-gateway
Add subnet interfaceopenstack router add subnet <router> <subnet>
Remove subnet interfaceopenstack router remove subnet <router> <subnet>
Add static routeopenstack router set <name> --route destination=X,gateway=Y
Delete routeropenstack router delete <name>

Next Steps

Network Agent Management

Verify L3 agents are healthy across all network nodes

Provider Networks

Configure external networks that routers use as gateways

Routers and Gateways

User guide for creating and managing routers

Admin Troubleshooting

Diagnose HA router failover and DVR issues