Generalizes exabgp/startup.sh to template BGP neighbors from an EXABGP_PEERS
list (ip:peer_as:description), so ExaBGP peers with multiple labs. Adds
cml/proxmox_bmp_config.py to apply the bmp server block to a lab's IOS-XR
routers over SSH (BMP config is not exposed via NETCONF YANG on current XR).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- exabgp/bgpls_config.py: NETCONF script that audits and fixes BGP-LS
config on all 9 spoke routers; adds IS-IS distribute and lsls AF
activation toward both COREs where missing; handles routers needing
global AF initialization before per-neighbor activation
- exabgp/startup.sh: add neighbor-changes to ExaBGP api blocks so peer
up/down events are sent to Flask server.py stdin
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>