Overview
This template provides a production‑ready BIRD routing daemon instance as a Monk runnable. You can:- Run it directly to get a managed dynamic routing daemon with sensible defaults
- Inherit it in your own runnable to seamlessly add BGP, OSPF, RIP, and other routing protocols to your network infrastructure
What this template manages
- BIRD routing daemon container (configurable image tag)
- Network service with routing protocols
- Persistent volumes for configuration and state
- IPv4 and IPv6 routing support
- Protocol debugging and logging
Quick start (run directly)
- Load templates
- Run BIRD with defaults
- Customize configuration (recommended via inheritance)
variables. For production use:
- Preferred: inherit and customize variables with your own configuration as shown below.
- Alternative: fork/clone and edit the
variablesinbird/bird.yaml, thenmonk load MANIFESTand run.
birdc commands.
Configuration
Key variables you can customize in this template:${monk-volume-path}/bird on the host. State files are stored in ${monk-volume-path}/bird/var:/var/run/bird.
Use by inheritance (recommended for network infrastructure)
Inherit the BIRD runnable in your network infrastructure and customize the routing configuration. Example:Persistence and configuration
- Config path:
${monk-volume-path}/bird/etc:/etc/bird - State path:
${monk-volume-path}/bird/var:/var/run/bird - You can mount custom BIRD configuration files into the config path to tune routing behavior.
Features
- Multi-Protocol: BGP-4, OSPFv2, OSPFv3, RIPv2, RIPng
- IPv6 Support: Full IPv4 and IPv6 routing
- BGP Features: Route reflection, confederations, graceful restart
- Filtering: Powerful route filtering language
- Multiple RIBs: Support for multiple routing tables
- Fast Convergence: Efficient route updates
- Scripting: Extensive configuration language
BGP Configuration
Example BGP peering:OSPF Configuration
Example OSPF:Static Routes
BIRD Control
Interact with BIRD usingbirdc:
Use cases
BIRD excels at:- ISP and datacenter routing
- BGP peering and internet exchange points (IXP)
- Enterprise OSPF networks
- Route servers
- Anycast routing
- Software-defined networking (SDN)
Related templates
- Combine with monitoring tools for network observability
- See other networking templates in this repository for complementary services
Troubleshooting
- If routing protocols are not establishing sessions, verify neighbor IPs are reachable and firewall rules allow routing traffic (TCP 179 for BGP).
- Ensure configuration syntax is correct by testing with
birdc configureafter changes. - Check logs:
- Verify BIRD status:
- View protocol states:
- Debug specific protocol by adding
debug all;to the protocol configuration in bird.conf - For BGP session issues:
- Verify neighbor IP is reachable
- Check AS numbers match configuration
- Verify firewall allows TCP 179
- For OSPF issues, check interface configurations and area settings
- Use
birdc show routeto inspect routing table entries