PIM6SD.CONF(5)
π NAME π
pim6sd.conf β bestie, this is the config file for pim6sd, the PIM-SM daemon for IPv6. Itβs section 5, File Formats Manual. Slay. β¨
πΈ DESCRIPTION πΈ
Okay so pim6sd.conf is literally a sequence of statements, and each statement is terminated by a semicolon (;). Each statement tells the daemon how to treat an interface, sets some PIM protocol parameters, or asks for some special behavior defined by the protocol. π«Ά
Each statement can be built from multiple lines.
Lines beginning with # are comments.
The following statements can be specified in the config file, fr fr:
log option... ;β tells the daemon which debug messages to print out. Each option usually picks a subset of messages to print. If an option begins withno, that means the set of messages specified by the option will not be printed. For example,all nomldmeans all messages except MLD-related ones will be printed.
Valid options are:
mld_proto, mld_timer, mld_member, mld, switch, trace, mtrace, traceroute,
timeout, callout, pkt, packets, interfaces, vif, kernel, cache, mfc, k_cache,
k_mfc, rsrr, pim_detail, pim_hello, pim_neighbors, pim_register, registers,
pim_join_prune, pim_j_p, pim_jp, pim_bootstrap, pim_bsr, bsr, bootstrap,
pim_asserts, pim_cand_rp, pim_c_rp, pim_rp, rp, pim_routes, pim_routing,
pim_mrt, pim_timers, pim_rpf, rpf, pim, routes, routing, mrt, routers,
mrouters, neighbors, timers, asserts, and all.
reverselookup (yes | no);β specifies whether a hostname for an IPv6 address should be resolved on logging.yesmeans resolve the hostname,nomeans donβt. By default, a hostname is not resolved.default_phyint_status (disable | enable);β tellspim6sd(8)to enable or disable multicast routing when itβs not explicitly configured in aphyintstatement. By default,enableis assumed.phyint interface (disable | enable);β tellspim6sd(8)to enable or disable multicast routing on the interface. If neither is specified, thedefault_phyint_statusstatement determines whether multicast routing is enabled or disabled. Interfaces are specified in the form of"name unit", such asgif0andep1.phyint interface [preference preference] [metric metric] ;β specifies the preference and/or metric values when sending a PIM assert message on the interface.phyint interface [priority priority] ;β specifies the DR-priority value when sending a PIM hello message on the interface. If not specified, the DR-priority value is set to1.phyint interface [nolistener] ;β stops the advertisement of MLD packets on the interface. This option is usually meaningless, but itβs useful when MLD messages are noisy (e.g. when debugging) and there is surely no listener on the interface.phyint interface [llqi n] [robustness r] [query_rsp_interval qri] [query_interval qi] [mld_version ver] ;β specifies MLDv2-specific parameters for the given interface.
llqi specifies last-listener-query-interval, and its default value is 1000ms.
robustness is for robustness-variable for the interface, and its default value is 2.
query_rsp_interval and query_interval correspond to query-response-interval and query-interval in MLDv2 Query messages. Their default values are 10000ms (query_rsp_interval) and 125s (query_interval).
mld_version specifies the acceptable version of MLD. For example, if it is configured as 1, then only MLDv1 packets are permitted on this interface. If the argument is any, then any version of MLD (currently v1 and v2) is permitted. If you are going to enable MLDv1-compat-mode under MLDv2, you should specify any, since only MLDv2 packets are permitted if it is configured as 2. Its default value is 1.
default_source_preference preference;β specifies a default preference value when sending a PIM assert message. Preferences are used by assert elections to determine upstream routers. Currentlypim6sd(8)does not have an effective method to obtain preferences and metrics from unicast routing protocols, so you may want to set a default value by hand. The default preference is1024.default_source_metric metric;β specifies a default metric value when sending a PIM assert message. Sincepim6sd(8)cannot get an effective metric of unicast routing, it is recommended that preferences be set such that metrics are never consulted. However, default metrics may also be set, and its default value is1024.granularity second;β specifies timer granularity in seconds. The default value is5.hello_period period coef;βperiodspecifies the period in seconds between 2 hello messages.coefis the coefficient used to determine the hello holdtime; the holdtime will beperiod * coef. The default values of the period and the coefficient are30and3.5, respectively. The default holdtime is105seconds as a result.join_prune_period period coef;βperiodspecifies the period in seconds between 2 join/prune messages.coefis the coefficient used to determine the join/prune holdtime; the holdtime will beperiod * coef. The default values of the period and the coefficient are60and3.5, respectively. Consequently, the default holdtime is210seconds.data_timeout timer;β specifies the time after which(S,G)state for a silent source will be deleted. The default value is210.register_suppression_timeout interval;βintervalspecifies the interval between receiving a Register-Stop and allowing PIM Register to be sent again. The default value is60.probe_time timer;βtimerspecifies the time between sending a null Register and the Register-Suppression-Timer expiring, unless it is restarted by receiving a Register-Stop. The default value is5.assert_timeout interval;βintervalspecifies the interval between the last time an Assert is received and the time at which the assert times out. The default value is180.cand_rp [interface] [time time] [priority priority] ;β specifies to act as a Candidate Rendezvous Point (RP). It is recommended to specifycand_rponly in typical usage. All other parameters are optional and will be set automatically.
If an interface is specified, pim6sd(8) will search for a global address on the specified interface and set the address in Candidate RP Advertisements.
An optional parameter time specifies the interval of two succeeding advertisements in seconds. Its default value is 60. 2.5 * time will be set to Candidate-RP-Advertisement messages.
Another optional parameter priority specifies the priority of the RP. The default value is 0, which means the highest priority.
static prefix address ;β specifies a static route only for RPF calculation.static_rp prefix address [priority priority] ;β specifies a static group-to-RP mapping. This is necessary when there is an IPv6 multicast router that does not understand BSR messages. It cannot be specified withcand_rporcand_bsrconfiguration.
BSR function remains working independently of this option, so you can specify static group-to-RP mappings by this option while flooding BSR messages from upstream to downstreams, but you cannot redistribute this static mapping by BSR messages.
If this option and BSR messages provide a different RP for the same group, the one with higher priority (i.e. smaller priority value) is chosen. If their priority is the same, the static one wins.
An optional parameter priority specifies the priority of this static group-to-RP mapping. Its default value is 0 (highest).
group_prefix prefix;β when acting as a Rendezvous Point (RP),prefixspecifies a group prefix that the RP will handle.cand_bootstrap_router [interface] [time time] [priority priority] [masklen masklen] ;β specifies to act as a Candidate Bootstrap Router (BSR). It is recommended to specifycand_bootstrap_routeronly in typical usage. All other parameters are optional and will be set automatically.
If an interface is specified, pim6sd(8) will search for a global address on the specified interface and set the address in Bootstrap messages.
An optional parameter time specifies the interval of two succeeding bootstraps in seconds. Its default value is 60.
Another optional parameter priority specifies the priority of the BSR. The default value is 0, which means the lowest priority.
Hash mask length can also be specified by the masklen parameter. Its value, masklen, must be no less than 0 and no greater than 128.
switch_register_threshold rate rate interval interval;β specifies the threshold that a Rendezvous Point (RP) switches to a shortest path tree, which is valid only when acting as an RP.ratespecifies the threshold in bits per second, andintervalspecifies the interval of checking the rate in seconds. The default values are50000and20, respectively.switch_data_threshold rate rate interval interval;β specifies the threshold that a last hop router switches to a shortest path tree.ratespecifies the threshold in bits per second, andintervalspecifies the interval of checking the rate in seconds. The default values are50000and20, respectively.
π EXAMPLE π
No cap, hereβs the example from the page, verbatim:
# phyint gif0 disable;
# phyint ep0 preference 101;
phyint de0 disable;
#
# followings are for a candidate Rendezvous Point, which should usually
# be disabled.
cand_bootstrap_router;
cand_rp;
π¦ SEE ALSO π¦
pim6sd(8) β thatβs the whole see-also situation, bestie. π
π HISTORY π
The pim6sd(8) command is developed by Mickael Hoerdt at LSIIT Laboratory. It is based on IPv4 PIM sparse-mode pimd developed at University of Southern California, which has also been derived from mrouted. mrouted is COPYRIGHT 1989 by The Board of Trustees of Leland Stanford Junior University. Iconic lineage, honestly. π
π BUGS π
static_rp configuration does not work at RP. So please use the cand_rp command at RP until this bug is fixed. Not me pointing at the bug, but also yes. π
Bye bestie πβ¨ β this page comes from KAME and is dated Oct 6, 1999. periodt. π
π¦ where this page comes from
- nixos 26.05: pim6sd 0-unstable-2024-12-14
- nixpkgs unstable: pim6sd 0-unstable-2024-12-14
- Copyright (C) 1999 WIDE Project
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms