---
title: "'Configure OVHcloud Connect L3 with static routes'"
description: "'Configure OVHcloud Connect L3 using static IP routes for predictable routing between your network and OVHcloud'"
url: https://docs.ovhcloud.com/en/guides/network/ovhcloud-connect/l3-static
lang: en
lastUpdated: 2026-06-16
---
# Configure OVHcloud Connect L3 with static routes

## Objective

**This guide explains how to** configure OVHcloud Connect in L3 mode with static routing. This involves two levels of configuration:

1. **PoP configuration** — The L3 session between your router and OVHcloud at the Point of Presence.
2. **AZ extra configuration (network)** — Static routes within the OVHcloud AZ for route distribution.

:::info
If you prefer dynamic routing with BGP, see [Configure OVHcloud Connect L3 with BGP](/en/guides/network/ovhcloud-connect/l3-bgp.md).
:::

### When to use static routing vs BGP

| Criteria               | Static routing                                      | BGP                                 |
| ---------------------- | --------------------------------------------------- | ----------------------------------- |
| **Number of prefixes** | Small (1–5 routes)                                  | Large or growing                    |
| **Network topology**   | Simple, single-path                                 | Complex, multi-path, multi-AZ       |
| **Failover**           | Manual — you must update routes yourself            | Automatic — BGP reconverges         |
| **Maintenance**        | Routes must be updated manually when subnets change | Routes update dynamically           |
| **Complexity**         | Low — no routing protocol to manage                 | Higher — requires BGP configuration |

Use static routing when you have a simple setup with a small number of stable prefixes and do not require automatic failover.

## Requirements

- An active OVHcloud Connect service (status `active`)
- OVHcloud Connect associated with a vRack — see [Associate OVHcloud Connect with your vRack](/en/guides/network/ovhcloud-connect/associate-vrack.md)
- An AZ configuration created — see [Set up vRack networking](/en/guides/network/ovhcloud-connect/vrack-network-setup.md)
- A /30 peering subnet (e.g. `192.0.2.0/30`)
- OVHcloud API credentials (Application Key, Application Secret, Consumer Key). Refer to the [First steps with the OVHcloud API](/en/guides/manage-and-operate/api/first-steps.md) guide.

Log in to your OVHcloud Control Panel
 and go to `Network
` > `OVHcloud Connect
`.
## Instructions

### Overview

```text
Your Router ── [ L3 at PoP ] ── OVHcloud PoP Router ── [ Static routes at DC ] ── vRack Router ── Services
                 /30 peering                                next-hop + subnet       (172.16.x.x)
```

- **PoP level**: An L3 session with a /30 peering subnet between your router and OVHcloud.
- **AZ level**: Static routes defined with a next-hop IP and destination subnet.

### Step 1 — Identify your interface ID


🇪🇺EU▾

[GET/ovhCloudConnect/{serviceName}/interface](https://eu.api.ovh.com/console/?section=/ovhCloudConnect&branch=v1#get-/ovhCloudConnect/-serviceName-/interface)

### Step 2 — Create the PoP configuration (L3)

The PoP configuration establishes the L3 session at the Point of Presence. This step is the same whether you use BGP or static routing at the AZ level.


🇪🇺EU▾

[POST/ovhCloudConnect/{serviceName}/config/pop](https://eu.api.ovh.com/console/?section=/ovhCloudConnect&branch=v1#post-/ovhCloudConnect/-serviceName-/config/pop)

**Request parameters:**

| Parameter         | Type      | Required | Description                                                         |
| ----------------- | --------- | -------- | ------------------------------------------------------------------- |
| `interfaceId`     | long      | Yes      | ID of the OVHcloud Connect interface                                |
| `type`            | string    | Yes      | `l3` for Layer 3 mode                                               |
| `customerBgpArea` | long      | No       | Your AS number (still required for L3 — used for PoP-level peering) |
| `subnet`          | ipv4Block | No       | /30 peering subnet. First IP is OVHcloud, second is yours.          |

**Example request:**

```json
{
  "interfaceId": 101,
  "type": "l3",
  "customerBgpArea": 65001,
  "subnet": "192.0.2.0/30"
}
```

### Step 3 — Verify the PoP configuration


🇪🇺EU▾

[GET/ovhCloudConnect/{serviceName}/config/pop/{popId}](https://eu.api.ovh.com/console/?section=/ovhCloudConnect&branch=v1#get-/ovhCloudConnect/-serviceName-/config/pop/-popId-)

**Example response:**

```json
{
  "id": 5678,
  "interfaceId": 101,
  "type": "l3",
  "customerBgpArea": 65001,
  "ovhBgpArea": 35540,
  "subnet": "192.0.2.0/30",
  "status": "active"
}
```

From this response:

| Parameter            | Value       | Meaning              |
| -------------------- | ----------- | -------------------- |
| **OVHcloud peer IP** | `192.0.2.1` | First IP of the /30  |
| **Your peer IP**     | `192.0.2.2` | Second IP of the /30 |

### Step 4 — Create AZ extra configuration (static)

After the PoP configuration and a [AZ configuration](/en/guides/network/ovhcloud-connect/vrack-network-setup.md), create a **network extra configuration** to define static routes within the AZ.

:::info
With static routing, **VRRP remains active** on the AZ endpoint. OVHcloud devices A and B share a virtual IP (the second address of the AZ subnet, e.g. `172.16.1.1`). Point your services' default gateway to this VRRP virtual IP for automatic failover between devices.
:::


🇪🇺EU▾

[POST/ovhCloudConnect/{serviceName}/config/pop/{popId}/datacenter/{datacenterId}/extra](https://eu.api.ovh.com/console/?section=/ovhCloudConnect&branch=v1#post-/ovhCloudConnect/-serviceName-/config/pop/-popId-/datacenter/-datacenterId-/extra)

**Request parameters:**

| Parameter | Type      | Required | Description                              |
| --------- | --------- | -------- | ---------------------------------------- |
| `type`    | string    | Yes      | `network` for static routing             |
| `nextHop` | ipv4      | No       | Next-hop IP address for the static route |
| `subnet`  | ipv4Block | No       | Destination subnet for the static route  |

**Example request — route your on-premises subnet through the OVHcloud Connect link:**

```json
{
  "type": "network",
  "nextHop": "172.16.1.1",
  "subnet": "10.0.0.0/16"
}
```

#### Add multiple static routes

Create one extra configuration per destination subnet. Repeat the `POST .../extra` call with a different `subnet` each time:

```json
{
  "type": "network",
  "nextHop": "172.16.1.1",
  "subnet": "10.1.0.0/16"
}
```

#### Verify the extra configuration


🇪🇺EU▾

[GET/ovhCloudConnect/{serviceName}/config/pop/{popId}/datacenter/{datacenterId}/extra/{extraId}](https://eu.api.ovh.com/console/?section=/ovhCloudConnect&branch=v1#get-/ovhCloudConnect/-serviceName-/config/pop/-popId-/datacenter/-datacenterId-/extra/-extraId-)

**Example response:**

```json
{
  "id": 4568,
  "type": "network",
  "bgpNeighborArea": null,
  "bgpNeighborIp": null,
  "nextHop": "172.16.1.1",
  "subnet": "10.0.0.0/16",
  "status": "active"
}
```

#### List all extra configurations for an AZ


🇪🇺EU▾

[GET/ovhCloudConnect/{serviceName}/config/pop/{popId}/datacenter/{datacenterId}/extra](https://eu.api.ovh.com/console/?section=/ovhCloudConnect&branch=v1#get-/ovhCloudConnect/-serviceName-/config/pop/-popId-/datacenter/-datacenterId-/extra)

### Step 5 — Configure static routes on your router

Configure your physical router with static routes pointing OVHcloud AZ subnets towards the OVHcloud Connect peering IP.

#### Cisco IOS / IOS-XE

```text
! Interface facing OVHcloud
interface GigabitEthernet0/0
 description OVHcloud Connect
 ip address 192.0.2.2 255.255.255.252
 no shutdown

! Static routes to OVHcloud AZ subnets
ip route 172.16.1.0 255.255.255.0 192.0.2.1 name OVH-DC1-Production
ip route 172.16.2.0 255.255.255.0 192.0.2.1 name OVH-DC2-Production
ip route 172.16.10.0 255.255.255.0 192.0.2.1 name OVH-DC1-Management
```

#### Juniper JunOS

```text
interfaces {
    ge-0/0/0 {
        description "OVHcloud Connect";
        unit 0 {
            family inet {
                address 192.0.2.2/30;
            }
        }
    }
}

routing-options {
    static {
        route 172.16.1.0/24 next-hop 192.0.2.1;
        route 172.16.2.0/24 next-hop 192.0.2.1;
        route 172.16.10.0/24 next-hop 192.0.2.1;
    }
}
```

### Step 6 — Verify connectivity

#### From your router

**Cisco:**

```bash
show ip route static
ping 172.16.1.1 source 192.0.2.2
traceroute 172.16.1.1 source 192.0.2.2
```

**Juniper:**

```bash
show route protocol static
ping 172.16.1.1 source 192.0.2.2
traceroute 172.16.1.1 source 192.0.2.2
```

**Expected results:**

| Check                     | Expected output                                     |
| ------------------------- | --------------------------------------------------- |
| **Static routes present** | Routes to 172.16.x.x via 192.0.2.1 in routing table |
| **Ping succeeds**         | Reply from OVHcloud AZ subnet gateway               |
| **Traceroute**            | Traffic goes through 192.0.2.1 (OVHcloud PoP)       |

#### From the OVHcloud API

Check interface status:


🇪🇺EU▾

[GET/ovhCloudConnect/{serviceName}/interface/{id}/status](https://eu.api.ovh.com/console/?section=/ovhCloudConnect&branch=v1#get-/ovhCloudConnect/-serviceName-/interface/-id-/status)

Check PoP configuration status:


🇪🇺EU▾

[GET/ovhCloudConnect/{serviceName}/config/pop/{popId}/status](https://eu.api.ovh.com/console/?section=/ovhCloudConnect&branch=v1#get-/ovhCloudConnect/-serviceName-/config/pop/-popId-/status)

#### Run a diagnostic


🇪🇺EU▾

[POST/ovhCloudConnect/{serviceName}/diagnostic](https://eu.api.ovh.com/console/?section=/ovhCloudConnect&branch=v1#post-/ovhCloudConnect/-serviceName-/diagnostic)

Available diagnostic names: `diagPeering`, `diagPeeringExtra`, `diagRoutes`, `diagMacs`.

### Limitations of static routing

:::warning
Static routing has significant limitations compared to BGP:

- **No automatic failover.** If a link goes down, traffic is blackholed until you manually update routes. For automatic failover, use [BGP](/en/guides/network/ovhcloud-connect/l3-bgp.md).
- **Manual updates required.** When you add or change subnets, you must update both the OVHcloud extra configuration and your router configuration.
- **No load balancing.** Static routes do not support ECMP or traffic engineering. Traffic follows a single path.
- **Not recommended for multi-AZ.** For resilient multi-AZ setups, BGP is strongly recommended — see [Multi-AZ](/en/guides/network/ovhcloud-connect/multi-az.md).

:::

### Delete configurations

Delete in reverse order:


🇪🇺EU▾

[DELETE/ovhCloudConnect/{serviceName}/config/pop/{popId}/datacenter/{datacenterId}/extra/{extraId}](https://eu.api.ovh.com/console/?section=/ovhCloudConnect&branch=v1#delete-/ovhCloudConnect/-serviceName-/config/pop/-popId-/datacenter/-datacenterId-/extra/-extraId-)


🇪🇺EU▾

[DELETE/ovhCloudConnect/{serviceName}/config/pop/{popId}](https://eu.api.ovh.com/console/?section=/ovhCloudConnect&branch=v1#delete-/ovhCloudConnect/-serviceName-/config/pop/-popId-)

## Go further

- [Set up vRack networking](/en/guides/network/ovhcloud-connect/vrack-network-setup.md) — If you have not configured AZ subnets yet
- [Associate OVHcloud Connect with your vRack](/en/guides/network/ovhcloud-connect/associate-vrack.md)
- [Monitor your connection](/en/guides/network/ovhcloud-connect/monitor.md)

For training or technical assistance implementing our solutions, contact your sales representative or visit our [Professional Services](https://www.ovhcloud.com/en-gb/professional-services/) page to request a quote and have your project analyzed by our experts.

Join our [community of users](https://community.ovhcloud.com/).
