Skip to content
Snippets Groups Projects
Commit 3def7dda authored by skorpy's avatar skorpy :construction_worker:
Browse files

bird: new peering init

parent f62b1a5b
No related branches found
No related tags found
1 merge request!388Resolve "Make seperate BGP template for v4/v6 possible"
Pipeline #19550 passed
import logging
def all_peerings(type):
tmp = []
for name, peer in __salt__['pillar.get']('peerings').items():
peerType = __salt__['pillar.get']('peerings:{0}:{1}'.format(name, type), [])
if not peerType:
continue
rule = []
if 'template' in peer:
template = 'from {} '.format(peer.template)
if 'template' in peerType:
template = 'from {} '.format(peer.template)
rule.append('protocol bgp {0} {1}{'.format(
name.replace('-', '_').lower(), template))
if 'description' in peer:
rule.append('\t# description "{}";'.format(peer.description))
if 'local_asn' in peer:
rule.append('\tlocal as {};'.format(peer.local_asn))
if 'export_filter' in peerType:
rule.append('\texport {};'.format(peerType.export_filter))
rule.append('\neighbor {0} as {1};'.format(peerType.remote, peer.asn))
rule.append('}')
tmp.extend('\n'.join(rule))
return tmp
......@@ -105,3 +105,15 @@
- require:
- pkg: bird
- file: /etc/bird/bird6.d
/etc/bird/4-peers.conf:
file.managed:
- source: salt://bird/files/peering-new.conf.j2
- template: jinja
- user: root
- group: root
- mode: 644
- context:
type: 'bgp4'
- require:
- pkg: bird
#
# Our peers
#
{% for peer in salt['peering.all_peerings'](type) %}
{{ peer }}
{%- endfor %}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment