-
-
Notifications
You must be signed in to change notification settings - Fork 90
/
pimd.conf
146 lines (139 loc) · 6.58 KB
/
pimd.conf
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# Exmaple configuration file for pimd, the original PIM-SM router
#
# See the pimd(8) man page for details on all the settings. This file
# only gives very brief examples and is intended as a quick start.
#
# By default PIM is activated on all interfaces, useful in small and/or
# dedicated setups. Use `phyint ifname disable` per interface where PIM
# should not run, or `no phyint` followed by `phyint ifname enable` to
# get the inverse behavior.
#
# NOTE: The order of the settings matter!
#
##
# default-route-distance <1-255>
# default-route-metric <1-1024>
# hello-interval <30-18724>
#
# igmp-query-interval <SEC>
# igmp-querier-timeout <SEC>
#
# no phyint
#
# phyint <local-addr | ifname> [disable | enable] [igmpv2 | igmpv3]
# [dr-priority <1-4294967294>]
# [ttl-threshold <1-255>] [distance <1-255>] [metric <1-1024>]
# [altnet <network> [/<masklen> | masklen <masklen>]]
# [scoped <network> [/<masklen> | masklen <masklen>]]
#
# bsr-candidate [local-addr | ifname] [priority <0-255>] [interval <10-26214>]
# rp-candidate [local-addr | ifname] [priority <0-255> ] [interval <10-16383>]
# group-prefix <group-addr>[/<masklen> | masklen <masklen>]
# group-prefix <group-addr>[/<masklen> | masklen <masklen>]
# .
# .
# group-prefix <group-addr>[/<masklen> | masklen <masklen>]
# rp-address <local-addr> [<group-addr>[/<masklen> | masklen <masklen>]
#
# spt-threshold [rate <KBPS> | packets <NUM> | infinity] [interval <SEC>]
##
#
# The routing protocol admin distance (or metric preference per the RFC)
# is used in PIM Assert elections to elect the forwarder of multicast.
# Currently pimd cannot obtain distance and metric from the underlying
# routing protocols, so a default distance may need to be configured per
# interface. If left out, the default-route-distance is used for the
# phyint. In PIM assert elections the router advertising the lowest
# preference (distance) will be selected as forwarder (upstream router)
# for that LAN. An admin distance of 101 should be sufficiently high so
# that asserts from Cisco or GateD routers are prefered over poor-little
# pimd.
#
# It is reccommended that preferences (admin distance) be set such that
# metrics are never consulted. However, default metrics may also be set
# and default to 1024.
#
# Use the disable-vifs keyword before any phyint directive to change the
# default for all interfaces to disabled. I.e., pimd does not create a
# multicast VIF for all interfaces. Then use `phyint ifname enable` to
# selectively enable each interface for multicast routing.
#
# A phyint directive can use either the interface name, ifname, or the
# IP address. The distance and metric settings define administrative
# distance and metric, respectively, for PIM Assert messages sent on
# that interface. Usually you do not need this, but if you do, think of
# them like distance and metric defined on an inbound interface (iif),
# but used by PIM Asserts on the outbound interfaces (oifs).
#
# If you want to add "alternative (sub)net" to a physical interface,
# e.g., if you want to make incoming traffic with a non-local source address
# to appear as it is coming from a local subnet, then use the command:
#
# phyint <local-addr | ifname> altnet <net-addr> masklen <len>
#
# NOTE: if you use this command, make sure you know what you are doing!
#
# If you want administratively scoped multicast filtering, use the
# following command:
#
# phyint <local-addr | ifname> scoped <net-addr> masklen <masklen>
#
# This allows interfaces to be configured as an administrative boundary
# for the specified scoped address, or address range. Packets belonging
# to the scoped range will not be forwarded.
#
# Both rp-candidate and bsr-candidate are enabled in the default config,
# below. Disabling them for all PIM capable routers is a bad idea. At
# least one PIM router in the backbone must act as a bootstrap router.
# The optional local-addr or ifname arguments after the rp-candidate and
# bsr-candidate settings specify the local address to be used in the
# Cand-RP and Cand-BSR messages. In case ifname is given as argument,
# the first IPv4 address of that interface is used. If either is
# unspecified, the largest local IP address will be used, excluding
# phyint interfaces where PIM has been disabled.
#
# The bsr-candidate interval specifies Cand-BSR advertisement interval,
# the default is 60 sec. Use smaller values for faster convergence.
# Note that the RP hold time is adjusted to exceed the BSR interval.
#
# The rp-candidate interval specifies Cand-RP advertisement interval,
# the default is 30 sec. Use smaller values for faster convergence.
#
# The group-prefix setting is the prefix(es) advertised if rp-candidate.
# It is possible to set up to 255 group-prefix records.
#
# Using the rp-address setting it is possible to set a static rendezvous
# point. The argument can be either a unicast or a multicast address
# followed by an optional group address and optional masklen to that.
#
# The spt-threshold specifies the minimum rate in kbps before the last
# hop router initiates a switch to the shortest path. The `packets`
# argument is an alternative notation, `infinity` means to never switch,
# and `interval` specifies the interval for periodical testing of the
# threshold. Currently, `interval` must be at least 5 (seconds)
#
# Interface defaults, like default-route-distance and -metric must be
# set before the phyint section -- the .conf parser is not clever.
#default-route-distance 101 # smaller is better
#default-route-metric 1024 # smaller is better
#hello-interval 30 # Don't set lower than 30
# The phyint settings currently *MUST BE* ordered after the default
# source preference and metric settings, but before everything else.
#
# By default, all multicast capable interfaces are enabled. If you want
# to use loopback, set the interface multicast flag.
#phyint eth0 disable
# IGMP default query interval and querier timeout. The latter should
# per RFC always be (robustness * interval) + (query-response / 2)
#igmp-query-interval 125
#igmp-querier-timeout 380
# Bigger value means "higher" priority
bsr-candidate priority 5 interval 30
# Smaller value means "higher" priority (alternate syntax below)
rp-candidate priority 20 interval 30
# Candidate for being RP of complete IPv4 multicast range
# rp-candidate priority 20 interval 30 group-prefix 224.0.0.0 masklen 4
# Static rendez-vous point
#rp-address 192.168.10.1 224.0.0.0/4
# Switch to shortest-path tree after first packet, but only after 100 sec.
spt-threshold packets 0 interval 100