https://github.com/linuxhaus/ansible_lihas_bird
Install and configure bird routing daemon
https://github.com/linuxhaus/ansible_lihas_bird
ansible-role bgp bird debian ospf
Last synced: 5 months ago
JSON representation
Install and configure bird routing daemon
- Host: GitHub
- URL: https://github.com/linuxhaus/ansible_lihas_bird
- Owner: LinuxHaus
- License: gpl-3.0
- Created: 2020-10-02T10:40:27.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2025-10-23T08:37:33.000Z (8 months ago)
- Last Synced: 2025-10-23T10:27:11.616Z (8 months ago)
- Topics: ansible-role, bgp, bird, debian, ospf
- Language: Jinja
- Homepage:
- Size: 52.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# lihas_bird
## Role Name
Install and configure bird routing daemon
Currently supported protocols:
* bgp
* ospf
* radv
* static
Files managed by this role:
* `bird_filters_ansible.conf`
* `/etc/bird/bird_filters_ansible.conf`
* `/etc/bird/bird_protocols_bgp.conf`
* `/etc/bird/bird_protocols_ospf.conf`
* `/etc/bird/bird_protocols_static.conf`
* `/etc/bird/bird_protocols_radv.conf`
* `/etc/bird/bird_debug.conf`
* `/etc/bird/bird.conf`
Additional files not managed by this role:
* `/etc/bird/bird_filters_*.conf`
* `/etc/bird/bird_templates_*.conf`
* `/etc/bird/bird_protocols_*.conf`
* `/etc/bird/bird_this_location.conf`
## Requirements
To run solo:
```
ansible-galaxy install -r requirements.yml
ansible-playbook -i localhost, bird.yml
```
## Role Variables
All the dictionbaries `%.config.bird:` are merged, in the end bird: is merged,
The result can be viewed in `/etc/bird/bird_debug.conf`
### global variables / defaults
* lihas_bird_version:
* Bird version, default 1, set 2 for bird 2.x
* bird1 is deprecated, new features are only available for bird2+
* bird.as: Default ASN
* `bird.ipv6_local`
* Abgehende IPv6 für eigene Pakete
* bird.routerid
* bird_kernelmain
* default true, use main kernel table
* bird.scantime
* bird.bfd.use: bfd on/off
* Set global default for BFD
* bird.net_cix: []
### Functions
* bird.functions: bird2+ only
* bird.functions.X.header: []
* Filter X, header lines
* bird.functions.X.parameters:
* whatever is in the parameters definition of the function
* bird.functions.X.returntype:
* return type, e.g. bool
* bird.functions.X.body: []
* Filter X, bodylines
### Filters
* bird.filter: bird2+ only
* bird.filter.X.header: []
* Filter X, header lines
* bird.filter.X.body: []
* Filter X, bodylines
* bird.filter.X: []
* simple filter X
### Protocol static
* bird.staticnamed.X.channel: ipv4 or ipv6, default ipv4
* bird.staticnamed.X.check_link: optional on/off
* bird.staticnamed.X.preference: optional route preference
* bird.staticnamed.X.table: optional alternative bird table
* bird.staticnamed.X.routes: []
* list of routes
* bird.static: []
* static ipv4 route annoucements, simple routes
* bird.static6: []
* static ipv6 route annoucements, simple routes
### Protocol bgp
* bird.bgp: {}
* BGP
* bird.bgp.X.as: ASN
* bird.bgp.X.import_filter: import filter
* bird.bgp.X.export_filter: export filter
* bird.bgp.X.import_filter6: import filter ipv6
* bird.bgp.X.export_filter6: export filter ipv6
* bird.bgp.X.bfd: bfd on/off
* bird.bgp.X.neighbor.ip: neighbor IPv4
* bird.bgp.X.neighbor.ip6: neighbor IPv6
* bird.bgp.X.neighbor.as: neighbor ASN
* bird.bgp.X.sourceip: IPv4
* bird.bgp.X.sourceip6: IPv6
* bird.bgp.X.extra: []
### Protocol ospf v2/v3
* bird.ospf: {}
* Areas IPv4 OSPFv2
* bird.ospf.X.table: optional alternative bird table
* bird.ospf.X.preference: optional ospf preference
* bird.ospf.X.import_filter: import filter
* bird.ospf.X.export_filter: export filter
* bird.ospf.X.neighbors: []
* Neighbors if needed
* bird.ospf.X.ecmp: Use ecmp, default no
* bird.ospf.X.area: {}
* bird.ospf.X.area.X.interface: {}
* Interfaces in Area
* bird.ospf.X.area.X.interface.X.cost:
* cost
* bird.ospf.X.area.X.interface.X.ecmp_weight
* bird.ospf.X.area.X.interface.X.authentication
* bird.ospf.X.area.X.interface.X.password
* bird.ospf3: {}
* Areas IPv6 OSPFv3
* bird.ospf3.X.import_filter: import filter
* bird.ospf3.X.export_filter: export filter
* bird.ospf3.X.interface: {}
* Interfaces in Area
* bird.ospf3.X.interface.X.cost:
* cost
### Protocol radv
* bird.radv.X.interfaces: {}
* Interfaces
* bird.radv.X.interfaces.X.prefix: []
* bird.radv.X.rdnss: []
* bird.radv.X.dnssl: []