From 32440ed4407d423b5f3c0f0e59c32357b8ac26be Mon Sep 17 00:00:00 2001 From: Jeffrey Townsend Date: Thu, 7 Jan 2016 19:00:35 +0000 Subject: [PATCH] Add initial version of the platform snmp agent. --- packages/base/amd64/onlp-snmpd/Makefile | 1 + packages/base/amd64/onlp-snmpd/PKG.yml | 5 ++ .../base/amd64/onlp-snmpd/builds/.gitignore | 1 + .../base/amd64/onlp-snmpd/builds/Makefile | 2 + packages/base/any/onlp-snmpd/APKG.yml | 21 ++++++ packages/base/any/onlp-snmpd/builds/Makefile | 31 +++++++++ packages/base/any/onlp-snmpd/onlp-snmpd.init | 66 +++++++++++++++++++ packages/base/powerpc/onlp-snmpd/Makefile | 1 + packages/base/powerpc/onlp-snmpd/PKG.yml | 5 ++ .../base/powerpc/onlp-snmpd/builds/.gitignore | 1 + .../base/powerpc/onlp-snmpd/builds/Makefile | 2 + 11 files changed, 136 insertions(+) create mode 100644 packages/base/amd64/onlp-snmpd/Makefile create mode 100644 packages/base/amd64/onlp-snmpd/PKG.yml create mode 100644 packages/base/amd64/onlp-snmpd/builds/.gitignore create mode 100644 packages/base/amd64/onlp-snmpd/builds/Makefile create mode 100644 packages/base/any/onlp-snmpd/APKG.yml create mode 100644 packages/base/any/onlp-snmpd/builds/Makefile create mode 100644 packages/base/any/onlp-snmpd/onlp-snmpd.init create mode 100644 packages/base/powerpc/onlp-snmpd/Makefile create mode 100644 packages/base/powerpc/onlp-snmpd/PKG.yml create mode 100644 packages/base/powerpc/onlp-snmpd/builds/.gitignore create mode 100644 packages/base/powerpc/onlp-snmpd/builds/Makefile diff --git a/packages/base/amd64/onlp-snmpd/Makefile b/packages/base/amd64/onlp-snmpd/Makefile new file mode 100644 index 00000000..003238cf --- /dev/null +++ b/packages/base/amd64/onlp-snmpd/Makefile @@ -0,0 +1 @@ +include $(ONL)/make/pkg.mk \ No newline at end of file diff --git a/packages/base/amd64/onlp-snmpd/PKG.yml b/packages/base/amd64/onlp-snmpd/PKG.yml new file mode 100644 index 00000000..a2fcd213 --- /dev/null +++ b/packages/base/amd64/onlp-snmpd/PKG.yml @@ -0,0 +1,5 @@ +!include $ONL/packages/base/any/onlp-snmpd/APKG.yml ARCH=amd64 TOOLCHAIN=x86_64-linux-gnu + + + + diff --git a/packages/base/amd64/onlp-snmpd/builds/.gitignore b/packages/base/amd64/onlp-snmpd/builds/.gitignore new file mode 100644 index 00000000..d2838356 --- /dev/null +++ b/packages/base/amd64/onlp-snmpd/builds/.gitignore @@ -0,0 +1 @@ +onlp-snmpd.mk diff --git a/packages/base/amd64/onlp-snmpd/builds/Makefile b/packages/base/amd64/onlp-snmpd/builds/Makefile new file mode 100644 index 00000000..209b853f --- /dev/null +++ b/packages/base/amd64/onlp-snmpd/builds/Makefile @@ -0,0 +1,2 @@ +include $(ONL)/make/config.amd64.mk +include $(ONL)/packages/base/any/onlp-snmpd/builds/Makefile diff --git a/packages/base/any/onlp-snmpd/APKG.yml b/packages/base/any/onlp-snmpd/APKG.yml new file mode 100644 index 00000000..6e70c5f4 --- /dev/null +++ b/packages/base/any/onlp-snmpd/APKG.yml @@ -0,0 +1,21 @@ +common: + arch: $ARCH + version: 1.0.0 + copyright: Copyright 2013, 2014, 2015 Big Switch Networks + maintainer: support@bigswitch.com + +packages: + - name: onlp-snmpd + version: 1.0.0 + summary: ONL Platform SNMP Daemon + + files: + builds/$BUILD_DIR/${TOOLCHAIN}/bin/onlp-snmpd: /usr/bin/onlp-snmpd + + init: ${ONL}/packages/base/any/onlp-snmpd/onlp-snmpd.init + + changelog: Change changes changes., + + + + diff --git a/packages/base/any/onlp-snmpd/builds/Makefile b/packages/base/any/onlp-snmpd/builds/Makefile new file mode 100644 index 00000000..ee55769e --- /dev/null +++ b/packages/base/any/onlp-snmpd/builds/Makefile @@ -0,0 +1,31 @@ +include $(ONL)/make/any.mk + +MODULE := onlp-snmpd +include $(BUILDER)/standardinit.mk + +DEPENDMODULES := onlp_snmp AIM OS snmp_subagent IOF +DEPENDMODULE_HEADERS := onlp + +include $(BUILDER)/dependmodules.mk + +BINARY := onlp-snmpd +$(BINARY)_LIBRARIES := $(LIBRARY_TARGETS) +include $(BUILDER)/bin.mk + +include $(BUILDER)/targets.mk + +GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MODULES_INIT=1 +GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MAIN=1 +GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_PVS_SYSLOG=1 +GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_DAEMONIZE=1 +GLOBAL_CFLAGS += -DAIM_CONFIG_AIM_MAIN_FUNCTION=snmp_subagent_main +GLOBAL_CFLAGS += -DSNMP_SUBAGENT_CONFIG_INCLUDE_MAIN=1 +GLOBAL_CFLAGS += -g + +LIBONLP := $(shell $(ONLPM) --find-file onlp:$(ARCH) libonlp.so) + +GLOBAL_LINK_LIBS += -lpthread $(LIBONLP) +GLOBAL_LINK_LIBS += -Wl,--unresolved-symbols=ignore-in-shared-libs + +.DEFAULT_GOAL := onlp-snmpd + diff --git a/packages/base/any/onlp-snmpd/onlp-snmpd.init b/packages/base/any/onlp-snmpd/onlp-snmpd.init new file mode 100644 index 00000000..f9ea9cd5 --- /dev/null +++ b/packages/base/any/onlp-snmpd/onlp-snmpd.init @@ -0,0 +1,66 @@ +#!/bin/sh + +### BEGIN INIT INFO +# Provides: faultd +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start ONLP SNMP Agent +### END INIT INFO + +PATH=/sbin:/bin:/usr/sbin:/usr/bin + +. /lib/lsb/init-functions + +DAEMON=/usr/bin/onlp-snmpd +PIDFILE=/var/run/onlp-snmpd.pid +ONLP_SNMPD_OPTS="-dr -pid $PIDFILE" +QUIET= + +test -x $DAEMON || exit 5 + +RUNASUSER=root +UGID=$(getent passwd $RUNASUSER | cut -f 3,4 -d:) || true + +case $1 in + start) + log_daemon_msg "Starting ONLP SNMP Agent" "onlp-snmpd" + if [ -z "$UGID" ]; then + log_failure_msg "user \"$RUNASUSER\" does not exist" + exit 1 + fi + start-stop-daemon --start $QUIET --oknodo --pidfile $PIDFILE --startas $DAEMON -- $ONLP_SNMPD_OPTS $ONLP_SNMPD_EXTRA_OPTS + status=$? + log_end_msg $status + ;; + stop) + log_daemon_msg "Stopping ONLP SNMP Agent" "onlp-snmpd" + start-stop-daemon --stop $QUIET --oknodo --pidfile $PIDFILE + log_end_msg $? + rm -f $PIDFILE + ;; + restart|force-reload) + $0 stop && sleep 2 && $0 start + ;; + try-restart) + if $0 status >/dev/null; then + $0 restart + else + exit 0 + fi + ;; + reload) + log_daemon_msg "Reloading ONLP SNMP Agent" "onlp-snmpd" + start-stop-daemon --stop $QUIET --oknodo --pidfile $PIDFILE --signal 1 + status=$? + log_end_msg $status + ;; + status) + status_of_proc $DAEMON "ONLP SNMP Agent" + ;; + *) + echo "Usage: $0 {start|stop|restart|try-restart|force-reload|reload|status}" + exit 2 + ;; +esac diff --git a/packages/base/powerpc/onlp-snmpd/Makefile b/packages/base/powerpc/onlp-snmpd/Makefile new file mode 100644 index 00000000..003238cf --- /dev/null +++ b/packages/base/powerpc/onlp-snmpd/Makefile @@ -0,0 +1 @@ +include $(ONL)/make/pkg.mk \ No newline at end of file diff --git a/packages/base/powerpc/onlp-snmpd/PKG.yml b/packages/base/powerpc/onlp-snmpd/PKG.yml new file mode 100644 index 00000000..56e26a48 --- /dev/null +++ b/packages/base/powerpc/onlp-snmpd/PKG.yml @@ -0,0 +1,5 @@ +!include $ONL/packages/base/any/onlp-snmpd/APKG.yml ARCH=powerpc TOOLCHAIN=powerpc-linux-gnu + + + + diff --git a/packages/base/powerpc/onlp-snmpd/builds/.gitignore b/packages/base/powerpc/onlp-snmpd/builds/.gitignore new file mode 100644 index 00000000..d2838356 --- /dev/null +++ b/packages/base/powerpc/onlp-snmpd/builds/.gitignore @@ -0,0 +1 @@ +onlp-snmpd.mk diff --git a/packages/base/powerpc/onlp-snmpd/builds/Makefile b/packages/base/powerpc/onlp-snmpd/builds/Makefile new file mode 100644 index 00000000..bf7a02da --- /dev/null +++ b/packages/base/powerpc/onlp-snmpd/builds/Makefile @@ -0,0 +1,2 @@ +include $(ONL)/make/config.powerpc.mk +include $(ONL)/packages/base/any/onlp-snmpd/builds/Makefile