# Router Blueprints Vendor-native configuration fragments that describe what a router must present for the OpenBMP Docker stack to ingest data from it. Copy, edit the `` values for your topology, paste. For the walkthrough (what each ingest path does, in what order to apply, how to verify), see [docs/router-config-guide.md](../docs/router-config-guide.md). ## Layout ``` router-blueprints/ ├── README.md <- this file └── iosxr/ ├── 00-netconf.cfg <- prerequisite: enable NETCONF/SSH ├── 01-bmp-basic.cfg <- BMP session to the collector ├── 02-bgp-ls.cfg <- BGP-LS export for topology ├── 03-gnmi.cfg <- gNMI streaming telemetry └── role-route-reflector.cfg <- add-on for RR-role routers ``` Number-prefixed fragments are applied in order for a fresh router bring-up. `role-*.cfg` fragments are additive overlays for routers that fill a specific role. ## Substitutions Every fragment uses `` placeholders. Substitute the following before pasting: | Placeholder | What it is | |------------------------|------------------------------------------------------------------| | `` | `ROUTER_FACING_IP` in the stack's `.env` — the address routers target to reach the collector. NOT `HOST_IP` on WSL (see [docs/PORTABILITY-FINDINGS.md](../docs/PORTABILITY-FINDINGS.md) finding 4). | | `` | `ROUTER_FACING_PORT` in `.env` — collector port routers connect to (defaults to 1790, the IANA BMP port). | | `` | The router's own BGP AS number. | | `` | This router's `Loopback0` address (also its BGP router-id). | | `` | The two route-reflector loopbacks in this router's AS. | | `` | The router's IS-IS instance tag. | | `` | Interface whose source IP the collector should see. | | `` | `GNMI_USERNAME` in `.env` — the user Telegraf authenticates as. | | `` | `GNMI_PASSWORD` in `.env`. | | `` | `IOSXR_NETCONF_USER` in `.env` — user the automation logs in as. | ## Vendor scope **IOS-XR only.** The four ingest paths themselves (BMP, BGP-LS, gNMI, NETCONF) are standards, so the *behavior* the stack expects is vendor-neutral — see the "Extending to another vendor" section in the guide. Only the syntax below is IOS-XR-specific; a sibling `router-blueprints//` tree can be added the same way once someone has an end-to-end deployment to base it on. ## Credentials Credentials come from your stack's `.env`. There is no shipped default — whatever you set for `IOSXR_NETCONF_USER`, `IOSXR_NETCONF_PASS`, `GNMI_USERNAME`, and `GNMI_PASSWORD` is what the fragments' user creation blocks must match. Standardize on one account per role (read-only for gNMI, config-capable for NETCONF) rather than reusing shell logins.