From 0289eac721085563ff727515022e8c61b2ecf30d Mon Sep 17 00:00:00 2001 From: Fabio Berton Date: Fri, 18 Sep 2015 14:23:35 -0300 Subject: lldpd: Add recipe lldpd is a 802.1AB implementation, a L2 network discovery protocol. It also supports CDP, EDP and various other protocols. Signed-off-by: Fabio Berton Signed-off-by: Martin Jansa Signed-off-by: Joe MacDonald --- .../lldpd/files/fix-libevent-configure.patch | 39 +++++++ .../recipes-daemons/lldpd/files/lldpd.default | 2 + .../recipes-daemons/lldpd/files/lldpd.init.d | 128 +++++++++++++++++++++ 3 files changed, 169 insertions(+) create mode 100644 meta-networking/recipes-daemons/lldpd/files/fix-libevent-configure.patch create mode 100644 meta-networking/recipes-daemons/lldpd/files/lldpd.default create mode 100644 meta-networking/recipes-daemons/lldpd/files/lldpd.init.d (limited to 'meta-networking/recipes-daemons/lldpd/files') diff --git a/meta-networking/recipes-daemons/lldpd/files/fix-libevent-configure.patch b/meta-networking/recipes-daemons/lldpd/files/fix-libevent-configure.patch new file mode 100644 index 0000000000..42d6b290ae --- /dev/null +++ b/meta-networking/recipes-daemons/lldpd/files/fix-libevent-configure.patch @@ -0,0 +1,39 @@ +Upstream-Status: Submitted [https://github.com/vincentbernat/lldpd/issues/133] + +Subject: [PATCH] fix libevent configure + +Signed-off-by: Fabio Berton +--- + m4/libevent.m4 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/m4/libevent.m4 b/m4/libevent.m4 +index 275e5a5..dcd3309 100644 +--- a/m4/libevent.m4 ++++ b/m4/libevent.m4 +@@ -45,13 +45,11 @@ AC_DEFUN([lldp_CHECK_LIBEVENT], [ + AC_MSG_ERROR([*** libevent not found]) + fi + ]) +- fi + + if test x"$LIBEVENT_EMBEDDED" != x; then + unset LIBEVENT_LIBS + LIBEVENT_CFLAGS="-I\$(top_srcdir)/libevent/include -I\$(top_builddir)/libevent/include" + LIBEVENT_LDFLAGS="\$(top_builddir)/libevent/libevent.la" +- fi + + # Call ./configure in libevent. Need it for make dist... + libevent_configure_args="$libevent_configure_args --disable-libevent-regress" +@@ -64,6 +62,8 @@ AC_DEFUN([lldp_CHECK_LIBEVENT], [ + libevent_configure_args="$libevent_configure_args --with-pic" + libevent_configure_args="$libevent_configure_args --enable-static" + lldp_CONFIG_SUBDIRS([libevent], [$libevent_configure_args]) ++ fi ++ fi + + AM_CONDITIONAL([LIBEVENT_EMBEDDED], [test x"$LIBEVENT_EMBEDDED" != x]) + AC_SUBST([LIBEVENT_LIBS]) +-- +2.1.4 + diff --git a/meta-networking/recipes-daemons/lldpd/files/lldpd.default b/meta-networking/recipes-daemons/lldpd/files/lldpd.default new file mode 100644 index 0000000000..3acacfd90b --- /dev/null +++ b/meta-networking/recipes-daemons/lldpd/files/lldpd.default @@ -0,0 +1,2 @@ +# Uncomment to start SNMP subagent and enable CDP, SONMP and EDP protocol +#DAEMON_ARGS="-x -c -s -e" diff --git a/meta-networking/recipes-daemons/lldpd/files/lldpd.init.d b/meta-networking/recipes-daemons/lldpd/files/lldpd.init.d new file mode 100644 index 0000000000..88bf958989 --- /dev/null +++ b/meta-networking/recipes-daemons/lldpd/files/lldpd.init.d @@ -0,0 +1,128 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: lldpd +# Required-Start: $remote_fs $network $syslog +# Required-Stop: $network $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: LLDP daemon +# Description: lldpd is a 802.1AB implementation, a L2 network +# discovery protocol. It also supports CDP, EDP and +# various other protocols. +### END INIT INFO + +# Do NOT "set -e" + +log_daemon_msg() { + echo $* +} + +log_end_msg() { + if [ $1 -eq 0 ]; then + success $* + else + failure $* + fi +} + +log_failure_msg() { + echo $* +} + +log_success_msg() { + echo $* +} + + +# PATH should only include /usr/* if it runs after the mountnfs.sh script +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="LLDP daemon" +NAME=lldpd +DAEMON=/usr/sbin/$NAME +DAEMON_ARGS="" +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME +CHROOT=/var/run/$NAME + +# Exit if the package is not installed +[ -x "$DAEMON" ] || exit 0 + +# Read configuration variable file if it is present +[ -r /etc/default/$NAME ] && . /etc/default/$NAME + +# LSB log_* functions +. /etc/init.d/functions + +do_start() +{ + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ + $DAEMON_ARGS \ + || return 2 +} + +do_stop() +{ + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON + [ "$?" = 2 ] && return 2 + rm -f $PIDFILE + return "$RETVAL" +} + +do_reload() { + start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME + return 0 +} + +case "$1" in + start) + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" + do_start + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + stop) + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + reload) + log_daemon_msg "Reloading $DESC" "$NAME" + do_reload + log_end_msg $? + ;; + restart|force-reload) + log_daemon_msg "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; + status) + status_of_proc $DAEMON $NAME -p $PIDFILE && exit 0 || exit $? + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload|status}" >&2 + exit 3 + ;; +esac + +: -- cgit v1.2.3-54-g00ecf