Tenant Router Unreachable Due to Missing OVN Localnet Port on Provider Network
Problem
Tenant router gateway becomes unreachable from the external network even though the router and provider network configuration appear correct.
Environment
Private Cloud Director Virtualization - v2025.10 and Higher
Self-Hosted Private Cloud Director Virtualization - v2025.10 and Higher
Component - Networking
Cause
The issue occurs due to a race condition between Neutron worker processes during network and port creation.
When the network and associated ports are created concurrently, different Neutron workers may process these requests before the logical switch state is fully synchronized in OVN. As a result, the required localnet port is not created in the OVN logical switch. Without this port, the logical network cannot connect to the physical provider network bridge, preventing ARP responses from the router gateway and causing external connectivity failure.
This is a known bug in neutron. An upstream fix has been released in latest version. Please see Neutron Commit 71ff8ee for more information.
Diagnostics
Verify that the router status is ACTIVE and get the [NETWORK_ID]:
$ openstack router show <ROUTER_ID>Verify provider network configuration:
Physical network mapping should match the expected provider network
VLAN ID should match the configured external VLAN
Verify that OVS bridge mappings on the gateway host:
Run the following command on the compute host where the router gateway port is scheduled.
The provider network, in this example (phprod), must be mapped to the correct physical bridge (br-phy1)
Verify that ARP requests reach the compute host:
Run the following commands on the compute host where the router gateway port is scheduled. This helps confirm whether ARP requests from the external network are reaching the host.
or on the provider bridge:
In this example:
100.77.1.40→ External firewall100.77.1.50→ Router gateway IPVLAN
266→ Provider network VLAN
The ARP request will typically appear as:
If ARP requests are visible but no ARP reply is observed, it indicates that even though traffic is successfully reaching the compute host via the physical network, OVN is not responding to the ARP request.
Verify OVN logical switch configuration:
Locate the logical switch corresponding to the network.
The expected configuration should include a localnet port:
If the localnet port is missing, the provider network cannot connect to the physical network, which prevents traffic from reaching the router gateway.
Note: Please check the Additional Information section for more information on how to run OVN commands depending on your environment
Compare with a working provider network
Run the following command to inspect a working external network.
If routers connected to this network work correctly while the failing network does not, the issue is isolated to the affected VLAN network.
Resolution
This issue is caused by a known Neutron race condition that has been addressed in the upstream project. An internal engineering tracker has been created for this issue: PCD-5897
Workaround
As an immediate workaround, recreate the affected provider network so that the OVN logical switch and localnet port are created correctly.
Delete the affected Network.
Run the following command from the controller node:
Recreate the provider network:
Recreate the router gateway:
Attach the router to the recreated network:
Verify OVN localnet port creation:
Run:
Confirm the logical switch now contains:
Once the localnet port is present, traffic will be correctly patched between br-int and br-phy, restoring router connectivity.
Additional Information
For further questions/concerns regarding the bug, reach out to the Platform9 Support Team.
To run
ovn-*commands on the hosts onboarded to PCD, execute below steps.
Create an environment file
ovs-alias.rcas below:
Export the rc file and start using the ovn commands:
NOTE: ovn commands can also be executed from inside the OVN North Bond Pod on the Management Cluster. Only Self-Hosted Private Cloud Director Virtualization users can run the steps below.
Access the OVN North Bond Pod in the Management Cluster using the command below.
Run the below command to validate:
Last updated
