mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-16 00:25:01 +00:00
debianpkg, redhat, tools: Fixup startup/build for new daemon
Add code to allow FRR to properly build and handle the staticd for some of the more common packaging. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
7e24fdf333
commit
7ac1de8ee0
@ -17,7 +17,7 @@
|
|||||||
# open, as well as the daemons, so always signal the daemons.
|
# open, as well as the daemons, so always signal the daemons.
|
||||||
# It's safe, a NOP if (only) syslog is being used.
|
# It's safe, a NOP if (only) syslog is being used.
|
||||||
for i in babeld bgpd eigrpd isisd ldpd nhrpd ospf6d ospfd \
|
for i in babeld bgpd eigrpd isisd ldpd nhrpd ospf6d ospfd \
|
||||||
pimd ripd ripngd zebra ; do
|
pimd ripd ripngd zebra staticd ; do
|
||||||
if [ -e /var/run/frr/$i.pid ] ; then
|
if [ -e /var/run/frr/$i.pid ] ; then
|
||||||
pids="$pids $(cat /var/run/frr/$i.pid)"
|
pids="$pids $(cat /var/run/frr/$i.pid)"
|
||||||
fi
|
fi
|
||||||
|
@ -51,6 +51,7 @@ eigrpd=no
|
|||||||
babeld=no
|
babeld=no
|
||||||
sharpd=no
|
sharpd=no
|
||||||
pbrd=no
|
pbrd=no
|
||||||
|
staticd=no
|
||||||
#
|
#
|
||||||
# Command line options for the daemons
|
# Command line options for the daemons
|
||||||
#
|
#
|
||||||
@ -68,6 +69,7 @@ eigrpd_options=("-A 127.0.0.1")
|
|||||||
babeld_options=("-A 127.0.0.1")
|
babeld_options=("-A 127.0.0.1")
|
||||||
sharpd_options=("-A 127.0.0.1")
|
sharpd_options=("-A 127.0.0.1")
|
||||||
pbrd_options=("-A 127.0.0.1")
|
pbrd_options=("-A 127.0.0.1")
|
||||||
|
staticd_options=("-A 127.0.0.1")
|
||||||
|
|
||||||
#
|
#
|
||||||
# If the vtysh_enable is yes, then the unified config is read
|
# If the vtysh_enable is yes, then the unified config is read
|
||||||
|
@ -33,7 +33,7 @@ V_PATH=/var/run/frr
|
|||||||
# Local Daemon selection may be done by using /etc/frr/daemons.
|
# Local Daemon selection may be done by using /etc/frr/daemons.
|
||||||
# See /usr/share/doc/frr/README.Debian.gz for further information.
|
# See /usr/share/doc/frr/README.Debian.gz for further information.
|
||||||
# Keep zebra first and do not list watchfrr!
|
# Keep zebra first and do not list watchfrr!
|
||||||
DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd pimd pbrd ldpd nhrpd eigrpd babeld"
|
DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd pimd pbrd ldpd nhrpd eigrpd babeld staticd sharpd"
|
||||||
MAX_INSTANCES=5
|
MAX_INSTANCES=5
|
||||||
RELOAD_SCRIPT=/usr/lib/frr/frr-reload.py
|
RELOAD_SCRIPT=/usr/lib/frr/frr-reload.py
|
||||||
|
|
||||||
|
@ -85,7 +85,7 @@
|
|||||||
%{!?frr_gid: %global frr_gid 92 }
|
%{!?frr_gid: %global frr_gid 92 }
|
||||||
%{!?vty_gid: %global vty_gid 85 }
|
%{!?vty_gid: %global vty_gid 85 }
|
||||||
|
|
||||||
%define daemon_list zebra ripd ospfd bgpd isisd ripngd ospf6d pbrd
|
%define daemon_list zebra ripd ospfd bgpd isisd ripngd ospf6d pbrd staticd
|
||||||
|
|
||||||
%if %{with_ldpd}
|
%if %{with_ldpd}
|
||||||
%define daemon_ldpd ldpd
|
%define daemon_ldpd ldpd
|
||||||
@ -416,6 +416,7 @@ zebra_spec_add_service ()
|
|||||||
|
|
||||||
zebra_spec_add_service zebrasrv 2600/tcp "zebra service"
|
zebra_spec_add_service zebrasrv 2600/tcp "zebra service"
|
||||||
zebra_spec_add_service zebra 2601/tcp "zebra vty"
|
zebra_spec_add_service zebra 2601/tcp "zebra vty"
|
||||||
|
zebra_spec_add_service staticd 2616/tcp "staticd vty"
|
||||||
zebra_spec_add_service ripd 2602/tcp "RIPd vty"
|
zebra_spec_add_service ripd 2602/tcp "RIPd vty"
|
||||||
zebra_spec_add_service ripngd 2603/tcp "RIPngd vty"
|
zebra_spec_add_service ripngd 2603/tcp "RIPngd vty"
|
||||||
zebra_spec_add_service ospfd 2604/tcp "OSPFd vty"
|
zebra_spec_add_service ospfd 2604/tcp "OSPFd vty"
|
||||||
@ -561,6 +562,7 @@ fi
|
|||||||
%{_infodir}/frr.info.gz
|
%{_infodir}/frr.info.gz
|
||||||
%{_mandir}/man*/*
|
%{_mandir}/man*/*
|
||||||
%{_sbindir}/zebra
|
%{_sbindir}/zebra
|
||||||
|
%{_sbindir}/staticd
|
||||||
%{_sbindir}/ospfd
|
%{_sbindir}/ospfd
|
||||||
%{_sbindir}/ripd
|
%{_sbindir}/ripd
|
||||||
%{_sbindir}/bgpd
|
%{_sbindir}/bgpd
|
||||||
|
@ -18,6 +18,7 @@ eigrpd_options=" --daemon -A 127.0.0.1"
|
|||||||
babeld_options=" --daemon -A 127.0.0.1"
|
babeld_options=" --daemon -A 127.0.0.1"
|
||||||
sharpd_options=" --daemon -A 127.0.0.1"
|
sharpd_options=" --daemon -A 127.0.0.1"
|
||||||
pbrd_options=" --daemon -A 127.0.0.1"
|
pbrd_options=" --daemon -A 127.0.0.1"
|
||||||
|
staticd_options=" --daemon -A 127.0.0.1"
|
||||||
|
|
||||||
# The list of daemons to watch is automatically generated by the init script.
|
# The list of daemons to watch is automatically generated by the init script.
|
||||||
watchfrr_enable=yes
|
watchfrr_enable=yes
|
||||||
|
23
tools/frr
23
tools/frr
@ -21,7 +21,7 @@ V_PATH=/var/run/frr
|
|||||||
# Local Daemon selection may be done by using /etc/frr/daemons.
|
# Local Daemon selection may be done by using /etc/frr/daemons.
|
||||||
# See /usr/share/doc/frr/README.Debian.gz for further information.
|
# See /usr/share/doc/frr/README.Debian.gz for further information.
|
||||||
# Keep zebra first and do not list watchfrr!
|
# Keep zebra first and do not list watchfrr!
|
||||||
DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd babeld pimd ldpd nhrpd eigrpd sharpd pbrd"
|
DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd babeld pimd ldpd nhrpd eigrpd sharpd pbrd staticd"
|
||||||
MAX_INSTANCES=5
|
MAX_INSTANCES=5
|
||||||
RELOAD_SCRIPT=/usr/lib/frr/frr-reload.py
|
RELOAD_SCRIPT=/usr/lib/frr/frr-reload.py
|
||||||
|
|
||||||
@ -170,6 +170,22 @@ start()
|
|||||||
`eval echo "$""$1""_options"`
|
`eval echo "$""$1""_options"`
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Start the staticd automatically
|
||||||
|
if [ "$1" = "zebra" ]; then
|
||||||
|
echo -n "starting staticd since zebra is running"
|
||||||
|
if ! check_daemon staticd ; then
|
||||||
|
echo -n " (binary does not exist)"
|
||||||
|
return;
|
||||||
|
fi
|
||||||
|
|
||||||
|
${SSD} \
|
||||||
|
--start \
|
||||||
|
--pidfile=`pidfile staticd` \
|
||||||
|
--exec "$D_PATH/staticd" \
|
||||||
|
-- \
|
||||||
|
`eval echo "$"staticd"_options"`
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Stop the daemon given in the parameter, printing its name to the terminal.
|
# Stop the daemon given in the parameter, printing its name to the terminal.
|
||||||
@ -210,6 +226,11 @@ stop()
|
|||||||
echo -n " $inst"
|
echo -n " $inst"
|
||||||
rm -f `pidfile $inst`
|
rm -f `pidfile $inst`
|
||||||
rm -f `vtyfile $inst`
|
rm -f `vtyfile $inst`
|
||||||
|
|
||||||
|
if [ "$1" = "zebra" ]; then
|
||||||
|
echo -n "Stopping staticd since zebra is running"
|
||||||
|
stop staticd
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user