-
Notifications
You must be signed in to change notification settings - Fork 647
/
frr
39 lines (39 loc) · 2.09 KB
/
frr
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
{% if helpers.exists('OPNsense.quagga.general.enabled') and OPNsense.quagga.general.enabled == '1' %}
# XXX rc.d/frr splits up defunct "frr" service into frr_daemons
# and we always start "zebra" so for now this works:
zebra_setup="/usr/local/opnsense/scripts/frr/setup.sh"
frr_enable="YES"
{% if helpers.exists('OPNsense.quagga.general.enablecarp') and OPNsense.quagga.general.enablecarp == '1' %}
start_precmd="ifconfig | grep 'carp: MASTER'"
{% endif %}
frr_daemons="zebra{%
if helpers.exists('OPNsense.quagga.ospf.enabled') and OPNsense.quagga.ospf.enabled == '1' %} ospfd{% endif %}{%
if helpers.exists('OPNsense.quagga.rip.enabled') and OPNsense.quagga.rip.enabled == '1' %} ripd{% endif %}{%
if helpers.exists('OPNsense.quagga.bfd.enabled') and OPNsense.quagga.bfd.enabled == '1' %} bfdd{% endif %}{%
if helpers.exists('OPNsense.quagga.bgp.enabled') and OPNsense.quagga.bgp.enabled == '1' %} bgpd{% endif %}{%
if helpers.exists('OPNsense.quagga.ospf6.enabled') and OPNsense.quagga.ospf6.enabled == '1' %} ospf6d{% endif %}{%
if helpers.exists('OPNsense.quagga.ripng.enabled') and OPNsense.quagga.ripng.enabled == '1' %} ripngd{% endif %}{%
if helpers.exists('OPNsense.quagga.static.enabled') and OPNsense.quagga.static.enabled == '1' %} staticd{% endif %}{%
if helpers.exists('OPNsense.quagga.isis.enabled') and OPNsense.quagga.isis.enabled == '1' %} isisd{% endif %}"
frr_carp_demote="{%
if not helpers.empty('OPNsense.quagga.ospf.carp_demote') %} ospfd{% endif %}{%
if not helpers.empty('OPNsense.quagga.ospf6.carp_demote') %} ospf6d{% endif
%}"
start_postcmd='
# XXX rc.d/frr declares its own post command we need to hook first
start_postcmd
# XXX rc.d/frr iterates through daemons so we need to hook last one
if [ "${frr_daemons}" != "${frr_daemons% ${name}}" ]; then
echo "Starting CARP event handler now"
/usr/local/opnsense/scripts/frr/carp_event_handler
fi
'
{% if OPNsense.quagga.general.enablesnmp == '1' %}
zebra_flags="${zebra_flags} -M snmp"
bgpd_flags="${bgpd_flags} -M snmp"
ospf_flags="${ospf_flags} -M snmp"
ospf6_flags="${ospf6_flags} -M snmp"
{% endif %}
{% else %}
frr_enable="NO"
{% endif %}