> For the complete documentation index, see [llms.txt](https://docs.console.zenlayer.com/welcome/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.console.zenlayer.com/welcome/elastic-compute/networking/01-overview-4/07-configuration-guide.md).

# BYOIP Configuration Guide

## Setup Flow

![Setup flow — from ROA to bound EIPs](/files/pUTFtrnPNejbXQKuofqd)

Steps **1–2** happen outside Zenlayer and can take hours to propagate. Steps **3–5** happen in the console and usually finish in minutes.

| # | Task                     | Where                                                                                                   | What you'll set                                                                      |
| - | ------------------------ | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| 1 | Publish the ROA          | Your RIR's RPKI portal                                                                                  | `(prefix, origin ASN)` authorization · `maxLength` covers the prefix you'll announce |
| 2 | Confirm propagation      | Any public RPKI validator                                                                               | `(prefix, ASN)` resolves to `Valid`                                                  |
| 3 | Check supported ASNs     | [Elastic IPv4 → BYOIP](https://console.zenlayer.com/zec/cidrBlock) → **Supported ASNs**                 | Your origin ASN is on the list                                                       |
| 4 | Create the customer CIDR | [Elastic IPv4 → BYOIP](https://console.zenlayer.com/zec/cidrBlock/byoip/create) → **Add Customer CIDR** | CIDR · ISP line · Origin ASN                                                         |
| 5 | Allocate and bind EIPs   | [Elastic IPv4](https://console.zenlayer.com/zec/elastic-ip) → **Allocate EIP**                          | Target pool = pool ID shown on the CIDR detail page                                  |

Step 4 drives both the RPKI validation and the announcement. The CIDR reaches **Active** once validation passes and the EIP pool is exposed.

## Day-2 Operations

| Task                            | Console path                                                                                                                                                                  |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| View a customer CIDR            | [BYOIP](https://console.zenlayer.com/zec/cidrBlock) → click the CIDR row → **Details** tab. Shows ISP, origin ASN, pool ID, customer-owned flag, and per-IP allocation state. |
| Update origin ASN               | CIDR detail page → **Update Origin ASN**. Publish the new ROA first; the console re-runs RPKI on submit.                                                                      |
| Allocate from a customer pool   | [Elastic IPv4](https://console.zenlayer.com/zec/elastic-ip) → **Allocate EIP** → set **Pool** to the customer pool ID. Verify the customer-owned flag on the returned EIP.    |
| Release an EIP back to the pool | [Elastic IPv4](https://console.zenlayer.com/zec/elastic-ip) → find the EIP → **Release**. The address returns to the customer pool and can be re-allocated.                   |
| Delete the customer CIDR        | CIDR detail page → **Delete**. Fails if any address is still allocated; unbind and release the EIPs first.                                                                    |
| Retire the ROA                  | Your RIR's RPKI portal                                                                                                                                                        |

Update, allocation, and delete all re-check the same guarantees used at create: RPKI must be `Valid` for an ASN change, the pool must exist for allocation, and the CIDR must be drained for deletion.
