summaryrefslogtreecommitdiff
path: root/roles/install_babeld/templates/babeld.conf.j2
blob: c3f59f0bac3b07c49d88beea041e1380cab18202 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# Configuration for babeld. See the man page babeld(8) for
# details on the configuration format.

# Works on Linux > 3.11
ipv6-subtrees true

# You must provide at least one interface for babeld to operate on.
{% if 'fastd' in group_names %}
{% for peer in groups['uplink'] %}
interface bb{{ hostvars[peer]['wireguard_bb_name'] }}
{% endfor %}
{% endif %}
{% if 'uplink' in group_names %}
{% for peer in groups['fastd'] %}
interface bb{{ hostvars[peer]['wireguard_bb_name'] }}
{% endfor %}
{% for peer in wireguard_bb_peers|default([]) %}
interface bb{{ peer.name }}
{% endfor %}
{% endif %}

# Global options you might want to set. There are many more, see the man page.
#debug 1
local-port 33123
#diversity true
#random-id true

# Per-interface configuration. Note that each interface referenced here
# will be used by babeld.
#interface eth1 rxcost 10
#interface tun0 faraway true
#interface wlan0 hello-interval 1

# Since 1.4.2, you can also specify defaults for interface parameters, which
# will be used for all interfaces except specified otherwise (see above).
#default rxcost 42
#default hello-interval 5

# Since 1.5.0, you can use the RTT-based metric, most useful for a network
# with tunnels (overlay network).
#default enable-timestamps true
#interface tun0 max-rtt-penalty 150
#interface tun0 rtt-max 100
default type tunnel rtt-min 1 rtt-max 20 max-rtt-penalty 128
export-table 42
import-table 42


# Filtering rules.

# Only accept routes included in a specific prefix.
#in ip 192.168.42.0/24 allow
#in ip 2001:db8:cafe:cafe::/64 allow
#in deny

{% if 'mullvad_uplink' in group_names %}
redistribute if mullvad metric 256
{% endif %}
{% if 'ffrl_uplink' in group_names %}
{% for peer in ffrl_peers %}
redistribute if {{ peer.name }} metric 128
{% endfor %}
{% endif %}
# Only redistribute addresses from a given prefix, to avoid redistributing
# all local addresses
redistribute ip 10.222.0.0/16 allow
redistribute ip 2a01:198:70a:ff::0/64 allow
redistribute ip 2001:470:cd45:ff00::/56 allow
redistribute ip 2a03:2260:1016::/48 allow
redistribute ip fd62:44e1:da::/48 allow
redistribute local deny