summaryrefslogtreecommitdiffstats
path: root/babeld/files/babeld.config
blob: 1e9367e7cfa7af0dd2bf1749b14f27b4ecc4a1ce (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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
package babeld

# Detailed documentation: https://openwrt.org/docs/guide-user/services/babeld

# Babeld reads options from the following files (the last one takes precedence
# if an option is defined in several places):
# - the file defined by the option conf_file (default: /etc/babeld.conf),
# - *.conf files in the directory defined by conf_dir (default: /tmp/babel.d/),
# - this UCI configuration file.

# See "man babeld" for all available options ("Global options").
# Important: remember to use '_' instead of '-' in option names.
config general
	# option 'random_id' 'true'
	# option 'debug' '1'
	# option 'local_port' '33123'
	# option 'log_file' '/var/log/babeld.log'
	## Enable ipv6-subtrees by default since OpenWrt should ship with a
	## recent enough kernel for it to work.
	option 'ipv6_subtrees' 'true'
	# list 'import_table' '42'
	# list 'import_table' '100'
	## Alternative configuration file and directory.
	## See comment at the top of this file for more details.
	# option 'conf_file' '/etc/babeld.conf'
	# option 'conf_dir' '/tmp/babel.d/'
	# option 'ubus_bindings' 'false'

config interface
	## Remove this line to enable babeld on this interface
	option 'ignore' 'true'
	## You can use aliases (like lan, wlan) or real names (like eth0.0).
	## If you use an alias, it must be already defined when babeld starts.
	## Otherwise, the name is taken literally and the interface can be
	## brought up later (useful for tunnels for instance).
	option 'ifname' 'wlan'
	## You can set options, see babeld man page ("Interface configuration")
	# option 'rxcost' '256'
	# option 'hello_interval' '1'

config interface
	option 'ignore' 'true'
	## Physical interface name
	option 'ifname' 'tun-example'
        ## Specify the type of interface: tunnels use the RTT-based metric.
	option 'type' 'tunnel'
	## Other options that can be overriden.
	# option 'max_rtt_penalty' '96'

# A config interface without "option ifname" will set default options
# for all interfaces.  Interface-specific configuration always overrides
# default configuration.
config interface
	# option 'enable_timestamps' 'true'
	# option 'update_interval' '30'


# A filter consists of a type ('in', 'out', 'redistribute' or 'install'),
# a set of selectors ('ip', 'eq', etc.) and a set of actions to perform
# ('allow', 'deny', 'metric xxx', 'src-prefix xxx', 'table xxx', 'pref-src xxx').
# See babeld man page ("Filtering rules") for more details.

# Below is a sample filter that redistributes the default route if its
# protocol number is "boot", e.g. when it is installed by dhcp (see
# /etc/iproute2/rt_protos).  This filter is disabled thanks to the 'ignore'
# setting.
config filter
	option 'ignore'	'true'
	# Type of filter
	option 'type'	'redistribute'
	# Selectors: ip, eq, le, ge, src_ip, src_eq, src_le, src_ge, neigh, id,
	# proto, local, if.
	option 'ip'	'0.0.0.0/0'
	option 'eq'	'0'
	option 'proto'	'3'
	# Action, which can be any of: allow, deny, metric <NUMBER>, src-prefix <PREFIX>,
	# table <ID>, pref-src <IP>.
	# The action defaults to "allow" if not specified.  Here, we specify a higher
	# redistribution metric than the default (0).
	option 'action'	'metric 128'

# Another example filter: don't redistribute local addresses in a certain IP prefix.
# By default, babeld redistributes *all* local addresses.
config filter
	option 'ignore'	'true'
	option 'type'	'redistribute'
	# Only apply to routes/addresses within this prefix.
	option 'ip'	'198.51.100.0/24'
	# Notice that the 'local' selector is a boolean.
	option 'local'	'true'
	# Don't redistribute.
	option 'action'	'deny'

# Example install filter, to change or filter routes before they are inserted
# into the kernel.
config filter
	option 'ignore'		'true'
	option 'type'		'install'
	# Optional: only apply to routes within 2001:db8:cafe::/48
	option 'ip'		'2001:db8:cafe::/48'
	# We specify the kernel routing table and the preferred source address to use for these routes.
	# "Allow" is implicit.
	option 'action'		'table 200  pref-src 2001:db8:ba:be1::42'