]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
initscripts: Add an initscript for lldpd
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 6 Nov 2025 16:46:56 +0000 (16:46 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 7 Nov 2025 11:22:35 +0000 (11:22 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
config/rootfiles/common/aarch64/initscripts
config/rootfiles/common/riscv64/initscripts
config/rootfiles/common/x86_64/initscripts
lfs/initscripts
src/initscripts/system/lldpd [new file with mode: 0755]

index 51f5ed51f29a99469e57b4c981f7f5ac4100cdf3..feb2aba4446dd2a84c99e908c835668a5d19e50b 100644 (file)
@@ -31,6 +31,7 @@ etc/rc.d/init.d/grub-btrfsd
 etc/rc.d/init.d/halt
 etc/rc.d/init.d/ipsec
 etc/rc.d/init.d/leds
+etc/rc.d/init.d/lldpd
 etc/rc.d/init.d/localnet
 etc/rc.d/init.d/messagebus
 etc/rc.d/init.d/modules
@@ -100,6 +101,7 @@ etc/rc.d/init.d/wlanclient
 etc/rc.d/rc0.d/K01grub-btrfsd
 #etc/rc.d/rc0.d/K01vdradmin
 etc/rc.d/rc0.d/K08fcron
+etc/rc.d/rc0.d/K09lldpd
 etc/rc.d/rc0.d/K10openvpn-rw
 etc/rc.d/rc0.d/K11openvpn-n2n
 etc/rc.d/rc0.d/K28apache
@@ -139,6 +141,7 @@ etc/rc.d/rc3.d/S24cyrus-sasl
 etc/rc.d/rc3.d/S30sshd
 etc/rc.d/rc3.d/S32apache
 etc/rc.d/rc3.d/S40fcron
+etc/rc.d/rc3.d/S41lldpd
 etc/rc.d/rc3.d/S51openvpn-n2n
 etc/rc.d/rc3.d/S50openvpn-rw
 etc/rc.d/rc3.d/S50wireguard
@@ -149,6 +152,7 @@ etc/rc.d/rc3.d/S99grub-btrfsd
 etc/rc.d/rc6.d/K01grub-btrfsd
 #etc/rc.d/rc6.d/K01vdradmin
 etc/rc.d/rc6.d/K08fcron
+etc/rc.d/rc6.d/K09lldpd
 etc/rc.d/rc6.d/K10openvpn-rw
 etc/rc.d/rc6.d/K11openvpn-n2n
 etc/rc.d/rc6.d/K28apache
index e1865cb037d4c27f79cd6e6a20bbaa63b7baae75..09d19bc469f4893c9ed44147e1a9db0c8535c001 100644 (file)
@@ -31,6 +31,7 @@ etc/rc.d/init.d/grub-btrfsd
 etc/rc.d/init.d/halt
 etc/rc.d/init.d/ipsec
 etc/rc.d/init.d/leds
+etc/rc.d/init.d/lldpd
 etc/rc.d/init.d/localnet
 etc/rc.d/init.d/messagebus
 etc/rc.d/init.d/modules
@@ -99,6 +100,7 @@ etc/rc.d/init.d/wlanclient
 etc/rc.d/rc0.d/K01grub-btrfsd
 #etc/rc.d/rc0.d/K01vdradmin
 etc/rc.d/rc0.d/K08fcron
+etc/rc.d/rc0.d/K09lldpd
 etc/rc.d/rc0.d/K10openvpn-rw
 etc/rc.d/rc0.d/K11openvpn-n2n
 etc/rc.d/rc0.d/K28apache
@@ -138,6 +140,7 @@ etc/rc.d/rc3.d/S24cyrus-sasl
 etc/rc.d/rc3.d/S30sshd
 etc/rc.d/rc3.d/S32apache
 etc/rc.d/rc3.d/S40fcron
+etc/rc.d/rc3.d/S41lldpd
 etc/rc.d/rc3.d/S51openvpn-n2n
 etc/rc.d/rc3.d/S50openvpn-rw
 etc/rc.d/rc3.d/S50wireguard
@@ -148,6 +151,7 @@ etc/rc.d/rc3.d/S99grub-btrfsd
 etc/rc.d/rc6.d/K01grub-btrfsd
 #etc/rc.d/rc6.d/K01vdradmin
 etc/rc.d/rc6.d/K08fcron
+etc/rc.d/rc6.d/K09lldpd
 etc/rc.d/rc6.d/K10openvpn-rw
 etc/rc.d/rc6.d/K11openvpn-n2n
 etc/rc.d/rc6.d/K28apache
index e1865cb037d4c27f79cd6e6a20bbaa63b7baae75..09d19bc469f4893c9ed44147e1a9db0c8535c001 100644 (file)
@@ -31,6 +31,7 @@ etc/rc.d/init.d/grub-btrfsd
 etc/rc.d/init.d/halt
 etc/rc.d/init.d/ipsec
 etc/rc.d/init.d/leds
+etc/rc.d/init.d/lldpd
 etc/rc.d/init.d/localnet
 etc/rc.d/init.d/messagebus
 etc/rc.d/init.d/modules
@@ -99,6 +100,7 @@ etc/rc.d/init.d/wlanclient
 etc/rc.d/rc0.d/K01grub-btrfsd
 #etc/rc.d/rc0.d/K01vdradmin
 etc/rc.d/rc0.d/K08fcron
+etc/rc.d/rc0.d/K09lldpd
 etc/rc.d/rc0.d/K10openvpn-rw
 etc/rc.d/rc0.d/K11openvpn-n2n
 etc/rc.d/rc0.d/K28apache
@@ -138,6 +140,7 @@ etc/rc.d/rc3.d/S24cyrus-sasl
 etc/rc.d/rc3.d/S30sshd
 etc/rc.d/rc3.d/S32apache
 etc/rc.d/rc3.d/S40fcron
+etc/rc.d/rc3.d/S41lldpd
 etc/rc.d/rc3.d/S51openvpn-n2n
 etc/rc.d/rc3.d/S50openvpn-rw
 etc/rc.d/rc3.d/S50wireguard
@@ -148,6 +151,7 @@ etc/rc.d/rc3.d/S99grub-btrfsd
 etc/rc.d/rc6.d/K01grub-btrfsd
 #etc/rc.d/rc6.d/K01vdradmin
 etc/rc.d/rc6.d/K08fcron
+etc/rc.d/rc6.d/K09lldpd
 etc/rc.d/rc6.d/K10openvpn-rw
 etc/rc.d/rc6.d/K11openvpn-n2n
 etc/rc.d/rc6.d/K28apache
index 49215c0ae76430dcee68495e74d99012bc35e3f2..d2ef7ef8546182fd177d65b9d81131332b4a8878 100644 (file)
@@ -94,6 +94,7 @@ $(TARGET) :
        ln -sf ../init.d/grub-btrfsd            /etc/rc.d/rc0.d/K01grub-btrfsd
        ln -sf ../init.d/vdradmin               /etc/rc.d/rc0.d/K01vdradmin
        ln -sf ../init.d/fcron                  /etc/rc.d/rc0.d/K08fcron
+       ln -sf ../init.d/lldpd                  /etc/rc.d/rc0.d/K09lldpd
        ln -sf ../init.d/apache                 /etc/rc.d/rc0.d/K28apache
        ln -sf ../init.d/openvpn-rw             /etc/rc.d/rc0.d/K10openvpn-rw
        ln -sf ../init.d/openvpn-n2n            /etc/rc.d/rc0.d/K11openvpn-n2n
@@ -131,6 +132,7 @@ $(TARGET) :
        ln -sf ../init.d/sshd                   /etc/rc.d/rc3.d/S30sshd
        ln -sf ../init.d/apache                 /etc/rc.d/rc3.d/S32apache
        ln -sf ../init.d/fcron                  /etc/rc.d/rc3.d/S40fcron
+       ln -sf ../init.d/lldpd                  /etc/rc.d/rc3.d/S41lldpd
        ln -sf ../init.d/openvpn-n2n            /etc/rc.d/rc3.d/S51openvpn-n2n
        ln -sf ../init.d/openvpn-rw             /etc/rc.d/rc3.d/S50openvpn-rw
        ln -sf ../init.d/wireguard              /etc/rc.d/rc3.d/S50wireguard
@@ -141,6 +143,7 @@ $(TARGET) :
        ln -sf ../init.d/grub-btrfsd            /etc/rc.d/rc6.d/K01grub-btrfsd
        ln -sf ../init.d/vdradmin               /etc/rc.d/rc6.d/K01vdradmin
        ln -sf ../init.d/fcron                  /etc/rc.d/rc6.d/K08fcron
+       ln -sf ../init.d/lldpd                  /etc/rc.d/rc6.d/K09lldpd
        ln -sf ../init.d/openvpn-rw             /etc/rc.d/rc6.d/K10openvpn-rw
        ln -sf ../init.d/openvpn-n2n            /etc/rc.d/rc6.d/K11openvpn-n2n
        ln -sf ../init.d/apache                 /etc/rc.d/rc6.d/K28apache
diff --git a/src/initscripts/system/lldpd b/src/initscripts/system/lldpd
new file mode 100755 (executable)
index 0000000..128115d
--- /dev/null
@@ -0,0 +1,79 @@
+#!/bin/sh
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2022  IPFire Team  <info@ipfire.org>                     #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+. /etc/sysconfig/rc
+. ${rc_functions}
+
+# Read the configuration
+readhash CONFIG "/var/ipfire/lldp/settings"
+
+generate_config() {
+       # Set the description (if given)
+       if [ -n "${CONFIG["DESCRIPTION"]}" ]; then
+               echo "configure system description ${CONFIG["DESCRIPTION"]}"
+       fi
+
+       return 0
+}
+
+case "${1}" in
+       start)
+               # Do nothing if the service is not enabled
+               if [ "${CONFIG["ENABLED"]}" != "on" ]; then
+                       exit 0
+               fi
+
+               # Generate the configuration file
+               if ! generate_config > /etc/lldpd.d/lldpd.conf; then
+                       boot_mesg -n "Failed to generate configuration for lldpd" ${WARNING}
+                       boot_mesg "" ${NORMAL}
+                       exit 1
+               fi
+
+               boot_mesg "Starting Link-Layer Discovery Protocol Daemon..."
+               loadproc /usr/sbin/lldpd
+               ;;
+
+       stop)
+               boot_mesg "Stopping Link-Layer Discovery Protocol Daemon..."
+               killproc /usr/sbin/lldpd
+               ;;
+
+       reload)
+               boot_mesg "Reloading Link-Layer Discovery Protocol Daemoon..."
+               reloadproc /usr/sbin/lldpd
+               ;;
+
+       restart)
+               ${0} stop
+               sleep 1
+               ${0} start
+               ;;
+
+       status)
+               statusproc /usr/sbin/lldpd
+               ;;
+
+       *)
+               echo "Usage: ${0} {start|stop|reload|restart|status}"
+               exit 1
+               ;;
+esac