# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.console.zenlayer.com/welcome/elastic-compute/networking/01-overview-4/07-configuration-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
