id: obmp-exabgp boot: timeout: 60 completed: - "ExaBGP Route Injector" uses_regex: false sim: linux_native: libvirt_domain_driver: docker driver: ubuntu ram: 512 cpus: 1 cpu_limit: 100 video: memory: 1 general: nature: server description: OpenBMP ExaBGP Route Injector (Docker container) read_only: false configuration: generator: driver: null provisioning: files: - editable: false name: config.json content: |- { "docker": { "image": "obmp-exabgp:latest", "mounts": [ "type=bind,source=cfg/boot.sh,target=/cml-boot.sh" ], "misc_args": [], "env": [ "EXABGP_LOCAL_AS=65100", "EXABGP_PEER_AS=65020", "EXABGP_API_PORT=5050" ] }, "shell": "/bin/bash", "day0cmd": [ "/bin/bash", "/cml-boot.sh" ], "busybox": false } - editable: true name: boot.sh content: |- #!/bin/bash # CML boot script for ExaBGP container # Configures data-plane interfaces before starting ExaBGP # # Interface mapping (assigned by CML topology links): # eth0 = first connected interface (data-plane link 1) # eth1 = second connected interface (data-plane link 2) # ...additional interfaces as connected in topology # # Edit the IPs below to match your topology addressing. # These are examples using 10.120.x.x/30 point-to-point links. # --- Data-plane interface configuration --- # Link to CORE-01: ExaBGP=10.120.1.2/30, CORE-01=10.120.1.1/30 ip address add 10.120.1.2/30 dev eth0 ip link set dev eth0 up # Link to CORE-02: ExaBGP=10.120.2.2/30, CORE-02=10.120.2.1/30 ip address add 10.120.2.2/30 dev eth1 ip link set dev eth1 up # --- Set environment for ExaBGP peering --- export EXABGP_LOCAL_IP=10.120.1.2 export EXABGP_PEER_1=10.120.1.1 export EXABGP_PEER_2=10.120.2.1 # --- Start ExaBGP --- exec /bin/bash /exabgp/startup.sh media_type: raw volume_name: cfg device: interfaces: serial_ports: 1 physical: - eth0 - eth1 - eth2 - eth3 has_loopback_zero: false default_count: 2 ui: label_prefix: exabgp- icon: server label: ExaBGP Route Injector visible: true group: Others description: |- OpenBMP ExaBGP Route Injector BGP route injection for OpenBMP testing. AS 65100 (eBGP) peering with IOS-XR routers (AS 65020). Flask API on port 5050 for route management. inherited: image: ram: true cpus: false data_volume: false boot_disk_size: false cpu_limit: false node: ram: true cpus: false data_volume: false boot_disk_size: false cpu_limit: false schema_version: 0.0.1