PSARC/2014/169 Net-snmp upgrade to version 5.7.2.1
authorGowtham Thommandra <Gowtham.Thommandra@Oracle.COM>
Fri, 11 Dec 2015 03:49:26 -0800
changeset 5867 445e2cf1c845
parent 5866 683c5c035a79
child 5868 2115ad091ad8
PSARC/2014/169 Net-snmp upgrade to version 5.7.2.1 15685782 SUNBT7005330 NET-SNMP upgrade to 5.7.2.1 15705167 SUNBT7030994 find memory leaks for snmp-notify after doing libfmnotif
components/net-snmp-57/Makefile
components/net-snmp-57/history
components/net-snmp-57/net-snmp-27.p5m
components/net-snmp-57/net-snmp-addons.p5m
components/net-snmp-57/net-snmp-base.p5m
components/net-snmp-57/net-snmp-documentation.p5m
components/net-snmp-57/net-snmp.xml
components/net-snmp-57/patches/002.pkcs.patch
components/net-snmp-57/patches/008.ip-mib.patch
components/net-snmp-57/patches/009.ltmain.sh.patch
components/net-snmp-57/patches/010.if-mib-zone.patch
components/net-snmp-57/patches/011.Makefile.in.patch
components/net-snmp-57/patches/012.Makefile.PL.patch
components/net-snmp-57/patches/014.6801093.vmstat_solaris2.patch
components/net-snmp-57/patches/015.6956251.vmstat_solaris2.patch
components/net-snmp-57/patches/016.6934478.vmstat_solaris2.patch
components/net-snmp-57/patches/020.7018550.kernel_sunos5.patch
components/net-snmp-57/patches/021.7027183.kernel_sunos5.patch
components/net-snmp-57/patches/023.6438650.python.patch
components/net-snmp-57/patches/024.7119673,7127371.kernel_sunos5.patch
components/net-snmp-57/patches/027.7118090.hr_filesys.patch
components/net-snmp-57/patches/028.7069199.doxygen.conf.patch
components/net-snmp-57/patches/029.7097655.ipAddressTable_container.patch
components/net-snmp-57/patches/030.7147779.kernel_sunos5.patch
components/net-snmp-57/patches/038.16032482.kernel_sunos5.patch
components/net-snmp-57/patches/039.17002960.kernel_sunos5.patch
components/net-snmp-57/patches/040.17812413.logmatch_free.patch
components/net-snmp-57/patches/043.16634190.kernel_sunos5.patch
components/net-snmp-57/patches/047.18529953.patch
components/net-snmp-57/patches/048.16439911.hr_filesys.patch
components/net-snmp-57/patches/049.19547764.patch
components/net-snmp-57/patches/051.19616471.patch
components/net-snmp-57/patches/052.16824703.dyn_cpu.patch
components/net-snmp-57/patches/053.20191950.dladm_proto_change.patch
components/net-snmp-57/patches/054.20479968.net-snmp-config.in.patch
components/net-snmp-57/patches/055.15777182.tcp.patch
components/net-snmp-57/patches/056.19474426.var_route.patch
components/net-snmp-57/patches/057.21442284.snmptrapd.patch
components/net-snmp-57/patches/058.15372155.hr_storage.patch
components/net-snmp-57/patches/059.21544351.snmp_api.patch
components/net-snmp-57/patches/060.20461627.17502158.kernel_sunos5.patch
components/net-snmp-57/run-tests
components/net-snmp-57/sun/Makefile
components/net-snmp-57/sun/README
components/net-snmp-57/sun/agent/Makefile
components/net-snmp-57/sun/agent/mibs/ENTITY-MIB.txt
components/net-snmp-57/sun/agent/mibs/Makefile
components/net-snmp-57/sun/agent/mibs/SUN-MIB.txt
components/net-snmp-57/sun/agent/mibs/SUN-SEA-EXTENSIONS-MIB.txt
components/net-snmp-57/sun/agent/mibs/SUN-SEA-PROXY-MIB.txt
components/net-snmp-57/sun/agent/mibs/health-monitor-mib.mib
components/net-snmp-57/sun/agent/mibs/smatrap.mib
components/net-snmp-57/sun/agent/modules/Makefile
components/net-snmp-57/sun/agent/modules/entityMib/Makefile
components/net-snmp-57/sun/agent/modules/entityMib/entAliasMappingTable.c
components/net-snmp-57/sun/agent/modules/entityMib/entAliasMappingTable.h
components/net-snmp-57/sun/agent/modules/entityMib/entLPMappingTable.c
components/net-snmp-57/sun/agent/modules/entityMib/entLPMappingTable.h
components/net-snmp-57/sun/agent/modules/entityMib/entLastChangeTime.c
components/net-snmp-57/sun/agent/modules/entityMib/entLastChangeTime.h
components/net-snmp-57/sun/agent/modules/entityMib/entLogicalTable.c
components/net-snmp-57/sun/agent/modules/entityMib/entLogicalTable.h
components/net-snmp-57/sun/agent/modules/entityMib/entPhysicalContainsTable.c
components/net-snmp-57/sun/agent/modules/entityMib/entPhysicalContainsTable.h
components/net-snmp-57/sun/agent/modules/entityMib/entPhysicalTable.c
components/net-snmp-57/sun/agent/modules/entityMib/entPhysicalTable.h
components/net-snmp-57/sun/agent/modules/entityMib/entity.c
components/net-snmp-57/sun/agent/modules/entityMib/entity_apidoc.txt
components/net-snmp-57/sun/agent/modules/entityMib/stdhdr.h
components/net-snmp-57/sun/agent/modules/healthMonitor/Makefile
components/net-snmp-57/sun/agent/modules/healthMonitor/dsr.c
components/net-snmp-57/sun/agent/modules/healthMonitor/healthMonitor.c
components/net-snmp-57/sun/agent/modules/healthMonitor/healthMonitor.h
components/net-snmp-57/sun/agent/modules/healthMonitor/health_monitor.conf
components/net-snmp-57/sun/agent/modules/healthMonitor/kr_iostat.c
components/net-snmp-57/sun/agent/modules/healthMonitor/kr_memory.c
components/net-snmp-57/sun/agent/modules/healthMonitor/kr_nfsstat.c
components/net-snmp-57/sun/agent/modules/healthMonitor/kr_vmstat.c
components/net-snmp-57/sun/agent/modules/seaExtensions/Makefile
components/net-snmp-57/sun/agent/modules/seaExtensions/agent.h
components/net-snmp-57/sun/agent/modules/seaExtensions/asn1.h
components/net-snmp-57/sun/agent/modules/seaExtensions/seaExtensions.c
components/net-snmp-57/sun/agent/modules/seaExtensions/seaExtensions.h
components/net-snmp-57/sun/agent/modules/seaExtensions/snmpvars.h
components/net-snmp-57/sun/agent/modules/seaExtensions/sunHostPerf.c
components/net-snmp-57/sun/agent/modules/seaExtensions/sunHostPerf.h
components/net-snmp-57/sun/agent/modules/seaExtensions/sunProcesses.c
components/net-snmp-57/sun/agent/modules/seaExtensions/sunProcesses.h
components/net-snmp-57/sun/agent/modules/seaExtensions/sunSystem.c
components/net-snmp-57/sun/agent/modules/seaExtensions/sunSystem.h
components/net-snmp-57/sun/masfcnv
components/net-snmp-57/sun/masfcnv.8
components/net-snmp-57/sun/masfd
components/net-snmp-57/sun/sdk/demo/demo_module_1/Makefile
components/net-snmp-57/sun/sdk/demo/demo_module_1/README_demo_module_1
components/net-snmp-57/sun/sdk/demo/demo_module_1/SDK-DEMO1-MIB.txt
components/net-snmp-57/sun/sdk/demo/demo_module_1/demo_module_1.c
components/net-snmp-57/sun/sdk/demo/demo_module_1/demo_module_1.h
components/net-snmp-57/sun/sdk/demo/demo_module_10/Makefile
components/net-snmp-57/sun/sdk/demo/demo_module_10/README_demo_module_10
components/net-snmp-57/sun/sdk/demo/demo_module_10/SDK-DEMO10-MIB.txt
components/net-snmp-57/sun/sdk/demo/demo_module_10/demo_module_10.c
components/net-snmp-57/sun/sdk/demo/demo_module_10/demo_module_10.h
components/net-snmp-57/sun/sdk/demo/demo_module_10/get_data
components/net-snmp-57/sun/sdk/demo/demo_module_10/get_refreshtime
components/net-snmp-57/sun/sdk/demo/demo_module_10/get_status
components/net-snmp-57/sun/sdk/demo/demo_module_10/set_status
components/net-snmp-57/sun/sdk/demo/demo_module_10/walk_demo_module_10
components/net-snmp-57/sun/sdk/demo/demo_module_11/Makefile
components/net-snmp-57/sun/sdk/demo/demo_module_11/MyTable.c
components/net-snmp-57/sun/sdk/demo/demo_module_11/MyTable.h
components/net-snmp-57/sun/sdk/demo/demo_module_11/README_demo_module_11
components/net-snmp-57/sun/sdk/demo/demo_module_12/EXAMPLE-MIB.txt
components/net-snmp-57/sun/sdk/demo/demo_module_12/README_demo_module_12
components/net-snmp-57/sun/sdk/demo/demo_module_12/runmib2c
components/net-snmp-57/sun/sdk/demo/demo_module_12/runmibcodegen
components/net-snmp-57/sun/sdk/demo/demo_module_2/Makefile
components/net-snmp-57/sun/sdk/demo/demo_module_2/README_demo_module_2
components/net-snmp-57/sun/sdk/demo/demo_module_2/SDK-DEMO1-MIB.txt
components/net-snmp-57/sun/sdk/demo/demo_module_2/demo_module_2.c
components/net-snmp-57/sun/sdk/demo/demo_module_2/demo_module_2.h
components/net-snmp-57/sun/sdk/demo/demo_module_3/Makefile
components/net-snmp-57/sun/sdk/demo/demo_module_3/README_demo_module_3
components/net-snmp-57/sun/sdk/demo/demo_module_3/SDK-DEMO1-MIB.txt
components/net-snmp-57/sun/sdk/demo/demo_module_3/demo_module_3.c
components/net-snmp-57/sun/sdk/demo/demo_module_3/demo_module_3.h
components/net-snmp-57/sun/sdk/demo/demo_module_4/Makefile
components/net-snmp-57/sun/sdk/demo/demo_module_4/README_demo_module_4
components/net-snmp-57/sun/sdk/demo/demo_module_4/SDK-DEMO4-MIB.txt
components/net-snmp-57/sun/sdk/demo/demo_module_4/demo_module_4.conf
components/net-snmp-57/sun/sdk/demo/demo_module_4/me4LoadGroup.c
components/net-snmp-57/sun/sdk/demo/demo_module_4/me4LoadGroup.h
components/net-snmp-57/sun/sdk/demo/demo_module_5/Makefile
components/net-snmp-57/sun/sdk/demo/demo_module_5/README_demo_module_5
components/net-snmp-57/sun/sdk/demo/demo_module_5/SDK-DEMO5-MIB.txt
components/net-snmp-57/sun/sdk/demo/demo_module_5/demo_module_5.c
components/net-snmp-57/sun/sdk/demo/demo_module_5/demo_module_5.h
components/net-snmp-57/sun/sdk/demo/demo_module_6/Makefile
components/net-snmp-57/sun/sdk/demo/demo_module_6/README_demo_module_6
components/net-snmp-57/sun/sdk/demo/demo_module_6/SDK-DEMO6-MIB.txt
components/net-snmp-57/sun/sdk/demo/demo_module_6/demo_module_6.c
components/net-snmp-57/sun/sdk/demo/demo_module_6/demo_module_6.h
components/net-snmp-57/sun/sdk/demo/demo_module_6/get_demo_module_6
components/net-snmp-57/sun/sdk/demo/demo_module_7/Makefile
components/net-snmp-57/sun/sdk/demo/demo_module_7/README_demo_module_7
components/net-snmp-57/sun/sdk/demo/demo_module_7/SDK-DEMO6-MIB.txt
components/net-snmp-57/sun/sdk/demo/demo_module_7/demo_module_7.c
components/net-snmp-57/sun/sdk/demo/demo_module_7/demo_module_7.h
components/net-snmp-57/sun/sdk/demo/demo_module_7/get_filesize
components/net-snmp-57/sun/sdk/demo/demo_module_7/register_file
components/net-snmp-57/sun/sdk/demo/demo_module_7/unregister_file
components/net-snmp-57/sun/sdk/demo/demo_module_8/Makefile
components/net-snmp-57/sun/sdk/demo/demo_module_8/README_demo_module_8
components/net-snmp-57/sun/sdk/demo/demo_module_8/SDK-DEMO1-MIB.txt
components/net-snmp-57/sun/sdk/demo/demo_module_8/demo_module_8.c
components/net-snmp-57/sun/sdk/demo/demo_module_8/getme1LoadGroup
components/net-snmp-57/sun/sdk/demo/demo_module_8/me1LoadGroup.c
components/net-snmp-57/sun/sdk/demo/demo_module_8/me1LoadGroup.h
components/net-snmp-57/sun/sdk/demo/demo_module_9/Makefile
components/net-snmp-57/sun/sdk/demo/demo_module_9/README_demo_module_9
components/net-snmp-57/sun/sdk/demo/demo_module_9/SDK-DEMO9-MIB.txt
components/net-snmp-57/sun/sdk/demo/demo_module_9/demo_module_9.c
components/net-snmp-57/sun/sdk/demo/demo_module_9/demo_module_9.h
components/net-snmp-57/sun/sdk/demo/demo_module_9/get_demo_module_9
components/net-snmp-57/sun/sdk/demo/demo_module_9/set_demo_module_9
components/net-snmp-57/sun/sdk/demo/demo_module_9/walk_demo_module_9
components/net-snmp-57/sun/sma_buildrev.c
components/net-snmp-57/sun/snmpd.conf
components/net-snmp-57/svc-net-snmp
components/net-snmp/Makefile
components/net-snmp/history
components/net-snmp/net-snmp-27.p5m
components/net-snmp/net-snmp-addons.p5m
components/net-snmp/net-snmp-base.p5m
components/net-snmp/net-snmp-documentation.p5m
components/net-snmp/net-snmp.xml
components/net-snmp/svc-net-snmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/Makefile	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,136 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+#
+# net-snmp has a "special" build where only 32-bit items are installed into
+# proto area; so prefer 32-bit to preserve existing sourcing.
+BUILD_BITS= 32_and_64
+include ../../make-rules/shared-macros.mk
+
+PATH=$(SPRO_VROOT)/bin:$(GNUBIN):$(USRBINDIR)
+
+COMPONENT_NAME=		net-snmp
+COMPONENT_VERSION=	5.7.2.1
+COMPONENT_PROJECT_URL=	http://www.net-snmp.org/
+COMPONENT_ARCHIVE_HASH= \
+    sha256:35dd20a2b17849f6d5a0a6109b4f52c1a777a3e1a00c79c4a175c520d23f3497
+COMPONENT_ARCHIVE_URL=	http://ftp.ntua.gr/mirror/net-snmp/net-snmp/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
+#COMPONENT_ARCHIVE_URL= http://ftp.ntua.gr/mirror/net-snmp/OldFiles/net-snmp-5.4.x/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
+COMPONENT_BUGDB=	service/net-snmp utility/net-snmp library/net-snmp
+
+TPNO=			13120
+
+BUILD_32_and_64 += $(BUILD_DIR_32)/.docs
+INSTALL_TARGET= build $(INSTALL_32_and_64)
+include $(WS_MAKE_RULES)/common.mk
+
+studio_C99MODE= $(studio_C99_ENABLE)
+CPPFLAGS += "-DFALSE_SHARING_ALIGN=64"
+
+CONFIGURE_ENV +=	PYTHONPROG=$(PYTHON.$(BITS))
+
+CONFIGURE_OPTIONS  +=	--with-default-snmp-version=3
+CONFIGURE_OPTIONS  +=	--with-sys-contact="[email protected]"
+CONFIGURE_OPTIONS  +=	--with-sys-location=Unknown
+CONFIGURE_OPTIONS  +=	--with-logfile=$(VARDIR)/log/snmpd.log
+CONFIGURE_OPTIONS  +=	--with-persistent-directory=$(VARDIR)/net-snmp
+
+CONFIGURE_OPTIONS  +=	--with-mibdirs=$(ETCDIR)/net-snmp/snmp/mibs
+CONFIGURE_OPTIONS  +=	--datadir=$(ETCDIR)/net-snmp
+CONFIGURE_OPTIONS  +=	--enable-agentx-dom-sock-only
+CONFIGURE_OPTIONS  +=	--enable-ucd-snmp-compatibility
+CONFIGURE_OPTIONS  +=	--enable-ipv6
+CONFIGURE_OPTIONS  +=	--enable-mfd-rewrites
+CONFIGURE_OPTIONS  +=	--with-openssl=/lib/openssl
+CONFIGURE_OPTIONS  +=	--with-transports="UDP TCP UDPIPv6 TCPIPv6"
+CONFIGURE_OPTIONS  +=   --sysconfdir=$(ETCDIR)/net-snmp
+
+# Which MIB modules do we want to build
+MIB_MOBULES.sparc = ucd-snmp/lmSensors
+MIB_MODULES = host disman/event-mib ucd-snmp/diskio udp-mib tcp-mib if-mib
+MIB_MOBULES += $(MIB_MODULES.$(MACH))
+CONFIGURE_OPTIONS  +=	--with-mib-modules="$(MIB_MODULES)"
+
+# Python bindings support.
+PYTHON_ARGS =		--basedir=/usr/bin
+CONFIGURE_OPTIONS  +=	--with-python-modules="$(PYTHON_ARGS)"
+
+# Only build 64 bit Perl support
+PERL_ARGS =			DESTDIR=$(PROTO_DIR) INSTALLDIRS=vendor
+CONFIGURE_OPTIONS.32  +=	--disable-embedded-perl
+CONFIGURE_OPTIONS.32  +=	--without-perl-modules
+CONFIGURE_OPTIONS.64  +=	PERLPROG="$(PERL)"
+CONFIGURE_OPTIONS.64  +=	--with-perl-modules="$(PERL_ARGS)"
+CONFIGURE_OPTIONS.64  +=	--disable-perl-cc-checks
+
+COMPONENT_PRE_CONFIGURE_ACTION = \
+	($(CLONEY) $(SOURCE_DIR) $(@D); $(CLONEY) $(COMPONENT_DIR)/sun $(@D)/sun)
+
+# for the goofy definition of ARCH in the extra Makefiles
+ARCH=32
+ARCH=$(BITS:64=$(MACH64))
+
+CCSMAKE_ARGS =	CC="$(CC)" CFGPREFIX=$(USRDIR) CFGLIB64=$(USRLIBDIR64)
+CCSMAKE_ARGS +=	CFGLIB=$(USRLIBDIR) ARCH=$(ARCH) ROOT=$(PROTO_DIR)
+
+COMPONENT_TEST_DIR =		$(COMPONENT_DIR)
+COMPONENT_TEST_CMD =		$(KSH93)
+COMPONENT_TEST_TARGETS =	./run-tests $(BUILD_DIR) $(MACH32) $(MACH64)
+
+# perl man pages hiding here in 64-bit PROTO_DIR
+PKG_PROTO_DIRS += $(BUILD_DIR)/prototype/$(MACH64)
+
+$(BUILD_32): COMPONENT_POST_BUILD_ACTION= \
+	(cd $(BUILD_DIR)/$(MACH32)/sun ; ls agent; $(CCSMAKE) -e $(CCSMAKE_ARGS))
+
+$(BUILD_64): COMPONENT_POST_BUILD_ACTION= \
+	(cd $(BUILD_DIR)/$(MACH64)/sun ; ls agent; $(CCSMAKE) -e $(CCSMAKE_ARGS))
+
+$(INSTALL_32): COMPONENT_INSTALL_ARGS += PYTHON_VENDOR_PACKAGES=$(PYTHON_VENDOR_PACKAGES)
+
+$(INSTALL_32): COMPONENT_POST_INSTALL_ACTION= \
+	($(MKDIR) -p $(BUILD_DIR)/prototype/$(MACH)/etc/net-snmp/snmp/mibs; \
+	 cd $(BUILD_DIR)/$(MACH32)/sun ; ls agent; $(CCSMAKE) -e $(CCSMAKE_ARGS) install)
+
+$(INSTALL_64): COMPONENT_POST_INSTALL_ACTION= \
+	($(MKDIR) -p $(BUILD_DIR)/prototype/$(MACH64)/etc/net-snmp/snmp/mibs; \
+	 cd $(BUILD_DIR)/$(MACH64)/sun ; ls agent; $(CCSMAKE) -e $(CCSMAKE_ARGS) install)
+
+$(INSTALL_64): COMPONENT_INSTALL_ARGS += DESTDIR=$(BUILD_DIR)/prototype/$(MACH64)
+
+# build the docs
+$(BUILD_DIR_32)/.docs:
+	(cd $(@D) ; $(ENV) srcdir=$(@D) $(DOXYGEN) -u $(@D)/doxygen.conf ; \
+	    $(ENV) srcdir=$(@D) $(DOXYGEN) $(@D)/doxygen.conf)
+	$(TOUCH) [email protected]
+
+REQUIRED_PACKAGES += developer/documentation-tool/doxygen
+REQUIRED_PACKAGES += library/security/openssl
+REQUIRED_PACKAGES += $(PERL_PKG)
+REQUIRED_PACKAGES += runtime/python-27
+REQUIRED_PACKAGES += shell/bash
+REQUIRED_PACKAGES += shell/ksh93
+REQUIRED_PACKAGES += system/core-os
+REQUIRED_PACKAGES += system/linker
+REQUIRED_PACKAGES += system/management/snmp/net-snmp
+REQUIRED_PACKAGES += system/network
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/history	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,3 @@
+library/python-2/[email protected]
+library/python-2/[email protected],5.12-5.12.0.0.0.41.0 library/python/net-snmp-27
+library/python/[email protected]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/net-snmp-27.p5m	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,48 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
+#
+
+set name=pkg.fmri \
+    value=pkg:/library/python/[email protected]$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="The Net-SNMP - Python 2.7 bindings"
+set name=com.oracle.info.description value="Python 2.7 bindings for Net-SNMP"
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+    value=org.opensolaris.category.2008:Development/Python
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=LSARC/2008/355 value=PSARC/2014/169
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+file path=usr/lib/python2.7/vendor-packages/netsnmp/__init__.py
+file path=usr/lib/python2.7/vendor-packages/netsnmp/client.py
+file path=usr/lib/python2.7/vendor-packages/netsnmp/client_intf.so
+file path=usr/lib/python2.7/vendor-packages/netsnmp/tests/__init__.py
+file path=usr/lib/python2.7/vendor-packages/netsnmp/tests/test.py
+file path=usr/lib/python2.7/vendor-packages/netsnmp_python-1.0a1-py2.7.egg-info/PKG-INFO
+file path=usr/lib/python2.7/vendor-packages/netsnmp_python-1.0a1-py2.7.egg-info/SOURCES.txt
+file path=usr/lib/python2.7/vendor-packages/netsnmp_python-1.0a1-py2.7.egg-info/dependency_links.txt
+file path=usr/lib/python2.7/vendor-packages/netsnmp_python-1.0a1-py2.7.egg-info/top_level.txt
+license COPYING license="BSD, BSD-like"
+
+# force the rename with an optional dependency on the old name
+depend type=optional \
+    fmri=library/python-2/[email protected],5.12-5.12.0.0.0.41.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/net-snmp-addons.p5m	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,41 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
+#
+
+set name=pkg.fmri \
+    value=pkg:/system/management/snmp/net-snmp/[email protected]$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="Net-SNMP addon libraries"
+set name=com.oracle.info.description value="the Net-SNMP addon libraries"
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+    value="org.opensolaris.category.2008:System/Enterprise Management"
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=LSARC/2008/355 value=PSARC/2014/169
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+
+
+file $(MACH64)/sun/agent/modules/seaExtensions/libseaExtensions.so \
+    path=usr/lib/$(MACH64)/libseaExtensions.so
+file $(MACH32)/sun/agent/modules/seaExtensions/libseaExtensions.so \
+    path=usr/lib/libseaExtensions.so
+license COPYING license="BSD, BSD-like"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/net-snmp-base.p5m	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,711 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
+#
+
+<transform file path=usr.*/man/.+ -> default mangler.man.stability volatile>
+set name=pkg.fmri \
+    value=pkg:/system/management/snmp/[email protected]$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="Net-SNMP Agent files and libraries"
+set name=com.oracle.info.description \
+    value="the Net-SNMP agent files and libraries"
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+    value="org.opensolaris.category.2008:System/Enterprise Management"
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=LSARC/2008/355 value=PSARC/2014/169
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+file local/mib2c-conf.d/default-mfd-top.m2c \
+    path=etc/net-snmp/snmp/mib2c-data/default-mfd-top.m2c
+file local/mib2c-conf.d/details-enums.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/details-enums.m2i
+file local/mib2c-conf.d/details-node.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/details-node.m2i
+file local/mib2c-conf.d/details-table.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/details-table.m2i
+file local/mib2c-conf.d/generic-ctx-copy.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-ctx-copy.m2i
+file local/mib2c-conf.d/generic-ctx-get.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-ctx-get.m2i
+file local/mib2c-conf.d/generic-ctx-set.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-ctx-set.m2i
+file local/mib2c-conf.d/generic-data-allocate.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-data-allocate.m2i
+file local/mib2c-conf.d/generic-data-context.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-data-context.m2i
+file local/mib2c-conf.d/generic-get-U64.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-get-U64.m2i
+file local/mib2c-conf.d/generic-get-char.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-get-char.m2i
+file local/mib2c-conf.d/generic-get-decl-bot.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-get-decl-bot.m2i
+file local/mib2c-conf.d/generic-get-decl.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-get-decl.m2i
+file local/mib2c-conf.d/generic-get-long.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-get-long.m2i
+file local/mib2c-conf.d/generic-get-oid.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-get-oid.m2i
+file local/mib2c-conf.d/generic-header-bottom.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-header-bottom.m2i
+file local/mib2c-conf.d/generic-header-top.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-header-top.m2i
+file local/mib2c-conf.d/generic-source-includes.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-source-includes.m2i
+file local/mib2c-conf.d/generic-table-constants.m2c \
+    path=etc/net-snmp/snmp/mib2c-data/generic-table-constants.m2c
+file local/mib2c-conf.d/generic-table-enums.m2c \
+    path=etc/net-snmp/snmp/mib2c-data/generic-table-enums.m2c
+file local/mib2c-conf.d/generic-table-indexes-from-oid.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-table-indexes-from-oid.m2i
+file local/mib2c-conf.d/generic-table-indexes-set.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-table-indexes-set.m2i
+file local/mib2c-conf.d/generic-table-indexes-to-oid.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-table-indexes-to-oid.m2i
+file local/mib2c-conf.d/generic-table-indexes-varbind-setup.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-table-indexes-varbind-setup.m2i
+file local/mib2c-conf.d/generic-table-indexes.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-table-indexes.m2i
+file local/mib2c-conf.d/generic-table-oids.m2c \
+    path=etc/net-snmp/snmp/mib2c-data/generic-table-oids.m2c
+file local/mib2c-conf.d/generic-value-map-func.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-value-map-func.m2i
+file local/mib2c-conf.d/generic-value-map-reverse.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-value-map-reverse.m2i
+file local/mib2c-conf.d/generic-value-map.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/generic-value-map.m2i
+file local/mib2c-conf.d/m2c-internal-warning.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/m2c-internal-warning.m2i
+file local/mib2c-conf.d/m2c_setup_enum.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/m2c_setup_enum.m2i
+file local/mib2c-conf.d/m2c_setup_node.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/m2c_setup_node.m2i
+file local/mib2c-conf.d/m2c_setup_table.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/m2c_setup_table.m2i
+file local/mib2c-conf.d/m2c_table_save_defaults.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/m2c_table_save_defaults.m2i
+file local/mib2c-conf.d/mfd-access-container-cached-defines.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/mfd-access-container-cached-defines.m2i
+file local/mib2c-conf.d/mfd-access-unsorted-external-defines.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/mfd-access-unsorted-external-defines.m2i
+file local/mib2c-conf.d/mfd-data-access.m2c \
+    path=etc/net-snmp/snmp/mib2c-data/mfd-data-access.m2c
+file local/mib2c-conf.d/mfd-data-get.m2c \
+    path=etc/net-snmp/snmp/mib2c-data/mfd-data-get.m2c
+file local/mib2c-conf.d/mfd-data-set.m2c \
+    path=etc/net-snmp/snmp/mib2c-data/mfd-data-set.m2c
+file local/mib2c-conf.d/mfd-doxygen.m2c \
+    path=etc/net-snmp/snmp/mib2c-data/mfd-doxygen.m2c
+file local/mib2c-conf.d/mfd-interactive-setup.m2c \
+    path=etc/net-snmp/snmp/mib2c-data/mfd-interactive-setup.m2c
+file local/mib2c-conf.d/mfd-interface.m2c \
+    path=etc/net-snmp/snmp/mib2c-data/mfd-interface.m2c
+file local/mib2c-conf.d/mfd-makefile.m2m \
+    path=etc/net-snmp/snmp/mib2c-data/mfd-makefile.m2m
+file local/mib2c-conf.d/mfd-persistence.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/mfd-persistence.m2i
+file local/mib2c-conf.d/mfd-readme.m2c \
+    path=etc/net-snmp/snmp/mib2c-data/mfd-readme.m2c
+file local/mib2c-conf.d/mfd-top.m2c \
+    path=etc/net-snmp/snmp/mib2c-data/mfd-top.m2c
+file local/mib2c-conf.d/node-get.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/node-get.m2i
+file local/mib2c-conf.d/node-set.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/node-set.m2i
+file local/mib2c-conf.d/node-storage.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/node-storage.m2i
+file local/mib2c-conf.d/node-validate.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/node-validate.m2i
+file local/mib2c-conf.d/node-varbind-validate.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/node-varbind-validate.m2i
+file local/mib2c-conf.d/parent-dependencies.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/parent-dependencies.m2i
+file local/mib2c-conf.d/parent-set.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/parent-set.m2i
+file local/mib2c-conf.d/subagent.m2c \
+    path=etc/net-snmp/snmp/mib2c-data/subagent.m2c
+file local/mib2c-conf.d/syntax-COUNTER64-get.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/syntax-COUNTER64-get.m2i
+file local/mib2c-conf.d/syntax-DateAndTime-get.m2d \
+    path=etc/net-snmp/snmp/mib2c-data/syntax-DateAndTime-get.m2d
+file local/mib2c-conf.d/syntax-DateAndTime-get.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/syntax-DateAndTime-get.m2i
+file local/mib2c-conf.d/syntax-DateAndTime-readme.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/syntax-DateAndTime-readme.m2i
+file local/mib2c-conf.d/syntax-InetAddress-get.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/syntax-InetAddress-get.m2i
+file local/mib2c-conf.d/syntax-InetAddress-set.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/syntax-InetAddress-set.m2i
+file local/mib2c-conf.d/syntax-InetAddressType-get.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/syntax-InetAddressType-get.m2i
+file local/mib2c-conf.d/syntax-InetAddressType-set.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/syntax-InetAddressType-set.m2i
+file local/mib2c-conf.d/syntax-RowStatus-dependencies.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/syntax-RowStatus-dependencies.m2i
+file local/mib2c-conf.d/syntax-RowStatus-get.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/syntax-RowStatus-get.m2i
+file local/mib2c-conf.d/syntax-RowStatus-varbind-validate.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/syntax-RowStatus-varbind-validate.m2i
+file local/mib2c-conf.d/syntax-StorageType-dependencies.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/syntax-StorageType-dependencies.m2i
+file local/mib2c-conf.d/syntax-TestAndIncr-get.m2i \
+    path=etc/net-snmp/snmp/mib2c-data/syntax-TestAndIncr-get.m2i
+file local/mib2c.access_functions.conf \
+    path=etc/net-snmp/snmp/mib2c.access_functions.conf
+file local/mib2c.array-user.conf path=etc/net-snmp/snmp/mib2c.array-user.conf
+file local/mib2c.check_values.conf \
+    path=etc/net-snmp/snmp/mib2c.check_values.conf
+file local/mib2c.check_values_local.conf \
+    path=etc/net-snmp/snmp/mib2c.check_values_local.conf
+file local/mib2c.column_defines.conf \
+    path=etc/net-snmp/snmp/mib2c.column_defines.conf
+file local/mib2c.column_enums.conf \
+    path=etc/net-snmp/snmp/mib2c.column_enums.conf
+file local/mib2c.column_storage.conf \
+    path=etc/net-snmp/snmp/mib2c.column_storage.conf
+file local/mib2c.conf path=etc/net-snmp/snmp/mib2c.conf
+file local/mib2c.container.conf path=etc/net-snmp/snmp/mib2c.container.conf
+file local/mib2c.create-dataset.conf \
+    path=etc/net-snmp/snmp/mib2c.create-dataset.conf
+file local/mib2c.emulation.conf path=etc/net-snmp/snmp/mib2c.emulation.conf
+file local/mib2c.genhtml.conf path=etc/net-snmp/snmp/mib2c.genhtml.conf
+file local/mib2c.int_watch.conf path=etc/net-snmp/snmp/mib2c.int_watch.conf
+file local/mib2c.iterate.conf path=etc/net-snmp/snmp/mib2c.iterate.conf
+file local/mib2c.iterate_access.conf \
+    path=etc/net-snmp/snmp/mib2c.iterate_access.conf
+file local/mib2c.mfd.conf path=etc/net-snmp/snmp/mib2c.mfd.conf
+file local/mib2c.notify.conf path=etc/net-snmp/snmp/mib2c.notify.conf
+file local/mib2c.old-api.conf path=etc/net-snmp/snmp/mib2c.old-api.conf
+file local/mib2c.perl.conf path=etc/net-snmp/snmp/mib2c.perl.conf
+file local/mib2c.raw-table.conf path=etc/net-snmp/snmp/mib2c.raw-table.conf
+file local/mib2c.row.conf path=etc/net-snmp/snmp/mib2c.row.conf
+file local/mib2c.scalar.conf path=etc/net-snmp/snmp/mib2c.scalar.conf
+file local/mib2c.table_data.conf path=etc/net-snmp/snmp/mib2c.table_data.conf
+file mibs/AGENTX-MIB.txt path=etc/net-snmp/snmp/mibs/AGENTX-MIB.txt
+file mibs/BRIDGE-MIB.txt path=etc/net-snmp/snmp/mibs/BRIDGE-MIB.txt
+file mibs/DISMAN-EVENT-MIB.txt path=etc/net-snmp/snmp/mibs/DISMAN-EVENT-MIB.txt
+file mibs/DISMAN-EXPRESSION-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/DISMAN-EXPRESSION-MIB.txt
+file mibs/DISMAN-NSLOOKUP-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/DISMAN-NSLOOKUP-MIB.txt
+file mibs/DISMAN-PING-MIB.txt path=etc/net-snmp/snmp/mibs/DISMAN-PING-MIB.txt
+file mibs/DISMAN-SCHEDULE-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/DISMAN-SCHEDULE-MIB.txt
+file mibs/DISMAN-SCRIPT-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/DISMAN-SCRIPT-MIB.txt
+file mibs/DISMAN-TRACEROUTE-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/DISMAN-TRACEROUTE-MIB.txt
+file $(MACH32)/sun/agent/mibs/ENTITY-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/ENTITY-MIB.txt
+file mibs/EtherLike-MIB.txt path=etc/net-snmp/snmp/mibs/EtherLike-MIB.txt
+file mibs/HCNUM-TC.txt path=etc/net-snmp/snmp/mibs/HCNUM-TC.txt
+file mibs/HOST-RESOURCES-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/HOST-RESOURCES-MIB.txt
+file mibs/HOST-RESOURCES-TYPES.txt \
+    path=etc/net-snmp/snmp/mibs/HOST-RESOURCES-TYPES.txt
+file mibs/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt
+file mibs/IANA-LANGUAGE-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/IANA-LANGUAGE-MIB.txt
+file mibs/IANA-RTPROTO-MIB.txt path=etc/net-snmp/snmp/mibs/IANA-RTPROTO-MIB.txt
+file mibs/IANAifType-MIB.txt path=etc/net-snmp/snmp/mibs/IANAifType-MIB.txt
+file mibs/IF-INVERTED-STACK-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/IF-INVERTED-STACK-MIB.txt
+file mibs/IF-MIB.txt path=etc/net-snmp/snmp/mibs/IF-MIB.txt
+file mibs/INET-ADDRESS-MIB.txt path=etc/net-snmp/snmp/mibs/INET-ADDRESS-MIB.txt
+file mibs/IP-FORWARD-MIB.txt path=etc/net-snmp/snmp/mibs/IP-FORWARD-MIB.txt
+file mibs/IP-MIB.txt path=etc/net-snmp/snmp/mibs/IP-MIB.txt
+file mibs/IPV6-FLOW-LABEL-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/IPV6-FLOW-LABEL-MIB.txt
+file mibs/IPV6-ICMP-MIB.txt path=etc/net-snmp/snmp/mibs/IPV6-ICMP-MIB.txt
+file mibs/IPV6-MIB.txt path=etc/net-snmp/snmp/mibs/IPV6-MIB.txt
+file mibs/IPV6-TC.txt path=etc/net-snmp/snmp/mibs/IPV6-TC.txt
+file mibs/IPV6-TCP-MIB.txt path=etc/net-snmp/snmp/mibs/IPV6-TCP-MIB.txt
+file mibs/IPV6-UDP-MIB.txt path=etc/net-snmp/snmp/mibs/IPV6-UDP-MIB.txt
+file $(MACH64)/mibs/LM-SENSORS-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/LM-SENSORS-MIB.txt
+file mibs/MTA-MIB.txt path=etc/net-snmp/snmp/mibs/MTA-MIB.txt
+file mibs/NET-SNMP-AGENT-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/NET-SNMP-AGENT-MIB.txt
+file mibs/NET-SNMP-EXAMPLES-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/NET-SNMP-EXAMPLES-MIB.txt
+file mibs/NET-SNMP-EXTEND-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/NET-SNMP-EXTEND-MIB.txt
+file mibs/NET-SNMP-MIB.txt path=etc/net-snmp/snmp/mibs/NET-SNMP-MIB.txt
+file mibs/NET-SNMP-MONITOR-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/NET-SNMP-MONITOR-MIB.txt
+file mibs/NET-SNMP-PASS-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/NET-SNMP-PASS-MIB.txt
+file mibs/NET-SNMP-SYSTEM-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/NET-SNMP-SYSTEM-MIB.txt
+file mibs/NET-SNMP-TC.txt path=etc/net-snmp/snmp/mibs/NET-SNMP-TC.txt
+file mibs/NET-SNMP-VACM-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/NET-SNMP-VACM-MIB.txt
+file $(MACH64)/mibs/NETWORK-SERVICES-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/NETWORK-SERVICES-MIB.txt
+file mibs/NOTIFICATION-LOG-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/NOTIFICATION-LOG-MIB.txt
+file mibs/RFC-1215.txt path=etc/net-snmp/snmp/mibs/RFC-1215.txt
+file mibs/RFC1155-SMI.txt path=etc/net-snmp/snmp/mibs/RFC1155-SMI.txt
+file mibs/RFC1213-MIB.txt path=etc/net-snmp/snmp/mibs/RFC1213-MIB.txt
+file mibs/RMON-MIB.txt path=etc/net-snmp/snmp/mibs/RMON-MIB.txt
+file mibs/SCTP-MIB.txt path=etc/net-snmp/snmp/mibs/SCTP-MIB.txt
+file mibs/SMUX-MIB.txt path=etc/net-snmp/snmp/mibs/SMUX-MIB.txt
+file mibs/SNMP-COMMUNITY-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/SNMP-COMMUNITY-MIB.txt
+file mibs/SNMP-FRAMEWORK-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/SNMP-FRAMEWORK-MIB.txt
+file mibs/SNMP-MPD-MIB.txt path=etc/net-snmp/snmp/mibs/SNMP-MPD-MIB.txt
+file mibs/SNMP-NOTIFICATION-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/SNMP-NOTIFICATION-MIB.txt
+file mibs/SNMP-PROXY-MIB.txt path=etc/net-snmp/snmp/mibs/SNMP-PROXY-MIB.txt
+file mibs/SNMP-TARGET-MIB.txt path=etc/net-snmp/snmp/mibs/SNMP-TARGET-MIB.txt
+file mibs/SNMP-USER-BASED-SM-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/SNMP-USER-BASED-SM-MIB.txt
+file mibs/SNMP-USM-AES-MIB.txt path=etc/net-snmp/snmp/mibs/SNMP-USM-AES-MIB.txt
+file mibs/SNMP-USM-DH-OBJECTS-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/SNMP-USM-DH-OBJECTS-MIB.txt
+file mibs/SNMP-VIEW-BASED-ACM-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/SNMP-VIEW-BASED-ACM-MIB.txt
+file mibs/SNMPv2-CONF.txt path=etc/net-snmp/snmp/mibs/SNMPv2-CONF.txt
+file mibs/SNMPv2-MIB.txt path=etc/net-snmp/snmp/mibs/SNMPv2-MIB.txt
+file mibs/SNMPv2-SMI.txt path=etc/net-snmp/snmp/mibs/SNMPv2-SMI.txt
+file mibs/SNMPv2-TC.txt path=etc/net-snmp/snmp/mibs/SNMPv2-TC.txt
+file mibs/SNMPv2-TM.txt path=etc/net-snmp/snmp/mibs/SNMPv2-TM.txt
+file $(MACH32)/sun/agent/mibs/SUN-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/SUN-MIB.txt
+file $(MACH32)/sun/agent/mibs/SUN-SEA-EXTENSIONS-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/SUN-SEA-EXTENSIONS-MIB.txt
+file $(MACH32)/sun/agent/mibs/SUN-SEA-PROXY-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/SUN-SEA-PROXY-MIB.txt
+file mibs/TCP-MIB.txt path=etc/net-snmp/snmp/mibs/TCP-MIB.txt
+file mibs/TRANSPORT-ADDRESS-MIB.txt \
+    path=etc/net-snmp/snmp/mibs/TRANSPORT-ADDRESS-MIB.txt
+file mibs/TUNNEL-MIB.txt path=etc/net-snmp/snmp/mibs/TUNNEL-MIB.txt
+file mibs/UCD-DEMO-MIB.txt path=etc/net-snmp/snmp/mibs/UCD-DEMO-MIB.txt
+file mibs/UCD-DISKIO-MIB.txt path=etc/net-snmp/snmp/mibs/UCD-DISKIO-MIB.txt
+file mibs/UCD-DLMOD-MIB.txt path=etc/net-snmp/snmp/mibs/UCD-DLMOD-MIB.txt
+file mibs/UCD-IPFILTER-MIB.txt path=etc/net-snmp/snmp/mibs/UCD-IPFILTER-MIB.txt
+file mibs/UCD-IPFWACC-MIB.txt path=etc/net-snmp/snmp/mibs/UCD-IPFWACC-MIB.txt
+file mibs/UCD-SNMP-MIB-OLD.txt path=etc/net-snmp/snmp/mibs/UCD-SNMP-MIB-OLD.txt
+file mibs/UCD-SNMP-MIB.txt path=etc/net-snmp/snmp/mibs/UCD-SNMP-MIB.txt
+file mibs/UDP-MIB.txt path=etc/net-snmp/snmp/mibs/UDP-MIB.txt
+file $(MACH32)/sun/agent/mibs/smatrap.mib \
+    path=etc/net-snmp/snmp/mibs/smatrap.mib
+file apps/snmp_perl_trapd.pl path=etc/net-snmp/snmp/snmp_perl_trapd.pl
+file local/snmpconf.dir/snmp-data/authopts \
+    path=etc/net-snmp/snmp/snmpconf-data/snmp-data/authopts
+file local/snmpconf.dir/snmp-data/debugging \
+    path=etc/net-snmp/snmp/snmpconf-data/snmp-data/debugging
+file local/snmpconf.dir/snmp-data/mibs \
+    path=etc/net-snmp/snmp/snmpconf-data/snmp-data/mibs
+file local/snmpconf.dir/snmp-data/output \
+    path=etc/net-snmp/snmp/snmpconf-data/snmp-data/output
+file local/snmpconf.dir/snmp-data/snmpconf-config \
+    path=etc/net-snmp/snmp/snmpconf-data/snmp-data/snmpconf-config
+file local/snmpconf.dir/snmpd-data/acl \
+    path=etc/net-snmp/snmp/snmpconf-data/snmpd-data/acl
+file local/snmpconf.dir/snmpd-data/basic_setup \
+    path=etc/net-snmp/snmp/snmpconf-data/snmpd-data/basic_setup
+file local/snmpconf.dir/snmpd-data/extending \
+    path=etc/net-snmp/snmp/snmpconf-data/snmpd-data/extending
+file local/snmpconf.dir/snmpd-data/monitor \
+    path=etc/net-snmp/snmp/snmpconf-data/snmpd-data/monitor
+file local/snmpconf.dir/snmpd-data/operation \
+    path=etc/net-snmp/snmp/snmpconf-data/snmpd-data/operation
+file local/snmpconf.dir/snmpd-data/snmpconf-config \
+    path=etc/net-snmp/snmp/snmpconf-data/snmpd-data/snmpconf-config
+file local/snmpconf.dir/snmpd-data/system \
+    path=etc/net-snmp/snmp/snmpconf-data/snmpd-data/system
+file local/snmpconf.dir/snmpd-data/trapsinks \
+    path=etc/net-snmp/snmp/snmpconf-data/snmpd-data/trapsinks
+file local/snmpconf.dir/snmptrapd-data/authentication \
+    path=etc/net-snmp/snmp/snmpconf-data/snmptrapd-data/authentication
+file local/snmpconf.dir/snmptrapd-data/formatting \
+    path=etc/net-snmp/snmp/snmpconf-data/snmptrapd-data/formatting
+file local/snmpconf.dir/snmptrapd-data/logging \
+    path=etc/net-snmp/snmp/snmpconf-data/snmptrapd-data/logging
+file local/snmpconf.dir/snmptrapd-data/runtime \
+    path=etc/net-snmp/snmp/snmpconf-data/snmptrapd-data/runtime
+file local/snmpconf.dir/snmptrapd-data/snmpconf-config \
+    path=etc/net-snmp/snmp/snmpconf-data/snmptrapd-data/snmpconf-config
+file local/snmpconf.dir/snmptrapd-data/traphandle \
+    path=etc/net-snmp/snmp/snmpconf-data/snmptrapd-data/traphandle
+file $(MACH32)/sun/snmpd.conf path=etc/net-snmp/snmp/snmpd.conf overlay=allow \
+    preserve=renamenew
+file net-snmp.xml path=lib/svc/manifest/application/management/net-snmp.xml \
+    restart_fmri=svc:/system/manifest-import:default
+file svc-net-snmp path=lib/svc/method/svc-net-snmp
+file build/prototype/$(MACH64)/usr/bin/$(MACH64)/net-snmp-create-v3-user \
+    path=usr/bin/$(MACH64)/net-snmp-create-v3-user
+file path=usr/bin/encode_keychange
+file path=usr/bin/fixproc
+file path=usr/bin/ipf-mod.pl
+file path=usr/bin/mib2c
+file path=usr/bin/mib2c-update
+link path=usr/bin/net-snmp-config target=./net-snmp-config-32 variant.arch=i386
+link path=usr/bin/net-snmp-config target=./net-snmp-config-64 variant.arch=sparc
+file usr/bin/net-snmp-config path=usr/bin/net-snmp-config-32
+file build/prototype/$(MACH64)/usr/bin/$(MACH64)/net-snmp-config \
+    path=usr/bin/net-snmp-config-64
+file path=usr/bin/net-snmp-create-v3-user
+file path=usr/bin/snmpbulkget
+file path=usr/bin/snmpbulkwalk
+file path=usr/bin/snmpcheck
+file path=usr/bin/snmpconf
+file path=usr/bin/snmpdelta
+file path=usr/bin/snmpdf
+file path=usr/bin/snmpget
+file path=usr/bin/snmpgetnext
+link path=usr/bin/snmpinform target=snmptrap
+file path=usr/bin/snmpnetstat
+file path=usr/bin/snmpset
+file path=usr/bin/snmpstatus
+file path=usr/bin/snmptable
+file path=usr/bin/snmptest
+file path=usr/bin/snmptranslate
+file path=usr/bin/snmptrap
+file path=usr/bin/snmpusm
+file path=usr/bin/snmpvacm
+file path=usr/bin/snmpwalk
+file path=usr/bin/tkmib
+file path=usr/bin/traptoemail
+file path=usr/include/net-snmp/agent/agent_callbacks.h
+file path=usr/include/net-snmp/agent/agent_handler.h
+file path=usr/include/net-snmp/agent/agent_index.h
+file path=usr/include/net-snmp/agent/agent_module_config.h
+file path=usr/include/net-snmp/agent/agent_read_config.h
+file path=usr/include/net-snmp/agent/agent_registry.h
+file path=usr/include/net-snmp/agent/agent_sysORTable.h
+file path=usr/include/net-snmp/agent/agent_trap.h
+file path=usr/include/net-snmp/agent/all_helpers.h
+file path=usr/include/net-snmp/agent/auto_nlist.h
+file path=usr/include/net-snmp/agent/baby_steps.h
+file path=usr/include/net-snmp/agent/bulk_to_next.h
+file path=usr/include/net-snmp/agent/cache_handler.h
+file path=usr/include/net-snmp/agent/debug_handler.h
+file path=usr/include/net-snmp/agent/ds_agent.h
+file path=usr/include/net-snmp/agent/instance.h
+file path=usr/include/net-snmp/agent/mfd.h
+file path=usr/include/net-snmp/agent/mib_module_config.h
+file path=usr/include/net-snmp/agent/mib_module_includes.h
+file path=usr/include/net-snmp/agent/mib_modules.h
+file path=usr/include/net-snmp/agent/mode_end_call.h
+file path=usr/include/net-snmp/agent/multiplexer.h
+file path=usr/include/net-snmp/agent/net-snmp-agent-includes.h
+file path=usr/include/net-snmp/agent/null.h
+file path=usr/include/net-snmp/agent/old_api.h
+file path=usr/include/net-snmp/agent/read_only.h
+file path=usr/include/net-snmp/agent/row_merge.h
+file path=usr/include/net-snmp/agent/scalar.h
+file path=usr/include/net-snmp/agent/scalar_group.h
+file path=usr/include/net-snmp/agent/serialize.h
+file path=usr/include/net-snmp/agent/set_helper.h
+file path=usr/include/net-snmp/agent/snmp_agent.h
+file path=usr/include/net-snmp/agent/snmp_get_statistic.h
+file path=usr/include/net-snmp/agent/snmp_vars.h
+file path=usr/include/net-snmp/agent/stash_cache.h
+file path=usr/include/net-snmp/agent/stash_to_next.h
+file path=usr/include/net-snmp/agent/struct.h
+file path=usr/include/net-snmp/agent/sysORTable.h
+file path=usr/include/net-snmp/agent/table.h
+file path=usr/include/net-snmp/agent/table_array.h
+file path=usr/include/net-snmp/agent/table_container.h
+file path=usr/include/net-snmp/agent/table_data.h
+file path=usr/include/net-snmp/agent/table_dataset.h
+file path=usr/include/net-snmp/agent/table_iterator.h
+file path=usr/include/net-snmp/agent/table_tdata.h
+file path=usr/include/net-snmp/agent/util_funcs.h
+file path=usr/include/net-snmp/agent/var_struct.h
+file path=usr/include/net-snmp/agent/watcher.h
+file path=usr/include/net-snmp/config_api.h
+file path=usr/include/net-snmp/definitions.h
+file path=usr/include/net-snmp/library/README
+file path=usr/include/net-snmp/library/asn1.h
+file path=usr/include/net-snmp/library/callback.h
+file path=usr/include/net-snmp/library/cert_util.h
+file path=usr/include/net-snmp/library/check_varbind.h
+file path=usr/include/net-snmp/library/container.h
+file path=usr/include/net-snmp/library/container_binary_array.h
+file path=usr/include/net-snmp/library/container_iterator.h
+file path=usr/include/net-snmp/library/container_list_ssll.h
+file path=usr/include/net-snmp/library/container_null.h
+file path=usr/include/net-snmp/library/data_list.h
+file path=usr/include/net-snmp/library/default_store.h
+file path=usr/include/net-snmp/library/dir_utils.h
+file path=usr/include/net-snmp/library/factory.h
+file path=usr/include/net-snmp/library/fd_event_manager.h
+file path=usr/include/net-snmp/library/file_utils.h
+file path=usr/include/net-snmp/library/getopt.h
+file path=usr/include/net-snmp/library/int64.h
+file path=usr/include/net-snmp/library/keytools.h
+file path=usr/include/net-snmp/library/large_fd_set.h
+file path=usr/include/net-snmp/library/lcd_time.h
+file path=usr/include/net-snmp/library/md5.h
+file path=usr/include/net-snmp/library/mib.h
+file path=usr/include/net-snmp/library/mt_support.h
+file path=usr/include/net-snmp/library/oid.h
+file path=usr/include/net-snmp/library/oid_stash.h
+file path=usr/include/net-snmp/library/parse.h
+file path=usr/include/net-snmp/library/read_config.h
+file path=usr/include/net-snmp/library/scapi.h
+file path=usr/include/net-snmp/library/snmp-tc.h
+file path=usr/include/net-snmp/library/snmp.h
+file path=usr/include/net-snmp/library/snmpAliasDomain.h
+file path=usr/include/net-snmp/library/snmpCallbackDomain.h
+file path=usr/include/net-snmp/library/snmpIPv4BaseDomain.h
+file path=usr/include/net-snmp/library/snmpIPv6BaseDomain.h
+file path=usr/include/net-snmp/library/snmpSocketBaseDomain.h
+file path=usr/include/net-snmp/library/snmpTCPBaseDomain.h
+file path=usr/include/net-snmp/library/snmpTCPDomain.h
+file path=usr/include/net-snmp/library/snmpTCPIPv6Domain.h
+file path=usr/include/net-snmp/library/snmpUDPBaseDomain.h
+file path=usr/include/net-snmp/library/snmpUDPDomain.h
+file path=usr/include/net-snmp/library/snmpUDPIPv4BaseDomain.h
+file path=usr/include/net-snmp/library/snmpUDPIPv6Domain.h
+file path=usr/include/net-snmp/library/snmpUnixDomain.h
+file path=usr/include/net-snmp/library/snmp_alarm.h
+file path=usr/include/net-snmp/library/snmp_api.h
+file path=usr/include/net-snmp/library/snmp_assert.h
+file path=usr/include/net-snmp/library/snmp_client.h
+file path=usr/include/net-snmp/library/snmp_debug.h
+file path=usr/include/net-snmp/library/snmp_enum.h
+file path=usr/include/net-snmp/library/snmp_impl.h
+file path=usr/include/net-snmp/library/snmp_logging.h
+file path=usr/include/net-snmp/library/snmp_parse_args.h
+file path=usr/include/net-snmp/library/snmp_secmod.h
+file path=usr/include/net-snmp/library/snmp_service.h
+file path=usr/include/net-snmp/library/snmp_transport.h
+file path=usr/include/net-snmp/library/snmpusm.h
+file path=usr/include/net-snmp/library/snmpv3-security-includes.h
+file path=usr/include/net-snmp/library/snmpv3.h
+file path=usr/include/net-snmp/library/system.h
+file path=usr/include/net-snmp/library/text_utils.h
+file path=usr/include/net-snmp/library/tools.h
+file path=usr/include/net-snmp/library/transform_oids.h
+file path=usr/include/net-snmp/library/types.h
+file path=usr/include/net-snmp/library/ucd_compat.h
+file path=usr/include/net-snmp/library/vacm.h
+file path=usr/include/net-snmp/library/winpipe.h
+file path=usr/include/net-snmp/library/winservice.h
+file path=usr/include/net-snmp/machine/generic.h
+file path=usr/include/net-snmp/mib_api.h
+file path=usr/include/net-snmp/net-snmp-config.h
+file path=usr/include/net-snmp/net-snmp-features.h
+file path=usr/include/net-snmp/net-snmp-includes.h
+file path=usr/include/net-snmp/output_api.h
+file path=usr/include/net-snmp/pdu_api.h
+file path=usr/include/net-snmp/session_api.h
+file path=usr/include/net-snmp/snmpv3_api.h
+file path=usr/include/net-snmp/system/aix.h
+file path=usr/include/net-snmp/system/bsd.h
+file path=usr/include/net-snmp/system/bsdi.h
+file path=usr/include/net-snmp/system/bsdi3.h
+file path=usr/include/net-snmp/system/bsdi4.h
+file path=usr/include/net-snmp/system/cygwin.h
+file path=usr/include/net-snmp/system/darwin.h
+file path=usr/include/net-snmp/system/darwin10.h
+file path=usr/include/net-snmp/system/darwin7.h
+file path=usr/include/net-snmp/system/darwin8.h
+file path=usr/include/net-snmp/system/darwin9.h
+file path=usr/include/net-snmp/system/dragonfly.h
+file path=usr/include/net-snmp/system/dynix.h
+file path=usr/include/net-snmp/system/freebsd.h
+file path=usr/include/net-snmp/system/freebsd10.h
+file path=usr/include/net-snmp/system/freebsd2.h
+file path=usr/include/net-snmp/system/freebsd3.h
+file path=usr/include/net-snmp/system/freebsd4.h
+file path=usr/include/net-snmp/system/freebsd5.h
+file path=usr/include/net-snmp/system/freebsd6.h
+file path=usr/include/net-snmp/system/freebsd7.h
+file path=usr/include/net-snmp/system/freebsd8.h
+file path=usr/include/net-snmp/system/freebsd9.h
+file path=usr/include/net-snmp/system/generic.h
+file path=usr/include/net-snmp/system/hpux.h
+file path=usr/include/net-snmp/system/irix.h
+file path=usr/include/net-snmp/system/linux.h
+file path=usr/include/net-snmp/system/mingw32.h
+file path=usr/include/net-snmp/system/mips.h
+file path=usr/include/net-snmp/system/netbsd.h
+file path=usr/include/net-snmp/system/openbsd.h
+file path=usr/include/net-snmp/system/openbsd4.h
+file path=usr/include/net-snmp/system/openbsd5.h
+file path=usr/include/net-snmp/system/osf5.h
+file path=usr/include/net-snmp/system/solaris.h
+file path=usr/include/net-snmp/system/solaris2.3.h
+file path=usr/include/net-snmp/system/solaris2.4.h
+file path=usr/include/net-snmp/system/solaris2.5.h
+file path=usr/include/net-snmp/system/solaris2.6.h
+file path=usr/include/net-snmp/system/sunos.h
+file path=usr/include/net-snmp/system/svr5.h
+file path=usr/include/net-snmp/system/sysv.h
+file path=usr/include/net-snmp/system/ultrix4.h
+file path=usr/include/net-snmp/types.h
+file path=usr/include/net-snmp/utilities.h
+file path=usr/include/net-snmp/varbind_api.h
+file path=usr/include/net-snmp/version.h
+file path=usr/include/ucd-snmp/agent_index.h
+file path=usr/include/ucd-snmp/agent_read_config.h
+file path=usr/include/ucd-snmp/agent_registry.h
+file path=usr/include/ucd-snmp/agent_trap.h
+file path=usr/include/ucd-snmp/asn1.h
+file path=usr/include/ucd-snmp/auto_nlist.h
+file path=usr/include/ucd-snmp/callback.h
+file path=usr/include/ucd-snmp/default_store.h
+file path=usr/include/ucd-snmp/ds_agent.h
+file path=usr/include/ucd-snmp/header_complex.h
+file path=usr/include/ucd-snmp/int64.h
+file path=usr/include/ucd-snmp/keytools.h
+file path=usr/include/ucd-snmp/mib.h
+file path=usr/include/ucd-snmp/mib_module_config.h
+file path=usr/include/ucd-snmp/mibincl.h
+file path=usr/include/ucd-snmp/parse.h
+file path=usr/include/ucd-snmp/read_config.h
+file path=usr/include/ucd-snmp/scapi.h
+file path=usr/include/ucd-snmp/snmp-tc.h
+file path=usr/include/ucd-snmp/snmp.h
+file path=usr/include/ucd-snmp/snmp_agent.h
+file path=usr/include/ucd-snmp/snmp_alarm.h
+file path=usr/include/ucd-snmp/snmp_api.h
+file path=usr/include/ucd-snmp/snmp_client.h
+file path=usr/include/ucd-snmp/snmp_debug.h
+file path=usr/include/ucd-snmp/snmp_impl.h
+file path=usr/include/ucd-snmp/snmp_logging.h
+file path=usr/include/ucd-snmp/snmp_parse_args.h
+file path=usr/include/ucd-snmp/snmp_vars.h
+file path=usr/include/ucd-snmp/snmpusm.h
+file path=usr/include/ucd-snmp/snmpv3.h
+file path=usr/include/ucd-snmp/struct.h
+file path=usr/include/ucd-snmp/system.h
+file path=usr/include/ucd-snmp/tools.h
+file path=usr/include/ucd-snmp/transform_oids.h
+file path=usr/include/ucd-snmp/ucd-snmp-agent-includes.h
+file path=usr/include/ucd-snmp/ucd-snmp-config.h
+file path=usr/include/ucd-snmp/ucd-snmp-includes.h
+file path=usr/include/ucd-snmp/util_funcs.h
+file path=usr/include/ucd-snmp/var_struct.h
+file path=usr/include/ucd-snmp/version.h
+file build/prototype/$(MACH64)/usr/bin/$(MACH64)/agentxtrap \
+    path=usr/lib/$(MACH64)/agentxtrap
+file $(MACH64)/sun/agent/modules/entityMib/libentity.so \
+    path=usr/lib/$(MACH64)/libentity.so
+link path=usr/lib/$(MACH64)/libnetsnmp.so target=./libnetsnmp.so.30.0.2
+link path=usr/lib/$(MACH64)/libnetsnmp.so.30 target=./libnetsnmp.so.30.0.2
+file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libnetsnmp.so.30.0.2 \
+    path=usr/lib/$(MACH64)/libnetsnmp.so.30.0.2
+link path=usr/lib/$(MACH64)/libnetsnmpagent.so \
+    target=./libnetsnmpagent.so.30.0.2
+link path=usr/lib/$(MACH64)/libnetsnmpagent.so.30 \
+    target=./libnetsnmpagent.so.30.0.2
+file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libnetsnmpagent.so.30.0.2 \
+    path=usr/lib/$(MACH64)/libnetsnmpagent.so.30.0.2
+link path=usr/lib/$(MACH64)/libnetsnmphelpers.so \
+    target=./libnetsnmphelpers.so.30.0.2
+link path=usr/lib/$(MACH64)/libnetsnmphelpers.so.30 \
+    target=./libnetsnmphelpers.so.30.0.2
+file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libnetsnmphelpers.so.30.0.2 \
+    path=usr/lib/$(MACH64)/libnetsnmphelpers.so.30.0.2
+link path=usr/lib/$(MACH64)/libnetsnmpmibs.so target=./libnetsnmpmibs.so.30.0.2
+link path=usr/lib/$(MACH64)/libnetsnmpmibs.so.30 \
+    target=./libnetsnmpmibs.so.30.0.2
+file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libnetsnmpmibs.so.30.0.2 \
+    path=usr/lib/$(MACH64)/libnetsnmpmibs.so.30.0.2
+link path=usr/lib/$(MACH64)/libnetsnmptrapd.so \
+    target=./libnetsnmptrapd.so.30.0.2
+link path=usr/lib/$(MACH64)/libnetsnmptrapd.so.30 \
+    target=./libnetsnmptrapd.so.30.0.2
+file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libnetsnmptrapd.so.30.0.2 \
+    path=usr/lib/$(MACH64)/libnetsnmptrapd.so.30.0.2
+link path=usr/lib/$(MACH64)/libsnmp.so target=./libsnmp.so.30.0.2
+link path=usr/lib/$(MACH64)/libsnmp.so.30 target=./libsnmp.so.30.0.2
+file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libsnmp.so.30.0.2 \
+    path=usr/lib/$(MACH64)/libsnmp.so.30.0.2
+file build/prototype/$(MACH64)/usr/bin/$(MACH64)/net-snmp-cert \
+    path=usr/lib/$(MACH64)/net-snmp-cert
+file build/prototype/$(MACH64)/usr/bin/$(MACH64)/snmp-bridge-mib \
+    path=usr/lib/$(MACH64)/snmp-bridge-mib
+file $(MACH32)/sun/agent/modules/entityMib/libentity.so \
+    path=usr/lib/libentity.so
+link path=usr/lib/libnetsnmp.so target=./libnetsnmp.so.30.0.2
+link path=usr/lib/libnetsnmp.so.30 target=./libnetsnmp.so.30.0.2
+file path=usr/lib/libnetsnmp.so.30.0.2
+link path=usr/lib/libnetsnmpagent.so target=./libnetsnmpagent.so.30.0.2
+link path=usr/lib/libnetsnmpagent.so.30 target=./libnetsnmpagent.so.30.0.2
+file path=usr/lib/libnetsnmpagent.so.30.0.2
+link path=usr/lib/libnetsnmphelpers.so target=./libnetsnmphelpers.so.30.0.2
+link path=usr/lib/libnetsnmphelpers.so.30 target=./libnetsnmphelpers.so.30.0.2
+file path=usr/lib/libnetsnmphelpers.so.30.0.2
+link path=usr/lib/libnetsnmpmibs.so target=./libnetsnmpmibs.so.30.0.2
+link path=usr/lib/libnetsnmpmibs.so.30 target=./libnetsnmpmibs.so.30.0.2
+file path=usr/lib/libnetsnmpmibs.so.30.0.2
+link path=usr/lib/libnetsnmptrapd.so target=./libnetsnmptrapd.so.30.0.2
+link path=usr/lib/libnetsnmptrapd.so.30 target=./libnetsnmptrapd.so.30.0.2
+file path=usr/lib/libnetsnmptrapd.so.30.0.2
+link path=usr/lib/libsnmp.so target=./libsnmp.so.30.0.2
+link path=usr/lib/libsnmp.so.30 target=./libsnmp.so.30.0.2
+file path=usr/lib/libsnmp.so.30.0.2
+file $(MACH32)/sun/masfcnv path=usr/lib/net-snmp/masfcnv
+file $(MACH32)/sun/masfd path=usr/lib/net-snmp/masfd
+file path=usr/perl5/$(PERL_VERSION)/man/man3/NetSNMP::ASN.3
+file path=usr/perl5/$(PERL_VERSION)/man/man3/NetSNMP::OID.3
+file path=usr/perl5/$(PERL_VERSION)/man/man3/NetSNMP::TrapReceiver.3
+file path=usr/perl5/$(PERL_VERSION)/man/man3/NetSNMP::agent.3
+file path=usr/perl5/$(PERL_VERSION)/man/man3/NetSNMP::agent::default_store.3
+file path=usr/perl5/$(PERL_VERSION)/man/man3/NetSNMP::default_store.3
+file path=usr/perl5/$(PERL_VERSION)/man/man3/NetSNMP::netsnmp_request_infoPtr.3
+file path=usr/perl5/$(PERL_VERSION)/man/man3/SNMP.3
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/Bundle/Makefile.subs.pl
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/NetSNMP/ASN.pm
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/NetSNMP/OID.pm
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/NetSNMP/TrapReceiver.pm
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/NetSNMP/agent.pm
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/NetSNMP/agent/Support.pm
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/NetSNMP/agent/default_store.pm
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/NetSNMP/agent/netsnmp_request_infoPtr.pm
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/NetSNMP/default_store.pm
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/SNMP.pm
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/Bundle/NetSNMP/.packlist
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/ASN/ASN.so
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/ASN/autosplit.ix
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/OID/OID.so
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/OID/autosplit.ix
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/TrapReceiver/TrapReceiver.so
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/TrapReceiver/autosplit.ix
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/agent/agent.so
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/agent/autosplit.ix
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/agent/default_store/autosplit.ix
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/agent/default_store/default_store.so
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/default_store/autosplit.ix
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/NetSNMP/default_store/default_store.so
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/SNMP/SNMP.so
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(PERL_ARCH)/auto/SNMP/autosplit.ix
+file usr/sbin/snmpd path=usr/sbin/$(MACH32)/snmpd
+file usr/sbin/snmptrapd path=usr/sbin/$(MACH32)/snmptrapd
+file build/prototype/$(MACH64)/usr/sbin/$(MACH64)/snmpd \
+    path=usr/sbin/$(MACH64)/snmpd
+file build/prototype/$(MACH64)/usr/sbin/$(MACH64)/snmptrapd \
+    path=usr/sbin/$(MACH64)/snmptrapd
+hardlink path=usr/sbin/snmpd target=../../usr/lib/isaexec
+hardlink path=usr/sbin/snmptrapd target=../../usr/lib/isaexec
+license COPYING license="BSD, BSD-like"
+depend type=conditional \
+    fmri=library/python/[email protected]$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
+    predicate=runtime/python-27
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/net-snmp-documentation.p5m	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,1428 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
+#
+
+<transform file path=usr.*/man/.+ -> default mangler.man.stability volatile>
+set name=pkg.fmri \
+    value=pkg:/system/management/snmp/net-snmp/[email protected]$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary \
+    value="Net-SNMP Agent manpages and html documentation files"
+# This package name has known conflicts with other packages in the WOS
+set name=pkg.linted.pkglint.manifest004 value=true
+set name=com.oracle.info.description \
+    value="the Net-SNMP agent manpages and html documentation files"
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+    value="org.opensolaris.category.2008:System/Enterprise Management"
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=LSARC/2008/355 value=PSARC/2014/169
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+file build/$(MACH32)/sun/sdk/demo/demo_module_1/Makefile \
+    path=usr/demo/net-snmp/demo_module_1/Makefile
+file build/$(MACH32)/sun/sdk/demo/demo_module_1/README_demo_module_1 \
+    path=usr/demo/net-snmp/demo_module_1/README_demo_module_1
+file build/$(MACH32)/sun/sdk/demo/demo_module_1/SDK-DEMO1-MIB.txt \
+    path=usr/demo/net-snmp/demo_module_1/SDK-DEMO1-MIB.txt
+file build/$(MACH32)/sun/sdk/demo/demo_module_1/demo_module_1.c \
+    path=usr/demo/net-snmp/demo_module_1/demo_module_1.c
+file build/$(MACH32)/sun/sdk/demo/demo_module_1/demo_module_1.h \
+    path=usr/demo/net-snmp/demo_module_1/demo_module_1.h
+file build/$(MACH32)/sun/sdk/demo/demo_module_10/Makefile \
+    path=usr/demo/net-snmp/demo_module_10/Makefile
+file build/$(MACH32)/sun/sdk/demo/demo_module_10/README_demo_module_10 \
+    path=usr/demo/net-snmp/demo_module_10/README_demo_module_10
+file build/$(MACH32)/sun/sdk/demo/demo_module_10/SDK-DEMO10-MIB.txt \
+    path=usr/demo/net-snmp/demo_module_10/SDK-DEMO10-MIB.txt
+file build/$(MACH32)/sun/sdk/demo/demo_module_10/demo_module_10.c \
+    path=usr/demo/net-snmp/demo_module_10/demo_module_10.c
+file build/$(MACH32)/sun/sdk/demo/demo_module_10/demo_module_10.h \
+    path=usr/demo/net-snmp/demo_module_10/demo_module_10.h
+file build/$(MACH32)/sun/sdk/demo/demo_module_10/get_data \
+    path=usr/demo/net-snmp/demo_module_10/get_data
+file build/$(MACH32)/sun/sdk/demo/demo_module_10/get_refreshtime \
+    path=usr/demo/net-snmp/demo_module_10/get_refreshtime
+file build/$(MACH32)/sun/sdk/demo/demo_module_10/get_status \
+    path=usr/demo/net-snmp/demo_module_10/get_status
+file build/$(MACH32)/sun/sdk/demo/demo_module_10/set_status \
+    path=usr/demo/net-snmp/demo_module_10/set_status
+file build/$(MACH32)/sun/sdk/demo/demo_module_10/walk_demo_module_10 \
+    path=usr/demo/net-snmp/demo_module_10/walk_demo_module_10
+file build/$(MACH32)/sun/sdk/demo/demo_module_11/Makefile \
+    path=usr/demo/net-snmp/demo_module_11/Makefile
+file build/$(MACH32)/sun/sdk/demo/demo_module_11/MyTable.c \
+    path=usr/demo/net-snmp/demo_module_11/MyTable.c
+file build/$(MACH32)/sun/sdk/demo/demo_module_11/MyTable.h \
+    path=usr/demo/net-snmp/demo_module_11/MyTable.h
+file build/$(MACH32)/sun/sdk/demo/demo_module_11/README_demo_module_11 \
+    path=usr/demo/net-snmp/demo_module_11/README_demo_module_11
+file build/$(MACH32)/sun/agent/modules/entityMib/entAliasMappingTable.h \
+    path=usr/demo/net-snmp/demo_module_11/entAliasMappingTable.h
+file build/$(MACH32)/sun/agent/modules/entityMib/entLPMappingTable.h \
+    path=usr/demo/net-snmp/demo_module_11/entLPMappingTable.h
+file build/$(MACH32)/sun/agent/modules/entityMib/entLastChangeTime.h \
+    path=usr/demo/net-snmp/demo_module_11/entLastChangeTime.h
+file build/$(MACH32)/sun/agent/modules/entityMib/entLogicalTable.h \
+    path=usr/demo/net-snmp/demo_module_11/entLogicalTable.h
+file build/$(MACH32)/sun/agent/modules/entityMib/entPhysicalContainsTable.h \
+    path=usr/demo/net-snmp/demo_module_11/entPhysicalContainsTable.h
+file build/$(MACH32)/sun/agent/modules/entityMib/entPhysicalTable.h \
+    path=usr/demo/net-snmp/demo_module_11/entPhysicalTable.h
+file build/$(MACH32)/sun/agent/modules/entityMib/stdhdr.h \
+    path=usr/demo/net-snmp/demo_module_11/stdhdr.h
+file build/$(MACH32)/sun/sdk/demo/demo_module_12/EXAMPLE-MIB.txt \
+    path=usr/demo/net-snmp/demo_module_12/EXAMPLE-MIB.txt
+file build/$(MACH32)/sun/sdk/demo/demo_module_12/README_demo_module_12 \
+    path=usr/demo/net-snmp/demo_module_12/README_demo_module_12
+file build/$(MACH32)/sun/sdk/demo/demo_module_12/runmib2c \
+    path=usr/demo/net-snmp/demo_module_12/runmib2c
+file build/$(MACH32)/sun/sdk/demo/demo_module_12/runmibcodegen \
+    path=usr/demo/net-snmp/demo_module_12/runmibcodegen
+file build/$(MACH32)/sun/sdk/demo/demo_module_2/Makefile \
+    path=usr/demo/net-snmp/demo_module_2/Makefile
+file build/$(MACH32)/sun/sdk/demo/demo_module_2/README_demo_module_2 \
+    path=usr/demo/net-snmp/demo_module_2/README_demo_module_2
+file build/$(MACH32)/sun/sdk/demo/demo_module_2/SDK-DEMO1-MIB.txt \
+    path=usr/demo/net-snmp/demo_module_2/SDK-DEMO1-MIB.txt
+file build/$(MACH32)/sun/sdk/demo/demo_module_2/demo_module_2.c \
+    path=usr/demo/net-snmp/demo_module_2/demo_module_2.c
+file build/$(MACH32)/sun/sdk/demo/demo_module_2/demo_module_2.h \
+    path=usr/demo/net-snmp/demo_module_2/demo_module_2.h
+file build/$(MACH32)/sun/sdk/demo/demo_module_3/Makefile \
+    path=usr/demo/net-snmp/demo_module_3/Makefile
+file build/$(MACH32)/sun/sdk/demo/demo_module_3/README_demo_module_3 \
+    path=usr/demo/net-snmp/demo_module_3/README_demo_module_3
+file build/$(MACH32)/sun/sdk/demo/demo_module_3/SDK-DEMO1-MIB.txt \
+    path=usr/demo/net-snmp/demo_module_3/SDK-DEMO1-MIB.txt
+file build/$(MACH32)/sun/sdk/demo/demo_module_3/demo_module_3.c \
+    path=usr/demo/net-snmp/demo_module_3/demo_module_3.c
+file build/$(MACH32)/sun/sdk/demo/demo_module_3/demo_module_3.h \
+    path=usr/demo/net-snmp/demo_module_3/demo_module_3.h
+file build/$(MACH32)/sun/sdk/demo/demo_module_4/Makefile \
+    path=usr/demo/net-snmp/demo_module_4/Makefile
+file build/$(MACH32)/sun/sdk/demo/demo_module_4/README_demo_module_4 \
+    path=usr/demo/net-snmp/demo_module_4/README_demo_module_4
+file build/$(MACH32)/sun/sdk/demo/demo_module_4/SDK-DEMO4-MIB.txt \
+    path=usr/demo/net-snmp/demo_module_4/SDK-DEMO4-MIB.txt
+file build/$(MACH32)/sun/sdk/demo/demo_module_4/demo_module_4.conf \
+    path=usr/demo/net-snmp/demo_module_4/demo_module_4.conf
+file build/$(MACH32)/sun/sdk/demo/demo_module_4/me4LoadGroup.c \
+    path=usr/demo/net-snmp/demo_module_4/me4LoadGroup.c
+file build/$(MACH32)/sun/sdk/demo/demo_module_4/me4LoadGroup.h \
+    path=usr/demo/net-snmp/demo_module_4/me4LoadGroup.h
+file build/$(MACH32)/sun/sdk/demo/demo_module_5/Makefile \
+    path=usr/demo/net-snmp/demo_module_5/Makefile
+file build/$(MACH32)/sun/sdk/demo/demo_module_5/README_demo_module_5 \
+    path=usr/demo/net-snmp/demo_module_5/README_demo_module_5
+file build/$(MACH32)/sun/sdk/demo/demo_module_5/SDK-DEMO5-MIB.txt \
+    path=usr/demo/net-snmp/demo_module_5/SDK-DEMO5-MIB.txt
+file build/$(MACH32)/sun/sdk/demo/demo_module_5/demo_module_5.c \
+    path=usr/demo/net-snmp/demo_module_5/demo_module_5.c
+file build/$(MACH32)/sun/sdk/demo/demo_module_5/demo_module_5.h \
+    path=usr/demo/net-snmp/demo_module_5/demo_module_5.h
+file build/$(MACH32)/sun/sdk/demo/demo_module_6/Makefile \
+    path=usr/demo/net-snmp/demo_module_6/Makefile
+file build/$(MACH32)/sun/sdk/demo/demo_module_6/README_demo_module_6 \
+    path=usr/demo/net-snmp/demo_module_6/README_demo_module_6
+file build/$(MACH32)/sun/sdk/demo/demo_module_6/SDK-DEMO6-MIB.txt \
+    path=usr/demo/net-snmp/demo_module_6/SDK-DEMO6-MIB.txt
+file build/$(MACH32)/sun/sdk/demo/demo_module_6/demo_module_6.c \
+    path=usr/demo/net-snmp/demo_module_6/demo_module_6.c
+file build/$(MACH32)/sun/sdk/demo/demo_module_6/demo_module_6.h \
+    path=usr/demo/net-snmp/demo_module_6/demo_module_6.h
+file build/$(MACH32)/sun/sdk/demo/demo_module_6/get_demo_module_6 \
+    path=usr/demo/net-snmp/demo_module_6/get_demo_module_6
+file build/$(MACH32)/sun/sdk/demo/demo_module_7/Makefile \
+    path=usr/demo/net-snmp/demo_module_7/Makefile
+file build/$(MACH32)/sun/sdk/demo/demo_module_7/README_demo_module_7 \
+    path=usr/demo/net-snmp/demo_module_7/README_demo_module_7
+file build/$(MACH32)/sun/sdk/demo/demo_module_7/SDK-DEMO6-MIB.txt \
+    path=usr/demo/net-snmp/demo_module_7/SDK-DEMO6-MIB.txt
+file build/$(MACH32)/sun/sdk/demo/demo_module_7/demo_module_7.c \
+    path=usr/demo/net-snmp/demo_module_7/demo_module_7.c
+file build/$(MACH32)/sun/sdk/demo/demo_module_7/demo_module_7.h \
+    path=usr/demo/net-snmp/demo_module_7/demo_module_7.h
+file build/$(MACH32)/sun/sdk/demo/demo_module_7/get_filesize \
+    path=usr/demo/net-snmp/demo_module_7/get_filesize
+file build/$(MACH32)/sun/sdk/demo/demo_module_7/register_file \
+    path=usr/demo/net-snmp/demo_module_7/register_file
+file build/$(MACH32)/sun/sdk/demo/demo_module_7/unregister_file \
+    path=usr/demo/net-snmp/demo_module_7/unregister_file
+file build/$(MACH32)/sun/sdk/demo/demo_module_8/Makefile \
+    path=usr/demo/net-snmp/demo_module_8/Makefile
+file build/$(MACH32)/sun/sdk/demo/demo_module_8/README_demo_module_8 \
+    path=usr/demo/net-snmp/demo_module_8/README_demo_module_8
+file build/$(MACH32)/sun/sdk/demo/demo_module_8/SDK-DEMO1-MIB.txt \
+    path=usr/demo/net-snmp/demo_module_8/SDK-DEMO1-MIB.txt
+file build/$(MACH32)/sun/sdk/demo/demo_module_8/demo_module_8.c \
+    path=usr/demo/net-snmp/demo_module_8/demo_module_8.c
+file build/$(MACH32)/sun/sdk/demo/demo_module_8/getme1LoadGroup \
+    path=usr/demo/net-snmp/demo_module_8/getme1LoadGroup
+file build/$(MACH32)/sun/sdk/demo/demo_module_8/me1LoadGroup.c \
+    path=usr/demo/net-snmp/demo_module_8/me1LoadGroup.c
+file build/$(MACH32)/sun/sdk/demo/demo_module_8/me1LoadGroup.h \
+    path=usr/demo/net-snmp/demo_module_8/me1LoadGroup.h
+file build/$(MACH32)/sun/sdk/demo/demo_module_9/Makefile \
+    path=usr/demo/net-snmp/demo_module_9/Makefile
+file build/$(MACH32)/sun/sdk/demo/demo_module_9/README_demo_module_9 \
+    path=usr/demo/net-snmp/demo_module_9/README_demo_module_9
+file build/$(MACH32)/sun/sdk/demo/demo_module_9/SDK-DEMO9-MIB.txt \
+    path=usr/demo/net-snmp/demo_module_9/SDK-DEMO9-MIB.txt
+file build/$(MACH32)/sun/sdk/demo/demo_module_9/demo_module_9.c \
+    path=usr/demo/net-snmp/demo_module_9/demo_module_9.c
+file build/$(MACH32)/sun/sdk/demo/demo_module_9/demo_module_9.h \
+    path=usr/demo/net-snmp/demo_module_9/demo_module_9.h
+file build/$(MACH32)/sun/sdk/demo/demo_module_9/get_demo_module_9 \
+    path=usr/demo/net-snmp/demo_module_9/get_demo_module_9
+file build/$(MACH32)/sun/sdk/demo/demo_module_9/set_demo_module_9 \
+    path=usr/demo/net-snmp/demo_module_9/set_demo_module_9
+file build/$(MACH32)/sun/sdk/demo/demo_module_9/walk_demo_module_9 \
+    path=usr/demo/net-snmp/demo_module_9/walk_demo_module_9
+file build/$(MACH32)/docs/html/acconfig_8h_source.html \
+    path=usr/share/doc/net-snmp/html/acconfig_8h_source.html
+file build/$(MACH32)/docs/html/agent__callbacks_8h_source.html \
+    path=usr/share/doc/net-snmp/html/agent__callbacks_8h_source.html
+file build/$(MACH32)/docs/html/agent__handler_8c_source.html \
+    path=usr/share/doc/net-snmp/html/agent__handler_8c_source.html
+file build/$(MACH32)/docs/html/agent__handler_8h.html \
+    path=usr/share/doc/net-snmp/html/agent__handler_8h.html
+file build/$(MACH32)/docs/html/agent__handler_8h_source.html \
+    path=usr/share/doc/net-snmp/html/agent__handler_8h_source.html
+file build/$(MACH32)/docs/html/agent__index_8c_source.html \
+    path=usr/share/doc/net-snmp/html/agent__index_8c_source.html
+file build/$(MACH32)/docs/html/agent__index_8h_source.html \
+    path=usr/share/doc/net-snmp/html/agent__index_8h_source.html
+file build/$(MACH32)/docs/html/agent__module__config_8h_source.html \
+    path=usr/share/doc/net-snmp/html/agent__module__config_8h_source.html
+file build/$(MACH32)/docs/html/agent__read__config_8c_source.html \
+    path=usr/share/doc/net-snmp/html/agent__read__config_8c_source.html
+file build/$(MACH32)/docs/html/agent__read__config_8h_source.html \
+    path=usr/share/doc/net-snmp/html/agent__read__config_8h_source.html
+file build/$(MACH32)/docs/html/agent__registry_8c_source.html \
+    path=usr/share/doc/net-snmp/html/agent__registry_8c_source.html
+file build/$(MACH32)/docs/html/agent__registry_8h_source.html \
+    path=usr/share/doc/net-snmp/html/agent__registry_8h_source.html
+file build/$(MACH32)/docs/html/agent__sysORTable_8c_source.html \
+    path=usr/share/doc/net-snmp/html/agent__sysORTable_8c_source.html
+file build/$(MACH32)/docs/html/agent__sysORTable_8h_source.html \
+    path=usr/share/doc/net-snmp/html/agent__sysORTable_8h_source.html
+file build/$(MACH32)/docs/html/agent__trap_8c_source.html \
+    path=usr/share/doc/net-snmp/html/agent__trap_8c_source.html
+file build/$(MACH32)/docs/html/agent__trap_8h_source.html \
+    path=usr/share/doc/net-snmp/html/agent__trap_8h_source.html
+file build/$(MACH32)/docs/html/all__helpers_8c_source.html \
+    path=usr/share/doc/net-snmp/html/all__helpers_8c_source.html
+file build/$(MACH32)/docs/html/all__helpers_8h_source.html \
+    path=usr/share/doc/net-snmp/html/all__helpers_8h_source.html
+file build/$(MACH32)/docs/html/annotated.html \
+    path=usr/share/doc/net-snmp/html/annotated.html
+file build/$(MACH32)/docs/html/asn1_8c_source.html \
+    path=usr/share/doc/net-snmp/html/asn1_8c_source.html
+file build/$(MACH32)/docs/html/asn1_8h_source.html \
+    path=usr/share/doc/net-snmp/html/asn1_8h_source.html
+file build/$(MACH32)/docs/html/auto__nlist_8c_source.html \
+    path=usr/share/doc/net-snmp/html/auto__nlist_8c_source.html
+file build/$(MACH32)/docs/html/auto__nlist_8h_source.html \
+    path=usr/share/doc/net-snmp/html/auto__nlist_8h_source.html
+file build/$(MACH32)/docs/html/autonlist_8h_source.html \
+    path=usr/share/doc/net-snmp/html/autonlist_8h_source.html
+file build/$(MACH32)/docs/html/baby__steps_8c_source.html \
+    path=usr/share/doc/net-snmp/html/baby__steps_8c_source.html
+file build/$(MACH32)/docs/html/baby__steps_8h_source.html \
+    path=usr/share/doc/net-snmp/html/baby__steps_8h_source.html
+file build/$(MACH32)/docs/html/bc_s.png \
+    path=usr/share/doc/net-snmp/html/bc_s.png
+file build/$(MACH32)/docs/html/bulk__to__next_8c_source.html \
+    path=usr/share/doc/net-snmp/html/bulk__to__next_8c_source.html
+file build/$(MACH32)/docs/html/bulk__to__next_8h_source.html \
+    path=usr/share/doc/net-snmp/html/bulk__to__next_8h_source.html
+file build/$(MACH32)/docs/html/cache__handler_8c_source.html \
+    path=usr/share/doc/net-snmp/html/cache__handler_8c_source.html
+file build/$(MACH32)/docs/html/cache__handler_8h_source.html \
+    path=usr/share/doc/net-snmp/html/cache__handler_8h_source.html
+file build/$(MACH32)/docs/html/callback_8c_source.html \
+    path=usr/share/doc/net-snmp/html/callback_8c_source.html
+file build/$(MACH32)/docs/html/callback_8h_source.html \
+    path=usr/share/doc/net-snmp/html/callback_8h_source.html
+file build/$(MACH32)/docs/html/cert__util_8c_source.html \
+    path=usr/share/doc/net-snmp/html/cert__util_8c_source.html
+file build/$(MACH32)/docs/html/cert__util_8h_source.html \
+    path=usr/share/doc/net-snmp/html/cert__util_8h_source.html
+file build/$(MACH32)/docs/html/check__varbind_8c_source.html \
+    path=usr/share/doc/net-snmp/html/check__varbind_8c_source.html
+file build/$(MACH32)/docs/html/check__varbind_8h_source.html \
+    path=usr/share/doc/net-snmp/html/check__varbind_8h_source.html
+file build/$(MACH32)/docs/html/classes.html \
+    path=usr/share/doc/net-snmp/html/classes.html
+file build/$(MACH32)/docs/html/closed.png \
+    path=usr/share/doc/net-snmp/html/closed.png
+file build/$(MACH32)/docs/html/closedir_8c_source.html \
+    path=usr/share/doc/net-snmp/html/closedir_8c_source.html
+file build/$(MACH32)/docs/html/config__api_8h_source.html \
+    path=usr/share/doc/net-snmp/html/config__api_8h_source.html
+file build/$(MACH32)/docs/html/container_8c_source.html \
+    path=usr/share/doc/net-snmp/html/container_8c_source.html
+file build/$(MACH32)/docs/html/container_8h_source.html \
+    path=usr/share/doc/net-snmp/html/container_8h_source.html
+file build/$(MACH32)/docs/html/container__binary__array_8c_source.html \
+    path=usr/share/doc/net-snmp/html/container__binary__array_8c_source.html
+file build/$(MACH32)/docs/html/container__binary__array_8h_source.html \
+    path=usr/share/doc/net-snmp/html/container__binary__array_8h_source.html
+file build/$(MACH32)/docs/html/container__iterator_8c_source.html \
+    path=usr/share/doc/net-snmp/html/container__iterator_8c_source.html
+file build/$(MACH32)/docs/html/container__iterator_8h.html \
+    path=usr/share/doc/net-snmp/html/container__iterator_8h.html
+file build/$(MACH32)/docs/html/container__iterator_8h_source.html \
+    path=usr/share/doc/net-snmp/html/container__iterator_8h_source.html
+file build/$(MACH32)/docs/html/container__list__ssll_8c_source.html \
+    path=usr/share/doc/net-snmp/html/container__list__ssll_8c_source.html
+file build/$(MACH32)/docs/html/container__list__ssll_8h_source.html \
+    path=usr/share/doc/net-snmp/html/container__list__ssll_8h_source.html
+file build/$(MACH32)/docs/html/container__null_8c_source.html \
+    path=usr/share/doc/net-snmp/html/container__null_8c_source.html
+file build/$(MACH32)/docs/html/container__null_8h_source.html \
+    path=usr/share/doc/net-snmp/html/container__null_8h_source.html
+file build/$(MACH32)/docs/html/data__list_8c_source.html \
+    path=usr/share/doc/net-snmp/html/data__list_8c_source.html
+file build/$(MACH32)/docs/html/data__list_8h_source.html \
+    path=usr/share/doc/net-snmp/html/data__list_8h_source.html
+file build/$(MACH32)/docs/html/data__set_8c_source.html \
+    path=usr/share/doc/net-snmp/html/data__set_8c_source.html
+file build/$(MACH32)/docs/html/data__set_8h_source.html \
+    path=usr/share/doc/net-snmp/html/data__set_8h_source.html
+file build/$(MACH32)/docs/html/data_set_8c-example.html \
+    path=usr/share/doc/net-snmp/html/data_set_8c-example.html
+file build/$(MACH32)/docs/html/debug__handler_8c_source.html \
+    path=usr/share/doc/net-snmp/html/debug__handler_8c_source.html
+file build/$(MACH32)/docs/html/debug__handler_8h_source.html \
+    path=usr/share/doc/net-snmp/html/debug__handler_8h_source.html
+file build/$(MACH32)/docs/html/default__store_8c_source.html \
+    path=usr/share/doc/net-snmp/html/default__store_8c_source.html
+file build/$(MACH32)/docs/html/default__store_8h_source.html \
+    path=usr/share/doc/net-snmp/html/default__store_8h_source.html
+file build/$(MACH32)/docs/html/definitions_8h_source.html \
+    path=usr/share/doc/net-snmp/html/definitions_8h_source.html
+file build/$(MACH32)/docs/html/delayed__instance_8c_source.html \
+    path=usr/share/doc/net-snmp/html/delayed__instance_8c_source.html
+file build/$(MACH32)/docs/html/delayed__instance_8h_source.html \
+    path=usr/share/doc/net-snmp/html/delayed__instance_8h_source.html
+file build/$(MACH32)/docs/html/delayed_instance_8c-example.html \
+    path=usr/share/doc/net-snmp/html/delayed_instance_8c-example.html
+file build/$(MACH32)/docs/html/deprecated.html \
+    path=usr/share/doc/net-snmp/html/deprecated.html
+file build/$(MACH32)/docs/html/dir__utils_8c_source.html \
+    path=usr/share/doc/net-snmp/html/dir__utils_8c_source.html
+file build/$(MACH32)/docs/html/dir__utils_8h_source.html \
+    path=usr/share/doc/net-snmp/html/dir__utils_8h_source.html
+file build/$(MACH32)/docs/html/doxygen.css \
+    path=usr/share/doc/net-snmp/html/doxygen.css
+file build/$(MACH32)/docs/html/doxygen.png \
+    path=usr/share/doc/net-snmp/html/doxygen.png
+file build/$(MACH32)/docs/html/ds__agent_8h_source.html \
+    path=usr/share/doc/net-snmp/html/ds__agent_8h_source.html
+file build/$(MACH32)/docs/html/dummy_8c_source.html \
+    path=usr/share/doc/net-snmp/html/dummy_8c_source.html
+file build/$(MACH32)/docs/html/example_8c_source.html \
+    path=usr/share/doc/net-snmp/html/example_8c_source.html
+file build/$(MACH32)/docs/html/example_8h_source.html \
+    path=usr/share/doc/net-snmp/html/example_8h_source.html
+file build/$(MACH32)/docs/html/examples.html \
+    path=usr/share/doc/net-snmp/html/examples.html
+file build/$(MACH32)/docs/html/factory_8h_source.html \
+    path=usr/share/doc/net-snmp/html/factory_8h_source.html
+file build/$(MACH32)/docs/html/fd__event__manager_8c_source.html \
+    path=usr/share/doc/net-snmp/html/fd__event__manager_8c_source.html
+file build/$(MACH32)/docs/html/fd__event__manager_8h_source.html \
+    path=usr/share/doc/net-snmp/html/fd__event__manager_8h_source.html
+file build/$(MACH32)/docs/html/file__utils_8c_source.html \
+    path=usr/share/doc/net-snmp/html/file__utils_8c_source.html
+file build/$(MACH32)/docs/html/file__utils_8h_source.html \
+    path=usr/share/doc/net-snmp/html/file__utils_8h_source.html
+file build/$(MACH32)/docs/html/files.html \
+    path=usr/share/doc/net-snmp/html/files.html
+file build/$(MACH32)/docs/html/functions.html \
+    path=usr/share/doc/net-snmp/html/functions.html
+file build/$(MACH32)/docs/html/functions_vars.html \
+    path=usr/share/doc/net-snmp/html/functions_vars.html
+file build/$(MACH32)/docs/html/getopt_8c_source.html \
+    path=usr/share/doc/net-snmp/html/getopt_8c_source.html
+file build/$(MACH32)/docs/html/getopt_8h_source.html \
+    path=usr/share/doc/net-snmp/html/getopt_8h_source.html
+file build/$(MACH32)/docs/html/gettimeofday_8c_source.html \
+    path=usr/share/doc/net-snmp/html/gettimeofday_8c_source.html
+file build/$(MACH32)/docs/html/globals.html \
+    path=usr/share/doc/net-snmp/html/globals.html
+file build/$(MACH32)/docs/html/globals_defs.html \
+    path=usr/share/doc/net-snmp/html/globals_defs.html
+file build/$(MACH32)/docs/html/globals_func.html \
+    path=usr/share/doc/net-snmp/html/globals_func.html
+file build/$(MACH32)/docs/html/globals_type.html \
+    path=usr/share/doc/net-snmp/html/globals_type.html
+file build/$(MACH32)/docs/html/group__access__multiplexer.html \
+    path=usr/share/doc/net-snmp/html/group__access__multiplexer.html
+file build/$(MACH32)/docs/html/group__agent.html \
+    path=usr/share/doc/net-snmp/html/group__agent.html
+file build/$(MACH32)/docs/html/group__agent__context__cache.html \
+    path=usr/share/doc/net-snmp/html/group__agent__context__cache.html
+file build/$(MACH32)/docs/html/group__agent__lookup__cache.html \
+    path=usr/share/doc/net-snmp/html/group__agent__lookup__cache.html
+file build/$(MACH32)/docs/html/group__agent__mib__registering.html \
+    path=usr/share/doc/net-snmp/html/group__agent__mib__registering.html
+file build/$(MACH32)/docs/html/group__agent__mib__subtree.html \
+    path=usr/share/doc/net-snmp/html/group__agent__mib__subtree.html
+file build/$(MACH32)/docs/html/group__agent__registry.html \
+    path=usr/share/doc/net-snmp/html/group__agent__registry.html
+file build/$(MACH32)/docs/html/group__agent__signals.html \
+    path=usr/share/doc/net-snmp/html/group__agent__signals.html
+file build/$(MACH32)/docs/html/group__agent__trap.html \
+    path=usr/share/doc/net-snmp/html/group__agent__trap.html
+file build/$(MACH32)/docs/html/group__asn1__packet__parse.html \
+    path=usr/share/doc/net-snmp/html/group__asn1__packet__parse.html
+file build/$(MACH32)/docs/html/group__baby__steps.html \
+    path=usr/share/doc/net-snmp/html/group__baby__steps.html
+file build/$(MACH32)/docs/html/group__bulk__to__next.html \
+    path=usr/share/doc/net-snmp/html/group__bulk__to__next.html
+file build/$(MACH32)/docs/html/group__cache__handler.html \
+    path=usr/share/doc/net-snmp/html/group__cache__handler.html
+file build/$(MACH32)/docs/html/group__callback.html \
+    path=usr/share/doc/net-snmp/html/group__callback.html
+file build/$(MACH32)/docs/html/group__container.html \
+    path=usr/share/doc/net-snmp/html/group__container.html
+file build/$(MACH32)/docs/html/group__container__iterator.html \
+    path=usr/share/doc/net-snmp/html/group__container__iterator.html
+file build/$(MACH32)/docs/html/group__data__list.html \
+    path=usr/share/doc/net-snmp/html/group__data__list.html
+file build/$(MACH32)/docs/html/group__debug.html \
+    path=usr/share/doc/net-snmp/html/group__debug.html
+file build/$(MACH32)/docs/html/group__default__store.html \
+    path=usr/share/doc/net-snmp/html/group__default__store.html
+file build/$(MACH32)/docs/html/group__handler.html \
+    path=usr/share/doc/net-snmp/html/group__handler.html
+file build/$(MACH32)/docs/html/group__instance.html \
+    path=usr/share/doc/net-snmp/html/group__instance.html
+file build/$(MACH32)/docs/html/group__leaf.html \
+    path=usr/share/doc/net-snmp/html/group__leaf.html
+file build/$(MACH32)/docs/html/group__library.html \
+    path=usr/share/doc/net-snmp/html/group__library.html
+file build/$(MACH32)/docs/html/group__mib__maintenance.html \
+    path=usr/share/doc/net-snmp/html/group__mib__maintenance.html
+file build/$(MACH32)/docs/html/group__mib__utilities.html \
+    path=usr/share/doc/net-snmp/html/group__mib__utilities.html
+file build/$(MACH32)/docs/html/group__mode__end__call.html \
+    path=usr/share/doc/net-snmp/html/group__mode__end__call.html
+file build/$(MACH32)/docs/html/group__multiplexer.html \
+    path=usr/share/doc/net-snmp/html/group__multiplexer.html
+file build/$(MACH32)/docs/html/group__null__container.html \
+    path=usr/share/doc/net-snmp/html/group__null__container.html
+file build/$(MACH32)/docs/html/group__oid__stash.html \
+    path=usr/share/doc/net-snmp/html/group__oid__stash.html
+file build/$(MACH32)/docs/html/group__old__api.html \
+    path=usr/share/doc/net-snmp/html/group__old__api.html
+file build/$(MACH32)/docs/html/group__read__config.html \
+    path=usr/share/doc/net-snmp/html/group__read__config.html
+file build/$(MACH32)/docs/html/group__read__only.html \
+    path=usr/share/doc/net-snmp/html/group__read__only.html
+file build/$(MACH32)/docs/html/group__row__merge.html \
+    path=usr/share/doc/net-snmp/html/group__row__merge.html
+file build/$(MACH32)/docs/html/group__scalar.html \
+    path=usr/share/doc/net-snmp/html/group__scalar.html
+file build/$(MACH32)/docs/html/group__scalar__group__group.html \
+    path=usr/share/doc/net-snmp/html/group__scalar__group__group.html
+file build/$(MACH32)/docs/html/group__serialize.html \
+    path=usr/share/doc/net-snmp/html/group__serialize.html
+file build/$(MACH32)/docs/html/group__snmp__agent.html \
+    path=usr/share/doc/net-snmp/html/group__snmp__agent.html
+file build/$(MACH32)/docs/html/group__snmp__alarm.html \
+    path=usr/share/doc/net-snmp/html/group__snmp__alarm.html
+file build/$(MACH32)/docs/html/group__snmp__client.html \
+    path=usr/share/doc/net-snmp/html/group__snmp__client.html
+file build/$(MACH32)/docs/html/group__snmp__logging.html \
+    path=usr/share/doc/net-snmp/html/group__snmp__logging.html
+file build/$(MACH32)/docs/html/group__stash__cache.html \
+    path=usr/share/doc/net-snmp/html/group__stash__cache.html
+file build/$(MACH32)/docs/html/group__stash__to__next.html \
+    path=usr/share/doc/net-snmp/html/group__stash__to__next.html
+file build/$(MACH32)/docs/html/group__table.html \
+    path=usr/share/doc/net-snmp/html/group__table.html
+file build/$(MACH32)/docs/html/group__table__array.html \
+    path=usr/share/doc/net-snmp/html/group__table__array.html
+file build/$(MACH32)/docs/html/group__table__container.html \
+    path=usr/share/doc/net-snmp/html/group__table__container.html
+file build/$(MACH32)/docs/html/group__table__data.html \
+    path=usr/share/doc/net-snmp/html/group__table__data.html
+file build/$(MACH32)/docs/html/group__table__dataset.html \
+    path=usr/share/doc/net-snmp/html/group__table__dataset.html
+file build/$(MACH32)/docs/html/group__table__generic.html \
+    path=usr/share/doc/net-snmp/html/group__table__generic.html
+file build/$(MACH32)/docs/html/group__table__indexes.html \
+    path=usr/share/doc/net-snmp/html/group__table__indexes.html
+file build/$(MACH32)/docs/html/group__table__iterator.html \
+    path=usr/share/doc/net-snmp/html/group__table__iterator.html
+file build/$(MACH32)/docs/html/group__table__maintenance.html \
+    path=usr/share/doc/net-snmp/html/group__table__maintenance.html
+file build/$(MACH32)/docs/html/group__table__row.html \
+    path=usr/share/doc/net-snmp/html/group__table__row.html
+file build/$(MACH32)/docs/html/group__table__rows.html \
+    path=usr/share/doc/net-snmp/html/group__table__rows.html
+file build/$(MACH32)/docs/html/group__tdata.html \
+    path=usr/share/doc/net-snmp/html/group__tdata.html
+file build/$(MACH32)/docs/html/group__util.html \
+    path=usr/share/doc/net-snmp/html/group__util.html
+file build/$(MACH32)/docs/html/group__utilities.html \
+    path=usr/share/doc/net-snmp/html/group__utilities.html
+file build/$(MACH32)/docs/html/group__watcher.html \
+    path=usr/share/doc/net-snmp/html/group__watcher.html
+file build/$(MACH32)/docs/html/index.html \
+    path=usr/share/doc/net-snmp/html/index.html
+file build/$(MACH32)/docs/html/inet__ntop_8c_source.html \
+    path=usr/share/doc/net-snmp/html/inet__ntop_8c_source.html
+file build/$(MACH32)/docs/html/inet__ntop_8h_source.html \
+    path=usr/share/doc/net-snmp/html/inet__ntop_8h_source.html
+file build/$(MACH32)/docs/html/inet__pton_8c_source.html \
+    path=usr/share/doc/net-snmp/html/inet__pton_8c_source.html
+file build/$(MACH32)/docs/html/inet__pton_8h_source.html \
+    path=usr/share/doc/net-snmp/html/inet__pton_8h_source.html
+file build/$(MACH32)/docs/html/instance_8c_source.html \
+    path=usr/share/doc/net-snmp/html/instance_8c_source.html
+file build/$(MACH32)/docs/html/instance_8h_source.html \
+    path=usr/share/doc/net-snmp/html/instance_8h_source.html
+file build/$(MACH32)/docs/html/int64_8c.html \
+    path=usr/share/doc/net-snmp/html/int64_8c.html
+file build/$(MACH32)/docs/html/int64_8c_source.html \
+    path=usr/share/doc/net-snmp/html/int64_8c_source.html
+file build/$(MACH32)/docs/html/int64_8h_source.html \
+    path=usr/share/doc/net-snmp/html/int64_8h_source.html
+file build/$(MACH32)/docs/html/jquery.js \
+    path=usr/share/doc/net-snmp/html/jquery.js
+file build/$(MACH32)/docs/html/kernel_8c.html \
+    path=usr/share/doc/net-snmp/html/kernel_8c.html
+file build/$(MACH32)/docs/html/kernel_8c_source.html \
+    path=usr/share/doc/net-snmp/html/kernel_8c_source.html
+file build/$(MACH32)/docs/html/kernel_8h.html \
+    path=usr/share/doc/net-snmp/html/kernel_8h.html
+file build/$(MACH32)/docs/html/kernel_8h_source.html \
+    path=usr/share/doc/net-snmp/html/kernel_8h_source.html
+file build/$(MACH32)/docs/html/keytools_8c_source.html \
+    path=usr/share/doc/net-snmp/html/keytools_8c_source.html
+file build/$(MACH32)/docs/html/keytools_8h_source.html \
+    path=usr/share/doc/net-snmp/html/keytools_8h_source.html
+file build/$(MACH32)/docs/html/large__fd__set_8c.html \
+    path=usr/share/doc/net-snmp/html/large__fd__set_8c.html
+file build/$(MACH32)/docs/html/large__fd__set_8c_source.html \
+    path=usr/share/doc/net-snmp/html/large__fd__set_8c_source.html
+file build/$(MACH32)/docs/html/large__fd__set_8h.html \
+    path=usr/share/doc/net-snmp/html/large__fd__set_8h.html
+file build/$(MACH32)/docs/html/large__fd__set_8h_source.html \
+    path=usr/share/doc/net-snmp/html/large__fd__set_8h_source.html
+file build/$(MACH32)/docs/html/lcd__time_8c_source.html \
+    path=usr/share/doc/net-snmp/html/lcd__time_8c_source.html
+file build/$(MACH32)/docs/html/lcd__time_8h_source.html \
+    path=usr/share/doc/net-snmp/html/lcd__time_8h_source.html
+file build/$(MACH32)/docs/html/library_2openssl__md5_8h_source.html \
+    path=usr/share/doc/net-snmp/html/library_2openssl__md5_8h_source.html
+file build/$(MACH32)/docs/html/library_2types_8h_source.html \
+    path=usr/share/doc/net-snmp/html/library_2types_8h_source.html
+file build/$(MACH32)/docs/html/libsnmp_8h_source.html \
+    path=usr/share/doc/net-snmp/html/libsnmp_8h_source.html
+file build/$(MACH32)/docs/html/m2m_8h_source.html \
+    path=usr/share/doc/net-snmp/html/m2m_8h_source.html
+file build/$(MACH32)/docs/html/md5_8c_source.html \
+    path=usr/share/doc/net-snmp/html/md5_8c_source.html
+file build/$(MACH32)/docs/html/md5_8h_source.html \
+    path=usr/share/doc/net-snmp/html/md5_8h_source.html
+file build/$(MACH32)/docs/html/mfd_8h_source.html \
+    path=usr/share/doc/net-snmp/html/mfd_8h_source.html
+file build/$(MACH32)/docs/html/mib_8c_source.html \
+    path=usr/share/doc/net-snmp/html/mib_8c_source.html
+file build/$(MACH32)/docs/html/mib_8h_source.html \
+    path=usr/share/doc/net-snmp/html/mib_8h_source.html
+file build/$(MACH32)/docs/html/mib__api_8h_source.html \
+    path=usr/share/doc/net-snmp/html/mib__api_8h_source.html
+file build/$(MACH32)/docs/html/mib__module__config_8h_source.html \
+    path=usr/share/doc/net-snmp/html/mib__module__config_8h_source.html
+file build/$(MACH32)/docs/html/mib__modules_8c_source.html \
+    path=usr/share/doc/net-snmp/html/mib__modules_8c_source.html
+file build/$(MACH32)/docs/html/mib__modules_8h_source.html \
+    path=usr/share/doc/net-snmp/html/mib__modules_8h_source.html
+file build/$(MACH32)/docs/html/mode__end__call_8c_source.html \
+    path=usr/share/doc/net-snmp/html/mode__end__call_8c_source.html
+file build/$(MACH32)/docs/html/mode__end__call_8h_source.html \
+    path=usr/share/doc/net-snmp/html/mode__end__call_8h_source.html
+file build/$(MACH32)/docs/html/modules.html \
+    path=usr/share/doc/net-snmp/html/modules.html
+file build/$(MACH32)/docs/html/mt__support_8c_source.html \
+    path=usr/share/doc/net-snmp/html/mt__support_8c_source.html
+file build/$(MACH32)/docs/html/mt__support_8h_source.html \
+    path=usr/share/doc/net-snmp/html/mt__support_8h_source.html
+file build/$(MACH32)/docs/html/multiplexer_8c_source.html \
+    path=usr/share/doc/net-snmp/html/multiplexer_8c_source.html
+file build/$(MACH32)/docs/html/multiplexer_8h_source.html \
+    path=usr/share/doc/net-snmp/html/multiplexer_8h_source.html
+file build/$(MACH32)/docs/html/nav_f.png \
+    path=usr/share/doc/net-snmp/html/nav_f.png
+file build/$(MACH32)/docs/html/nav_h.png \
+    path=usr/share/doc/net-snmp/html/nav_h.png
+file build/$(MACH32)/docs/html/net-snmp-agent-includes_8h_source.html \
+    path=usr/share/doc/net-snmp/html/net-snmp-agent-includes_8h_source.html
+file build/$(MACH32)/docs/html/net-snmp-config_8h_source.html \
+    path=usr/share/doc/net-snmp/html/net-snmp-config_8h_source.html
+file build/$(MACH32)/docs/html/net-snmp-features_8h_source.html \
+    path=usr/share/doc/net-snmp/html/net-snmp-features_8h_source.html
+file build/$(MACH32)/docs/html/net-snmp-includes_8h_source.html \
+    path=usr/share/doc/net-snmp/html/net-snmp-includes_8h_source.html
+file build/$(MACH32)/docs/html/netSnmpHostsTable_8c_source.html \
+    path=usr/share/doc/net-snmp/html/netSnmpHostsTable_8c_source.html
+file build/$(MACH32)/docs/html/netSnmpHostsTable_8h_source.html \
+    path=usr/share/doc/net-snmp/html/netSnmpHostsTable_8h_source.html
+file build/$(MACH32)/docs/html/netSnmpHostsTable__access_8c_source.html \
+    path=usr/share/doc/net-snmp/html/netSnmpHostsTable__access_8c_source.html
+file build/$(MACH32)/docs/html/netSnmpHostsTable__access_8h_source.html \
+    path=usr/share/doc/net-snmp/html/netSnmpHostsTable__access_8h_source.html
+file build/$(MACH32)/docs/html/netSnmpHostsTable__checkfns_8c_source.html \
+    path=usr/share/doc/net-snmp/html/netSnmpHostsTable__checkfns_8c_source.html
+file build/$(MACH32)/docs/html/netSnmpHostsTable__checkfns_8h_source.html \
+    path=usr/share/doc/net-snmp/html/netSnmpHostsTable__checkfns_8h_source.html
+file build/$(MACH32)/docs/html/netSnmpHostsTable__checkfns__local_8c_source.html \
+    path=usr/share/doc/net-snmp/html/netSnmpHostsTable__checkfns__local_8c_source.html
+file build/$(MACH32)/docs/html/netSnmpHostsTable__checkfns__local_8h_source.html \
+    path=usr/share/doc/net-snmp/html/netSnmpHostsTable__checkfns__local_8h_source.html
+file build/$(MACH32)/docs/html/netSnmpHostsTable__columns_8h_source.html \
+    path=usr/share/doc/net-snmp/html/netSnmpHostsTable__columns_8h_source.html
+file build/$(MACH32)/docs/html/netSnmpHostsTable__enums_8h_source.html \
+    path=usr/share/doc/net-snmp/html/netSnmpHostsTable__enums_8h_source.html
+file build/$(MACH32)/docs/html/notification_8c-example.html \
+    path=usr/share/doc/net-snmp/html/notification_8c-example.html
+file build/$(MACH32)/docs/html/notification_8c_source.html \
+    path=usr/share/doc/net-snmp/html/notification_8c_source.html
+file build/$(MACH32)/docs/html/notification_8h_source.html \
+    path=usr/share/doc/net-snmp/html/notification_8h_source.html
+file build/$(MACH32)/docs/html/null_8c_source.html \
+    path=usr/share/doc/net-snmp/html/null_8c_source.html
+file build/$(MACH32)/docs/html/null_8h_source.html \
+    path=usr/share/doc/net-snmp/html/null_8h_source.html
+file build/$(MACH32)/docs/html/object__monitor_8c_source.html \
+    path=usr/share/doc/net-snmp/html/object__monitor_8c_source.html
+file build/$(MACH32)/docs/html/object__monitor_8h_source.html \
+    path=usr/share/doc/net-snmp/html/object__monitor_8h_source.html
+file build/$(MACH32)/docs/html/oid_8h_source.html \
+    path=usr/share/doc/net-snmp/html/oid_8h_source.html
+file build/$(MACH32)/docs/html/oid__stash_8c_source.html \
+    path=usr/share/doc/net-snmp/html/oid__stash_8c_source.html
+file build/$(MACH32)/docs/html/oid__stash_8h_source.html \
+    path=usr/share/doc/net-snmp/html/oid__stash_8h_source.html
+file build/$(MACH32)/docs/html/old__api_8c_source.html \
+    path=usr/share/doc/net-snmp/html/old__api_8c_source.html
+file build/$(MACH32)/docs/html/old__api_8h_source.html \
+    path=usr/share/doc/net-snmp/html/old__api_8h_source.html
+file build/$(MACH32)/docs/html/open.png \
+    path=usr/share/doc/net-snmp/html/open.png
+file build/$(MACH32)/docs/html/opendir_8c_source.html \
+    path=usr/share/doc/net-snmp/html/opendir_8c_source.html
+file build/$(MACH32)/docs/html/openssl__aes_8h_source.html \
+    path=usr/share/doc/net-snmp/html/openssl__aes_8h_source.html
+file build/$(MACH32)/docs/html/openssl__des_8h_source.html \
+    path=usr/share/doc/net-snmp/html/openssl__des_8h_source.html
+file build/$(MACH32)/docs/html/openssl__md5_8h_source.html \
+    path=usr/share/doc/net-snmp/html/openssl__md5_8h_source.html
+file build/$(MACH32)/docs/html/openssl__sha_8h_source.html \
+    path=usr/share/doc/net-snmp/html/openssl__sha_8h_source.html
+file build/$(MACH32)/docs/html/output__api_8h_source.html \
+    path=usr/share/doc/net-snmp/html/output__api_8h_source.html
+file build/$(MACH32)/docs/html/pages.html \
+    path=usr/share/doc/net-snmp/html/pages.html
+file build/$(MACH32)/docs/html/parse_8c_source.html \
+    path=usr/share/doc/net-snmp/html/parse_8c_source.html
+file build/$(MACH32)/docs/html/parse_8h_source.html \
+    path=usr/share/doc/net-snmp/html/parse_8h_source.html
+file build/$(MACH32)/docs/html/pdu__api_8h_source.html \
+    path=usr/share/doc/net-snmp/html/pdu__api_8h_source.html
+file build/$(MACH32)/docs/html/pkcs_8c_source.html \
+    path=usr/share/doc/net-snmp/html/pkcs_8c_source.html
+file build/$(MACH32)/docs/html/read__config_8c_source.html \
+    path=usr/share/doc/net-snmp/html/read__config_8c_source.html
+file build/$(MACH32)/docs/html/read__config_8h_source.html \
+    path=usr/share/doc/net-snmp/html/read__config_8h_source.html
+file build/$(MACH32)/docs/html/read__only_8c_source.html \
+    path=usr/share/doc/net-snmp/html/read__only_8c_source.html
+file build/$(MACH32)/docs/html/read__only_8h_source.html \
+    path=usr/share/doc/net-snmp/html/read__only_8h_source.html
+file build/$(MACH32)/docs/html/readdir_8c_source.html \
+    path=usr/share/doc/net-snmp/html/readdir_8c_source.html
+file build/$(MACH32)/docs/html/row__merge_8c_source.html \
+    path=usr/share/doc/net-snmp/html/row__merge_8c_source.html
+file build/$(MACH32)/docs/html/row__merge_8h_source.html \
+    path=usr/share/doc/net-snmp/html/row__merge_8h_source.html
+file build/$(MACH32)/docs/html/scalar_8c_source.html \
+    path=usr/share/doc/net-snmp/html/scalar_8c_source.html
+file build/$(MACH32)/docs/html/scalar_8h_source.html \
+    path=usr/share/doc/net-snmp/html/scalar_8h_source.html
+file build/$(MACH32)/docs/html/scalar__group_8c_source.html \
+    path=usr/share/doc/net-snmp/html/scalar__group_8c_source.html
+file build/$(MACH32)/docs/html/scalar__group_8h_source.html \
+    path=usr/share/doc/net-snmp/html/scalar__group_8h_source.html
+file build/$(MACH32)/docs/html/scalar__int_8c_source.html \
+    path=usr/share/doc/net-snmp/html/scalar__int_8c_source.html
+file build/$(MACH32)/docs/html/scalar__int_8h_source.html \
+    path=usr/share/doc/net-snmp/html/scalar__int_8h_source.html
+file build/$(MACH32)/docs/html/scalar_int_8c-example.html \
+    path=usr/share/doc/net-snmp/html/scalar_int_8c-example.html
+file build/$(MACH32)/docs/html/scapi_8c_source.html \
+    path=usr/share/doc/net-snmp/html/scapi_8c_source.html
+file build/$(MACH32)/docs/html/scapi_8h_source.html \
+    path=usr/share/doc/net-snmp/html/scapi_8h_source.html
+file build/$(MACH32)/docs/html/serialize_8c_source.html \
+    path=usr/share/doc/net-snmp/html/serialize_8c_source.html
+file build/$(MACH32)/docs/html/serialize_8h_source.html \
+    path=usr/share/doc/net-snmp/html/serialize_8h_source.html
+file build/$(MACH32)/docs/html/session__api_8h_source.html \
+    path=usr/share/doc/net-snmp/html/session__api_8h_source.html
+file build/$(MACH32)/docs/html/set__helper_8h_source.html \
+    path=usr/share/doc/net-snmp/html/set__helper_8h_source.html
+file build/$(MACH32)/docs/html/snmp-tc_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmp-tc_8c_source.html
+file build/$(MACH32)/docs/html/snmp-tc_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmp-tc_8h_source.html
+file build/$(MACH32)/docs/html/snmpAAL5PVCDomain_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpAAL5PVCDomain_8h_source.html
+file build/$(MACH32)/docs/html/snmpAliasDomain_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpAliasDomain_8h_source.html
+file build/$(MACH32)/docs/html/snmpCallbackDomain_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpCallbackDomain_8h_source.html
+file build/$(MACH32)/docs/html/snmpDTLSUDPDomain_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpDTLSUDPDomain_8h_source.html
+file build/$(MACH32)/docs/html/snmpIPXDomain_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpIPXDomain_8h_source.html
+file build/$(MACH32)/docs/html/snmpIPv4BaseDomain_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpIPv4BaseDomain_8h_source.html
+file build/$(MACH32)/docs/html/snmpIPv6BaseDomain_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpIPv6BaseDomain_8h_source.html
+file build/$(MACH32)/docs/html/snmpSSHDomain_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpSSHDomain_8h_source.html
+file build/$(MACH32)/docs/html/snmpSTDDomain_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpSTDDomain_8h_source.html
+file build/$(MACH32)/docs/html/snmpSocketBaseDomain_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpSocketBaseDomain_8h_source.html
+file build/$(MACH32)/docs/html/snmpTCPBaseDomain_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpTCPBaseDomain_8h_source.html
+file build/$(MACH32)/docs/html/snmpTCPDomain_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpTCPDomain_8h_source.html
+file build/$(MACH32)/docs/html/snmpTCPIPv6Domain_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpTCPIPv6Domain_8h_source.html
+file build/$(MACH32)/docs/html/snmpTLSBaseDomain_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpTLSBaseDomain_8h_source.html
+file build/$(MACH32)/docs/html/snmpTLSTCPDomain_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpTLSTCPDomain_8h_source.html
+file build/$(MACH32)/docs/html/snmpUDPBaseDomain_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpUDPBaseDomain_8h_source.html
+file build/$(MACH32)/docs/html/snmpUDPDomain_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpUDPDomain_8h_source.html
+file build/$(MACH32)/docs/html/snmpUDPIPv4BaseDomain_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpUDPIPv4BaseDomain_8h_source.html
+file build/$(MACH32)/docs/html/snmpUDPIPv6Domain_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpUDPIPv6Domain_8h_source.html
+file build/$(MACH32)/docs/html/snmpUnixDomain_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpUnixDomain_8h_source.html
+file build/$(MACH32)/docs/html/snmp_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmp_8c_source.html
+file build/$(MACH32)/docs/html/snmp_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmp_8h_source.html
+file build/$(MACH32)/docs/html/snmp__agent_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__agent_8c_source.html
+file build/$(MACH32)/docs/html/snmp__agent_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__agent_8h_source.html
+file build/$(MACH32)/docs/html/snmp__alarm_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__alarm_8c_source.html
+file build/$(MACH32)/docs/html/snmp__alarm_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__alarm_8h_source.html
+file build/$(MACH32)/docs/html/snmp__api_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__api_8c_source.html
+file build/$(MACH32)/docs/html/snmp__api_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__api_8h_source.html
+file build/$(MACH32)/docs/html/snmp__assert_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__assert_8h_source.html
+file build/$(MACH32)/docs/html/snmp__auth_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__auth_8c_source.html
+file build/$(MACH32)/docs/html/snmp__client_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__client_8c_source.html
+file build/$(MACH32)/docs/html/snmp__client_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__client_8h_source.html
+file build/$(MACH32)/docs/html/snmp__debug_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__debug_8c_source.html
+file build/$(MACH32)/docs/html/snmp__debug_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__debug_8h_source.html
+file build/$(MACH32)/docs/html/snmp__enum_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__enum_8c_source.html
+file build/$(MACH32)/docs/html/snmp__enum_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__enum_8h_source.html
+file build/$(MACH32)/docs/html/snmp__get__statistic_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__get__statistic_8c_source.html
+file build/$(MACH32)/docs/html/snmp__get__statistic_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__get__statistic_8h_source.html
+file build/$(MACH32)/docs/html/snmp__impl_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__impl_8h_source.html
+file build/$(MACH32)/docs/html/snmp__logging_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__logging_8c_source.html
+file build/$(MACH32)/docs/html/snmp__logging_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__logging_8h_source.html
+file build/$(MACH32)/docs/html/snmp__openssl_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__openssl_8c_source.html
+file build/$(MACH32)/docs/html/snmp__openssl_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__openssl_8h_source.html
+file build/$(MACH32)/docs/html/snmp__parse__args_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__parse__args_8c_source.html
+file build/$(MACH32)/docs/html/snmp__parse__args_8h.html \
+    path=usr/share/doc/net-snmp/html/snmp__parse__args_8h.html
+file build/$(MACH32)/docs/html/snmp__parse__args_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__parse__args_8h_source.html
+file build/$(MACH32)/docs/html/snmp__perl_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__perl_8c_source.html
+file build/$(MACH32)/docs/html/snmp__perl_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__perl_8h_source.html
+file build/$(MACH32)/docs/html/snmp__secmod_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__secmod_8c_source.html
+file build/$(MACH32)/docs/html/snmp__secmod_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__secmod_8h_source.html
+file build/$(MACH32)/docs/html/snmp__service_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__service_8c_source.html
+file build/$(MACH32)/docs/html/snmp__service_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__service_8h_source.html
+file build/$(MACH32)/docs/html/snmp__transport_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__transport_8c_source.html
+file build/$(MACH32)/docs/html/snmp__transport_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__transport_8h_source.html
+file build/$(MACH32)/docs/html/snmp__vars_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__vars_8c_source.html
+file build/$(MACH32)/docs/html/snmp__vars_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__vars_8h_source.html
+file build/$(MACH32)/docs/html/snmp__version_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmp__version_8c_source.html
+file build/$(MACH32)/docs/html/snmpd_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmpd_8c_source.html
+file build/$(MACH32)/docs/html/snmpd_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpd_8h_source.html
+file build/$(MACH32)/docs/html/snmpksm_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmpksm_8c_source.html
+file build/$(MACH32)/docs/html/snmpksm_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpksm_8h_source.html
+file build/$(MACH32)/docs/html/snmpsm__init_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpsm__init_8h_source.html
+file build/$(MACH32)/docs/html/snmpsm__shutdown_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpsm__shutdown_8h_source.html
+file build/$(MACH32)/docs/html/snmptsm_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmptsm_8c_source.html
+file build/$(MACH32)/docs/html/snmptsm_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmptsm_8h_source.html
+file build/$(MACH32)/docs/html/snmpusm_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmpusm_8c_source.html
+file build/$(MACH32)/docs/html/snmpusm_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpusm_8h_source.html
+file build/$(MACH32)/docs/html/snmpv3-security-includes_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpv3-security-includes_8h_source.html
+file build/$(MACH32)/docs/html/snmpv3_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snmpv3_8c_source.html
+file build/$(MACH32)/docs/html/snmpv3_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpv3_8h_source.html
+file build/$(MACH32)/docs/html/snmpv3__api_8h_source.html \
+    path=usr/share/doc/net-snmp/html/snmpv3__api_8h_source.html
+file build/$(MACH32)/docs/html/snprintf_8c_source.html \
+    path=usr/share/doc/net-snmp/html/snprintf_8c_source.html
+file build/$(MACH32)/docs/html/stash__cache_8c_source.html \
+    path=usr/share/doc/net-snmp/html/stash__cache_8c_source.html
+file build/$(MACH32)/docs/html/stash__cache_8h_source.html \
+    path=usr/share/doc/net-snmp/html/stash__cache_8h_source.html
+file build/$(MACH32)/docs/html/stash__to__next_8c_source.html \
+    path=usr/share/doc/net-snmp/html/stash__to__next_8c_source.html
+file build/$(MACH32)/docs/html/stash__to__next_8h_source.html \
+    path=usr/share/doc/net-snmp/html/stash__to__next_8h_source.html
+file build/$(MACH32)/docs/html/strlcat_8c_source.html \
+    path=usr/share/doc/net-snmp/html/strlcat_8c_source.html
+file build/$(MACH32)/docs/html/strlcpy_8c_source.html \
+    path=usr/share/doc/net-snmp/html/strlcpy_8c_source.html
+file build/$(MACH32)/docs/html/strtok__r_8c_source.html \
+    path=usr/share/doc/net-snmp/html/strtok__r_8c_source.html
+file build/$(MACH32)/docs/html/strtol_8c_source.html \
+    path=usr/share/doc/net-snmp/html/strtol_8c_source.html
+file build/$(MACH32)/docs/html/strtoul_8c_source.html \
+    path=usr/share/doc/net-snmp/html/strtoul_8c_source.html
+file build/$(MACH32)/docs/html/strtoull_8c_source.html \
+    path=usr/share/doc/net-snmp/html/strtoull_8c_source.html
+file build/$(MACH32)/docs/html/structDES__ks.html \
+    path=usr/share/doc/net-snmp/html/structDES__ks.html
+file build/$(MACH32)/docs/html/structMD5state__st.html \
+    path=usr/share/doc/net-snmp/html/structMD5state__st.html
+file build/$(MACH32)/docs/html/structMDstruct.html \
+    path=usr/share/doc/net-snmp/html/structMDstruct.html
+file build/$(MACH32)/docs/html/structSHA256state__st.html \
+    path=usr/share/doc/net-snmp/html/structSHA256state__st.html
+file build/$(MACH32)/docs/html/structSHA512state__st.html \
+    path=usr/share/doc/net-snmp/html/structSHA512state__st.html
+file build/$(MACH32)/docs/html/structSHAstate__st.html \
+    path=usr/share/doc/net-snmp/html/structSHAstate__st.html
+file build/$(MACH32)/docs/html/struct__InputParams.html \
+    path=usr/share/doc/net-snmp/html/struct__InputParams.html
+file build/$(MACH32)/docs/html/struct__PrefixList.html \
+    path=usr/share/doc/net-snmp/html/struct__PrefixList.html
+file build/$(MACH32)/docs/html/struct__agent__nsap.html \
+    path=usr/share/doc/net-snmp/html/struct__agent__nsap.html
+file build/$(MACH32)/docs/html/struct__dir__struc.html \
+    path=usr/share/doc/net-snmp/html/struct__dir__struc.html
+file build/$(MACH32)/docs/html/struct__netsnmpTLSBaseData__s.html \
+    path=usr/share/doc/net-snmp/html/struct__netsnmpTLSBaseData__s.html
+file build/$(MACH32)/docs/html/struct__netsnmp__verify__info__s.html \
+    path=usr/share/doc/net-snmp/html/struct__netsnmp__verify__info__s.html
+file build/$(MACH32)/docs/html/structaddrCache.html \
+    path=usr/share/doc/net-snmp/html/structaddrCache.html
+file build/$(MACH32)/docs/html/structaes__key__st.html \
+    path=usr/share/doc/net-snmp/html/structaes__key__st.html
+file build/$(MACH32)/docs/html/structagent__add__trap__args.html \
+    path=usr/share/doc/net-snmp/html/structagent__add__trap__args.html
+file build/$(MACH32)/docs/html/structagent__set__cache__s.html \
+    path=usr/share/doc/net-snmp/html/structagent__set__cache__s.html
+file build/$(MACH32)/docs/html/structautonlist.html \
+    path=usr/share/doc/net-snmp/html/structautonlist.html
+file build/$(MACH32)/docs/html/structbinary__array__iterator__s.html \
+    path=usr/share/doc/net-snmp/html/structbinary__array__iterator__s.html
+file build/$(MACH32)/docs/html/structbinary__array__table__s.html \
+    path=usr/share/doc/net-snmp/html/structbinary__array__table__s.html
+file build/$(MACH32)/docs/html/structcommitInfo.html \
+    path=usr/share/doc/net-snmp/html/structcommitInfo.html
+file build/$(MACH32)/docs/html/structconfig__files.html \
+    path=usr/share/doc/net-snmp/html/structconfig__files.html
+file build/$(MACH32)/docs/html/structconfig__line.html \
+    path=usr/share/doc/net-snmp/html/structconfig__line.html
+file build/$(MACH32)/docs/html/structcounter64.html \
+    path=usr/share/doc/net-snmp/html/structcounter64.html
+file build/$(MACH32)/docs/html/structdata__node__s.html \
+    path=usr/share/doc/net-snmp/html/structdata__node__s.html
+file build/$(MACH32)/docs/html/structdata__set__cache__s.html \
+    path=usr/share/doc/net-snmp/html/structdata__set__cache__s.html
+file build/$(MACH32)/docs/html/structdirect.html \
+    path=usr/share/doc/net-snmp/html/structdirect.html
+file build/$(MACH32)/docs/html/structenginetime__struct.html \
+    path=usr/share/doc/net-snmp/html/structenginetime__struct.html
+file build/$(MACH32)/docs/html/structenum__list.html \
+    path=usr/share/doc/net-snmp/html/structenum__list.html
+file build/$(MACH32)/docs/html/structget__req__state.html \
+    path=usr/share/doc/net-snmp/html/structget__req__state.html
+file build/$(MACH32)/docs/html/structindex__list.html \
+    path=usr/share/doc/net-snmp/html/structindex__list.html
+file build/$(MACH32)/docs/html/structksm__cache__entry.html \
+    path=usr/share/doc/net-snmp/html/structksm__cache__entry.html
+file build/$(MACH32)/docs/html/structksm__secStateRef.html \
+    path=usr/share/doc/net-snmp/html/structksm__secStateRef.html
+file build/$(MACH32)/docs/html/structlookup__cache__context__s.html \
+    path=usr/share/doc/net-snmp/html/structlookup__cache__context__s.html
+file build/$(MACH32)/docs/html/structmodule.html \
+    path=usr/share/doc/net-snmp/html/structmodule.html
+file build/$(MACH32)/docs/html/structmodule__compatability.html \
+    path=usr/share/doc/net-snmp/html/structmodule__compatability.html
+file build/$(MACH32)/docs/html/structmodule__import.html \
+    path=usr/share/doc/net-snmp/html/structmodule__import.html
+file build/$(MACH32)/docs/html/structmodule__init__list.html \
+    path=usr/share/doc/net-snmp/html/structmodule__init__list.html
+file build/$(MACH32)/docs/html/structmy__data__info__s.html \
+    path=usr/share/doc/net-snmp/html/structmy__data__info__s.html
+file build/$(MACH32)/docs/html/structmy__loop__info__s.html \
+    path=usr/share/doc/net-snmp/html/structmy__loop__info__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__addr__pair__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__addr__pair__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__agent__request__info__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__agent__request__info__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__agent__session__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__agent__session__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__baby__steps__access__methods__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__baby__steps__access__methods__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__baby__steps__modes__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__baby__steps__modes__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__cache__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__cache__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__cachemap__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__cachemap__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__column__info__t.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__column__info__t.html
+file build/$(MACH32)/docs/html/structnetsnmp__container__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__container__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__data__list__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__data__list__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__data__list__saveinfo__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__data__list__saveinfo__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__delegated__cache__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__delegated__cache__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__ds__read__config__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__ds__read__config__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__factory__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__factory__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__file__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__file__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__handler__args__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__handler__args__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__handler__registration__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__handler__registration__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__index__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__index__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__indexed__addr__pair__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__indexed__addr__pair__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__iterator__info__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__iterator__info__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__iterator__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__iterator__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__large__fd__set__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__large__fd__set__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__line__info__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__line__info__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__line__process__info__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__line__process__info__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__log__handler__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__log__handler__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__lookup__domain.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__lookup__domain.html
+file build/$(MACH32)/docs/html/structnetsnmp__lookup__target.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__lookup__target.html
+file build/$(MACH32)/docs/html/structnetsnmp__mib__handler__access__methods.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__mib__handler__access__methods.html
+file build/$(MACH32)/docs/html/structnetsnmp__mib__handler__methods.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__mib__handler__methods.html
+file build/$(MACH32)/docs/html/structnetsnmp__mib__handler__methods__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__mib__handler__methods__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__mib__handler__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__mib__handler__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__mode__handler__list__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__mode__handler__list__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__monitor__callback__cooperative__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__monitor__callback__cooperative__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__monitor__callback__header__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__monitor__callback__header__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__monitor__callback__set__request__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__monitor__callback__set__request__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__oid__stash__node__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__oid__stash__node__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__oid__stash__save__info__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__oid__stash__save__info__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__old__api__info__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__old__api__info__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__ref__size__t__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__ref__size__t__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__ref__void.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__ref__void.html
+file build/$(MACH32)/docs/html/structnetsnmp__request__group__item__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__request__group__item__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__request__group__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__request__group__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__request__info__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__request__info__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__row__merge__status__x.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__row__merge__status__x.html
+file build/$(MACH32)/docs/html/structnetsnmp__scalar__group__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__scalar__group__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__set__info__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__set__info__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__stash__cache__data__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__stash__cache__data__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__stash__cache__info__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__stash__cache__info__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__state__machine__input__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__state__machine__input__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__state__machine__step__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__state__machine__step__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__subtree__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__subtree__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__table__array__callbacks__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__table__array__callbacks__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__table__data__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__table__data__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__table__data__set__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__table__data__set__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__table__data__set__storage__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__table__data__set__storage__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__table__registration__info__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__table__registration__info__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__table__request__info__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__table__request__info__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__table__row__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__table__row__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__tdata__row__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__tdata__row__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__tdata__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__tdata__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__tdomain__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__tdomain__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__tmStateReference__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__tmStateReference__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__token__descr__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__token__descr__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__token__value__index__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__token__value__index__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__transport__config__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__transport__config__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__transport__list__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__transport__list__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__transport__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__transport__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__tree__cache__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__tree__cache__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__tsmSecurityReference__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__tsmSecurityReference__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__void__array__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__void__array__s.html
+file build/$(MACH32)/docs/html/structnetsnmp__watcher__info__s.html \
+    path=usr/share/doc/net-snmp/html/structnetsnmp__watcher__info__s.html
+file build/$(MACH32)/docs/html/structnewrow__stash__s.html \
+    path=usr/share/doc/net-snmp/html/structnewrow__stash__s.html
+file build/$(MACH32)/docs/html/structobjgroup.html \
+    path=usr/share/doc/net-snmp/html/structobjgroup.html
+file build/$(MACH32)/docs/html/structold__opi__cache__s.html \
+    path=usr/share/doc/net-snmp/html/structold__opi__cache__s.html
+file build/$(MACH32)/docs/html/structparse__hints.html \
+    path=usr/share/doc/net-snmp/html/structparse__hints.html
+file build/$(MACH32)/docs/html/structrange__list.html \
+    path=usr/share/doc/net-snmp/html/structrange__list.html
+file build/$(MACH32)/docs/html/structread__config__memory.html \
+    path=usr/share/doc/net-snmp/html/structread__config__memory.html
+file build/$(MACH32)/docs/html/structregister__parameters.html \
+    path=usr/share/doc/net-snmp/html/structregister__parameters.html
+file build/$(MACH32)/docs/html/structregister__sysOR__parameters.html \
+    path=usr/share/doc/net-snmp/html/structregister__sysOR__parameters.html
+file build/$(MACH32)/docs/html/structrowcreate__state__s.html \
+    path=usr/share/doc/net-snmp/html/structrowcreate__state__s.html
+file build/$(MACH32)/docs/html/structsession__list.html \
+    path=usr/share/doc/net-snmp/html/structsession__list.html
+file build/$(MACH32)/docs/html/structsl__container__s.html \
+    path=usr/share/doc/net-snmp/html/structsl__container__s.html
+file build/$(MACH32)/docs/html/structsnmp__alarm.html \
+    path=usr/share/doc/net-snmp/html/structsnmp__alarm.html
+file build/$(MACH32)/docs/html/structsnmp__enum__list.html \
+    path=usr/share/doc/net-snmp/html/structsnmp__enum__list.html
+file build/$(MACH32)/docs/html/structsnmp__gen__callback.html \
+    path=usr/share/doc/net-snmp/html/structsnmp__gen__callback.html
+file build/$(MACH32)/docs/html/structsnmp__internal__session.html \
+    path=usr/share/doc/net-snmp/html/structsnmp__internal__session.html
+file build/$(MACH32)/docs/html/structsnmp__log__message.html \
+    path=usr/share/doc/net-snmp/html/structsnmp__log__message.html
+file build/$(MACH32)/docs/html/structsnmp__pdu.html \
+    path=usr/share/doc/net-snmp/html/structsnmp__pdu.html
+file build/$(MACH32)/docs/html/structsnmp__secmod__def.html \
+    path=usr/share/doc/net-snmp/html/structsnmp__secmod__def.html
+file build/$(MACH32)/docs/html/structsnmp__secmod__incoming__params.html \
+    path=usr/share/doc/net-snmp/html/structsnmp__secmod__incoming__params.html
+file build/$(MACH32)/docs/html/structsnmp__secmod__list.html \
+    path=usr/share/doc/net-snmp/html/structsnmp__secmod__list.html
+file build/$(MACH32)/docs/html/structsnmp__secmod__outgoing__params.html \
+    path=usr/share/doc/net-snmp/html/structsnmp__secmod__outgoing__params.html
+file build/$(MACH32)/docs/html/structsnmp__session.html \
+    path=usr/share/doc/net-snmp/html/structsnmp__session.html
+file build/$(MACH32)/docs/html/structssll__iterator__s.html \
+    path=usr/share/doc/net-snmp/html/structssll__iterator__s.html
+file build/$(MACH32)/docs/html/structsubid__s.html \
+    path=usr/share/doc/net-snmp/html/structsubid__s.html
+file build/$(MACH32)/docs/html/structsubtree__context__cache__s.html \
+    path=usr/share/doc/net-snmp/html/structsubtree__context__cache__s.html
+file build/$(MACH32)/docs/html/structsynch__state.html \
+    path=usr/share/doc/net-snmp/html/structsynch__state.html
+file build/$(MACH32)/docs/html/structsysORTable.html \
+    path=usr/share/doc/net-snmp/html/structsysORTable.html
+file build/$(MACH32)/docs/html/structtable__container__data__s.html \
+    path=usr/share/doc/net-snmp/html/structtable__container__data__s.html
+file build/$(MACH32)/docs/html/structtc.html \
+    path=usr/share/doc/net-snmp/html/structtc.html
+file build/$(MACH32)/docs/html/structti__cache__info__s.html \
+    path=usr/share/doc/net-snmp/html/structti__cache__info__s.html
+file build/$(MACH32)/docs/html/structtok.html \
+    path=usr/share/doc/net-snmp/html/structtok.html
+file build/$(MACH32)/docs/html/structtree.html \
+    path=usr/share/doc/net-snmp/html/structtree.html
+file build/$(MACH32)/docs/html/structusmStateReference.html \
+    path=usr/share/doc/net-snmp/html/structusmStateReference.html
+file build/$(MACH32)/docs/html/structusmUser.html \
+    path=usr/share/doc/net-snmp/html/structusmUser.html
+file build/$(MACH32)/docs/html/structvacm__accessEntry.html \
+    path=usr/share/doc/net-snmp/html/structvacm__accessEntry.html
+file build/$(MACH32)/docs/html/structvacm__groupEntry.html \
+    path=usr/share/doc/net-snmp/html/structvacm__groupEntry.html
+file build/$(MACH32)/docs/html/structvacm__viewEntry.html \
+    path=usr/share/doc/net-snmp/html/structvacm__viewEntry.html
+file build/$(MACH32)/docs/html/structvarbind__list.html \
+    path=usr/share/doc/net-snmp/html/structvarbind__list.html
+file build/$(MACH32)/docs/html/structvariable.html \
+    path=usr/share/doc/net-snmp/html/structvariable.html
+file build/$(MACH32)/docs/html/structvariable1.html \
+    path=usr/share/doc/net-snmp/html/structvariable1.html
+file build/$(MACH32)/docs/html/structvariable13.html \
+    path=usr/share/doc/net-snmp/html/structvariable13.html
+file build/$(MACH32)/docs/html/structvariable2.html \
+    path=usr/share/doc/net-snmp/html/structvariable2.html
+file build/$(MACH32)/docs/html/structvariable3.html \
+    path=usr/share/doc/net-snmp/html/structvariable3.html
+file build/$(MACH32)/docs/html/structvariable4.html \
+    path=usr/share/doc/net-snmp/html/structvariable4.html
+file build/$(MACH32)/docs/html/structvariable7.html \
+    path=usr/share/doc/net-snmp/html/structvariable7.html
+file build/$(MACH32)/docs/html/structvariable8.html \
+    path=usr/share/doc/net-snmp/html/structvariable8.html
+file build/$(MACH32)/docs/html/structvariable__list.html \
+    path=usr/share/doc/net-snmp/html/structvariable__list.html
+file build/$(MACH32)/docs/html/structview__parameters.html \
+    path=usr/share/doc/net-snmp/html/structview__parameters.html
+file build/$(MACH32)/docs/html/sysORTable_8h_source.html \
+    path=usr/share/doc/net-snmp/html/sysORTable_8h_source.html
+file build/$(MACH32)/docs/html/system_8c_source.html \
+    path=usr/share/doc/net-snmp/html/system_8c_source.html
+file build/$(MACH32)/docs/html/system_8h_source.html \
+    path=usr/share/doc/net-snmp/html/system_8h_source.html
+file build/$(MACH32)/docs/html/tab_a.png \
+    path=usr/share/doc/net-snmp/html/tab_a.png
+file build/$(MACH32)/docs/html/tab_b.png \
+    path=usr/share/doc/net-snmp/html/tab_b.png
+file build/$(MACH32)/docs/html/tab_h.png \
+    path=usr/share/doc/net-snmp/html/tab_h.png
+file build/$(MACH32)/docs/html/tab_s.png \
+    path=usr/share/doc/net-snmp/html/tab_s.png
+file build/$(MACH32)/docs/html/table_8c_source.html \
+    path=usr/share/doc/net-snmp/html/table_8c_source.html
+file build/$(MACH32)/docs/html/table_8h_source.html \
+    path=usr/share/doc/net-snmp/html/table_8h_source.html
+file build/$(MACH32)/docs/html/table__array_8c_source.html \
+    path=usr/share/doc/net-snmp/html/table__array_8c_source.html
+file build/$(MACH32)/docs/html/table__array_8h_source.html \
+    path=usr/share/doc/net-snmp/html/table__array_8h_source.html
+file build/$(MACH32)/docs/html/table__container_8c_source.html \
+    path=usr/share/doc/net-snmp/html/table__container_8c_source.html
+file build/$(MACH32)/docs/html/table__container_8h_source.html \
+    path=usr/share/doc/net-snmp/html/table__container_8h_source.html
+file build/$(MACH32)/docs/html/table__data_8c_source.html \
+    path=usr/share/doc/net-snmp/html/table__data_8c_source.html
+file build/$(MACH32)/docs/html/table__data_8h_source.html \
+    path=usr/share/doc/net-snmp/html/table__data_8h_source.html
+file build/$(MACH32)/docs/html/table__dataset_8c_source.html \
+    path=usr/share/doc/net-snmp/html/table__dataset_8c_source.html
+file build/$(MACH32)/docs/html/table__dataset_8h_source.html \
+    path=usr/share/doc/net-snmp/html/table__dataset_8h_source.html
+file build/$(MACH32)/docs/html/table__generic_8c_source.html \
+    path=usr/share/doc/net-snmp/html/table__generic_8c_source.html
+file build/$(MACH32)/docs/html/table__iterator_8c_source.html \
+    path=usr/share/doc/net-snmp/html/table__iterator_8c_source.html
+file build/$(MACH32)/docs/html/table__iterator_8h.html \
+    path=usr/share/doc/net-snmp/html/table__iterator_8h.html
+file build/$(MACH32)/docs/html/table__iterator_8h_source.html \
+    path=usr/share/doc/net-snmp/html/table__iterator_8h_source.html
+file build/$(MACH32)/docs/html/table__row_8c_source.html \
+    path=usr/share/doc/net-snmp/html/table__row_8c_source.html
+file build/$(MACH32)/docs/html/table__tdata_8c_source.html \
+    path=usr/share/doc/net-snmp/html/table__tdata_8c_source.html
+file build/$(MACH32)/docs/html/table__tdata_8h_source.html \
+    path=usr/share/doc/net-snmp/html/table__tdata_8h_source.html
+file build/$(MACH32)/docs/html/tabs.css \
+    path=usr/share/doc/net-snmp/html/tabs.css
+file build/$(MACH32)/docs/html/testing_8h_source.html \
+    path=usr/share/doc/net-snmp/html/testing_8h_source.html
+file build/$(MACH32)/docs/html/text__utils_8c_source.html \
+    path=usr/share/doc/net-snmp/html/text__utils_8c_source.html
+file build/$(MACH32)/docs/html/text__utils_8h_source.html \
+    path=usr/share/doc/net-snmp/html/text__utils_8h_source.html
+file build/$(MACH32)/docs/html/todo.html \
+    path=usr/share/doc/net-snmp/html/todo.html
+file build/$(MACH32)/docs/html/tools_8c_source.html \
+    path=usr/share/doc/net-snmp/html/tools_8c_source.html
+file build/$(MACH32)/docs/html/tools_8h.html \
+    path=usr/share/doc/net-snmp/html/tools_8h.html
+file build/$(MACH32)/docs/html/tools_8h_source.html \
+    path=usr/share/doc/net-snmp/html/tools_8h_source.html
+file build/$(MACH32)/docs/html/transform__oids_8h_source.html \
+    path=usr/share/doc/net-snmp/html/transform__oids_8h_source.html
+file build/$(MACH32)/docs/html/types_8h_source.html \
+    path=usr/share/doc/net-snmp/html/types_8h_source.html
+file build/$(MACH32)/docs/html/ucd-snmp-includes_8h_source.html \
+    path=usr/share/doc/net-snmp/html/ucd-snmp-includes_8h_source.html
+file build/$(MACH32)/docs/html/ucdDemoPublic_8c_source.html \
+    path=usr/share/doc/net-snmp/html/ucdDemoPublic_8c_source.html
+file build/$(MACH32)/docs/html/ucdDemoPublic_8h_source.html \
+    path=usr/share/doc/net-snmp/html/ucdDemoPublic_8h_source.html
+file build/$(MACH32)/docs/html/ucd__compat_8c_source.html \
+    path=usr/share/doc/net-snmp/html/ucd__compat_8c_source.html
+file build/$(MACH32)/docs/html/ucd__compat_8h_source.html \
+    path=usr/share/doc/net-snmp/html/ucd__compat_8h_source.html
+file build/$(MACH32)/docs/html/unionnetsnmp__cvalue.html \
+    path=usr/share/doc/net-snmp/html/unionnetsnmp__cvalue.html
+file build/$(MACH32)/docs/html/unionnetsnmp__sockaddr__storage__u.html \
+    path=usr/share/doc/net-snmp/html/unionnetsnmp__sockaddr__storage__u.html
+file build/$(MACH32)/docs/html/unionnetsnmp__vardata.html \
+    path=usr/share/doc/net-snmp/html/unionnetsnmp__vardata.html
+file build/$(MACH32)/docs/html/utilities_8h_source.html \
+    path=usr/share/doc/net-snmp/html/utilities_8h_source.html
+file build/$(MACH32)/docs/html/vacm_8c_source.html \
+    path=usr/share/doc/net-snmp/html/vacm_8c_source.html
+file build/$(MACH32)/docs/html/vacm_8h_source.html \
+    path=usr/share/doc/net-snmp/html/vacm_8h_source.html
+file build/$(MACH32)/docs/html/var__struct_8h_source.html \
+    path=usr/share/doc/net-snmp/html/var__struct_8h_source.html
+file build/$(MACH32)/docs/html/varbind__api_8h_source.html \
+    path=usr/share/doc/net-snmp/html/varbind__api_8h_source.html
+file build/$(MACH32)/docs/html/version_8h_source.html \
+    path=usr/share/doc/net-snmp/html/version_8h_source.html
+file build/$(MACH32)/docs/html/watched_8c-example.html \
+    path=usr/share/doc/net-snmp/html/watched_8c-example.html
+file build/$(MACH32)/docs/html/watched_8c_source.html \
+    path=usr/share/doc/net-snmp/html/watched_8c_source.html
+file build/$(MACH32)/docs/html/watched_8h_source.html \
+    path=usr/share/doc/net-snmp/html/watched_8h_source.html
+file build/$(MACH32)/docs/html/watcher_8c_source.html \
+    path=usr/share/doc/net-snmp/html/watcher_8c_source.html
+file build/$(MACH32)/docs/html/watcher_8h_source.html \
+    path=usr/share/doc/net-snmp/html/watcher_8h_source.html
+file build/$(MACH32)/docs/html/winpipe_8c_source.html \
+    path=usr/share/doc/net-snmp/html/winpipe_8c_source.html
+file build/$(MACH32)/docs/html/winpipe_8h_source.html \
+    path=usr/share/doc/net-snmp/html/winpipe_8h_source.html
+file build/$(MACH32)/docs/html/winservice_8c_source.html \
+    path=usr/share/doc/net-snmp/html/winservice_8c_source.html
+file build/$(MACH32)/docs/html/winservice_8h_source.html \
+    path=usr/share/doc/net-snmp/html/winservice_8h_source.html
+file path=usr/share/man/man1/agentxtrap.1
+file path=usr/share/man/man1/encode_keychange.1
+file path=usr/share/man/man1/fixproc.1
+file path=usr/share/man/man1/mib2c-update.1
+file path=usr/share/man/man1/mib2c.1
+file path=usr/share/man/man1/net-snmp-config.1
+file path=usr/share/man/man1/net-snmp-create-v3-user.1
+file path=usr/share/man/man1/snmp-bridge-mib.1
+file path=usr/share/man/man1/snmpbulkget.1
+file path=usr/share/man/man1/snmpbulkwalk.1
+file path=usr/share/man/man1/snmpcmd.1
+file path=usr/share/man/man1/snmpconf.1
+file path=usr/share/man/man1/snmpdelta.1
+file path=usr/share/man/man1/snmpdf.1
+file path=usr/share/man/man1/snmpget.1
+file path=usr/share/man/man1/snmpgetnext.1
+file path=usr/share/man/man1/snmpinform.1
+file path=usr/share/man/man1/snmpnetstat.1
+file path=usr/share/man/man1/snmpset.1
+file path=usr/share/man/man1/snmptable.1
+file path=usr/share/man/man1/snmptest.1
+file path=usr/share/man/man1/snmptranslate.1
+file path=usr/share/man/man1/snmptrap.1
+file path=usr/share/man/man1/snmpusm.1
+file path=usr/share/man/man1/snmpvacm.1
+file path=usr/share/man/man1/snmpwalk.1
+file path=usr/share/man/man1/tkmib.1
+file path=usr/share/man/man1/traptoemail.1
+file path=usr/share/man/man3/add_mibdir.3
+file path=usr/share/man/man3/add_module_replacement.3
+file path=usr/share/man/man3/config_perror.3
+file path=usr/share/man/man3/config_pwarn.3
+file path=usr/share/man/man3/default_store.3
+file path=usr/share/man/man3/fprint_description.3
+file path=usr/share/man/man3/fprint_objid.3
+file path=usr/share/man/man3/fprint_value.3
+file path=usr/share/man/man3/fprint_variable.3
+file path=usr/share/man/man3/get_module_node.3
+file path=usr/share/man/man3/netsnmp_agent_api.3
+file path=usr/share/man/man3/netsnmp_config_api.3
+file path=usr/share/man/man3/netsnmp_init_mib.3
+file path=usr/share/man/man3/netsnmp_mib_api.3
+file path=usr/share/man/man3/netsnmp_pdu_api.3
+file path=usr/share/man/man3/netsnmp_read_module.3
+file path=usr/share/man/man3/netsnmp_sess_api.3
+file path=usr/share/man/man3/netsnmp_session_api.3
+file path=usr/share/man/man3/netsnmp_trap_api.3
+file path=usr/share/man/man3/netsnmp_varbind_api.3
+file path=usr/share/man/man3/print_description.3
+file path=usr/share/man/man3/print_mib.3
+file path=usr/share/man/man3/print_objid.3
+file path=usr/share/man/man3/print_value.3
+file path=usr/share/man/man3/print_variable.3
+file path=usr/share/man/man3/read_all_mibs.3
+file path=usr/share/man/man3/read_config_print_usage.3
+file path=usr/share/man/man3/read_configs.3
+file path=usr/share/man/man3/read_mib.3
+file path=usr/share/man/man3/read_objid.3
+file path=usr/share/man/man3/read_premib_configs.3
+file path=usr/share/man/man3/register_app_config_handler.3
+file path=usr/share/man/man3/register_app_prenetsnmp_mib_handler.3
+file path=usr/share/man/man3/register_config_handler.3
+file path=usr/share/man/man3/register_const_config_handler.3
+file path=usr/share/man/man3/register_mib_handlers.3
+file path=usr/share/man/man3/register_prenetsnmp_mib_handler.3
+file path=usr/share/man/man3/send_easy_trap.3
+file path=usr/share/man/man3/send_trap_vars.3
+file path=usr/share/man/man3/send_v2trap.3
+file path=usr/share/man/man3/shutdown_mib.3
+file path=usr/share/man/man3/snmp_add_null_var.3
+file path=usr/share/man/man3/snmp_alarm.3
+file path=usr/share/man/man3/snmp_alarm_register.3
+file path=usr/share/man/man3/snmp_alarm_register_hr.3
+file path=usr/share/man/man3/snmp_alarm_unregister.3
+file path=usr/share/man/man3/snmp_api_errstring.3
+file path=usr/share/man/man3/snmp_clone_pdu.3
+file path=usr/share/man/man3/snmp_close.3
+file path=usr/share/man/man3/snmp_error.3
+file path=usr/share/man/man3/snmp_fix_pdu.3
+file path=usr/share/man/man3/snmp_free_pdu.3
+file path=usr/share/man/man3/snmp_free_var.3
+file path=usr/share/man/man3/snmp_free_varbind.3
+file path=usr/share/man/man3/snmp_open.3
+file path=usr/share/man/man3/snmp_parse_oid.3
+file path=usr/share/man/man3/snmp_pdu_add_variable.3
+file path=usr/share/man/man3/snmp_pdu_create.3
+file path=usr/share/man/man3/snmp_perror.3
+file path=usr/share/man/man3/snmp_read.3
+file path=usr/share/man/man3/snmp_select_info.3
+file path=usr/share/man/man3/snmp_send.3
+file path=usr/share/man/man3/snmp_sess_async_send.3
+file path=usr/share/man/man3/snmp_sess_close.3
+file path=usr/share/man/man3/snmp_sess_error.3
+file path=usr/share/man/man3/snmp_sess_init.3
+file path=usr/share/man/man3/snmp_sess_open.3
+file path=usr/share/man/man3/snmp_sess_perror.3
+file path=usr/share/man/man3/snmp_sess_read.3
+file path=usr/share/man/man3/snmp_sess_select_info.3
+file path=usr/share/man/man3/snmp_sess_send.3
+file path=usr/share/man/man3/snmp_sess_session.3
+file path=usr/share/man/man3/snmp_sess_timeout.3
+file path=usr/share/man/man3/snmp_set_mib_errors.3
+file path=usr/share/man/man3/snmp_set_mib_warnings.3
+file path=usr/share/man/man3/snmp_set_save_descriptions.3
+file path=usr/share/man/man3/snmp_set_var_objid.3
+file path=usr/share/man/man3/snmp_set_var_typed_integer.3
+file path=usr/share/man/man3/snmp_set_var_typed_value.3
+file path=usr/share/man/man3/snmp_set_var_value.3
+file path=usr/share/man/man3/snmp_timeout.3
+file path=usr/share/man/man3/snmp_varlist_add_variable.3
+file path=usr/share/man/man3/snprint_description.3
+file path=usr/share/man/man3/snprint_objid.3
+file path=usr/share/man/man3/snprint_value.3
+file path=usr/share/man/man3/snprint_variable.3
+file path=usr/share/man/man3/unregister_all_config_handlers.3
+file path=usr/share/man/man3/unregister_app_config_handler.3
+file path=usr/share/man/man3/unregister_config_handler.3
+file path=usr/share/man/man5/mib2c.conf.5
+file path=usr/share/man/man5/snmp.conf.5
+file path=usr/share/man/man5/snmp_config.5
+file path=usr/share/man/man5/snmpd.conf.5
+file path=usr/share/man/man5/snmpd.examples.5
+file path=usr/share/man/man5/snmpd.internal.5
+file path=usr/share/man/man5/snmptrapd.conf.5
+file path=usr/share/man/man5/variables.5
+# The page masfcnv.8 is pre-Solarified, so no mangling needed.
+file $(MACH32)/sun/masfcnv.8 path=usr/share/man/man8/masfcnv.8 \
+    mangler.bypass=true
+file path=usr/share/man/man8/snmpd.8
+file path=usr/share/man/man8/snmptrapd.8
+license COPYING license="BSD, BSD-like"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/net-snmp.xml	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,157 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<!--
+    CDDL HEADER START
+   
+    The contents of this file are subject to the terms of the
+    Common Development and Distribution License (the "License").
+    You may not use this file except in compliance with the License.
+   
+    You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+    or http://www.opensolaris.org/os/licensing.
+    See the License for the specific language governing permissions
+    and limitations under the License.
+   
+    When distributing Covered Code, include this CDDL HEADER in each
+    file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+    If applicable, add the following below this CDDL HEADER, with the
+    fields enclosed by brackets "[]" replaced with your own identifying
+    information: Portions Copyright [yyyy] [name of copyright owner]
+   
+    CDDL HEADER END
+   
+    Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
+
+    NOTE:  This service description is not editable; its contents
+    may be overwritten by package or patch operations, including
+    operating system upgrade.  Make customizations in a different
+    file.
+
+    Service manifest for the net-snmp daemon
+-->
+
+<service_bundle type='manifest' name='SUNWnet-snmp-core:net-snmp'>
+
+<service
+	name='application/management/net-snmp'
+	type='service'
+	version='1'>
+
+	<create_default_instance enabled='false' />
+
+	<single_instance />
+
+	<dependency
+		name='multi-user'
+		grouping='require_all'
+		restart_on='none'
+		type='service'> 
+		<service_fmri value='svc:/milestone/multi-user' />
+	</dependency>
+
+	<!-- Need / & /usr filesystems mounted, /var mounted read/write -->
+	<dependency
+		name='fs-local'
+		type='service'
+		grouping='require_all'
+		restart_on='none'>
+			<service_fmri value='svc:/system/filesystem/local' />
+	</dependency>
+
+	<dependency
+		name='name-services'
+		grouping='optional_all'
+		restart_on='none'
+		type='service'>
+		<service_fmri value='svc:/milestone/name-services' />
+	</dependency>
+
+	<dependency
+		name='system-log'
+		grouping='optional_all'
+		restart_on='none'
+		type='service'>
+		<service_fmri value='svc:/system/system-log' />
+	</dependency>
+
+	<dependency
+		name='rstat'
+		grouping='optional_all'
+		restart_on='none'
+		type='service'>
+		<service_fmri value='svc:/network/rpc/rstat' />
+	</dependency>
+
+	<dependency name='cryptosvc'
+		grouping='require_all'
+		restart_on='restart'
+		type='service'>
+			<service_fmri value='svc:/system/cryptosvc' />
+	</dependency>
+
+	<dependency
+		name='network'
+		grouping='require_all'
+		restart_on='restart'
+		type='service'>
+			<service_fmri value='svc:/milestone/network' />
+	</dependency>
+
+	<dependency
+		name='config-file'
+		grouping='require_all'
+		restart_on='refresh'
+		type='path'>
+			<service_fmri 
+			   value='file://localhost/etc/net-snmp/snmp/snmpd.conf' />
+	</dependency>
+
+	<exec_method
+        	type='method'
+		name='start'
+		exec='/lib/svc/method/svc-net-snmp'
+		timeout_seconds='60'>
+	</exec_method>
+
+	<exec_method
+       type='method'
+	   name='stop'
+	   exec=':kill'
+	   timeout_seconds='60'>
+	</exec_method>
+
+	<exec_method
+	   type='method'
+	   name='refresh'
+	   exec=':kill -HUP'
+	   timeout_seconds='60'>
+	</exec_method>
+
+	<property_group name='general' type='framework'>
+		<!-- to start/stop net-snmp -->
+		<propval name='action_authorization' type='astring'
+			value='solaris.smf.manage.net-snmp' />
+		<propval name='value_authorization' type='astring'
+			value='solaris.smf.manage.net-snmp' />
+		<propval name='arch_type' type='integer' value='0' />
+	</property_group>
+	
+	<stability value='Unstable' />
+
+	<template>
+		<common_name>
+			<loctext xml:lang='C'>
+			net-snmp SNMP daemon
+			</loctext>
+		</common_name>
+
+		<documentation>
+			<manpage title='snmpd' section='8' 
+			    manpath='/usr/share/man/' />
+		</documentation>
+
+	</template>
+
+</service>
+
+</service_bundle>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/002.pkcs.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,37 @@
+Following patch is a fix for a bug in libnetsnmp which, under certain
+circumstances, causes a core dump during snmp_shutdown.
+
+(Upstream Bug) #2374 net-snmp is coring when stopped
+=====================================================================
+--- net-snmp-5.4.1/snmplib/pkcs.c	Tue Mar  5 17:29:50 2013
++++ net-snmp-5.4.1/snmplib/pkcs.mod.c	Tue Mar  5 17:35:30 2013
[email protected]@ -1,5 +1,5 @@
+ /*
+- * Copyright Copyright 2003 Sun Microsystems, Inc. All rights reserved.
++ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+  * Use is subject to license terms specified in the COPYING file
+  * distributed with the Net-SNMP package.
+  */
[email protected]@ -105,19 +105,13 @@
+ static int
+ free_slots(int majorID, int minorID, void *serverarg, void *clientarg)
+ {
+-    int            slotcount, i;
++    (void) C_Finalize(NULL);
+ 
+     if (pSlot != NULL) {
+-        slotcount = pSlot->count;
+-        for (i = 0; i < slotcount; i++) {
+-            if (pSlot->pSession->hdl != NULL) {
+-                free(pSlot->pSession->hdl);
+-            }
+-        }
+-        free(pSlot);
++        SNMP_FREE(pSlot->pSession);
++        SNMP_FREE(pSlot);
+     }
+ 
+-    (void) C_Finalize(NULL);
+     return 0;
+ }
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/008.ip-mib.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,13 @@
+--- net-snmp-5.4.1/agent/mibgroup/mibII.h	(revision 16428)
++++ net-snmp-5.4.1-patch/agent/mibgroup/mibII.h	(working copy)
[email protected]@ -30,3 +30,10 @@
+ #if defined( linux )
+ config_require(ip-mib ip-forward-mib tcp-mib udp-mib)
+ #endif
++
++/*
++ * For Solaris, enable additional tables.
++ */
++#if defined( solaris2 )
++config_require(ip-mib/ipSystemStatsTable ip-mib/ipAddressTable)
++#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/009.ltmain.sh.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,25 @@
+# RPATH issues when upgrading net-snmp to version 5.4.1
+#
+# Developed in-house. Solaris-specific; not suitable for upstream
+--- net-snmp-5.7.2/ltmain.sh	Sun Dec 30 23:42:05 2012
++++ net-snmp-5.7.2/ltmain.sh	Sun Dec 30 23:49:01 2012
[email protected]@ -5406,7 +5406,9 @@
+ 	  if test "$prev" = rpath; then
+ 	    case "$rpath " in
+ 	    *" $arg "*) ;;
+-	    *) func_append rpath " $arg" ;;
++	    *) func_append rpath " $arg"
++		# This is make sure only $libdir path is encoded in RUNPATH
++			sma_rpath="$rpath" ;;
+ 	    esac
+ 	  else
+ 	    case "$xrpath " in
[email protected]@ -8046,7 +8048,7 @@
+ 		fi
+ 	      else
+ 		eval flag=\"$hardcode_libdir_flag_spec\"
+-		func_append dep_rpath " $flag"
++#func_append dep_rpath " $flag"
+ 	      fi
+ 	    elif test -n "$runpath_var"; then
+ 	      case "$perm_rpath " in
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/010.if-mib-zone.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,90 @@
+--- net-snmp-5.4.1/agent/mibgroup/kernel_sunos5.c	2009-05-11 15:32:06.000000000 -0700
++++ net-snmp-5.4.1.fix/agent/mibgroup/kernel_sunos5.c	2009-05-11 16:47:40.637063871 -0700
[email protected]@ -170,7 +170,7 @@
+       size_t *length, int (*comp)(void *, void *), void *arg);
+ static void 
+ set_if_info(mib2_ifEntry_t *ifp, unsigned index, char *name, uint64_t flags,
+-            int mtu);
++            boolean_t flags_unknown, int mtu);
+ static int get_if_stats(mib2_ifEntry_t *ifp);
+ 
+ #if defined(HAVE_IF_NAMEINDEX) && defined(NETSNMP_INCLUDE_IFTABLE_REWRITES)
[email protected]@ -1332,8 +1332,9 @@
+     mib2_ifEntry_t *ifp;
+     int             nentries = size / sizeof(mib2_ifEntry_t);
+     found_e         result = NOT_FOUND;
+-    boolean_t       if_isv6;
++    boolean_t       if_isv6, flags_unknown;
+     uint64_t        if_flags;    
++    short           mtu = 0;
+     struct if_nameindex *ifname, *ifnp;
+ 
+     lifrp = &lifreq; 
[email protected]@ -1365,6 +1366,7 @@
+         memcpy(lifrp->lifr_name, ifnp->if_name, LIFNAMSIZ);
+         if_isv6 = B_FALSE;
+ 
++        flags_unknown = B_FALSE;
+         if (ioctl(ifsd, SIOCGLIFFLAGS, lifrp) < 0) {
+             if (ifsd6 == -1) {
+                 if ((ifsd6 = socket(AF_INET6, SOCK_DGRAM, 0)) < 0) {
[email protected]@ -1373,17 +1375,19 @@
+                 }
+             }
+             if (ioctl(ifsd6, SIOCGLIFFLAGS, lifrp) < 0) {
+-                snmp_log(LOG_ERR, "SIOCGLIFFLAGS %s: %s\n", 
+-                         lifrp->lifr_name, strerror(errno));
+-                continue;
++                DEBUGMSGTL(("kernel_sunos5",
++                            "...... SIOCGLIFFLAGS failed\n"));
++                flags_unknown = B_TRUE;
+             }
+             if_isv6 = B_TRUE;
+         } 
+         if_flags = lifrp->lifr_flags;
+             
+         if (ioctl(if_isv6?ifsd6:ifsd, SIOCGLIFMTU, lifrp) < 0) {
++            mtu = 0;
+             DEBUGMSGTL(("kernel_sunos5", "...... SIOCGLIFMTU failed\n"));
+-            continue;
++        } else {
++            mtu = lifrp->lifr_mtu;
+         }
+ 
+         memset(ifp, 0, sizeof(mib2_ifEntry_t));
[email protected]@ -1398,11 +1402,12 @@
+         }
+ 
+         set_if_info(ifp, ifnp->if_index, ifnp->if_name, if_flags, 
+-                    lifrp->lifr_metric);
++                    flags_unknown, mtu);
+ 
+         if (get_if_stats(ifp) < 0) {
++            snmp_log(LOG_ERR, "Failed to get interface statistics for %s\n",
++                     ifnp->if_name);
+             DEBUGMSGTL(("kernel_sunos5", "...... get_if_stats failed\n"));
+-            continue;
+         }
+ 
+         /*
[email protected]@ -1581,7 +1586,7 @@
+ 
+ static void
+ set_if_info(mib2_ifEntry_t *ifp, unsigned index, char *name, uint64_t flags,
+-            int mtu)
++            boolean_t flags_unknown, int mtu)
+ { 
+     boolean_t havespeed = B_FALSE;
+ 
[email protected]@ -1592,7 +1597,10 @@
+     ifp->ifDescr.o_length = strlen(name);
+     strcpy(ifp->ifDescr.o_bytes, name);
+     ifp->ifAdminStatus = (flags & IFF_UP) ? 1 : 2;
+-    ifp->ifOperStatus = ((flags & IFF_UP) && (flags & IFF_RUNNING)) ? 1 : 2;
++    if (flags_unknown)
++        ifp->ifOperStatus = 4; /* status unknown */
++    else
++        ifp->ifOperStatus = ((flags & IFF_UP) && (flags & IFF_RUNNING)) ? 1 : 2;
+     ifp->ifLastChange = 0;      /* Who knows ...  */
+     ifp->flags = flags;
+     ifp->ifMtu = mtu;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/011.Makefile.in.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,74 @@
+#
+# The Net-SNMP libraries are built without -zdefs and are missing a large
+# number of dependency specifications (DT_NEEDED).  This makes it
+# impossible to build plugin modules against these libraries using
+# -zdefs, which should work. One such example is FMA in ON gate. 
+# Solaris-specific; not suitable for upstream
+#
+--- net-snmp-5.7.2/agent/Makefile.in	Tue Oct  9 15:28:58 2012
++++ net-snmp-5.7.2/agent/Makefile.in	Sun Dec 30 23:58:44 2012
[email protected]@ -274,9 +274,13 @@
+ LOBJS		= $(LLIBAGENTOBJS) $(LAGENTOBJS) mib_modules.lo auto_nlist.lo
+ FTOBJS		= $(LLIBAGENTFTS) $(FTAGENTOBJS) mib_modules.ft auto_nlist.ft
+ 
++LIB_LD_ADD_AGENT   =-lnetsnmp -lnetsnmphelpers
++
++LIB_LD_ADD_PATH_MIBS   =-Lhelpers -L../snmplib
++
+ FEATUREFILE     = $(top_builddir)/include/net-snmp/agent/features.h
+ 
+-all: agentlib subdirs miblib $(INSTALLBINPROGS) $(INSTALLSBINPROGS)
++all: agentlib subdirs miblib relinklib $(INSTALLBINPROGS) $(INSTALLSBINPROGS)
+ 
+ #
+ # build stuff targets
[email protected]@ -306,6 +310,10 @@
+ 
+ agentlib: $(AGENTLIB)
+ 
++relinklib:	${LLIBAGENTOBJS} $(USELIBS)
++	$(LIB_LD_CMD) $(AGENTLIB) $(LIB_LD_ADD_PATH_MIBS) ${LLIBAGENTOBJS} $(USELIBS) ${LAGENTLIBS} $(LDFLAGS) $(PERLLDOPTS_FOR_LIBS) $(LIB_LD_LIBS) $(LIB_LD_ADD_AGENT)
++	$(RANLIB) $(AGENTLIB) $(LIB_LD_ADD_AGENT)
++
+ miblib: $(MIBLIB)
+ 
+ libs: $(AGENTLIB) $(MIBLIB)
+--- net-snmp-5.7.2/agent/helpers/Makefile.in	Sun Dec 30 22:37:05 2012
++++ net-snmp-5.7.2/agent/helpers/Makefile.in	Mon Dec 31 00:02:37 2012
[email protected]@ -31,8 +31,11 @@
+ 
+ LOBJS = dummy.lo
+ 
++LIB_LD_ADD	=-lnetsnmp
++LIB_LD_ADD_PATH	=-L../../snmplib
++
+ all: standardall
+ 
+ libnetsnmphelpers.$(LIB_EXTENSION)$(LIB_VERSION):    $(LOBJS)
+-	$(LIB_LD_CMD) [email protected] $(LOBJS) @[email protected] $(LDFLAGS) $(LIB_LD_LIBS)
+-	$(RANLIB) [email protected]
++	$(LIB_LD_CMD) [email protected] $(LIB_LD_ADD_PATH) $(LOBJS) @[email protected] $(LDFLAGS) $(LIB_LD_LIBS) $(LIB_LD_ADD)
++	$(RANLIB) [email protected] $(LIB_LD_ADD)
+--- net-snmp-5.7.2/snmplib/Makefile.in	Sun Dec 30 22:37:08 2012
++++ net-snmp-5.7.2/agent/helpers/Makefile.in	Mon Dec 31 00:06:01 2012
[email protected]@ -221,6 +221,9 @@
+ # just in case someone wants to remove libtool, change this to OBJS.
+ TOBJS=$(LOBJS)
+ 
++# To satisfy -zdefs
++LIB_LD_ADD =-lnsl -lsocket -L$(libdir)
++
+ FEATUREFILE     = $(top_builddir)/include/net-snmp/library/features.h
+ 
+ # 
[email protected]@ -230,8 +233,8 @@
+ 
+ # how to build the libraries.
+ libnetsnmp.$(LIB_EXTENSION)$(LIB_VERSION):    $(TOBJS)
+-	$(LIB_LD_CMD) [email protected] $(TOBJS) @[email protected] $(LDFLAGS) @[email protected]
+-	$(RANLIB) [email protected]
++	$(LIB_LD_CMD) [email protected] $(TOBJS) @[email protected] $(LDFLAGS) @[email protected] } $(LIB_LD_ADD)
++	$(RANLIB) [email protected] $(LIB_LD_ADD)
+ 
+ libsnmp.$(LIB_EXTENSION)$(LIB_VERSION):    $(TOBJS)
+ 	$(LIB_LD_CMD) [email protected] $(TOBJS) @[email protected] $(LDFLAGS) @[email protected]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/012.Makefile.PL.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,11 @@
+--- net-snmp-5.4.1/perl/agent/Makefile.PL	Thu May 31 04:23:09 2007
++++ net-snmp-5.4.1.mod/perl/agent/Makefile.PL	Tue Jul  7 06:34:37 2009
[email protected]@ -90,7 +90,7 @@
+ 	    $Params{'LIBS'} = "-L../../snmplib/.libs -L../../snmplib/ -L../../agent/.libs -L../../agent/ -L../../agent/helpers/.libs -L../../agent/helpers/ " . $Params{'LIBS'};
+ 	    $Params{'CCFLAGS'} = "-I../../include " . $Params{'CCFLAGS'};
+ #	} else {
+-	    $Params{'LIBS'} = `$opts->{'nsconfig'} --libdir` . $Params{'LIBS'};
++	    $Params{'LIBS'} = $Params{'LIBS'} . `$opts->{'nsconfig'} --libdir` 
+ #	    $Params{'PREREQ_PM'} = {'NetSNMP::OID' => '0.1'};
+ 	}
+ 	$Params{'CCFLAGS'} =~ s/ -W(all|inline|strict-prototypes|write-strings|cast-qual|no-char-subscripts)//g; # ignore developer warnings
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/014.6801093.vmstat_solaris2.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,16 @@
+--- patch/net-snmp-5.4.1/agent/mibgroup/ucd-snmp/vmstat_solaris2.c	Thu Sep 14 17:48:50 2006
++++ net-snmp-5.4.1/agent/mibgroup/ucd-snmp/vmstat_solaris2.c	Tue Oct  6 02:03:44 2009
[email protected]@ -525,6 +525,13 @@
+         DEBUGMSGTL(("ucd-snmp/vmstat_solaris2.c:update_stats",
+                     "time_diff: %lld\n", time_diff));
+ 
++		/*
++		 * Assign a minimum value to get around divide by zero case
++		 */
++		if (time_diff == 0) {
++			time_diff = 1;
++		}
++
+         /*
+          * swapin and swapout are in pages, MIB wants kB/s,so we just need to get kB and seconds 
+          * For the others we need to get value per second 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/015.6956251.vmstat_solaris2.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,16 @@
+--- patch/net-snmp-5.4.1/agent/mibgroup/ucd-snmp/vmstat_solaris2.c	Tue Aug  3 06:04:52 2010
++++ net-snmp-5.4.1/agent/mibgroup/ucd-snmp/vmstat_solaris2.c	Wed Oct  6 01:27:48 2010
[email protected]@ -589,6 +589,13 @@
+             cpu_sum += (css_new->css_cpu[i] - css_old->css_cpu[i]);
+         }
+ 
++	/*
++	 * Assign a minimum value to get around divide by zero case
++	 */
++	if (cpu_sum == 0) {
++		cpu_sum = 1;
++	}
++
+         /*
+          * Now calculate the absolute percentage values 
+          * Looks somewhat complicated sometimes but tries to get around using floats to increase speed 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/016.6934478.vmstat_solaris2.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,72 @@
+--- patch/net-snmp-5.4.1/agent/mibgroup/ucd-snmp/vmstat_solaris2.c	Tue Oct 12 07:37:07 2010
++++ net-snmp-5.4.1/agent/mibgroup/ucd-snmp/vmstat_solaris2.c	Tue Oct 12 07:34:41 2010
[email protected]@ -709,7 +709,12 @@
+     case CPUIDLE:
+         return ((u_char *) (&cpu_perc[CPU_IDLE]));
+     case CPURAWUSER:
+-        take_snapshot(&raw_values);
++	/* Take the current snapshot */
++	if ((take_snapshot(&raw_values) == -1) && (raw_values.css_cpus == 0)) {
++		snmp_log(LOG_WARNING,
++		    "vmstat_solaris2 (var_extensible_vmstat): Something went wrong with take_snapshot.\n");
++		return (NULL);
++	}
+         /*
+          * LINTED has to be 'long' 
+          */
[email protected]@ -723,7 +728,12 @@
+          * (Has been changed to Counter32 in the latest MIB version!) 
+          */
+     case CPURAWSYSTEM:
+-        take_snapshot(&raw_values);
++	/* Take the current snapshot */
++	if ((take_snapshot(&raw_values) == -1) && (raw_values.css_cpus == 0)) {
++		snmp_log(LOG_WARNING,
++		    "vmstat_solaris2 (var_extensible_vmstat): Something went wrong with take_snapshot.\n");
++		return (NULL);
++	}
+         /*
+          * LINTED has to be 'long' 
+          */
[email protected]@ -732,7 +742,12 @@
+                      raw_values.css_cpu[CPU_WAIT]) / raw_values.css_cpus);
+         return ((u_char *) (&long_ret));
+     case CPURAWIDLE:
+-        take_snapshot(&raw_values);
++	/* Take the current snapshot */
++	if ((take_snapshot(&raw_values) == -1) && (raw_values.css_cpus == 0)) {
++		snmp_log(LOG_WARNING,
++		    "vmstat_solaris2 (var_extensible_vmstat): Something went wrong with take_snapshot.\n");
++		return (NULL);
++	}
+         /*
+          * LINTED has to be 'long' 
+          */
[email protected]@ -740,7 +755,12 @@
+             (long) (raw_values.css_cpu[CPU_IDLE] / raw_values.css_cpus);
+         return ((u_char *) (&long_ret));
+     case CPURAWWAIT:
+-        take_snapshot(&raw_values);
++	/* Take the current snapshot */
++	if ((take_snapshot(&raw_values) == -1) && (raw_values.css_cpus == 0)) {
++		snmp_log(LOG_WARNING,
++		    "vmstat_solaris2 (var_extensible_vmstat): Something went wrong with take_snapshot.\n");
++		return (NULL);
++	}
+         /*
+          * LINTED has to be 'long' 
+          */
[email protected]@ -748,7 +768,12 @@
+             (long) (raw_values.css_cpu[CPU_WAIT] / raw_values.css_cpus);
+         return ((u_char *) (&long_ret));
+     case CPURAWKERNEL:
+-        take_snapshot(&raw_values);
++	/* Take the current snapshot */
++	if ((take_snapshot(&raw_values) == -1) && (raw_values.css_cpus == 0)) {
++		snmp_log(LOG_WARNING,
++		    "vmstat_solaris2 (var_extensible_vmstat): Something went wrong with take_snapshot.\n");
++		return (NULL);
++	}
+         /*
+          * LINTED has to be 'long' 
+          */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/020.7018550.kernel_sunos5.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,29 @@
+--- net-snmp/agent/mibgroup/kernel_sunos5.c	Sat Apr 30 03:25:14 2011
++++ kernel_sunos5.c	Sat Apr 30 03:28:48 2011
[email protected]@ -86,7 +86,7 @@
+      0},
+     {MIB_AT, 0, (void *) -1, 0, 0, 0, 0},
+     {MIB_IP, sizeof(mib2_ip_t), (void *) -1, 0, 60, 0, 0},
+-    {MIB_IP_ADDR, 20 * sizeof(mib2_ipAddrEntry_t), (void *) -1, 0, 60, 0,
++    {MIB_IP_ADDR, 50 * sizeof(mib2_ipAddrEntry_t), (void *) -1, 0, 60, 0,
+      0},
+     {MIB_IP_ROUTE, 200 * sizeof(mib2_ipRouteEntry_t), (void *) -1, 0, 30,
+      0, 0},
[email protected]@ -105,13 +105,13 @@
+     {MIB_SNMP, 0, (void *) -1, 0, 0, 0, 0},
+ #ifdef SOLARIS_HAVE_IPV6_MIB_SUPPORT
+ #ifdef SOLARIS_HAVE_RFC4293_SUPPORT
+-    {MIB_IP_TRAFFIC_STATS, 20 * sizeof(mib2_ipIfStatsEntry_t), (void *)-1, 0,
++    {MIB_IP_TRAFFIC_STATS, 50 * sizeof(mib2_ipIfStatsEntry_t), (void *)-1, 0,
+      30, 0, 0},
+-    {MIB_IP6, 20 * sizeof(mib2_ipIfStatsEntry_t), (void *)-1, 0, 30, 0, 0},
++    {MIB_IP6, 50 * sizeof(mib2_ipIfStatsEntry_t), (void *)-1, 0, 30, 0, 0},
+ #else
+-    {MIB_IP6, 20 * sizeof(mib2_ipv6IfStatsEntry_t), (void *)-1, 0, 30, 0, 0},
++    {MIB_IP6, 50 * sizeof(mib2_ipv6IfStatsEntry_t), (void *)-1, 0, 30, 0, 0},
+ #endif
+-    {MIB_IP6_ADDR, 20 * sizeof(mib2_ipv6AddrEntry_t), (void *)-1, 0, 30, 0, 0},
++    {MIB_IP6_ADDR, 50 * sizeof(mib2_ipv6AddrEntry_t), (void *)-1, 0, 30, 0, 0},
+     {MIB_TCP6_CONN, 1000 * sizeof(mib2_tcp6ConnEntry_t), (void *) -1, 0, 30,
+      0, 0},
+     {MIB_UDP6_ENDPOINT, 1000 * sizeof(mib2_udp6Entry_t), (void *) -1, 0, 30,
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/021.7027183.kernel_sunos5.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,11 @@
+--- net-snmp/agent/mibgroup/kernel_sunos5.c	Wed Aug 17 09:14:14 2011
++++ net-snmp/agent/mibgroup/kernel_sunos5.c	Wed Aug 17 09:17:24 2011
[email protected]@ -88,7 +88,7 @@
+      0},
+     {MIB_IP_ROUTE, 200 * sizeof(mib2_ipRouteEntry_t), (void *) -1, 0, 30,
+      0, 0},
+-    {MIB_IP_NET, 100 * sizeof(mib2_ipNetToMediaEntry_t), (void *) -1, 0,
++    {MIB_IP_NET, 400 * sizeof(mib2_ipNetToMediaEntry_t), (void *) -1, 0,
+      300, 0, 0},
+     {MIB_ICMP, sizeof(mib2_icmp_t), (void *) -1, 0, 60, 0, 0},
+     {MIB_TCP, sizeof(mib2_tcp_t), (void *) -1, 0, 60, 0, 0},
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/023.6438650.python.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,11 @@
+--- net-snmp-5.4.1/Makefile.in.orig	2012-03-21 09:36:23.148069679 -0700
++++ net-snmp-5.4.1/Makefile.in	2012-03-21 09:36:56.194195238 -0700
[email protected]@ -207,7 +207,7 @@
+         fi
+ 
+ pythoninstall:
+-	@(dir=`pwd`; cd python; $(PYMAKE) install --basedir=$$dir) ; \
++	@(dir=`pwd`; cd python; $(PYMAKE) install --basedir=$$dir --root $(DESTDIR) --install-lib=$(PYTHON_VENDOR_PACKAGES)) ; \
+         if test $$? != 0 ; then \
+            exit 1 ; \
+         fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/024.7119673,7127371.kernel_sunos5.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,171 @@
+--- net-snmp-5.4.1/agent/mibgroup/kernel_sunos5.c	Tue Apr 24 14:13:10 2012
++++ kernel_sunos5.c.latest	Tue Apr 24 14:11:58 2012
[email protected]@ -1045,18 +1045,21 @@
+ static int
+ _dlpi_open(const char *devname)
+ {
+-    char *devstr;
++    char devstr[255], devstrcpy[255];
+     int fd = -1;
+     int ppa = -1;
++    int ret = -1; 	
+ 
+     DEBUGMSGTL(("kernel_sunos5", "_dlpi_open called\n"));
+ 
+     if (devname == NULL)
+-        return (-1);
++	return (-1);
++    
++    ret = snprintf(devstr, sizeof(devstr), "/dev/%s", devname);
+ 
+-    if ((devstr = malloc(5 + strlen(devname) + 1)) == NULL)
+-        return (-1);
+-    (void) sprintf(devstr, "/dev/%s", devname);
++    if(ret < 0 || ret > sizeof(devstr) - 1)
++	return -1;
++    
+     DEBUGMSGTL(("kernel_sunos5:dlpi", "devstr(%s)\n", devstr));
+     /*
+      * First try opening the device using style 1, if the device does not
[email protected]@ -1067,13 +1070,49 @@
+     DEBUGMSGTL(("kernel_sunos5:dlpi", "style1 open(%s)\n", devstr));
+     if ((fd = open(devstr, O_RDWR | O_NONBLOCK)) < 0) {
+         DEBUGMSGTL(("kernel_sunos5:dlpi", "style1 open failed\n"));
+-        if (_dlpi_parse_devname(devstr, &ppa) == 0) {
+-            DEBUGMSGTL(("kernel_sunos5:dlpi", "style2 parse: %s, %d\n", 
+-                       devstr, ppa));
+-            /* try style 2 */
+-            DEBUGMSGTL(("kernel_sunos5:dlpi", "style2 open(%s)\n", devstr));
++	fd = -1;
++    } else {
++      DEBUGMSGTL(("kernel_sunos5:dlpi", "style1 open succeeded\n"));
++    }
+ 
+-            if ((fd = open(devstr, O_RDWR | O_NONBLOCK)) != -1) {
++    /* Creating a copy of the devname incase style 3 open
++     *  is required
++     */
++    ret = strlcpy(devstrcpy, devstr, sizeof(devstrcpy));
++
++    if(ret > sizeof(devstrcpy) - 1)
++        return -1;
++
++    DEBUGMSGTL(("kernel_sunos5:dlpi", "devstrcpy(%s)\n", devstrcpy));
++
++
++    if (fd == -1 ) {
++      ret = snprintf(devstr, sizeof(devstr), "/dev/net/%s", devname);
++      
++      if(ret < 0 || ret > sizeof(devstr) - 1)
++          return -1;
++
++      DEBUGMSGTL(("kernel_sunos5:dlpi", "devstr(%s)\n", devstr));
++      
++      /* try style 2 */
++
++     if ((fd = open(devstr, O_RDWR | O_NONBLOCK)) < 0) {
++        DEBUGMSGTL(("kernel_sunos5:dlpi", "style2 open failed\n"));
++	fd = -1;
++      } else {
++	DEBUGMSGTL(("kernel_sunos5:dlpi", "style2 open succeeded\n"));
++      }
++    }
++    
++
++    if (fd == -1 ) {
++        if (_dlpi_parse_devname(devstrcpy, &ppa) == 0) {
++            DEBUGMSGTL(("kernel_sunos5:dlpi", "style3 parse: %s, %d\n", 
++                       devstrcpy, ppa));
++            /* try style 3 */
++            DEBUGMSGTL(("kernel_sunos5:dlpi", "style3 open(%s)\n", devstrcpy));
++
++            if ((fd = open(devstrcpy, O_RDWR | O_NONBLOCK)) != -1) {
+                 if (_dlpi_attach(fd, ppa) == 0) {
+                     DEBUGMSGTL(("kernel_sunos5:dlpi", "attached\n"));
+                 } else {
[email protected]@ -1082,16 +1121,11 @@
+                     fd = -1;
+                 }
+             } else {
+-                DEBUGMSGTL(("kernel_sunos5:dlpi", "style2 open failed\n"));
++                DEBUGMSGTL(("kernel_sunos5:dlpi", "style3 open failed\n"));
+             }
+         } 
+-    } else {
+-        DEBUGMSGTL(("kernel_sunos5:dlpi", "style1 open succeeded\n"));
+     }
+ 
+-    /* clean up */
+-    free(devstr);
+-
+     return (fd);
+ }
+ 
[email protected]@ -1106,7 +1140,9 @@
+     struct strbuf       ctlbuf;
+     char                buf[MAX(DL_PHYS_ADDR_ACK_SIZE+64, DL_ERROR_ACK_SIZE)];
+     int                 flag = 0;
+-
++    struct pollfd 		pfd;
++    int			timeout = 100;
++	
+     DEBUGMSGTL(("kernel_sunos5:dlpi", "_dlpi_get_phys_address\n"));
+ 
+     paddr_req.dl_primitive = DL_PHYS_ADDR_REQ;
[email protected]@ -1119,7 +1155,22 @@
+     ctlbuf.maxlen = sizeof(buf);
+     ctlbuf.len = 0;
+     ctlbuf.buf = buf;
+-    if (getmsg(fd, &ctlbuf, NULL, &flag) < 0)
++
++    pfd.fd = fd;
++    pfd.events = POLLIN | POLLPRI;
++
++    switch (poll(&pfd, 1, timeout)) {
++    default:
++	if (pfd.revents & POLLHUP)
++    	    return (-1);
++   	break;
++    case 0:
++    	return (-1);
++    case -1:
++    	return (-1);
++    }
++    
++	if (getmsg(fd, &ctlbuf, NULL, &flag) < 0)
+         return (-1);
+ 
+     if (ctlbuf.len < sizeof(uint32_t))
[email protected]@ -1161,6 +1212,8 @@
+     struct strbuf       ctlbuf;
+     char                buf[MAX(DL_INFO_ACK_SIZE, DL_ERROR_ACK_SIZE)];
+     int                 flag = 0;
++    struct pollfd       pfd;
++    int                 timeout = 100;
+ 
+     DEBUGMSGTL(("kernel_sunos5:dlpi", "_dlpi_get_iftype\n"));
+ 
[email protected]@ -1175,7 +1228,22 @@
+     ctlbuf.maxlen = sizeof(buf);
+     ctlbuf.len = 0;
+     ctlbuf.buf = buf;
+-    if (getmsg(fd, &ctlbuf, NULL, &flag) < 0) {
++   
++    pfd.fd = fd;
++    pfd.events = POLLIN | POLLPRI;
++
++    switch (poll(&pfd, 1, timeout)) {
++    default:
++        if (pfd.revents & POLLHUP)
++            return (-1);
++        break;
++    case 0:
++        return (-1);
++    case -1:
++        return (-1);
++    } 
++
++	if (getmsg(fd, &ctlbuf, NULL, &flag) < 0) {
+         DEBUGMSGTL(("kernel_sunos5:dlpi", "getmsg failed: %d\n", errno));
+         return (-1);
+     }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/027.7118090.hr_filesys.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,253 @@
+# 
+#   This patch fixes the performance issue observed while retrieving the
+#   hrStorage parameters in systems with large number of mountpoints
+#   parameters using snmpwalk.
+#  
+#   This issue is happening due to the overhead of large number of
+#   ioctl() system calls in getmntent() function called by the
+#   Get_Next_HR_FileSys() function.
+#  
+#   We see that in the Get_Next_HR_FileSys() function, inorder to access
+#   the last mountpoint, the /etc/mnttab is opened and we walk through
+#   all the mnttab entries for all filesystems till the end. This is the
+#   reason we find a large number of the MNTIOC_GETMNTENT ioctl() calls.
+# 
+#   To reduce the overhead of the getmntent() calls, we maintain a cache
+#   of all the /etc/mnttab entries and walk through the cache instead of
+#   opening /etc/mnttab and walking all the entries for each mountpoint.
+#   This functionality is provided by the load_mnttab_cache_solaris()
+#   function called from the Init_HR_FileSys() function.
+#  
+#  Developed in-house. Bug submitted upstream
+#  https://sourceforge.net/p/net-snmp/bugs/2588/
+#  
+--- a/agent/mibgroup/host/hr_filesys.c	Wed Feb 19 18:36:42 2014
++++ b/agent/mibgroup/host/hr_filesys.c	Wed Nov 26 07:21:17 2014
[email protected]@ -46,6 +46,10 @@
+ #include <sys/mount.h>
+ #endif
+ 
++#ifdef solaris2
++#include <sys/stat.h>
++#endif
++
+ #include <ctype.h>
+ #if HAVE_STRING_H
+ #include <string.h>
[email protected]@ -108,7 +112,11 @@
+ #ifdef solaris2
+ 
+ struct mnttab   HRFS_entry_struct;
+-struct mnttab  *HRFS_entry = &HRFS_entry_struct;
++struct mnttab  *HRFS_entry;
++struct mnttab	*HRFS_list;
++static int fscount;
++static time_t last_access = -1;
++
+ #define	HRFS_name	mnt_special
+ #define	HRFS_mount	mnt_mountp
+ #define	HRFS_type	mnt_fstype
[email protected]@ -207,6 +215,9 @@
+ static u_char  *when_dumped(char *filesys, int level, size_t * length);
+ int             header_hrfilesys(struct variable *, oid *, size_t *, int,
+                                  size_t *, WriteMethod **);
++#ifdef solaris2
++static int      load_mnttab_cache_solaris(void);
++#endif
+ 
+         /*********************
+ 	 *
[email protected]@ -662,11 +673,14 @@
+     HRFS_index = 1;
+     if (fp != NULL)
+         fclose(fp);
++#ifdef solaris2
++    if(!load_mnttab_cache_solaris())
++    	return;
++#else
+     fp = fopen(ETC_MNTTAB, "r");
+-    if (!fp) {
+-      netsnmp_config_error("Can't open mnttab %s\n", ETC_MNTTAB);
+-    }
+ #endif
++
++#endif
+ }
+ 
+ const char     *HRFS_ignores[] = {
[email protected]@ -722,6 +736,117 @@
+     NULL
+ };
+ 
++#ifdef solaris2
++
++/*
++ *  This function has been introduced to reduce the overhead
++ *  of the getmntent() calls used to fetch the details of
++ *  the /etc/mnttab entries in Init_HR_FileSys().
++ *
++ *  We maintain a cache of all the /etc/mnttab entries and
++ *  walk through the cache instead of opening /etc/mnttab and
++ *  walking all the entries for each mountpoint.
++ */
++
++static int 
++load_mnttab_cache_solaris()
++{
++    char buf[512] = {NULL};
++    int i = 0;
++    struct stat file_stat;
++    const char **cpp;
++    char *ch;
++    int token_flag = 0;
++    int skip_flag = 0;
++    int ignore_flag = 0;
++    int j = 0;
++    int lines = 0;
++    int ret = 0;
++    HRFS_index = 0;
++
++    stat(ETC_MNTTAB, &file_stat);
++    if (last_access == -1 || last_access != file_stat.st_mtime) {
++        fp = fopen(ETC_MNTTAB, "r");
++        if(fp == NULL)
++        {
++            DEBUGMSGTL(("host/hr_filesys", "fopen failed for mnttab.\n"));
++            return -1;
++        }
++        
++        /* find the number of valid entries in mnttab. */
++        
++        while ((fgets((char *) &buf, sizeof(buf), fp)) != NULL) {
++            j = 0;
++            skip_flag = 0;
++            token_flag = 0;
++
++            /* tokenize the mnttab entries to fetch the fstype
++             * which determines the valid entries.
++             */
++
++            ch = strtok(buf, " \t");
++            while (ch != NULL) {
++                j++;
++                if(j == 3) {
++                    for (cpp = HRFS_ignores; *cpp != NULL; ++cpp) {
++                        if(!strncmp(ch, *cpp, strlen(ch))) {
++                            skip_flag = 1;
++                            break;
++                        }
++                    }
++                    token_flag = 1;
++                }
++                if(token_flag)
++                    break;
++                ch = strtok(NULL, " \t");
++             }
++             if(!skip_flag)
++                 lines++;
++        }
++        fclose(fp);
++
++        fscount = lines;
++        HRFS_list = (struct mnttab *) malloc (sizeof(struct mnttab) * fscount);
++        if(HRFS_list == NULL) {
++            DEBUGMSGTL(("host/hr_filesys", "Memory allocation for mnttab cache failed.\n"));
++            return -1;
++        }
++
++        fp = fopen(ETC_MNTTAB, "r");
++        if(fp == NULL) {
++            DEBUGMSGTL(("host/hr_filesys", "fopen failed for mnttab.\n"));
++            free(HRFS_list);
++            return -1;
++        }
++
++        while (i < fscount) {
++            if (getmntent(fp, &HRFS_entry_struct) == 0) {
++                 for (cpp = HRFS_ignores; *cpp != NULL; ++cpp) {
++                     if (!strcmp(HRFS_entry_struct.HRFS_type, *cpp)) {
++                         ignore_flag = 1;
++                         break;
++                     }
++                 }
++
++                 if(!ignore_flag) {
++                     HRFS_list[i].mnt_special = strdup(HRFS_entry_struct.mnt_special);
++                     HRFS_list[i].mnt_mountp = strdup(HRFS_entry_struct.mnt_mountp);
++                     HRFS_list[i].mnt_fstype = strdup(HRFS_entry_struct.mnt_fstype);
++                     HRFS_list[i].mnt_mntopts = strdup(HRFS_entry_struct.mnt_mntopts);
++                     i++;
++                 }
++
++                 ignore_flag = 0;
++            }
++        }
++
++        HRFS_entry = HRFS_list;
++        last_access = file_stat.st_mtime;
++    }
++    return ret;
++}
++#endif
++
+ int
+ Get_Next_HR_FileSys(void)
+ {
[email protected]@ -758,17 +883,18 @@
+ #else
+     const char    **cpp;
+ 
+-    if (fp == NULL)
+-        return -1;
+ 
+ #ifdef solaris2
+-    if (getmntent(fp, HRFS_entry) != 0)
++    if (HRFS_index >= fscount)
+         return -1;
++    HRFS_entry = &HRFS_list[HRFS_index];
++        return ++HRFS_index;
+ #else
++    if (fp == NULL)
++        return -1;
+     HRFS_entry = getmntent(fp);
+     if (HRFS_entry == NULL)
+         return -1;
+-#endif                          /* solaris2 */
+ 
+     for (cpp = HRFS_ignores; *cpp != NULL; ++cpp)
+         if (!strcmp(HRFS_entry->HRFS_type, *cpp))
[email protected]@ -787,6 +913,8 @@
+     }
+ 
+     return HRFS_index++;
++#endif
++
+ #endif                          /* HAVE_GETFSSTAT */
+ }
+ 
[email protected]@ -854,10 +982,25 @@
+         HRFS_entry = NULL;
+     }
+ #else
++    int i = 0;
+     if (fp != NULL)
+         fclose(fp);
+     fp = NULL;
++
++#ifdef solaris2
++while (i < fscount) {
++    free(HRFS_list[i].mnt_special);
++    free(HRFS_list[i].mnt_mountp);
++    free(HRFS_list[i].mnt_fstype);
++    free(HRFS_list[i].mnt_mntopts);
++    i++;
++}
++    if (HRFS_list != NULL)
++        free(HRFS_list);
++    last_access = -1;
+ #endif
++
++#endif
+ }
+ 
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/028.7069199.doxygen.conf.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,15 @@
+--- net-snmp-5.4.1/doxygen.conf.orig	2012-09-27 11:27:49.421496871 -0700
++++ net-snmp-5.4.1/doxygen.conf	2012-09-27 11:29:25.510013537 -0700
[email protected]@ -422,6 +422,12 @@
+ 
+ HTML_STYLESHEET        = 
+ 
++# If the HTML_TIMESTAMP tag is set to YES then the footer of
++# each generated HTML page will contain the date and time when the page
++# was generated. Setting this to NO can help when comparing the output of
++# multiple runs.
++HTML_TIMESTAMP         = NO
++
+ # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
+ # files or namespaces will be aligned in HTML using tables. If set to 
+ # NO a bullet list will be used.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/029.7097655.ipAddressTable_container.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,27 @@
+#
+# netsnmp_access_ipaddress_container_load() can return NULL.
+# ipaddressTable_container_load() should check for the validity
+# of return value before accessing it or else it causes SEGV.
+#
+# Developed in-house. Bug submitted upstream
+# https://sourceforge.net/p/net-snmp/bugs/2589
+#
+--- net-snmp-5.7.2/agent/mibgroup/ip-mib/ipAddressTable/ipAddressTable_data_access.c	Wed Jan 30 02:01:56 2013
++++ net-snmp-5.7.2/agent/mibgroup/ip-mib/ipAddressTable/ipAddressTable_data_access.c	Wed Jan 30 02:04:46 2013
[email protected]@ -348,6 +348,8 @@
+      * what we've already got, and make any adjustments, saving
+      * missing addresses to be deleted.
+      */
++    if(ipaddress_container != NULL)
++    {
+     tmp_ptr[0] = ipaddress_container->next;
+     tmp_ptr[1] = NULL;
+     CONTAINER_FOR_EACH(container, (netsnmp_container_obj_func *)
[email protected]@ -395,6 +397,7 @@
+              * pop off delete list
+              */
+             CONTAINER_REMOVE(tmp_container, NULL);
++            }
+         }
+     }
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/030.7147779.kernel_sunos5.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,146 @@
+--- net-snmp-5.4.1.orig/agent/mibgroup/kernel_sunos5.c	2013-01-11 11:46:28.795419820 -0800
++++ net-snmp-5.4.1/agent/mibgroup/kernel_sunos5.c	2013-01-11 11:45:51.611042099 -0800
[email protected]@ -280,7 +280,9 @@
+     kstat_t        *ks;
+     kid_t           kid;
+     kstat_named_t  *named;
++ 
+     int             ret = -1;        /* fail unless ... */
++    int             lookup_stat = 0;	
+ 
+     if (kstat_fd == 0) {
+ 	kstat_fd = kstat_open();
[email protected]@ -291,27 +293,88 @@
+     if ((ksc = kstat_fd) == NULL) {
+ 	goto Return;
+     }
+-    ks = kstat_lookup(ksc, classname, -1, statname);
+-    if (ks == NULL) {
+-	DEBUGMSGTL(("kernel_sunos5", "class %s, stat %s not found\n",
+-		classname ? classname : "NULL",
+-		statname ? statname : "NULL"));
+-	goto Return;
+-    }
+-    kid = kstat_read(ksc, ks, NULL);
+-    if (kid == -1) {
+-	DEBUGMSGTL(("kernel_sunos5", "cannot read class %s stats %s\n",
+-		classname ? classname : "NULL", statname ? statname : "NULL"));
+-	goto Return;
+-    }
+-    named = kstat_data_lookup(ks, varname);
+-    if (named == NULL) {
+-	DEBUGMSGTL(("kernel_sunos5", "no var %s for class %s stat %s\n",
+-		varname, classname ? classname : "NULL",
+-		statname ? statname : "NULL"));
+-	goto Return;
++   
++    if ((ks = kstat_lookup(ksc, statname, 0, "link")) != NULL)
++    {
++        kid = kstat_read(ksc, ks, NULL);
++        if (kid == -1) {
++            DEBUGMSGTL(("kernel_sunos5", "cannot read class %s stats %s\n",
++                    statname ? statname : "NULL", "link"));
++        }
++        else
++        {
++            named = kstat_data_lookup(ks, varname);
++            if (named == NULL) {
++	        DEBUGMSGTL(("kernel_sunos5", "no var %s for class %s stat %s\n",
++                        varname, statname ? statname : "NULL", "link"));
++            }
++            else {
++                    switch (named->data_type) {
++#ifdef KSTAT_DATA_INT32         /* Solaris 2.6 and up */
++                        case KSTAT_DATA_INT32:
++                            if(named->value.i32)
++                                lookup_stat = 1;
++	                    break;
++                        case KSTAT_DATA_UINT32:
++                            if(named->value.ui32)
++                                lookup_stat = 1;
++                            break;
++                        case KSTAT_DATA_INT64:
++                            if(named->value.i64)
++                                lookup_stat = 1;
++                            break;
++                        case KSTAT_DATA_UINT64:
++                            if(named->value.ui64)
++                                lookup_stat = 1;
++                            break;
++#else
++                        case KSTAT_DATA_LONG:
++                            if(named->value.l)
++                                lookup_stat = 1;
++                            break;
++                        case KSTAT_DATA_ULONG:
++                            if(named->value.ul)
++                                lookup_stat = 1;
++                            break;
++                        case KSTAT_DATA_LONGLONG:
++                            if(named->value.ll)
++                                lookup_stat = 1;
++                            break;
++                        case KSTAT_DATA_ULONGLONG:
++                            if(named->value.ull)
++                                lookup_stat = 1;
++                            break;
++#endif
++                    } 
++            }
++        }
+     }
+-
++     
++    if(!lookup_stat) 
++    {
++        ks = kstat_lookup(ksc, classname, -1, statname);
++        if (ks == NULL) {
++        DEBUGMSGTL(("kernel_sunos5", "class %s, stat %s not found\n",
++                   classname ? classname : "NULL",
++                   statname ? statname : "NULL"));
++        goto Return;
++        }
++        
++	kid = kstat_read(ksc, ks, NULL);
++        if (kid == -1) {
++            DEBUGMSGTL(("kernel_sunos5", "cannot read class %s stats %s\n",
++                   classname ? classname : "NULL", statname ? statname : "NULL"));
++            goto Return;
++        }
++        
++	named = kstat_data_lookup(ks, varname);
++        if (named == NULL) {
++            DEBUGMSGTL(("kernel_sunos5", "no var %s for class %s stat %s\n",
++                    varname, classname ? classname : "NULL",
++                    statname ? statname : "NULL"));
++            goto Return;
++        }
++    } 
+     ret = 0;                /* maybe successful */
+     switch (named->data_type) {
+ #ifdef KSTAT_DATA_INT32         /* Solaris 2.6 and up */
[email protected]@ -428,11 +491,20 @@
+     /*
+      * Get the named statistics 
+      */
+-    if ((ks = kstat_lookup(ksc, module_name, instance, statname)) == NULL) {
+-	ret = -10;
+-	goto Return;        /* kstat errors */
+-    }
+ 
++    if ((ks = kstat_lookup(ksc, module_name, instance, statname)) == NULL)
++    {
++        /*
++         * Try to lookup the kstat module with
++         * modulename = linkname and statname = "link".
++         */
++
++        if ((ks = kstat_lookup(ksc, statname, 0, "link")) == NULL) {
++            ret = -10;
++            goto Return;    /* kstat errors */
++        }
++    }
++   		
+     if (kstat_read(ksc, ks, NULL) <= 0) {
+ 	ret = -10;
+ 	goto Return;        /* kstat errors */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/038.16032482.kernel_sunos5.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,211 @@
+# Net-SNMP ifOperStatus on solaris11 VM guest domain is not correct.
+# Due to networking changes in Solaris 11 and above, we need to use dladm/dlpi calls from
+# net-snmp to fetch the interface names to be used in the kstat calls.
+#
+# Developed in-house. Bug submitted upstream
+# https://sourceforge.net/p/net-snmp/bugs/2590/
+#
+--- net-snmp-5.7.2.1/snmplib/Makefile.in	Thu Oct 30 02:07:41 2014
++++ net-snmp-5.7.2.1/snmplib/Makefile.in	Thu Oct 30 02:08:06 2014
[email protected]@ -222,7 +222,7 @@
+ TOBJS=$(LOBJS)
+ 
+ # To satisfy -zdefs
+-LIB_LD_ADD =-lnsl -lsocket -L$(libdir)
++LIB_LD_ADD =-lnsl -lsocket -ldladm -L$(libdir)
+ 
+ FEATUREFILE     = $(top_builddir)/include/net-snmp/library/features.h
+ 
+--- net-snmp-5.4.1.old/agent/mibgroup/kernel_sunos5.c	2014-02-25 06:04:49.253524010 -0500
++++ net-snmp-5.4.1/agent/mibgroup/kernel_sunos5.c	2014-02-26 05:32:10.697219080 -0500
[email protected]@ -60,6 +60,8 @@
+ #include <net/if.h>
+ #include <netinet/in.h>
+ 
++#include <libdladm.h>
++#include <libdllink.h>
+ /*-
+  * Includes of local application header files 
+  */
[email protected]@ -172,7 +174,7 @@
+ set_if_info(mib2_ifEntry_t *ifp, unsigned index, char *name, uint64_t flags,
+             boolean_t flags_unknown, int mtu);
+ static int get_if_stats(mib2_ifEntry_t *ifp);
+-
++static int link_to_phydev(char *link, char *phy_devname);
+ #if defined(HAVE_IF_NAMEINDEX) && defined(NETSNMP_INCLUDE_IFTABLE_REWRITES)
+ static int _dlpi_open(const char *devname);
+ static int _dlpi_get_phys_address(int fd, char *paddr, int maxlen,
[email protected]@ -1724,11 +1726,155 @@
+ }
+ #endif /*defined(HAVE_IF_NAMEINDEX)&&defined(NETSNMP_INCLUDE_IFTABLE_REWRITES)*/
+ 
++int link_to_phydev(char *link, char *phy_devname)
++{
++        char *key = NULL;
++        datalink_id_t linkid;
++        dladm_phys_attr_t dpa;
++        dladm_handle_t handle;
++
++        if (dladm_open(&handle, NULL) != DLADM_STATUS_OK) {
++            DEBUGMSGTL(("kernel_sunos5","dladm_open failed "
++                       "with errno=%d\n",errno));
++            return (-1);
++        }
++
++        if (dladm_name2info(handle, link, &linkid, NULL, NULL, NULL) !=
++            DLADM_STATUS_OK) {
++                DEBUGMSGTL(("kernel_sunos5","dladm_name2info failed "
++                           "with errno=%d\n",errno));
++                dladm_close(handle);
++                return (-1);
++        }
++
++        /*
++         * Get the device name of the link, which will be used as the door
++         * file name used to communicate with the driver.
++         */
++        if (dladm_phys_info(handle, linkid, &dpa, DLADM_OPT_ACTIVE) !=
++            DLADM_STATUS_OK) {
++                DEBUGMSGTL(("kernel_sunos5","dladm_phys_info failed "
++                           "with errno=%d\n",errno));
++                dladm_close(handle);
++                return (-1);
++        }
++
++        if(dpa.dp_dev == NULL) {
++            DEBUGMSGTL(("kernel_sunos5","device name from "
++                       "dladm_phys_info = NULL\n")); 
++            dladm_close(handle);
++            return -1;
++        
++        }
++        strcpy(phy_devname, dpa.dp_dev);
++        dladm_close(handle); 
++        
++        return 0;
++}
++
++
++static int getKstatIntInstance(const char *classname, int instance,
++                               const char *statname, const char *varname,
++                               int *value)
++{
++    kstat_ctl_t    *ksc;
++    kstat_t        *ks;
++    kid_t           kid;
++    kstat_named_t  *named;
++
++    int             ret = -1;        /* fail unless ... */
++    int             lookup_stat = 0;
++    
++    DEBUGMSGTL(("kernel_sunos5","\n Inside getKstatIntInstance: variable = %s",
++               varname));
++
++    if (kstat_fd == 0) {
++        kstat_fd = kstat_open();
++        if (kstat_fd == 0) {
++            snmp_log_perror("kstat_open");
++        }
++    }
++    if ((ksc = kstat_fd) == NULL) {
++        goto Return;
++    }
++
++    ks = kstat_lookup(ksc, classname, instance, statname);
++    if (ks == NULL) {
++        DEBUGMSGTL(("kernel_sunos5","\nclass %s, stat %s not found\n",
++                   classname ? classname : "NULL",
++                   statname ? statname : "NULL"));
++        goto Return;
++    }
++
++    kid = kstat_read(ksc, ks, NULL);
++    if (kid == -1) {
++        DEBUGMSGTL(("kernel_sunos5","\ncannot read class %s stats %s\n",
++                   classname ? classname : "NULL", 
++                   statname ? statname : "NULL"));
++        goto Return;
++    }
++
++    named = kstat_data_lookup(ks, varname);
++    if (named == NULL) {
++         DEBUGMSGTL(("kernel_sunos5","\nno var %s for class %s stat %s\n",
++                    varname, classname ? classname : "NULL",
++                    statname ? statname : "NULL"));
++         goto Return;
++    }
++    ret = 0;                /* maybe successful */
++    switch (named->data_type) {
++#ifdef KSTAT_DATA_INT32         /* Solaris 2.6 and up */
++    case KSTAT_DATA_INT32:
++        DEBUGMSGTL(("kernel_sunos5"," value: %d\n", named->value.i32));
++        *value = named->value.i32; 
++        break;
++    case KSTAT_DATA_UINT32:
++        DEBUGMSGTL(("kernel_sunos5"," value: %u\n", named->value.ui32));
++        *value = named->value.ui32; 
++        break;
++    case KSTAT_DATA_INT64:
++        DEBUGMSGTL(("kernel_sunos5"," value: %ld\n", named->value.i64));
++        *value = named->value.i64;
++        break;
++    case KSTAT_DATA_UINT64:
++        DEBUGMSGTL(("kernel_sunos5"," value: %llu\n", named->value.ui64));
++        *value = named->value.ui64; 
++        break;
++#else
++    case KSTAT_DATA_LONG:
++        DEBUGMSGTL(("kernel_sunos5"," value: %ld\n", named->value.l));
++        *value = named->value.l; 
++        break;
++    case KSTAT_DATA_ULONG:
++        DEBUGMSGTL(("kernel_sunos5"," value: %lu\n", named->value.ul));
++        *value = named->value.ul; 
++        break;
++    case KSTAT_DATA_LONGLONG:
++        DEBUGMSGTL(("kernel_sunos5"," value: %lld\n", (long) named->value.ll));
++        *value = (long)named->value.ll;  
++        break;
++    case KSTAT_DATA_ULONGLONG:
++        DEBUGMSGTL(("kernel_sunos5"," value: %llu\n",
++                   (unsigned long) named->value.ull));
++        *value = (unsigned long)named->value.ull;  
++        break;
++#endif
++    default:
++        ret = -1;            /* fail */
++        break;
++    }
++ Return:
++    return ret;
++}
++
+ static void
+ set_if_info(mib2_ifEntry_t *ifp, unsigned index, char *name, uint64_t flags,
+             boolean_t flags_unknown, int mtu)
+ { 
+     boolean_t havespeed = B_FALSE;
++    char phydevname[100];
++    char devbasename[100];
++    int instance = -1;
+ 
+     /*
+      * Set basic information 
[email protected]@ -1770,6 +1916,16 @@
+         /* only UPed interfaces get correct link status - if any */
+         if (getKstatInt(NULL, name,"link_up",&i_tmp) == 0) {
+             ifp->ifOperStatus = i_tmp ? 1 : 2;
++        } else if(link_to_phydev(name, phydevname) == 0) {
++                 strcpy(devbasename, phydevname);
++                 DEBUGMSGTL(("kernel_sunos5","phydevname = %s\n", phydevname));
++                 _dlpi_parse_devname(devbasename, &instance);
++                 DEBUGMSGTL(("kernel_sunos5","devbasename = %s, "
++                            "instance= %d\n", devbasename, instance));
++                 if(getKstatIntInstance(devbasename, instance, "phys",
++                                        "link_up", &i_tmp) == 0) {
++                     ifp->ifOperStatus = i_tmp ? 1 : 2;
++                 } 
+ #ifdef IFF_FAILED
+         } else if (flags & IFF_FAILED) {
+             /*
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/039.17002960.kernel_sunos5.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,11 @@
+--- net-snmp-5.4.1.old/agent/mibgroup/kernel_sunos5.c	2014-02-26 05:32:10.697219080 -0500
++++ net-snmp-5.4.1/agent/mibgroup/kernel_sunos5.c	2014-02-26 05:31:28.588532860 -0500
[email protected]@ -296,7 +296,7 @@
+ 	goto Return;
+     }
+    
+-    if ((ks = kstat_lookup(ksc, statname, 0, "link")) != NULL)
++    if ((ks = kstat_lookup(ksc, statname, -1, "link")) != NULL)
+     {
+         kid = kstat_read(ksc, ks, NULL);
+         if (kid == -1) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/040.17812413.logmatch_free.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,34 @@
+# snmpd dumps core when snmpd.conf contains an incorrect logmatch param
+# Developed in-house. Bug submitted upstream
+# https://sourceforge.net/p/net-snmp/bugs/2591/
+--- net-snmp-5.7.2.1/agent/mibgroup/ucd-snmp/logmatch.c	Wed Feb 19 16:36:42 2014
++++ net-snmp-5.7.2.1/agent/mibgroup/ucd-snmp/logmatch.c	Thu Oct 30 02:17:27 2014
[email protected]@ -435,6 +435,17 @@
+             regcomp(&(logmatchTable[logmatchCount].regexBuffer),
+                     logmatchTable[logmatchCount].regEx,
+                     REG_EXTENDED | REG_NOSUB);
++		if (logmatchTable[logmatchCount].myRegexError)
++		{
++			char regexErrorString[100];
++			regerror(logmatchTable[logmatchCount].myRegexError,
++					&(logmatchTable[logmatchCount].regexBuffer),
++					regexErrorString, 100);
++			regexErrorString[99] = '\0';
++			snmp_log(LOG_ERR, "Could not process the logmatch regex - %s," \
++					"\n since regcomp() failed with - %s\n",
++					logmatchTable[logmatchCount].regEx, regexErrorString);
++		}
+ 
+         if (logmatchTable[logmatchCount].frequency > 0) {
+             snmp_alarm_register(logmatchTable[logmatchCount].frequency,
[email protected]@ -469,8 +480,8 @@
+      */
+ 
+     for (i = 0; i < logmatchCount; i++) {
+-
+-        regfree(&(logmatchTable[i].regexBuffer));
++        if (logmatchTable[i].myRegexError == 0)
++            regfree(&(logmatchTable[i].regexBuffer));
+     }
+     logmatchCount = 0;
+ }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/043.16634190.kernel_sunos5.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,20 @@
+# This patch fixes a Solaris specific issue related to incorrect
+# reporting of network interface speed inside a zone. The patch has 
+# been submitted to the community but has not been accepted yet.
+
+# The details can be found in the following location
+# https://sourceforge.net/p/net-snmp/patches/1277/
+--- net-snmp-5.4.1.old/agent/mibgroup/kernel_sunos5.c	2014-03-28 14:54:11.259600880 -0400
++++ net-snmp-5.4.1/agent/mibgroup/kernel_sunos5.c	2014-03-28 14:52:32.837130820 -0400
[email protected]@ -1908,8 +1908,10 @@
+          * this is good 
+          */
+ 	havespeed = B_TRUE;
++    } else if ((getKstatInt("link", name, "ifspeed", &ifp->ifSpeed) == 0) ||
++               (getKstatInt("link", name, "ifSpeed", &ifp->ifSpeed) == 0)) {
++        havespeed = B_TRUE;
+     }
+-
+     /* make ifOperStatus depend on link status if available */
+     if (ifp->ifAdminStatus == 1) {
+         int i_tmp;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/047.18529953.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,202 @@
+# http://sourceforge.net/p/net-snmp/code/ci/793d596838ff7cb48a73b675d62897c56c9e62df
+# http://sourceforge.net/p/net-snmp/patches/1237/?page=0
+# Picked up from upstream. The fix should be available in the next release of Net-snmp.
+
+diff --git a/agent/mibgroup/agentx/master_admin.c b/agent/mibgroup/agentx/master_admin.c
+index a04b18a..82c1fbf 100644
+--- a/agent/mibgroup/agentx/master_admin.c
++++ b/agent/mibgroup/agentx/master_admin.c
[email protected]@ -161,6 +161,7 @@ close_agentx_session(netsnmp_session * session, int sessid)
+     for (sp = session->subsession; sp != NULL; sp = sp->next) {
+ 
+         if (sp->sessid == sessid) {
++            netsnmp_remove_delegated_requests_for_session(sp);
+             unregister_mibs_by_session(sp);
+             unregister_index_by_session(sp);
+             snmp_call_callbacks(SNMP_CALLBACK_APPLICATION,
+diff --git a/agent/snmp_agent.c b/agent/snmp_agent.c
+index c655900..466ec4c 100644
+--- net-snmp-5.7.2.1/agent/snmp_agent.c	Wed Feb 19 16:36:42 2014
++++ net-snmp-5.7.2.1/agent/snmp_agent.c	Thu Oct 30 02:36:23 2014
[email protected]@ -1409,6 +1409,7 @@
+     asp->treecache_num = -1;
+     asp->treecache_len = 0;
+     asp->reqinfo = SNMP_MALLOC_TYPEDEF(netsnmp_agent_request_info);
++    asp->flags = SNMP_AGENT_FLAGS_NONE;
+     DEBUGMSGTL(("verbose:asp", "asp %p reqinfo %p created\n",
+                 asp, asp->reqinfo));
+ 
[email protected]@ -1457,6 +1458,9 @@
+ 
+     if (NULL == asp->treecache)
+         return 0;
++
++    if (asp->flags & SNMP_AGENT_FLAGS_CANCEL_IN_PROGRESS)
++        return 0;
+     
+     for (i = 0; i <= asp->treecache_num; i++) {
+         for (request = asp->treecache[i].requests_begin; request;
[email protected]@ -1535,39 +1539,48 @@
+ netsnmp_remove_delegated_requests_for_session(netsnmp_session *sess)
+ {
+     netsnmp_agent_session *asp;
+-    int count = 0;
++    int total_count = 0;
+     
+     for (asp = agent_delegated_list; asp; asp = asp->next) {
+         /*
+          * check each request
+          */
++		int i;
++		int count = 0;
+         netsnmp_request_info *request;
+-        for(request = asp->requests; request; request = request->next) {
+-            /*
+-             * check session
+-             */
+-            netsnmp_assert(NULL!=request->subtree);
+-            if(request->subtree->session != sess)
+-                continue;
++        for (i = 0; i <= asp->treecache_num; i++) {
++            for (request = asp->treecache[i].requests_begin; request;
++                request = request->next) {
++                /*
++                 * check session
++                 */
++                netsnmp_assert(NULL!=request->subtree);
++                if(request->subtree->session != sess)
++                    continue;
+ 
+-            /*
+-             * matched! mark request as done
+-             */
+-            netsnmp_request_set_error(request, SNMP_ERR_GENERR);
+-            ++count;
++	            /*
++		         * matched! mark request as done
++		         */
++	            netsnmp_request_set_error(request, SNMP_ERR_GENERR);
++    	        ++count;
++            }
+         }
++        if (count) {
++            asp->flags |= SNMP_AGENT_FLAGS_CANCEL_IN_PROGRESS;
++            total_count += count;
++        }
+     }
+ 
+     /*
+      * if we found any, that request may be finished now
+      */
+-    if(count) {
++    if(total_count) {
+         DEBUGMSGTL(("snmp_agent", "removed %d delegated request(s) for session "
+-                    "%8p\n", count, sess));
+-        netsnmp_check_outstanding_agent_requests();
++                    "%08p\n", total_count, sess));
++        netsnmp_check_delegated_requests();
+     }
+     
+-    return count;
++    return total_count;
+ }
+ 
+ int
[email protected]@ -2739,19 +2752,11 @@
+     return final_status;
+ }
+ 
+-/*
+- * loop through our sessions known delegated sessions and check to see
+- * if they've completed yet. If there are no more delegated sessions,
+- * check for and process any queued requests
+- */
+ void
+-netsnmp_check_outstanding_agent_requests(void)
++netsnmp_check_delegated_requests(void)
+ {
+     netsnmp_agent_session *asp, *prev_asp = NULL, *next_asp = NULL;
+ 
+-    /*
+-     * deal with delegated requests
+-     */
+     for (asp = agent_delegated_list; asp; asp = next_asp) {
+         next_asp = asp->next;   /* save in case we clean up asp */
+         if (!netsnmp_check_for_delegated(asp)) {
[email protected]@ -2790,8 +2795,24 @@
+             prev_asp = asp;
+         }
+     }
++}
+ 
++/*
++ * loop through our sessions known delegated sessions and check to see
++ * if they've completed yet. If there are no more delegated sessions,
++ * check for and process any queued requests
++ */
++void
++netsnmp_check_outstanding_agent_requests(void)
++{
++    netsnmp_agent_session *asp;
++
+     /*
++     * deal with delegated requests
++     */
++    netsnmp_check_delegated_requests();
++
++    /*
+      * if we are processing a set and there are more delegated
+      * requests, keep waiting before getting to queued requests.
+      */
[email protected]@ -2819,7 +2840,8 @@
+ 
+             netsnmp_processing_set = netsnmp_agent_queued_list;
+             DEBUGMSGTL(("snmp_agent", "SET request remains queued while "
+-                        "delegated requests finish, asp = %8p\n", asp));
++                        "delegated requests finish, asp = %08p\n",
++                        agent_delegated_list));
+             break;
+         }
+ #endif /* NETSNMP_NO_WRITE_SUPPORT */
[email protected]@ -2880,6 +2902,10 @@
+     case SNMP_MSG_GETBULK:
+     case SNMP_MSG_GETNEXT:
+         netsnmp_check_all_requests_status(asp, 0);
++        if (asp->flags & SNMP_AGENT_FLAGS_CANCEL_IN_PROGRESS) {
++            DEBUGMSGTL(("snmp_agent","canceling next walk for asp %p\n", asp));
++            break;
++        }
+         handle_getnext_loop(asp);
+         if (netsnmp_check_for_delegated(asp) &&
+             netsnmp_check_transaction_id(asp->pdu->transid) !=
+diff --git a/include/net-snmp/agent/snmp_agent.h b/include/net-snmp/agent/snmp_agent.h
+index fd84f0f..efbeb5b 100644
+--- a/include/net-snmp/agent/snmp_agent.h
++++ b/include/net-snmp/agent/snmp_agent.h
[email protected]@ -32,6 +32,9 @@ extern          "C" {
+ #define SNMP_MAX_PDU_SIZE 64000 /* local constraint on PDU size sent by agent
+                                  * (see also SNMP_MAX_MSG_SIZE in snmp_api.h) */
+ 
++#define SNMP_AGENT_FLAGS_NONE                   0x0
++#define SNMP_AGENT_FLAGS_CANCEL_IN_PROGRESS     0x1
++
+     /*
+      * If non-zero, causes the addresses of peers to be logged when receptions
+      * occur.  
[email protected]@ -197,6 +200,7 @@ extern          "C" {
+         int             treecache_num;  /* number of current cache entries */
+         netsnmp_cachemap *cache_store;
+         int             vbcount;
++        int             flags;
+     } netsnmp_agent_session;
+ 
+     /*
[email protected]@ -231,6 +235,7 @@ extern          "C" {
+     int             init_master_agent(void);
+     void            shutdown_master_agent(void);
+     int             agent_check_and_process(int block);
++    void            netsnmp_check_delegated_requests(void);
+     void            netsnmp_check_outstanding_agent_requests(void);
+ 
+     int             netsnmp_request_set_error(netsnmp_request_info *request,
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/048.16439911.hr_filesys.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,145 @@
+# This fix has been submitted upstream as part of a combined patch
+# which has fixes for CR15758982(027.7118090.hr_filesys.patch) and this CR(16439911).
+# This can be found in the following location.
+# https://sourceforge.net/p/net-snmp/patches/1287/.
+# This patch has not been accepted yet.
+#
+--- a/agent/mibgroup/host/hr_filesys.c	Wed Nov 26 23:42:28 2014
++++ b/agent/mibgroup/host/hr_filesys.c	Wed Nov 26 23:43:54 2014
[email protected]@ -751,11 +751,11 @@
+ static int 
+ load_mnttab_cache_solaris()
+ {
+-    char buf[512] = {NULL};
++    char buf[MNT_LINE_MAX] = {NULL};
+     int i = 0;
+     struct stat file_stat;
+     const char **cpp;
+-    char *ch;
++    char *ch, *token_ptr;
+     int token_flag = 0;
+     int skip_flag = 0;
+     int ignore_flag = 0;
[email protected]@ -762,9 +762,14 @@
+     int j = 0;
+     int lines = 0;
+     int ret = 0;
++    int chk_mnt = -1;
+     HRFS_index = 0;
+ 
+-    stat(ETC_MNTTAB, &file_stat);
++    if(stat(ETC_MNTTAB, &file_stat) != 0)
++    {
++        DEBUGMSGTL(("host/hr_filesys", "stat failed for mnttab.\n"));
++        return -1;
++    }
+     if (last_access == -1 || last_access != file_stat.st_mtime) {
+         fp = fopen(ETC_MNTTAB, "r");
+         if(fp == NULL)
[email protected]@ -784,7 +789,7 @@
+              * which determines the valid entries.
+              */
+ 
+-            ch = strtok(buf, " \t");
++            ch = strtok_r(buf, " \t", &token_ptr);
+             while (ch != NULL) {
+                 j++;
+                 if(j == 3) {
[email protected]@ -798,7 +803,7 @@
+                 }
+                 if(token_flag)
+                     break;
+-                ch = strtok(NULL, " \t");
++                ch = strtok_r(NULL, " \t", &token_ptr);
+              }
+              if(!skip_flag)
+                  lines++;
[email protected]@ -818,25 +823,43 @@
+             free(HRFS_list);
+             return -1;
+         }
+-
+-        while (i < fscount) {
+-            if (getmntent(fp, &HRFS_entry_struct) == 0) {
+-                 for (cpp = HRFS_ignores; *cpp != NULL; ++cpp) {
+-                     if (!strcmp(HRFS_entry_struct.HRFS_type, *cpp)) {
+-                         ignore_flag = 1;
+-                         break;
+-                     }
++        while ((chk_mnt = getmntent(fp, &HRFS_entry_struct)) != -1) {
++             if(chk_mnt != 0)
++                 continue;
++             for (cpp = HRFS_ignores; *cpp != NULL; ++cpp) {
++                 if (!strcmp(HRFS_entry_struct.mnt_fstype, *cpp)) {
++                     ignore_flag = 1;
++                     break;
+                  }
+-
+-                 if(!ignore_flag) {
+-                     HRFS_list[i].mnt_special = strdup(HRFS_entry_struct.mnt_special);
+-                     HRFS_list[i].mnt_mountp = strdup(HRFS_entry_struct.mnt_mountp);
+-                     HRFS_list[i].mnt_fstype = strdup(HRFS_entry_struct.mnt_fstype);
+-                     HRFS_list[i].mnt_mntopts = strdup(HRFS_entry_struct.mnt_mntopts);
+-                     i++;
++             }
++             if(!ignore_flag) {
++                 if(i >= fscount)
++                 {
++                    DEBUGMSGTL(("host/hr_filesys","increasing cachesize from %d to %d",fscount,i+1));
++                    HRFS_list = realloc(HRFS_list, sizeof(struct mnttab) * (i+1));
++                    fscount = i+1;
++                    if(HRFS_list == NULL)
++                    {
++                        DEBUGMSGTL(("host/hr_filesys","\nrealloc failed for mnttab cache.\n"));
++                        return -1;
++                    }
+                  }
+-
+-                 ignore_flag = 0;
++                 HRFS_list[i].mnt_special = strdup(HRFS_entry_struct.mnt_special);
++                 HRFS_list[i].mnt_mountp = strdup(HRFS_entry_struct.mnt_mountp);
++                 HRFS_list[i].mnt_fstype = strdup(HRFS_entry_struct.mnt_fstype);
++                 HRFS_list[i].mnt_mntopts = strdup(HRFS_entry_struct.mnt_mntopts);
++                 i++;
++             }
++             ignore_flag = 0;
++        }
++        if(i < fscount)
++        {
++            DEBUGMSGTL(("host/hr_filesys","\ndecreasing cachesize from %d to %d\n",fscount,i));
++            HRFS_list = realloc(HRFS_list, sizeof(struct mnttab) * i );
++            if(HRFS_list == NULL)
++            {
++                DEBUGMSGTL(("host/hr_filesys","\nrealloc failed for mnttab cache.\n"));
++                return -1;
+             }
+         }
+ 
[email protected]@ -982,19 +1005,19 @@
+         HRFS_entry = NULL;
+     }
+ #else
+-    int i = 0;
+     if (fp != NULL)
+         fclose(fp);
+     fp = NULL;
+ 
+ #ifdef solaris2
+-while (i < fscount) {
+-    free(HRFS_list[i].mnt_special);
+-    free(HRFS_list[i].mnt_mountp);
+-    free(HRFS_list[i].mnt_fstype);
+-    free(HRFS_list[i].mnt_mntopts);
+-    i++;
+-}
++    int i = 0;
++    while (i < fscount) {
++        free(HRFS_list[i].mnt_special);
++        free(HRFS_list[i].mnt_mountp);
++        free(HRFS_list[i].mnt_fstype);
++        free(HRFS_list[i].mnt_mntopts);
++        i++;
++    }
+     if (HRFS_list != NULL)
+         free(HRFS_list);
+     last_access = -1;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/049.19547764.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,434 @@
+http://sourceforge.net/p/net-snmp/official-patches/48
+http://sourceforge.net/p/net-snmp/code/ci/7f4a7b891332899cea26e95be0337aae01648742
+
+diff --git a/snmplib/mib.c b/snmplib/mib.c
+index b0a7d29..e2fd906 100644
+--- a/snmplib/mib.c
++++ b/snmplib/mib.c
[email protected]@ -436,17 +436,16 @@ sprint_realloc_octet_string(u_char ** buf, size_t * buf_len,
+     u_char         *cp;
+     int             output_format;
+ 
+-    if ((var->type != ASN_OCTET_STR) && 
+-        (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+-        const char      str[] = "Wrong Type (should be OCTET STRING): ";
+-        if (snmp_cstrcat
+-            (buf, buf_len, out_len, allow_realloc, str)) {
+-            return sprint_realloc_by_type(buf, buf_len, out_len,
++    if (var->type != ASN_OCTET_STR) {
++        if (!netsnmp_ds_get_boolean(
++                    NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++            const char      str[] = "Wrong Type (should be OCTET STRING): ";
++            if (!snmp_cstrcat(buf, buf_len, out_len, allow_realloc, str))
++                return 0;
++        }
++        return sprint_realloc_by_type(buf, buf_len, out_len,
+                                           allow_realloc, var, NULL, NULL,
+                                           NULL);
+-        } else {
+-            return 0;
+-        }
+     }
+ 
+ 
[email protected]@ -704,16 +703,16 @@ sprint_realloc_float(u_char ** buf, size_t * buf_len,
+                      const struct enum_list *enums,
+                      const char *hint, const char *units)
+ {
+-    if ((var->type != ASN_OPAQUE_FLOAT) &&
+-        (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+-        if (snmp_cstrcat(buf, buf_len, out_len, allow_realloc, 
+-                         "Wrong Type (should be Float): ")) {
+-            return sprint_realloc_by_type(buf, buf_len, out_len,
++    if (var->type != ASN_OPAQUE_FLOAT) {
++        if (!netsnmp_ds_get_boolean(
++                NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++            u_char          str[] = "Wrong Type (should be Float): ";
++            if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++                return 0;
++        }
++        return sprint_realloc_by_type(buf, buf_len, out_len,
+                                           allow_realloc, var, NULL, NULL,
+                                           NULL);
+-        } else {
+-            return 0;
+-        }
+     }
+ 
+     if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) {
[email protected]@ -774,17 +773,16 @@ sprint_realloc_double(u_char ** buf, size_t * buf_len,
+                       const struct enum_list *enums,
+                       const char *hint, const char *units)
+ {
+-    if ((var->type != ASN_OPAQUE_DOUBLE) && 
+-        (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+-        if (snmp_cstrcat
+-            (buf, buf_len, out_len, allow_realloc, 
+-             "Wrong Type (should be Double): ")) {
+-            return sprint_realloc_by_type(buf, buf_len, out_len,
++    if (var->type != ASN_OPAQUE_DOUBLE) {
++        if (!netsnmp_ds_get_boolean(
++                NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++            u_char          str[] = "Wrong Type (should be Double): ";
++            if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++                return 0;
++        }
++        return sprint_realloc_by_type(buf, buf_len, out_len,
+                                           allow_realloc, var, NULL, NULL,
+                                           NULL);
+-        } else {
+-            return 0;
+-        }
+     }
+ 
+     if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) {
[email protected]@ -849,20 +847,21 @@ sprint_realloc_counter64(u_char ** buf, size_t * buf_len, size_t * out_len,
+ {
+     char            a64buf[I64CHARSZ + 1];
+ 
+-    if ((var->type != ASN_COUNTER64
++    if (var->type != ASN_COUNTER64
+ #ifdef NETSNMP_WITH_OPAQUE_SPECIAL_TYPES
+         && var->type != ASN_OPAQUE_COUNTER64
+         && var->type != ASN_OPAQUE_I64 && var->type != ASN_OPAQUE_U64
+ #endif
+-        ) && (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+-        if (snmp_cstrcat(buf, buf_len, out_len, allow_realloc, 
+-                        "Wrong Type (should be Counter64): ")) {
+-            return sprint_realloc_by_type(buf, buf_len, out_len,
++        ) {
++        if (!netsnmp_ds_get_boolean(
++                NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++            u_char          str[] = "Wrong Type (should be Counter64): ";
++            if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++                return 0;
++        }
++        return sprint_realloc_by_type(buf, buf_len, out_len,
+                                           allow_realloc, var, NULL, NULL,
+                                           NULL);
+-        } else {
+-            return 0;
+-        }
+     }
+ 
+     if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) {
[email protected]@ -950,23 +949,25 @@ sprint_realloc_opaque(u_char ** buf, size_t * buf_len,
+                       const struct enum_list *enums,
+                       const char *hint, const char *units)
+ {
+-    if ((var->type != ASN_OPAQUE
++    if (var->type != ASN_OPAQUE
+ #ifdef NETSNMP_WITH_OPAQUE_SPECIAL_TYPES
+         && var->type != ASN_OPAQUE_COUNTER64
+         && var->type != ASN_OPAQUE_U64
+         && var->type != ASN_OPAQUE_I64
+         && var->type != ASN_OPAQUE_FLOAT && var->type != ASN_OPAQUE_DOUBLE
+ #endif                          /* NETSNMP_WITH_OPAQUE_SPECIAL_TYPES */
+-        ) && (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+-        if (snmp_cstrcat(buf, buf_len, out_len, allow_realloc, 
+-                         "Wrong Type (should be Opaque): ")) {
+-            return sprint_realloc_by_type(buf, buf_len, out_len,
++        ) {
++        if (!netsnmp_ds_get_boolean(
++                NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++            u_char          str[] = "Wrong Type (should be Opaque): ";
++            if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++                return 0;
++        }
++        return sprint_realloc_by_type(buf, buf_len, out_len,
+                                           allow_realloc, var, NULL, NULL,
+                                           NULL);
+-        } else {
+-            return 0;
+-        }
+     }
++
+ #ifdef NETSNMP_WITH_OPAQUE_SPECIAL_TYPES
+     switch (var->type) {
+     case ASN_OPAQUE_COUNTER64:
[email protected]@ -1042,17 +1043,16 @@ sprint_realloc_object_identifier(u_char ** buf, size_t * buf_len,
+ {
+     int             buf_overflow = 0;
+ 
+-    if ((var->type != ASN_OBJECT_ID) &&
+-        (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+-        u_char          str[] =
+-            "Wrong Type (should be OBJECT IDENTIFIER): ";
+-        if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+-            return sprint_realloc_by_type(buf, buf_len, out_len,
++    if (var->type != ASN_OBJECT_ID) {
++        if (!netsnmp_ds_get_boolean(
++                NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++            u_char          str[] = "Wrong Type (should be OBJECT IDENTIFIER): ";
++            if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++                return 0;
++        }
++        return sprint_realloc_by_type(buf, buf_len, out_len,
+                                           allow_realloc, var, NULL, NULL,
+                                           NULL);
+-        } else {
+-            return 0;
+-        }
+     }
+ 
+     if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) {
[email protected]@ -1112,16 +1112,16 @@ sprint_realloc_timeticks(u_char ** buf, size_t * buf_len, size_t * out_len,
+ {
+     char            timebuf[40];
+ 
+-    if ((var->type != ASN_TIMETICKS) && 
+-        (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+-        u_char          str[] = "Wrong Type (should be Timeticks): ";
+-        if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+-            return sprint_realloc_by_type(buf, buf_len, out_len,
++    if (var->type != ASN_TIMETICKS) {
++        if (!netsnmp_ds_get_boolean(
++                NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++            u_char          str[] = "Wrong Type (should be Timeticks): ";
++            if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++                return 0;
++        }
++        return sprint_realloc_by_type(buf, buf_len, out_len,
+                                           allow_realloc, var, NULL, NULL,
+                                           NULL);
+-        } else {
+-            return 0;
+-        }
+     }
+ 
+     if (netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_NUMERIC_TIMETICKS)) {
[email protected]@ -1260,17 +1260,18 @@ sprint_realloc_integer(u_char ** buf, size_t * buf_len, size_t * out_len,
+ {
+     char           *enum_string = NULL;
+ 
+-    if ((var->type != ASN_INTEGER) && 
+-        (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+-        u_char          str[] = "Wrong Type (should be INTEGER): ";
+-        if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+-            return sprint_realloc_by_type(buf, buf_len, out_len,
++    if (var->type != ASN_INTEGER) {
++        if (!netsnmp_ds_get_boolean(
++                NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++            u_char          str[] = "Wrong Type (should be INTEGER): ";
++            if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++                return 0;
++        }
++        return sprint_realloc_by_type(buf, buf_len, out_len,
+                                           allow_realloc, var, NULL, NULL,
+                                           NULL);
+-        } else {
+-            return 0;
+-        }
+     }
++
+     for (; enums; enums = enums->next) {
+         if (enums->value == *var->val.integer) {
+             enum_string = enums->label;
[email protected]@ -1363,16 +1364,16 @@ sprint_realloc_uinteger(u_char ** buf, size_t * buf_len, size_t * out_len,
+ {
+     char           *enum_string = NULL;
+ 
+-    if ((var->type != ASN_UINTEGER) && 
+-        (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+-        u_char          str[] = "Wrong Type (should be UInteger32): ";
+-        if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+-            return sprint_realloc_by_type(buf, buf_len, out_len,
++    if (var->type != ASN_UINTEGER) {
++        if (!netsnmp_ds_get_boolean(
++                NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++            u_char          str[] = "Wrong Type (should be UInteger32): ";
++            if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++                return 0;
++        }
++        return sprint_realloc_by_type(buf, buf_len, out_len,
+                                           allow_realloc, var, NULL, NULL,
+                                           NULL);
+-        } else {
+-            return 0;
+-        }
+     }
+ 
+     for (; enums; enums = enums->next) {
[email protected]@ -1460,17 +1461,16 @@ sprint_realloc_gauge(u_char ** buf, size_t * buf_len, size_t * out_len,
+ {
+     char            tmp[32];
+ 
+-    if ((var->type != ASN_GAUGE) && 
+-        (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+-        u_char          str[] =
+-            "Wrong Type (should be Gauge32 or Unsigned32): ";
+-        if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+-            return sprint_realloc_by_type(buf, buf_len, out_len,
++    if (var->type != ASN_GAUGE) {
++        if (!netsnmp_ds_get_boolean(
++                NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++            u_char          str[] = "Wrong Type (should be Gauge32 or Unsigned32): ";
++            if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++                return 0;
++        }
++        return sprint_realloc_by_type(buf, buf_len, out_len,
+                                           allow_realloc, var, NULL, NULL,
+                                           NULL);
+-        } else {
+-            return 0;
+-        }
+     }
+ 
+     if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) {
[email protected]@ -1533,16 +1533,16 @@ sprint_realloc_counter(u_char ** buf, size_t * buf_len, size_t * out_len,
+ {
+     char            tmp[32];
+ 
+-    if ((var->type != ASN_COUNTER) && 
+-        (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+-        u_char          str[] = "Wrong Type (should be Counter32): ";
+-        if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+-            return sprint_realloc_by_type(buf, buf_len, out_len,
++    if (var->type != ASN_COUNTER) {
++        if (!netsnmp_ds_get_boolean(
++                NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++            u_char          str[] = "Wrong Type (should be Counter32): ";
++            if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++                return 0;
++        }
++        return sprint_realloc_by_type(buf, buf_len, out_len,
+                                           allow_realloc, var, NULL, NULL,
+                                           NULL);
+-        } else {
+-            return 0;
+-        }
+     }
+ 
+     if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) {
[email protected]@ -1596,16 +1596,16 @@ sprint_realloc_networkaddress(u_char ** buf, size_t * buf_len,
+ {
+     size_t          i;
+ 
+-    if ((var->type != ASN_IPADDRESS) && 
+-        (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+-        u_char          str[] = "Wrong Type (should be NetworkAddress): ";
+-        if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+-            return sprint_realloc_by_type(buf, buf_len, out_len,
++    if (var->type != ASN_IPADDRESS) {
++        if (!netsnmp_ds_get_boolean(
++                NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++            u_char          str[] = "Wrong Type (should be NetworkAddress): ";
++            if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++                return 0;
++        }
++        return sprint_realloc_by_type(buf, buf_len, out_len,
+                                           allow_realloc, var, NULL, NULL,
+                                           NULL);
+-        } else {
+-            return 0;
+-        }
+     }
+ 
+     if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) {
[email protected]@ -1662,16 +1662,16 @@ sprint_realloc_ipaddress(u_char ** buf, size_t * buf_len, size_t * out_len,
+ {
+     u_char         *ip = var->val.string;
+ 
+-    if ((var->type != ASN_IPADDRESS) && 
+-        (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+-        u_char          str[] = "Wrong Type (should be IpAddress): ";
+-        if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+-            return sprint_realloc_by_type(buf, buf_len, out_len,
++    if (var->type != ASN_IPADDRESS) {
++        if (!netsnmp_ds_get_boolean(
++                NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++            u_char          str[] = "Wrong Type (should be IpAddress): ";
++            if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++                return 0;
++        }
++        return sprint_realloc_by_type(buf, buf_len, out_len,
+                                           allow_realloc, var, NULL, NULL,
+                                           NULL);
+-        } else {
+-            return 0;
+-        }
+     }
+ 
+     if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) {
[email protected]@ -1720,20 +1720,20 @@ sprint_realloc_null(u_char ** buf, size_t * buf_len, size_t * out_len,
+                     const struct enum_list *enums,
+                     const char *hint, const char *units)
+ {
+-    if ((var->type != ASN_NULL) && 
+-        (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+-        u_char          str[] = "Wrong Type (should be NULL): ";
+-        if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+-            return sprint_realloc_by_type(buf, buf_len, out_len,
++    if (var->type != ASN_NULL) {
++        if (!netsnmp_ds_get_boolean(
++                NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++            u_char          str[] = "Wrong Type (should be NULL): ";
++            if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++                return 0;
++        }
++        return sprint_realloc_by_type(buf, buf_len, out_len,
+                                           allow_realloc, var, NULL, NULL,
+                                           NULL);
+-        } else {
+-            return 0;
+-        }
+-    } else {
+-        u_char          str[] = "NULL";
+-        return snmp_strcat(buf, buf_len, out_len, allow_realloc, str);
+     }
++
++    u_char          str[] = "NULL";
++    return snmp_strcat(buf, buf_len, out_len, allow_realloc, str);
+ }
+ 
+ 
[email protected]@ -1768,16 +1768,16 @@ sprint_realloc_bitstring(u_char ** buf, size_t * buf_len, size_t * out_len,
+     u_char         *cp;
+     char           *enum_string;
+ 
+-    if ((var->type != ASN_BIT_STR && var->type != ASN_OCTET_STR) &&
+-        (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+-        u_char          str[] = "Wrong Type (should be BITS): ";
+-        if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+-            return sprint_realloc_by_type(buf, buf_len, out_len,
++    if (var->type != ASN_BIT_STR && var->type != ASN_OCTET_STR) {
++        if (!netsnmp_ds_get_boolean(
++                NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++            u_char          str[] = "Wrong Type (should be BITS): ";
++            if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++                return 0;
++        }
++        return sprint_realloc_by_type(buf, buf_len, out_len,
+                                           allow_realloc, var, NULL, NULL,
+                                           NULL);
+-        } else {
+-            return 0;
+-        }
+     }
+ 
+     if (netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) {
[email protected]@ -1852,16 +1852,16 @@ sprint_realloc_nsapaddress(u_char ** buf, size_t * buf_len,
+                            const struct enum_list *enums, const char *hint,
+                            const char *units)
+ {
+-    if ((var->type != ASN_NSAP) && 
+-        (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT))) {
+-        u_char          str[] = "Wrong Type (should be NsapAddress): ";
+-        if (snmp_strcat(buf, buf_len, out_len, allow_realloc, str)) {
+-            return sprint_realloc_by_type(buf, buf_len, out_len,
++    if (var->type != ASN_NSAP) {
++        if (!netsnmp_ds_get_boolean(
++                NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICKE_PRINT)) {
++            u_char          str[] = "Wrong Type (should be NsapAddress): ";
++            if (!snmp_strcat(buf, buf_len, out_len, allow_realloc, str))
++                return 0;
++        }
++        return sprint_realloc_by_type(buf, buf_len, out_len,
+                                           allow_realloc, var, NULL, NULL,
+                                           NULL);
+-        } else {
+-            return 0;
+-        }
+     }
+ 
+     if (!netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, NETSNMP_DS_LIB_QUICK_PRINT)) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/051.19616471.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,37 @@
+# http://sourceforge.net/p/net-snmp/code/ci/76e8d6d100320629d8a23be4b0128619600c919d/
+# CVE-2014-2285
+# https://security-tracker.debian.org/tracker/CVE-2014-2285
+# The perl_trapd_handler function in perl/TrapReceiver/TrapReceiver.xs in
+# Net-SNMP 5.7.3.pre3 and earlier, when using certain Perl versions, allows
+# remote attackers to cause a denial of service (snmptrapd crash) via an empty
+# community string in an SNMP trap, which triggers a NULL pointer dereference
+# within the newSVpv function in Perl.
+# 
+# Fix picked from upstream. Will be available in 5.7.3 and above.
+#
+--- net-snmp-5.7.2.1/perl/TrapReceiver/TrapReceiver.xs	Wed Feb 19 16:36:42 2014
++++ TrapReceiver.xs	Thu Oct 30 02:48:45 2014
[email protected]@ -81,18 +81,18 @@
+         STOREPDUi("securitymodel", pdu->securityModel);
+         STOREPDUi("securitylevel", pdu->securityLevel);
+         STOREPDU("contextName",
+-                 newSVpv(pdu->contextName, pdu->contextNameLen));
++                 newSVpv(pdu->contextName ? pdu->contextName : "", pdu->contextNameLen));
+         STOREPDU("contextEngineID",
+-                 newSVpv((char *) pdu->contextEngineID,
++                 newSVpv(pdu->contextEngineID ? (char *) pdu->contextEngineID : "",
+                                     pdu->contextEngineIDLen));
+         STOREPDU("securityEngineID",
+-                 newSVpv((char *) pdu->securityEngineID,
++                 newSVpv(pdu->securityEngineID ? (char *) pdu->securityEngineID : "",
+                                     pdu->securityEngineIDLen));
+         STOREPDU("securityName",
+-                 newSVpv((char *) pdu->securityName, pdu->securityNameLen));
++                 newSVpv(pdu->securityName ? (char *) pdu->securityName : "", pdu->securityNameLen));
+     } else {
+         STOREPDU("community",
+-                 newSVpv((char *) pdu->community, pdu->community_len));
++                 newSVpv(pdu->community ? (char *) pdu->community : "", pdu->community_len));
+     }
+ 
+     if (transport && transport->f_fmtaddr) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/052.16824703.dyn_cpu.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,288 @@
+#
+# net-snmp can't get "hrProcessorLoad" dynamically after change the no. of CPUs.
+#
+# Developed in-house. Patch submitted to community
+# http://sourceforge.net/p/net-snmp/patches/1284/
+--- a/include/net-snmp/agent/hardware/cpu.h	2014-06-09 04:44:56.766491669 -0700
++++ b/include/net-snmp/agent/hardware/cpu.h	2014-06-09 04:45:47.845551969 -0700
[email protected]@ -52,6 +52,11 @@
+      netsnmp_cpu_info *next;
+ };
+ 
++    /* Auxilary structure used for updating the new cpu list */
++struct cpu_idx {
++	int idx;
++	struct cpu_idx *next;
++};
+ 
+     /*
+      * Possibly not all needed ??
[email protected]@ -60,6 +65,7 @@
+ netsnmp_cpu_info *netsnmp_cpu_get_next( netsnmp_cpu_info* );
+ netsnmp_cpu_info *netsnmp_cpu_get_byIdx(  int,   int );
+ netsnmp_cpu_info *netsnmp_cpu_get_byName( char*, int );
++int netsnmp_update_cpu_list( struct cpu_idx * ); /* returns the number of deleted cpus */
+ 
+ netsnmp_cache *netsnmp_cpu_get_cache( void );
+ int netsnmp_cpu_load( void );
+--- net-snmp-5.7.2.1/agent/mibgroup/hardware/cpu/cpu.c	Wed Feb 19 16:36:42 2014
++++ cpu.c	Thu Oct 30 03:00:29 2014
[email protected]@ -271,4 +271,60 @@
+     cpu2->pageIn     = cpu->pageIn;
+     cpu2->pageOut    = cpu->pageOut;
+ }
++
++    /*
++     * Updates the cpu list, keeping the cpus whose indices are passed
++     * assumes the passed linked list of indices is sorted in ascending order
++     * returns the number of deleted cpus
++     */
++int netsnmp_update_cpu_list( struct cpu_idx *new_cpu_list )
++{
++    netsnmp_cpu_info *prev, *current, *temp1, *temp2;
++    int n=0;
++    netsnmp_cpu_info *cpu;
++
++    for( prev=current=_cpu_head; current && new_cpu_list ;
++        current=current->next, new_cpu_list=new_cpu_list->next ) {
++        if ( current->idx == new_cpu_list->idx ) {
++            prev=current;
++        } else {
++            current=current->next;
++            while ( current && (current->idx != new_cpu_list->idx) )
++                current = current->next;
++            if ( !current ) {
++                /*This shouldn't happen. Something went really wrong */
++                return -1;
++            }
++
++            temp1 = prev->next;
++            prev->next = current;
++            prev = current;
++                /* remove the unassigned cpus */
++            while ( temp1 != current ) {
++                temp2 = temp1;
++                temp1 = temp1->next;
++                n++;
++                SNMP_FREE(temp2->history);
++                SNMP_FREE(temp2);
++            }
++        }
++    } /*end of for */
++
++    if ( !current && new_cpu_list ) {
++        /* This shouldn't happen. */
++        return -1;
++    }
++
++    /* Delete the unassigned trailing cpus from the list */
++    while ( current ) {
++        temp2 = current;
++        current = current->next;
++        n++;
++        SNMP_FREE(temp2->history);
++        SNMP_FREE(temp2);
++     }
++     prev->next = NULL;
++     return n;
++}
++
+ #endif /* NETSNMP_FEATURE_REMOVE_HARDWARE_CPU_COPY_STATS */
+--- net-snmp-5.7.2.1/agent/mibgroup/hardware/cpu/cpu_kstat.c	Wed Feb 19 16:36:42 2014
++++ cpu_kstat.c	Thu Oct 30 03:00:19 2014
[email protected]@ -17,6 +17,8 @@
+ extern kstat_ctl_t  *kstat_fd;
+ extern int           cpu_num;
+ int _cpu_status(char *state);
++static void add_new_kstat_cpu_entry(kstat_t *ksp);
++static struct cpu_idx * add_cpu_idx(struct cpu_idx * head, int idx);
+ 
+     /*
+      * Initialise the list of CPUs on the system
[email protected]@ -23,10 +25,8 @@
+      *   (including descriptions)
+      */
+ void init_cpu_kstat( void ) {
+-    int               i = 0, n = 0, clock, state_begin;
+-    char              ctype[15], ftype[15], state[10];
++    int               n=0;
+     kstat_t          *ksp;
+-    kstat_named_t    *ks_data;
+     netsnmp_cpu_info *cpu = netsnmp_cpu_get_byIdx( -1, 1 );
+     strcpy(cpu->name, "Overall CPU statistics");
+ 
[email protected]@ -41,45 +41,63 @@
+         if ((strcmp(ksp->ks_module, "cpu_info") == 0) &&
+             (strcmp(ksp->ks_class,  "misc"    ) == 0)) {
+             kstat_read(kstat_fd, ksp, NULL );
++            add_new_kstat_cpu_entry(ksp);
+             n++;
+-            clock = 999999;
+-            memset(ctype, 0, sizeof(ctype));
+-            memset(ftype, 0, sizeof(ftype));
+-            memset(state, 0, sizeof(state));
+-            for (i=0, ks_data = ksp->ks_data; i < ksp->ks_ndata; i++, ks_data++) {
+-                if ( strcmp( ks_data->name, "state" ) == 0 ) {
+-                    strlcpy(state, ks_data->value.c, sizeof(state));
+-                } else if ( strcmp( ks_data->name, "state_begin" ) == 0 ) {
+-                    state_begin = ks_data->value.i32;
+-                } else if ( strcmp( ks_data->name, "cpu_type" ) == 0 ) {
+-                    strlcpy(ctype, ks_data->value.c, sizeof(ctype));
+-                } else if ( strcmp( ks_data->name, "fpu_type" ) == 0 ) {
+-                    strlcpy(ftype, ks_data->value.c, sizeof(ftype));
+-                } else if ( strcmp( ks_data->name, "clock_MHz" ) == 0 ) {
+-                    clock = ks_data->value.i32;
+-                }
+-            }
+-            i   = ksp->ks_instance;
+-            cpu = netsnmp_cpu_get_byIdx( i, 1 );
+-            sprintf( cpu->name,  "cpu%d", i );
+-            sprintf( cpu->descr, "CPU %d Sun %d MHz %s with %s FPU %s",
+-                                 i, clock, ctype, ftype, state  );
+-            cpu->status = _cpu_status(state); /* XXX - or in 'n_c_a_load' ? */
+         }
+     }
+-    cpu_num = i;
++    cpu_num = n;
+ }
+ 
+ 
+     /*
++     * adds the new cpu entry to the exisitng list
++     */
++static void
++add_new_kstat_cpu_entry( kstat_t *ksp ) {
++    int i, clock, state_begin;
++    char ctype[15], ftype[15], state[10];
++    kstat_named_t    *ks_data;
++    netsnmp_cpu_info *cpu;
++
++    clock = 999999;
++    memset(ctype, 0, sizeof(ctype));
++    memset(ftype, 0, sizeof(ftype));
++    memset(state, 0, sizeof(state));
++
++    for (i=0, ks_data = ksp->ks_data; i < ksp->ks_ndata; i++, ks_data++) {
++        if ( strcmp( ks_data->name, "state" ) == 0 ) {
++            strncpy( state, ks_data->value.c, sizeof(state));
++            state[sizeof(state)-1] = '\0';
++        } else if ( strcmp( ks_data->name, "state_begin" ) == 0 ) {
++            state_begin = ks_data->value.i32;
++        } else if ( strcmp( ks_data->name, "cpu_type" ) == 0 ) {
++            strncpy( ctype, ks_data->value.c, sizeof(ctype));
++            ctype[sizeof(ctype)-1] = '\0';
++        } else if ( strcmp( ks_data->name, "fpu_type" ) == 0 ) {
++            strncpy( ftype, ks_data->value.c, sizeof(ftype));
++            ftype[sizeof(ftype)-1] = '\0';
++        } else if ( strcmp( ks_data->name, "clock_MHz" ) == 0 ) {
++            clock = ks_data->value.i32;
++        }
++    }
++    i   = ksp->ks_instance;
++    cpu = netsnmp_cpu_get_byIdx( i, 1 );
++    sprintf( cpu->name,  "cpu%d", i );
++    sprintf( cpu->descr, "CPU %d Sun %d MHz %s with %s FPU %s", i, clock, ctype, ftype, state  );
++    cpu->status = _cpu_status(state);
++}
++
++
++    /*
+      * Load the latest CPU usage statistics
+      */
+ int netsnmp_cpu_arch_load( netsnmp_cache *cache, void *magic ) {
+-    int               i=1;
++    int               i=1, n=0;
+     kstat_t          *ksp;
+     cpu_stat_t        cs;
+     netsnmp_cpu_info *cpu = netsnmp_cpu_get_byIdx( -1, 0 );
+     netsnmp_cpu_info *cpu2;
++    struct cpu_idx *new_cpu_list = NULL, *temp_cpu_idx;
+ 
+         /* Clear overall stats, ready for summing individual CPUs */
+     cpu->user_ticks = 0;
[email protected]@ -94,14 +112,40 @@
+ 
+     kstat_chain_update( kstat_fd );
+     DEBUGMSGTL(("cpu", "cpu_kstat load\n "));
++
++    /*
++     * The stats update is three step.
++     * First - add in the new cpus' info to the linked list
++     */
+     for (ksp = kstat_fd->kc_chain; ksp != NULL; ksp = ksp->ks_next) {
+         if (ksp->ks_flags & KSTAT_FLAG_INVALID)
+             continue;
++        if ((strcmp(ksp->ks_module, "cpu_info") == 0) &&
++            (strcmp(ksp->ks_class,  "misc"    ) == 0)) {
++            kstat_read(kstat_fd, ksp, NULL );
++            i = ksp->ks_instance;
++            new_cpu_list = add_cpu_idx( new_cpu_list, i);
++            cpu2 = netsnmp_cpu_get_byIdx( i, 0 );
++            if ( !cpu2 ) {
++                add_new_kstat_cpu_entry(ksp);
++                n++;
++            }
++        }
++    }
++
++
++    /* Second - update the CPU list to reflect new kernel structures */
++    n -= netsnmp_update_cpu_list( new_cpu_list );
++
++    /* Third - for updating stats for the new CPU set */
++    for (ksp = kstat_fd->kc_chain; ksp != NULL; ksp = ksp->ks_next) {
++        if (ksp->ks_flags & KSTAT_FLAG_INVALID)
++            continue;
+         if (strcmp(ksp->ks_module, "cpu_stat") == 0) {
+             i    = ksp->ks_instance;
+             cpu2 = netsnmp_cpu_get_byIdx( i, 0 );
+             if ( !cpu2 )  
+-                break;   /* or continue ? */  /* Skip new CPUs */
++                    continue;  /* This shouldn't happen. Inconsistency in kstat CPU data */
+             if ((ksp->ks_type != KSTAT_TYPE_RAW) ||
+                 (ksp->ks_data_size != sizeof(cs))||
+                 (kstat_read(kstat_fd, ksp, &cs) == -1)) {
[email protected]@ -135,9 +179,43 @@
+             cpu->nCtxSwitches += (unsigned long long)cs.cpu_sysinfo.pswitch;
+         }
+     }
++    cpu_num += n;
++    /* Clean up the temporary CPU index list */
++    while(new_cpu_list) {
++        temp_cpu_idx = new_cpu_list;
++        new_cpu_list = new_cpu_list->next;
++        SNMP_FREE(temp_cpu_idx);
++    }
+     return 0;
+ }
+ 
++    /* returns the new head */
++static struct cpu_idx *
++add_cpu_idx(struct cpu_idx * head, int idx)
++{
++    struct cpu_idx *cpu_idx, *current;
++    cpu_idx = SNMP_MALLOC_TYPEDEF( struct cpu_idx );
++    if ( !cpu_idx ) {
++        DEBUGMSG(("cpu", "(cpu_idx creation failed)\n"));
++        return head;
++    }
++
++    cpu_idx->idx = idx;
++    if ( !head || head->idx > idx ) {
++        cpu_idx->next = head;
++        return cpu_idx;
++    }
++
++    for ( current=head; current; current=current->next ) {
++        if ( !current->next || current->next->idx > idx ) {
++            cpu_idx->next = current->next;
++            current->next = cpu_idx;
++            return head;
++        }
++    }
++
++}
++
+ int
+ _cpu_status( char *state)
+ {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/053.20191950.dladm_proto_change.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,27 @@
+This patch is a solaris specific one which fixes a build issue 
+related to change in the prototype of a dladm function. This has 
+not been submitted to the community.
+--- net-snmp-5.4.1.old/agent/mibgroup/kernel_sunos5.c	2015-01-08 06:55:57.165428600 -0600
++++ net-snmp-5.4.1/agent/mibgroup/kernel_sunos5.c	2015-01-08 06:50:09.992840500 -0600
[email protected]@ -62,6 +62,7 @@
+ 
+ #include <libdladm.h>
+ #include <libdllink.h>
++#include <libnetcfg.h>
+ /*-
+  * Includes of local application header files 
+  */
[email protected]@ -1733,7 +1734,12 @@
+         dladm_phys_attr_t dpa;
+         dladm_handle_t handle;
+ 
+-        if (dladm_open(&handle, NULL) != DLADM_STATUS_OK) {
++#ifdef NETADM_ACTIVE_PROFILE
++        if (dladm_open(&handle, NULL)
++#else
++        if (dladm_open(&handle)
++#endif
++            != DLADM_STATUS_OK) {
+             DEBUGMSGTL(("kernel_sunos5","dladm_open failed "
+                        "with errno=%d\n",errno));
+             return (-1);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/054.20479968.net-snmp-config.in.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,18 @@
+This patch fixes a Solaris specific issue related to user creation
+in snmpv3. The patch has been submitted to the community but has
+not been accepted yet.
+
+The details can be found in the following location
+https://sourceforge.net/p/net-snmp/bugs/2607
+
+--- a/net-snmp-create-v3-user.in	Wed Feb 19 16:36:42 2014
++++ b/net-snmp-create-v3-user.in	Wed Dec 23 22:47:04 2015
[email protected]@ -28,7 +28,7 @@
+    NSC_SRCDIR="NET-SNMP-SOURCE-DIR"
+ fi
+ 
+-if @[email protected] | egrep ' snmpd *$' > /dev/null 2>&1 ; then
++if " /usr/bin/ps -z `zonename` | egrep ' snmpd *$' " > /dev/null 2>&1 ; then
+     echo "Apparently at least one snmpd demon is already running."
+     echo "You must stop them in order to use this command."
+     exit 1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/055.15777182.tcp.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,19 @@
+This patch fixes a issue related to retrieving 
+the value of tcpOutRsts from tcpstat structure. The patch has
+been accepted by the community.
+
+The details can be found in the following location
+https://sourceforge.net/p/net-snmp/bugs/2599/
+
+--- a/agent/mibgroup/mibII/tcp.c	Wed Apr  1 02:40:40 2015
++++ b/agent/mibgroup/mibII/tcp.c	Wed Apr  1 02:44:23 2015
[email protected]@ -306,6 +306,9 @@
+             ret_value = tcpstat.tcpOutRsts;
+             break;
+ 	}
++#elif defined(solaris2)
++        ret_value = tcpstat.tcpOutRsts;
++        break;  
+ #endif			/* linux */
+         netsnmp_set_request_error(reqinfo, request, SNMP_NOSUCHOBJECT);
+         continue;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/056.19474426.var_route.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,24 @@
+This patch fixes a Solaris specific issue where ipRouteNextHop
+was not returning the default ip address.The bug has been 
+submitted to the community.This patch was suggested in the 
+upstream, it has been included in the Net-SNMP version 5.5
+onwards.
+
+The details can be found in the following location
+https://sourceforge.net/p/net-snmp/bugs/2621/
+
+--- a/agent/mibgroup/mibII/var_route.c
++++ b/agent/mibgroup/mibII/var_route.c
[email protected]@ -769,9 +769,11 @@ var_ipRouteEntry(struct variable * vp,
+                        req_type, &IP_Cmp_Route, &Nextentry) != 0)
+             break;
+ #ifdef HAVE_DEFINED_IRE_CACHE
+-        if(entry.ipRouteInfo.re_ire_type&IRE_CACHE)
++        if(entry.ipRouteInfo.re_ire_type & IRE_CACHE)
+             continue;
+ #endif /* HAVE_DEFINED_IRE_CACHE */
++        if(entry.ipRouteInfo.re_ire_type & IRE_BROADCAST)
++            continue;
+         COPY_IPADDR(cp, (u_char *) & entry.ipRouteDest, op,
+                     current + IP_ROUTEADDR_OFF);
+         if (exact) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/057.21442284.snmptrapd.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,17 @@
+Patch developed inhouse and has been accepted by the community.
+Details can be found at
+https://sourceforge.net/p/net-snmp/bugs/2654/
+The community patch differs slightly from this as it needs to be
+generic for all OSes, hence they have included an extra check for the availability
+of the forkall function. 
+--- net-snmp-5.4.1.old/apps/snmptrapd.c	2007-06-08 03:44:37.000000000 -0700
++++ net-snmp-5.4.1/apps/snmptrapd.c	2015-05-20 05:12:11.512063848 -0700
[email protected]@ -1237,7 +1237,7 @@
+     if (dofork && netsnmp_running) {
+         int             fd;
+ 
+-        switch (fork()) {
++        switch (forkall()) {
+         case -1:
+             fprintf(stderr, "bad fork - %s\n", strerror(errno));
+             _exit(1);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/058.15372155.hr_storage.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,64 @@
+This patch fixes an issue where snmpdf was not returning the 
+correct total disk size and available disk size when the size 
+of the filesystem is larger than 1TB.This bug is already fixed 
+in the community and the fix is available from the net-snmp 
+version 5.6 onwards.The fix here slightly differs from the community 
+since the patch in the community is applied on net-snmp version 5.6 .
+This patch is taken from the below link.
+
+https://bugs.launchpad.net/ubuntu/+source/net-snmp/+bug/865268
+
+
+--- net-snmp-5.4.1/agent/mibgroup/host/hr_storage.c	Thu May 21 23:47:45 2015
++++ net-snmp-5.4.1/agent/mibgroup/host/hr_storage.c	Thu May 21 23:55:59 2015
[email protected]@ -505,6 +505,7 @@
+             int exact, size_t * var_len, WriteMethod ** write_method)
+ {
+     int             store_idx = 0;
++    int             factor = 0;
+     static char     string[1024];
+     struct HRFS_statfs stat_buf;
+     void                *ptr;
[email protected]@ -558,6 +558,12 @@
+ 	    mem = (netsnmp_memory_info*)ptr;
+         }
+ 
++/* Scaling factor for large filesystems */
++    if (store_idx > NETSNMP_MEM_TYPE_MAX) {
++        unsigned long long tmp = stat_buf.f_blocks;
++        while (tmp > 0x7fffffff)
++            tmp >>= 1, factor++;
++    }
+ 
+ 
+     switch (vp->magic) {
[email protected]@ -593,9 +599,9 @@
+     case HRSTORE_UNITS:
+         if (store_idx > NETSNMP_MEM_TYPE_MAX)
+ #if HRFS_HAS_FRSIZE
+-            long_return = stat_buf.f_frsize;
++            long_return = stat_buf.f_frsize << factor;
+ #else
+-            long_return = stat_buf.f_bsize;
++            long_return = stat_buf.f_bsize << factor;
+ #endif
+         else {
+             if ( !mem || mem->units == -1 )
[email protected]@ -605,7 +611,7 @@
+         return (u_char *) & long_return;
+     case HRSTORE_SIZE:
+         if (store_idx > NETSNMP_MEM_TYPE_MAX)
+-            long_return = stat_buf.f_blocks;
++            long_return = stat_buf.f_blocks >> factor;
+         else {
+             if ( !mem || mem->size == -1 )
+                 goto try_next;
[email protected]@ -614,7 +620,7 @@
+         return (u_char *) & long_return;
+     case HRSTORE_USED:
+         if (store_idx > NETSNMP_MEM_TYPE_MAX)
+-            long_return = (stat_buf.f_blocks - stat_buf.f_bfree);
++            long_return = (stat_buf.f_blocks - stat_buf.f_bfree) >> factor;
+         else {
+             if ( !mem || mem->size == -1 || mem->free == -1 )
+                 goto try_next;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/059.21544351.snmp_api.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,123 @@
+This patch fixes a security issue where snmp_pdu_parse() function 
+could leave incompletely parsed varBind variables in the list of  
+variables. A remote, unauthenticated attacker could exploit this 
+flaw to cause a crash or, potentially, execute arbitrary code.
+The vulnerability is fixed in the upsream and below is the link 
+to the upstream bug.
+https://sourceforge.net/p/net-snmp/bugs/2615/ 
+
+--- a/snmplib/snmp_api.c	Mon Aug  3 03:34:05 2015
++++ b/snmplib/snmp_api.c	Mon Aug  3 03:31:01 2015
[email protected]@ -4270,10 +4270,9 @@
+     u_char          type;
+     u_char          msg_type;
+     u_char         *var_val;
+-    int             badtype = 0;
+     size_t          len;
+     size_t          four;
+-    netsnmp_variable_list *vp = NULL;
++    netsnmp_variable_list *vp = NULL, *vplast = NULL;
+     oid             objid[MAX_OID_LEN];
+ 
+     /*
[email protected]@ -4486,38 +4486,24 @@
+                               (ASN_SEQUENCE | ASN_CONSTRUCTOR),
+                               "varbinds");
+     if (data == NULL)
+-        return -1;
++        goto fail;
+ 
+     /*
+      * get each varBind sequence 
+      */
+     while ((int) *length > 0) {
+-        netsnmp_variable_list *vptemp;
+-        vptemp = (netsnmp_variable_list *) malloc(sizeof(*vptemp));
+-        if (NULL == vptemp) {
+-            return -1;
+-        }
+-        if (NULL == vp) {
+-            pdu->variables = vptemp;
+-        } else {
+-            vp->next_variable = vptemp;
+-        }
+-        vp = vptemp;
+-
+-        vp->next_variable = NULL;
+-        vp->val.string = NULL;
++        vp = SNMP_MALLOC_TYPEDEF(netsnmp_variable_list);
++        if (NULL == vp)
++            goto fail;
+         vp->name_length = MAX_OID_LEN;
+-        vp->name = NULL;
+-        vp->index = 0;
+-        vp->data = NULL;
+-        vp->dataFreeHook = NULL;
++        vp->type = 0;
+         DEBUGDUMPSECTION("recv", "VarBind");
+         data = snmp_parse_var_op(data, objid, &vp->name_length, &vp->type,
+                                  &vp->val_len, &var_val, length);
+         if (data == NULL)
+-            return -1;
++            goto fail;
+         if (snmp_set_var_objid(vp, objid, vp->name_length))
+-            return -1;
++            goto fail;
+ 
+         len = MAX_PACKET_LENGTH;
+         DEBUGDUMPHEADER("recv", "Value");
[email protected]@ -4504,7 +4488,7 @@
+                 vp->val.string = (u_char *) malloc(vp->val_len);
+             }
+             if (vp->val.string == NULL) {
+-                return -1;
++                goto fail;
+             }
+             asn_parse_string(var_val, &len, &vp->type, vp->val.string,
+                              &vp->val_len);
[email protected]@ -4515,7 +4499,7 @@
+             vp->val_len *= sizeof(oid);
+             vp->val.objid = (oid *) malloc(vp->val_len);
+             if (vp->val.objid == NULL) {
+-                return -1;
++                goto fail;
+             }
+             memmove(vp->val.objid, objid, vp->val_len);
+             break;
[email protected]@ -4527,7 +4511,7 @@
+         case ASN_BIT_STR:
+             vp->val.bitstring = (u_char *) malloc(vp->val_len);
+             if (vp->val.bitstring == NULL) {
+-                return -1;
++                goto fail;
+             }
+             asn_parse_bitstring(var_val, &len, &vp->type,
+                                 vp->val.bitstring, &vp->val_len);
[email protected]@ -4534,12 +4518,25 @@
+             break;
+         default:
+             snmp_log(LOG_ERR, "bad type returned (%x)\n", vp->type);
+-            badtype = -1;
++            goto fail;
+             break;
+         }
+         DEBUGINDENTADD(-4);
++        if (NULL == vplast) {
++            pdu->variables = vp;
++        } else {
++            vplast->next_variable = vp;
++        }
++        vplast = vp;
++        vp = NULL;
+     }
+-    return badtype;
++    return 0;
++    fail:
++      DEBUGMSGTL(("recv", "error while parsing VarBindList\n"));
++      /** if we were parsing a var, remove it from the pdu and free it */
++      if (vp)
++        snmp_free_var(vp);
++      return -1;
+ }
+ 
+ /*
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/patches/060.20461627.17502158.kernel_sunos5.patch	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,21 @@
+This patch fixes a Solaris specific issue where ifoperstatus of
+the vnic's inside a non global zone and also ifoperstatus of
+the vlan shows it as down even though the link is up. The patch 
+has been submitted to the community but has not been accepted yet.
+
+The details can be found in the following location
+https://sourceforge.net/p/net-snmp/bugs/2605/
+
+--- a/agent/mibgroup/kernel_sunos5.c	Thu Apr 16 21:13:47 2015
++++ b/agent/mibgroup/kernel_sunos5.c	Thu Apr 16 21:18:28 2015
[email protected]@ -1922,8 +1922,8 @@
+     if (ifp->ifAdminStatus == 1) {
+         int i_tmp;
+         /* only UPed interfaces get correct link status - if any */
+-        if (getKstatInt(NULL, name,"link_up",&i_tmp) == 0) {
+-            ifp->ifOperStatus = i_tmp ? 1 : 2;
++        if (getKstatInt("link", name,"phys_state",&i_tmp) == 0) {
++            ifp->ifOperStatus = (i_tmp == 1) ? 1 : ((i_tmp == 0) ? 2 : 4);
+         } else if(link_to_phydev(name, phydevname) == 0) {
+                  strcpy(devbasename, phydevname);
+                  DEBUGMSGTL(("kernel_sunos5","phydevname = %s\n", phydevname));
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/run-tests	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,102 @@
+#!/bin/ksh93 -x
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved.
+#
+#
+#pragma ident	"@(#)run-tests	1.1	09/07/08 SMI"
+#
+# *
+# * U.S. Government Rights - Commercial software. Government users are subject
+# * to the Sun Microsystems, Inc. standard license agreement and applicable
+# * provisions of the FAR and its supplements.
+#
+# Use is subject to license terms.
+#
+# This distribution may include materials developed by third parties. Sun,
+# Sun Microsystems, the Sun logo and Solaris are trademarks or registered
+#  trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
+#
+#
+
+# Run Net-SNMP testing kit
+
+# get the arch that we are building on
+arch=`uname -p`
+
+DIR=$1
+MACH32=$2
+MACH64=$3
+IPRE=usr
+IARCH=`arch`
+IPROC=`uname -p | grep sparc > /dev/null && echo sparcv9 || echo amd64`
+IROOTB=/${IPRE}/bin
+IROOTS=/${IPRE}/sbin
+
+VER=${DIR}/${MACH32}
+VER64=${DIR}/${MACH64}
+
+cd ${VER}/testing
+
+if [ ${IPROC} == "amd64" ]; then
+PATH=${IROOT}/usr/sbin/i86:${IROOTB}:${IROOTS}:/usr/ccs/bin:/usr/bin:${SPRO_VROOT}/bin:/usr/sbin:/sbin:/usr/bin:/usr/etc:/usr/sbin:/etc:.:/usr/openwin/bin
+export PATH
+#./RUNTESTS -a > test.32.out 2>&1
+./RUNTESTS -a > ${VER}/test.32.out 2>&1
+if [ $? -ne 0 ]; then
+	echo ""
+	echo "=================================================================="
+	echo "=======      Tests failed for i386 architecture ===================="
+	echo "=======          see test.32.out in           ================="
+	echo "=================================================================="
+	echo ""
+fi
+
+PATH=${IROOT}/usr/sbin/amd64:${IROOT}/usr/bin:/usr/ccs/bin:/usr/bin:${SPRO_VROOT}/bin:/usr/sbin:/sbin:/usr/bin:/usr/etc:/usr/sbin:/etc:.:/usr/openwin/bin
+export PATH
+cd ${VER64}/testing
+./RUNTESTS -a > ${VER64}/test.64.out 2>&1
+if [ $? -ne 0 ]; then
+	echo ""
+	echo "=================================================================="
+	echo "=======      Tests failed for AMD architecture ===================="
+	echo "=======          see test.64.out in $testdir ================="
+	echo "=================================================================="
+	echo ""
+fi
+fi
+
+if [ ${IPROC} == "sparcv9" ]; then
+cd ${VER64}/testing
+PATH=${IROOT}/usr/sbin:${IROOT}/usr/bin:/usr/ccs/bin:/usr/bin:${SPRO_VROOT}/bin:/usr/sbin:/sbin:/usr/bin:/usr/etc:/usr/sbin:/etc:.:/usr/openwin/bin
+export PATH
+./RUNTESTS -a > ${VER64}/test.64.out 2>&1
+if [ $? -ne 0 ]; then
+        echo ""
+        echo "=================================================================="
+        echo "=======      Tests failed for SPARC architecture ===================="
+        echo "=======          see test.64.out in $testdir ================="
+        echo "=================================================================="
+        echo ""
+fi
+fi
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/sun/Makefile	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,92 @@
+#
+# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+#
+# U.S. Government Rights - Commercial software. Government users are subject
+# to the Sun Microsystems, Inc. standard license agreement and applicable
+# provisions of the FAR and its supplements.
+#
+#
+# This distribution may include materials developed by third parties. Sun,
+# Sun Microsystems, the Sun logo and Solaris are trademarks or registered
+# trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
+#
+#
+
+#
+#
+# Makefile for sun directory in SMA
+#
+# $Log: Makefile,v $
+# Revision 1.10  2004/01/09 14:04:14  rr144420
+# 4974843 - directory change per LSARC
+#
+# Revision 1.9  2003/12/11 16:20:17  rr144420
+# 4964336 - eliminate sdk_buildrev
+#
+# Revision 1.8  2003/12/05 15:04:26  rr144420
+# 4964325 - Sun: pass ARCH=isa to make install
+#
+# Revision 1.7  2003/11/17 17:52:11  pcarroll
+# 4953668 - Sun: updated masfcnv migration script needs to be added to pkg
+#
+# Revision 1.6  2003/11/11 22:49:24  pcarroll
+# 4952508 - Sun: need to add a script to SMA pkgs for Enchilada migration
+#
+# Revision 1.5  2003/10/24 11:45:48  rr144420
+# 4943260 - add sdk_buildrev
+#
+# Revision 1.4  2003/08/21 14:41:58  rr144420
+# 4908816 - further makefile changes to install into correct lib
+#
+# Revision 1.3  2003/08/12 21:14:34  rr144420
+# 4895376 - correct Sun copyright statements. Cannot use (c), and must use Copyright Copyright in makefiles
+#
+# Revision 1.2  2003/08/01 16:32:12  rr144420
+# more of Paul's changes for packaging
+#
+# Revision 1.1  2003/07/23 15:53:28  rr144420
+# new makefiles for building sun directory
+# 
+#
+SUBDIRS		= agent
+BUILDREV_SRCS   = sma_buildrev.c
+BUILDREV_PROGS = $(BUILDREV_SRCS:.c=)
+SCRIPT_PROG	= masfcnv \
+		masfd \
+		snmpd.conf
+
+all: subdirs buildrevs
+
+buildrevs:$(BUILDREV_PROGS)
+.c:
+	$(CC) $< -o [email protected]
+
+subdirs:
+	echo "SUBDIRS:  $(MAKE) CFGPREFIX=$(CFGPREFIX) CFGLIB64=$(CFGLIB64) CFGLIB=$(CFGLIB) CC=$(CC) DEBUG=$(DEBUG) ARCH=$(ARCH)" ; 
+	@if test "$(SUBDIRS)" != ""; then \
+		it="$(SUBDIRS)" ; \
+		for i in $$it ; do       \
+			echo "making all in `pwd`/$$i"; \
+	                ( cd $$i ; $(MAKE) CFGPREFIX=$(CFGPREFIX) CFGLIB64=$(CFGLIB64) CFGLIB=$(CFGLIB) CC=$(CC) DEBUG=$(DEBUG) ARCH=$(ARCH) ) ; \
+                        if test $$? != 0 ; then \
+				exit 1 ; \
+			fi  \
+	        done \
+	fi
+
+subdirs_install:
+	@if test "$(SUBDIRS)" != ""; then \
+		it="$(SUBDIRS)" ; \
+		for i in $$it ; do       \
+			echo "making install in `pwd`/$$i"; \
+	                ( cd $$i ; $(MAKE) CFGPREFIX=$(CFGPREFIX) CFGLIB64=$(CFGLIB64) CFGLIB=$(CFGLIB) install ARCH=$(ARCH) ) ; \
+                        if test $$? != 0 ; then \
+				exit 1 ; \
+			fi  \
+	        done \
+	fi
+
+install: subdirs_install
+
+force:
+# dummy target to force rebuilding
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/sun/agent/Makefile	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,62 @@
+#
+# Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+#
+# U.S. Government Rights - Commercial software. Government users are subject
+# to the Sun Microsystems, Inc. standard license agreement and applicable
+# provisions of the FAR and its supplements.
+#
+#
+# This distribution may include materials developed by third parties. Sun,
+# Sun Microsystems, the Sun logo and Solaris are trademarks or registered
+# trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
+#
+#
+
+#
+#
+# Makefile for sun/agent directory in SMA
+#
+# $Log: Makefile,v $
+# Revision 1.5  2003/09/18 11:39:08  rr144420
+# 4922904 - include sea directory in makefile
+#
+# Revision 1.4  2003/08/21 14:42:00  rr144420
+# 4908816 - further makefile changes to install into correct lib
+#
+# Revision 1.3  2003/08/12 21:14:36  rr144420
+# 4895376 - correct Sun copyright statements. Cannot use (c), and must use Copyright Copyright in makefiles
+#
+# Revision 1.2  2003/08/01 16:32:16  rr144420
+# more of Paul's changes for packaging
+#
+# Revision 1.1  2003/07/23 15:53:29  rr144420
+# new makefiles for building sun directory
+# 
+#
+
+SUBDIRS		= modules mibs
+
+all:
+	@if test "$(SUBDIRS)" != ""; then \
+		it="$(SUBDIRS)" ; \
+		for i in $$it ; do       \
+			echo "making all in `pwd`/$$i"; \
+			echo "SUBDIRS2:  $(MAKE) CC=$(CC) DEBUG=$(DEBUG) ARCH=$(ARCH)" ; \
+	                ( cd $$i ; $(MAKE) CC=$(CC) DEBUG=$(DEBUG) ARCH=$(ARCH) ROOT=$(ROOT) ) ; \
+                        if test $$? != 0 ; then \
+				exit 1 ; \
+			fi  \
+	        done \
+	fi
+
+install:
+	@if test "$(SUBDIRS)" != ""; then \
+		it="$(SUBDIRS)" ; \
+		for i in $$it ; do       \
+			echo "making install in `pwd`/$$i"; \
+	                ( cd $$i ; $(MAKE) install ARCH=$(ARCH) ) ; \
+                        if test $$? != 0 ; then \
+				exit 1 ; \
+			fi  \
+	        done \
+	fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/sun/agent/mibs/ENTITY-MIB.txt	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,1217 @@
+
+IMPORTS
+    MODULE-IDENTITY, OBJECT-TYPE, mib-2, NOTIFICATION-TYPE
+        FROM SNMPv2-SMI
+    TDomain, TAddress, TEXTUAL-CONVENTION,
+    AutonomousType, RowPointer, TimeStamp, TruthValue
+        FROM SNMPv2-TC
+    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+        FROM SNMPv2-CONF
+    SnmpAdminString
+        FROM SNMP-FRAMEWORK-MIB;
+
+entityMIB MODULE-IDENTITY
+    LAST-UPDATED "9912070000Z" 
+    ORGANIZATION "IETF ENTMIB Working Group"
+    CONTACT-INFO
+            "        WG E-mail: [email protected]
+                  Subscribe: [email protected]
+                         msg body: subscribe entmib
+
+                     Keith McCloghrie
+                     ENTMIB Working Group Chair
+                     Cisco Systems Inc.
+                     170 West Tasman Drive
+                     San Jose, CA 95134
+                     +1 408-526-5260
+                     [email protected]
+
+                     Andy Bierman
+                     ENTMIB Working Group Editor
+                     Cisco Systems Inc.
+                     170 West Tasman Drive
+                     San Jose, CA 95134
+                     +1 408-527-3711
+                     [email protected]"
+    DESCRIPTION
+            "The MIB module for representing multiple logical
+            entities supported by a single SNMP agent."
+    REVISION        "9912070000Z"
+    DESCRIPTION
+            "Initial Version of Entity MIB (Version 2).
+             This revision obsoletes RFC 2037.
+             This version published as RFC 2737."
+    REVISION        "9610310000Z"
+    DESCRIPTION
+            "Initial version (version 1), published as
+             RFC 2037."
+    ::= { mib-2 47 }
+
+entityMIBObjects OBJECT IDENTIFIER ::= { entityMIB 1 }
+
+entityPhysical OBJECT IDENTIFIER ::= { entityMIBObjects 1 }
+entityLogical  OBJECT IDENTIFIER ::= { entityMIBObjects 2 }
+entityMapping  OBJECT IDENTIFIER ::= { entityMIBObjects 3 }
+entityGeneral  OBJECT IDENTIFIER ::= { entityMIBObjects 4 }
+
+PhysicalIndex ::= TEXTUAL-CONVENTION
+    STATUS            current
+    DESCRIPTION
+            "An arbitrary value which uniquely identifies the physical
+            entity.  The value should be a small positive integer; index
+            values for different physical entities are not necessarily
+            contiguous."
+    SYNTAX INTEGER (1..2147483647)
+
+PhysicalClass ::= TEXTUAL-CONVENTION
+    STATUS            current
+    DESCRIPTION
+            "An enumerated value which provides an indication of the
+            general hardware type of a particular physical entity.
+            There are no restrictions as to the number of
+            entPhysicalEntries of each entPhysicalClass, which must be
+            instantiated by an agent.
+
+            The enumeration 'other' is applicable if the physical entity
+            class is known, but does not match any of the supported
+            values.
+
+            The enumeration 'unknown' is applicable if the physical
+            entity class is unknown to the agent.
+
+            The enumeration 'chassis' is applicable if the physical
+            entity class is an overall container for networking
+            equipment.  Any class of physical entity except a stack may
+            be contained within a chassis, and a chassis may only be
+            contained within a stack.
+
+            The enumeration 'backplane' is applicable if the physical
+            entity class is some sort of device for aggregating and
+            forwarding networking traffic, such as a shared backplane in
+            a modular ethernet switch.  Note that an agent may model a
+            backplane as a single physical entity, which is actually
+            implemented as multiple discrete physical components (within
+            a chassis or stack).
+
+            The enumeration 'container' is applicable if the physical
+            entity class is capable of containing one or more removable
+            physical entities, possibly of different types. For example,
+            each (empty or full) slot in a chassis will be modeled as a
+            container. Note that all removable physical entities should
+            be modeled within a container entity, such as field-
+            replaceable modules, fans, or power supplies.  Note that all
+            known containers should be modeled by the agent, including
+            empty containers.
+
+            The enumeration 'powerSupply' is applicable if the physical
+            entity class is a power-supplying component.
+
+            The enumeration 'fan' is applicable if the physical entity
+            class is a fan or other heat-reduction component.
+
+            The enumeration 'sensor' is applicable if the physical
+            entity class is some sort of sensor, such as a temperature
+            sensor within a router chassis.
+
+            The enumeration 'module' is applicable if the physical
+            entity class is some sort of self-contained sub-system.  If
+            it is removable, then it should be modeled within a
+            container entity, otherwise it should be modeled directly
+            within another physical entity (e.g., a chassis or another
+            module).
+
+            The enumeration 'port' is applicable if the physical entity
+            class is some sort of networking port, capable of receiving
+            and/or transmitting networking traffic.
+
+            The enumeration 'stack' is applicable if the physical entity
+            class is some sort of super-container (possibly virtual),
+            intended to group together multiple chassis entities.  A
+            stack may be realized by a 'virtual' cable, a real
+            interconnect cable, attached to multiple chassis, or may in
+            fact be comprised of multiple interconnect cables. A stack
+            should not be modeled within any other physical entities,
+            but a stack may be contained within another stack.  Only
+            chassis entities should be contained within a stack."
+    SYNTAX      INTEGER  {
+       other(1),
+       unknown(2),
+       chassis(3),
+       backplane(4),
+       container(5),
+       powerSupply(6),
+       fan(7),
+       sensor(8),
+       module(9),        
+       port(10),
+       stack(11)         
+    }
+
+SnmpEngineIdOrNone ::= TEXTUAL-CONVENTION
+    STATUS            current
+    DESCRIPTION
+            "A specially formatted SnmpEngineID string for use with the
+            Entity MIB.
+
+            If an instance of an object of SYNTAX SnmpEngineIdOrNone has
+            a non-zero length, then the object encoding and semantics
+            are defined by the SnmpEngineID textual convention (see RFC
+            2571 [RFC2571]).
+
+            If an instance of an object of SYNTAX SnmpEngineIdOrNone
+            contains a zero-length string, then no appropriate
+            SnmpEngineID is associated with the logical entity (i.e.,
+            SNMPv3 not supported)."
+    SYNTAX OCTET STRING (SIZE(0..32)) 
+
+entPhysicalTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF EntPhysicalEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+            "This table contains one row per physical entity.  There is
+            always at least one row for an 'overall' physical entity."
+    ::= { entityPhysical 1 }
+
+entPhysicalEntry       OBJECT-TYPE
+    SYNTAX      EntPhysicalEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+            "Information about a particular physical entity.
+
+            Each entry provides objects (entPhysicalDescr,
+            entPhysicalVendorType, and entPhysicalClass) to help an NMS
+            identify and characterize the entry, and objects
+            (entPhysicalContainedIn and entPhysicalParentRelPos) to help
+            an NMS relate the particular entry to other entries in this
+            table."
+    INDEX   { entPhysicalIndex }
+    ::= { entPhysicalTable 1 }
+
+EntPhysicalEntry ::= SEQUENCE {
+      entPhysicalIndex          PhysicalIndex,
+      entPhysicalDescr          SnmpAdminString,
+      entPhysicalVendorType     AutonomousType,
+      entPhysicalContainedIn    INTEGER,
+      entPhysicalClass          PhysicalClass,
+      entPhysicalParentRelPos   INTEGER,
+      entPhysicalName           SnmpAdminString,
+      entPhysicalHardwareRev    SnmpAdminString,
+      entPhysicalFirmwareRev    SnmpAdminString,
+      entPhysicalSoftwareRev    SnmpAdminString,
+      entPhysicalSerialNum      SnmpAdminString,
+      entPhysicalMfgName        SnmpAdminString,
+      entPhysicalModelName      SnmpAdminString,
+      entPhysicalAlias          SnmpAdminString,
+      entPhysicalAssetID        SnmpAdminString,
+      entPhysicalIsFRU          TruthValue
+}
+
+entPhysicalIndex    OBJECT-TYPE
+    SYNTAX      PhysicalIndex
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+            "The index for this entry."
+    ::= { entPhysicalEntry 1 }
+
+entPhysicalDescr OBJECT-TYPE
+    SYNTAX      SnmpAdminString
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "A textual description of physical entity.  This object
+            should contain a string which identifies the manufacturer's
+            name for the physical entity, and should be set to a
+            distinct value for each version or model of the physical
+            entity. "
+    ::= { entPhysicalEntry 2 }
+
+entPhysicalVendorType OBJECT-TYPE
+    SYNTAX      AutonomousType
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "An indication of the vendor-specific hardware type of the
+            physical entity.  Note that this is different from the
+            definition of MIB-II's sysObjectID.
+
+            An agent should set this object to a enterprise-specific
+            registration identifier value indicating the specific
+            equipment type in detail.  The associated instance of
+            entPhysicalClass is used to indicate the general type of
+            hardware device.
+
+            If no vendor-specific registration identifier exists for
+            this physical entity, or the value is unknown by this agent,
+            then the value { 0 0 } is returned."
+    ::= { entPhysicalEntry 3 }
+
+entPhysicalContainedIn OBJECT-TYPE
+    SYNTAX      INTEGER (0..2147483647)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "The value of entPhysicalIndex for the physical entity which
+            'contains' this physical entity.  A value of zero indicates
+            this physical entity is not contained in any other physical
+            entity.  Note that the set of 'containment' relationships
+            define a strict hierarchy; that is, recursion is not
+            allowed.
+
+            In the event a physical entity is contained by more than one
+            physical entity (e.g., double-wide modules), this object
+            should identify the containing entity with the lowest value
+            of entPhysicalIndex."
+    ::= { entPhysicalEntry 4 }
+
+entPhysicalClass OBJECT-TYPE
+    SYNTAX      PhysicalClass
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "An indication of the general hardware type of the physical
+            entity.
+
+            An agent should set this object to the standard enumeration
+            value which most accurately indicates the general class of
+            the physical entity, or the primary class if there is more
+            than one.
+
+            If no appropriate standard registration identifier exists
+            for this physical entity, then the value 'other(1)' is
+            returned. If the value is unknown by this agent, then the
+            value 'unknown(2)' is returned."
+    ::= { entPhysicalEntry 5 }
+
+entPhysicalParentRelPos OBJECT-TYPE
+    SYNTAX      INTEGER (-1..2147483647)
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "An indication of the relative position of this 'child'
+            component among all its 'sibling' components. Sibling
+            components are defined as entPhysicalEntries which share the
+            same instance values of each of the entPhysicalContainedIn
+            and entPhysicalClass objects.
+
+            An NMS can use this object to identify the relative ordering
+            for all sibling components of a particular parent
+            (identified by the entPhysicalContainedIn instance in each
+            sibling entry).
+
+            This value should match any external labeling of the
+            physical component if possible. For example, for a container
+            (e.g., card slot) labeled as 'slot #3',
+            entPhysicalParentRelPos should have the value '3'.  Note
+            that the entPhysicalEntry for the module plugged in slot 3
+            should have an entPhysicalParentRelPos value of '1'.
+
+            If the physical position of this component does not match
+            any external numbering or clearly visible ordering, then
+            user documentation or other external reference material
+            should be used to determine the parent-relative position. If
+            this is not possible, then the the agent should assign a
+            consistent (but possibly arbitrary) ordering to a given set
+            of 'sibling' components, perhaps based on internal
+            representation of the components.
+
+            If the agent cannot determine the parent-relative position
+            for some reason, or if the associated value of
+            entPhysicalContainedIn is '0', then the value '-1' is
+            returned. Otherwise a non-negative integer is returned,
+            indicating the parent-relative position of this physical
+            entity.
+
+            Parent-relative ordering normally starts from '1' and
+            continues to 'N', where 'N' represents the highest
+            positioned child entity.  However, if the physical entities
+            (e.g., slots) are labeled from a starting position of zero,
+            then the first sibling should be associated with a
+            entPhysicalParentRelPos value of '0'.  Note that this
+            ordering may be sparse or dense, depending on agent
+            implementation.
+
+            The actual values returned are not globally meaningful, as
+            each 'parent' component may use different numbering
+            algorithms. The ordering is only meaningful among siblings
+            of the same parent component.
+
+            The agent should retain parent-relative position values
+            across reboots, either through algorithmic assignment or use
+            of non-volatile storage."
+    ::= { entPhysicalEntry 6 }
+
+entPhysicalName OBJECT-TYPE
+    SYNTAX      SnmpAdminString
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "The textual name of the physical entity.  The value of this
+            object should be the name of the component as assigned by
+            the local device and should be suitable for use in commands
+            entered at the device's `console'.  This might be a text
+            name, such as `console' or a simple component number (e.g.,
+            port or module number), such as `1', depending on the
+            physical component naming syntax of the device.
+
+            If there is no local name, or this object is otherwise not
+            applicable, then this object contains a zero-length string.
+
+            Note that the value of entPhysicalName for two physical
+            entities will be the same in the event that the console
+            interface does not distinguish between them, e.g., slot-1
+            and the card in slot-1."
+    ::= { entPhysicalEntry 7 }
+
+entPhysicalHardwareRev    OBJECT-TYPE
+    SYNTAX      SnmpAdminString
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "The vendor-specific hardware revision string for the
+            physical entity.  The preferred value is the hardware
+            revision identifier actually printed on the component itself
+            (if present).
+
+            Note that if revision information is stored internally in a
+            non-printable (e.g., binary) format, then the agent must
+            convert such information to a printable format, in an
+            implementation-specific manner.
+
+            If no specific hardware revision string is associated with
+            the physical component, or this information is unknown to
+            the agent, then this object will contain a zero-length
+            string."
+    ::= { entPhysicalEntry 8 }
+
+entPhysicalFirmwareRev    OBJECT-TYPE
+    SYNTAX      SnmpAdminString
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "The vendor-specific firmware revision string for the
+            physical entity.
+
+            Note that if revision information is stored internally in a
+            non-printable (e.g., binary) format, then the agent must
+            convert such information to a printable format, in an
+            implementation-specific manner.
+
+            If no specific firmware programs are associated with the
+            physical component, or this information is unknown to the
+            agent, then this object will contain a zero-length string."
+    ::= { entPhysicalEntry 9 }
+
+entPhysicalSoftwareRev    OBJECT-TYPE
+    SYNTAX      SnmpAdminString
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "The vendor-specific software revision string for the
+            physical entity.
+
+            Note that if revision information is stored internally in a
+            non-printable (e.g., binary) format, then the agent must
+            convert such information to a printable format, in an
+            implementation-specific manner.
+
+            If no specific software programs are associated with the
+            physical component, or this information is unknown to the
+            agent, then this object will contain a zero-length string."
+    ::= { entPhysicalEntry 10 }
+
+entPhysicalSerialNum   OBJECT-TYPE
+    SYNTAX      SnmpAdminString (SIZE (0..32))
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+            "The vendor-specific serial number string for the physical
+            entity.  The preferred value is the serial number string
+            actually printed on the component itself (if present).
+
+            On the first instantiation of an physical entity, the value
+            of entPhysicalSerialNum associated with that entity is set
+            to the correct vendor-assigned serial number, if this
+            information is available to the agent.  If a serial number
+            is unknown or non-existent, the entPhysicalSerialNum will be
+            set to a zero-length string instead.
+
+            Note that implementations which can correctly identify the
+            serial numbers of all installed physical entities do not
+            need to provide write access to the entPhysicalSerialNum
+            object. Agents which cannot provide non-volatile storage for
+            the entPhysicalSerialNum strings are not required to
+            implement write access for this object.
+
+            Not every physical component will have a serial number, or
+            even need one.  Physical entities for which the associated
+            value of the entPhysicalIsFRU object is equal to 'false(2)'
+            (e.g., the repeater ports within a repeater module), do not
+            need their own unique serial number. An agent does not have
+            to provide write access for such entities, and may return a
+            zero-length string.
+
+            If write access is implemented for an instance of
+            entPhysicalSerialNum, and a value is written into the
+            instance, the agent must retain the supplied value in the
+            entPhysicalSerialNum instance associated with the same
+            physical entity for as long as that entity remains
+            instantiated. This includes instantiations across all re-
+            initializations/reboots of the network management system,
+            including those which result in a change of the physical
+            entity's entPhysicalIndex value."
+    ::= { entPhysicalEntry 11 }
+
+entPhysicalMfgName   OBJECT-TYPE
+    SYNTAX      SnmpAdminString
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "The name of the manufacturer of this physical component.
+            The preferred value is the manufacturer name string actually
+            printed on the component itself (if present).
+            Note that comparisons between instances of the
+            entPhysicalModelName, entPhysicalFirmwareRev,
+            entPhysicalSoftwareRev, and the entPhysicalSerialNum
+            objects, are only meaningful amongst entPhysicalEntries with
+            the same value of entPhysicalMfgName.
+
+            If the manufacturer name string associated with the physical
+            component is unknown to the agent, then this object will
+            contain a zero-length string."
+    ::= { entPhysicalEntry 12 }
+
+entPhysicalModelName   OBJECT-TYPE
+    SYNTAX      SnmpAdminString
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "The vendor-specific model name identifier string associated
+            with this physical component.  The preferred value is the
+            customer-visible part number, which may be printed on the
+            component itself.
+
+            If the model name string associated with the physical
+            component is unknown to the agent, then this object will
+            contain a zero-length string."
+    ::= { entPhysicalEntry 13 }
+
+entPhysicalAlias    OBJECT-TYPE
+    SYNTAX      SnmpAdminString (SIZE (0..32))
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+            "This object is an 'alias' name for the physical entity as
+            specified by a network manager, and provides a non-volatile
+            'handle' for the physical entity.
+
+            On the first instantiation of an physical entity, the value
+            of entPhysicalAlias associated with that entity is set to
+            the zero-length string.  However, agent may set the value to
+            a locally unique default value, instead of a zero-length
+            string.
+
+            If write access is implemented for an instance of
+            entPhysicalAlias, and a value is written into the instance,
+            the agent must retain the supplied value in the
+            entPhysicalAlias instance associated with the same physical
+            entity for as long as that entity remains instantiated.
+            This includes instantiations across all re-
+            initializations/reboots of the network management system,
+            including those which result in a change of the physical
+            entity's entPhysicalIndex value."
+    ::= { entPhysicalEntry 14 }
+
+entPhysicalAssetID OBJECT-TYPE
+    SYNTAX      SnmpAdminString (SIZE (0..32))
+    MAX-ACCESS  read-write
+    STATUS      current
+    DESCRIPTION
+            "This object is a user-assigned asset tracking identifier
+            for the physical entity as specified by a network manager,
+            and provides non-volatile storage of this information.
+
+            On the first instantiation of an physical entity, the value
+            of entPhysicalAssetID associated with that entity is set to
+            the zero-length string.
+
+            Not every physical component will have a asset tracking
+            identifier, or even need one.  Physical entities for which
+            the associated value of the entPhysicalIsFRU object is equal
+            to 'false(2)' (e.g., the repeater ports within a repeater
+            module), do not need their own unique asset tracking
+            identifier. An agent does not have to provide write access
+            for such entities, and may instead return a zero-length
+            string.
+
+            If write access is implemented for an instance of
+            entPhysicalAssetID, and a value is written into the
+            instance, the agent must retain the supplied value in the
+            entPhysicalAssetID instance associated with the same
+            physical entity for as long as that entity remains
+            instantiated.  This includes instantiations across all re-
+            initializations/reboots of the network management system,
+            including those which result in a change of the physical
+            entity's entPhysicalIndex value.
+
+            If no asset tracking information is associated with the
+            physical component, then this object will contain a zero-
+            length string."
+    ::= { entPhysicalEntry 15 }
+
+entPhysicalIsFRU OBJECT-TYPE
+    SYNTAX      TruthValue
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "This object indicates whether or not this physical entity
+            is considered a 'field replaceable unit' by the vendor.  If
+            this object contains the value 'true(1)' then this
+            entPhysicalEntry identifies a field replaceable unit.  For
+            all entPhysicalEntries which represent components that are
+            permanently contained within a field replaceable unit, the
+            value 'false(2)' should be returned for this object."
+
+    ::= { entPhysicalEntry 16 }
+
+entLogicalTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF EntLogicalEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+            "This table contains one row per logical entity.  For agents
+            which implement more than one naming scope, at least one
+            entry must exist. Agents which instantiate all MIB objects
+            within a single naming scope are not required to implement
+            this table."
+    ::= { entityLogical 1 }
+
+entLogicalEntry       OBJECT-TYPE
+    SYNTAX      EntLogicalEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+            "Information about a particular logical entity.  Entities
+            may be managed by this agent or other SNMP agents (possibly)
+            in the same chassis."
+    INDEX       { entLogicalIndex }
+    ::= { entLogicalTable 1 }
+
+EntLogicalEntry ::= SEQUENCE {
+      entLogicalIndex            INTEGER,
+      entLogicalDescr            SnmpAdminString,
+      entLogicalType             AutonomousType,
+      entLogicalCommunity        OCTET STRING,
+      entLogicalTAddress         TAddress,
+      entLogicalTDomain          TDomain,
+      entLogicalContextEngineID  SnmpEngineIdOrNone,
+      entLogicalContextName      SnmpAdminString
+}
+
+entLogicalIndex OBJECT-TYPE
+    SYNTAX      INTEGER (1..2147483647)
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+            "The value of this object uniquely identifies the logical
+            entity. The value should be a small positive integer; index
+            values for different logical entities are are not
+            necessarily contiguous."
+    ::= { entLogicalEntry 1 }
+
+entLogicalDescr OBJECT-TYPE
+    SYNTAX      SnmpAdminString
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "A textual description of the logical entity.  This object
+            should contain a string which identifies the manufacturer's
+            name for the logical entity, and should be set to a distinct
+            value for each version of the logical entity. "
+    ::= { entLogicalEntry 2 }
+
+entLogicalType OBJECT-TYPE
+    SYNTAX      AutonomousType
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "An indication of the type of logical entity.  This will
+            typically be the OBJECT IDENTIFIER name of the node in the
+            SMI's naming hierarchy which represents the major MIB
+            module, or the majority of the MIB modules, supported by the
+            logical entity.  For example:
+               a logical entity of a regular host/router -> mib-2
+               a logical entity of a 802.1d bridge -> dot1dBridge
+               a logical entity of a 802.3 repeater -> snmpDot3RptrMgmt
+            If an appropriate node in the SMI's naming hierarchy cannot
+            be identified, the value 'mib-2' should be used."
+    ::= { entLogicalEntry 3 }
+
+entLogicalCommunity OBJECT-TYPE
+    SYNTAX      OCTET STRING (SIZE (0..255))
+    MAX-ACCESS  read-only
+    STATUS      deprecated
+    DESCRIPTION
+            "An SNMPv1 or SNMPv2C community-string which can be used to
+            access detailed management information for this logical
+            entity.  The agent should allow read access with this
+            community string (to an appropriate subset of all managed
+            objects) and may also return a community string based on the
+            privileges of the request used to read this object.  Note
+            that an agent may return a community string with read-only
+            privileges, even if this object is accessed with a read-
+            write community string. However, the agent must take care
+            not to return a community string which allows more
+            privileges than the community string used to access this
+            object.
+
+            A compliant SNMP agent may wish to conserve naming scopes by
+            representing multiple logical entities in a single 'default'
+            naming scope.  This is possible when the logical entities
+            represented by the same value of entLogicalCommunity have no
+            object instances in common.  For example, 'bridge1' and
+            'repeater1' may be part of the main naming scope, but at
+            least one additional community string is needed to represent
+            'bridge2' and 'repeater2'.
+
+            Logical entities 'bridge1' and 'repeater1' would be
+            represented by sysOREntries associated with the 'default'
+            naming scope.
+
+            For agents not accessible via SNMPv1 or SNMPv2C, the value
+            of this object is the empty string.  This object may also
+            contain an empty string if a community string has not yet
+            been assigned by the agent, or no community string with
+            suitable access rights can be returned for a particular SNMP
+            request.
+
+            Note that this object is deprecated. Agents which implement
+            SNMPv3 access should use the entLogicalContextEngineID and
+            entLogicalContextName objects to identify the context
+            associated with each logical entity.  SNMPv3 agents may
+            return a zero-length string for this object, or may continue
+            to return a community string (e.g., tri-lingual agent
+            support)."
+    ::= { entLogicalEntry 4 }
+
+entLogicalTAddress OBJECT-TYPE
+    SYNTAX      TAddress
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "The transport service address by which the logical entity
+            receives network management traffic, formatted according to
+            the corresponding value of entLogicalTDomain.
+
+            For snmpUDPDomain, a TAddress is 6 octets long, the initial
+            4 octets containing the IP-address in network-byte order and
+            the last 2 containing the UDP port in network-byte order.
+            Consult 'Transport Mappings for Version 2 of the Simple
+            Network Management Protocol' (RFC 1906 [RFC1906]) for
+            further information on snmpUDPDomain."
+    ::= { entLogicalEntry 5 }
+
+entLogicalTDomain OBJECT-TYPE
+    SYNTAX      TDomain
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "Indicates the kind of transport service by which the
+            logical entity receives network management traffic.
+            Possible values for this object are presently found in the
+            Transport Mappings for SNMPv2 document (RFC 1906
+            [RFC1906])."
+    ::= { entLogicalEntry 6 }
+
+entLogicalContextEngineID    OBJECT-TYPE
+    SYNTAX      SnmpEngineIdOrNone
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "The authoritative contextEngineID that can be used to send
+            an SNMP message concerning information held by this logical
+            entity, to the address specified by the associated
+            'entLogicalTAddress/entLogicalTDomain' pair.
+
+            This object, together with the associated
+            entLogicalContextName object, defines the context associated
+            with a particular logical entity, and allows access to SNMP
+            engines identified by a contextEngineId and contextName
+            pair.
+
+            If no value has been configured by the agent, a zero-length
+            string is returned, or the agent may choose not to
+            instantiate this object at all."
+    ::= { entLogicalEntry 7 }
+
+entLogicalContextName    OBJECT-TYPE
+    SYNTAX      SnmpAdminString
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "The contextName that can be used to send an SNMP message
+            concerning information held by this logical entity, to the
+            address specified by the associated
+            'entLogicalTAddress/entLogicalTDomain' pair.
+
+            This object, together with the associated
+            entLogicalContextEngineID object, defines the context
+            associated with a particular logical entity, and allows
+            access to SNMP engines identified by a contextEngineId and
+            contextName pair.
+
+            If no value has been configured by the agent, a zero-length
+            string is returned, or the agent may choose not to
+            instantiate this object at all."
+    ::= { entLogicalEntry 8 }
+
+entLPMappingTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF EntLPMappingEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+            "This table contains zero or more rows of logical entity to
+            physical equipment associations. For each logical entity
+            known by this agent, there are zero or more mappings to the
+            physical resources which are used to realize that logical
+            entity.
+
+            An agent should limit the number and nature of entries in
+            this table such that only meaningful and non-redundant
+            information is returned. For example, in a system which
+            contains a single power supply, mappings between logical
+            entities and the power supply are not useful and should not
+            be included.
+
+            Also, only the most appropriate physical component which is
+            closest to the root of a particular containment tree should
+            be identified in an entLPMapping entry.
+
+            For example, suppose a bridge is realized on a particular
+            module, and all ports on that module are ports on this
+            bridge. A mapping between the bridge and the module would be
+            useful, but additional mappings between the bridge and each
+            of the ports on that module would be redundant (since the
+            entPhysicalContainedIn hierarchy can provide the same
+            information). If, on the other hand, more than one bridge
+            was utilizing ports on this module, then mappings between
+            each bridge and the ports it used would be appropriate.
+
+            Also, in the case of a single backplane repeater, a mapping
+            for the backplane to the single repeater entity is not
+            necessary."
+    ::= { entityMapping 1 }
+
+entLPMappingEntry       OBJECT-TYPE
+    SYNTAX      EntLPMappingEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+            "Information about a particular logical entity to physical
+            equipment association. Note that the nature of the
+            association is not specifically identified in this entry.
+            It is expected that sufficient information exists in the
+            MIBs used to manage a particular logical entity to infer how
+            physical component information is utilized."
+    INDEX       { entLogicalIndex, entLPPhysicalIndex }
+    ::= { entLPMappingTable 1 }
+
+EntLPMappingEntry ::= SEQUENCE {
+      entLPPhysicalIndex         PhysicalIndex
+}
+
+entLPPhysicalIndex OBJECT-TYPE
+    SYNTAX      PhysicalIndex
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "The value of this object identifies the index value of a
+            particular entPhysicalEntry associated with the indicated
+            entLogicalEntity."
+    ::= { entLPMappingEntry 1 }
+
+entAliasMappingTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF EntAliasMappingEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+            "This table contains zero or more rows, representing
+            mappings of logical entity and physical component to
+            external MIB identifiers.  Each physical port in the system
+            may be associated with a mapping to an external identifier,
+            which itself is associated with a particular logical
+            entity's naming scope.  A 'wildcard' mechanism is provided
+            to indicate that an identifier is associated with more than
+            one logical entity."
+    ::= { entityMapping 2 }
+
+entAliasMappingEntry       OBJECT-TYPE
+    SYNTAX      EntAliasMappingEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+            "Information about a particular physical equipment, logical
+            entity to external identifier binding. Each logical
+            entity/physical component pair may be associated with one
+            alias mapping.  The logical entity index may also be used as
+            a 'wildcard' (refer to the entAliasLogicalIndexOrZero object
+            DESCRIPTION clause for details.)
+
+            Note that only entPhysicalIndex values which represent
+            physical ports (i.e. associated entPhysicalClass value is
+            'port(10)') are permitted to exist in this table."
+    INDEX { entPhysicalIndex, entAliasLogicalIndexOrZero }
+    ::= { entAliasMappingTable 1 }
+
+EntAliasMappingEntry ::= SEQUENCE {
+      entAliasLogicalIndexOrZero        INTEGER,
+      entAliasMappingIdentifier          RowPointer
+}
+
+entAliasLogicalIndexOrZero OBJECT-TYPE
+    SYNTAX      INTEGER (0..2147483647)
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+            "The value of this object identifies the logical entity
+            which defines the naming scope for the associated instance
+            of the 'entAliasMappingIdentifier' object.
+
+            If this object has a non-zero value, then it identifies the
+            logical entity named by the same value of entLogicalIndex.
+
+            If this object has a value of zero, then the mapping between
+            the physical component and the alias identifier for this
+            entAliasMapping entry is associated with all unspecified
+            logical entities. That is, a value of zero (the default
+            mapping) identifies any logical entity which does not have
+            an explicit entry in this table for a particular
+            entPhysicalIndex/entAliasMappingIdentifier pair.
+
+            For example, to indicate that a particular interface (e.g.,
+            physical component 33) is identified by the same value of
+            ifIndex for all logical entities, the following instance
+            might exist:
+
+                    entAliasMappingIdentifier.33.0 = ifIndex.5
+
+            In the event an entPhysicalEntry is associated differently
+            for some logical entities, additional entAliasMapping
+            entries may exist, e.g.:
+
+                    entAliasMappingIdentifier.33.0 = ifIndex.6
+                    entAliasMappingIdentifier.33.4 =  ifIndex.1
+                    entAliasMappingIdentifier.33.5 =  ifIndex.1
+                    entAliasMappingIdentifier.33.10 = ifIndex.12
+
+            Note that entries with non-zero entAliasLogicalIndexOrZero
+            index values have precedence over any zero-indexed entry. In
+            this example, all logical entities except 4, 5, and 10,
+            associate physical entity 33 with ifIndex.6."
+    ::= { entAliasMappingEntry 1 }
+
+entAliasMappingIdentifier OBJECT-TYPE
+    SYNTAX      RowPointer
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "The value of this object identifies a particular conceptual
+            row associated with the indicated entPhysicalIndex and
+            entLogicalIndex pair.
+
+            Since only physical ports are modeled in this table, only
+            entries which represent interfaces or ports are allowed.  If
+            an ifEntry exists on behalf of a particular physical port,
+            then this object should identify the associated 'ifEntry'.
+            For repeater ports, the appropriate row in the
+            'rptrPortGroupTable' should be identified instead.
+
+            For example, suppose a physical port was represented by
+            entPhysicalEntry.3, entLogicalEntry.15 existed for a
+            repeater, and entLogicalEntry.22 existed for a bridge.  Then
+            there might be two related instances of
+            entAliasMappingIdentifier:
+               entAliasMappingIdentifier.3.15 == rptrPortGroupIndex.5.2
+               entAliasMappingIdentifier.3.22 == ifIndex.17
+            It is possible that other mappings (besides interfaces and
+            repeater ports) may be defined in the future, as required.
+
+            Bridge ports are identified by examining the Bridge MIB and
+            appropriate ifEntries associated with each 'dot1dBasePort',
+            and are thus not represented in this table."
+    ::= { entAliasMappingEntry 2 }
+
+entPhysicalContainsTable OBJECT-TYPE
+    SYNTAX      SEQUENCE OF EntPhysicalContainsEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+            "A table which exposes the container/'containee'
+            relationships between physical entities. This table provides
+            all the information found by constructing the virtual
+            containment tree for a given entPhysicalTable, but in a more
+            direct format.
+
+            In the event a physical entity is contained by more than one
+            other physical entity (e.g., double-wide modules), this
+            table should include these additional mappings, which cannot
+            be represented in the entPhysicalTable virtual containment
+            tree."
+    ::= { entityMapping 3 }
+
+entPhysicalContainsEntry OBJECT-TYPE
+    SYNTAX      EntPhysicalContainsEntry
+    MAX-ACCESS  not-accessible
+    STATUS      current
+    DESCRIPTION
+            "A single container/'containee' relationship."
+    INDEX       { entPhysicalIndex, entPhysicalChildIndex }
+    ::= { entPhysicalContainsTable 1 }
+
+EntPhysicalContainsEntry ::= SEQUENCE {
+      entPhysicalChildIndex     PhysicalIndex
+}
+
+entPhysicalChildIndex OBJECT-TYPE
+    SYNTAX      PhysicalIndex
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "The value of entPhysicalIndex for the contained physical
+            entity."
+    ::= { entPhysicalContainsEntry 1 }
+
+entLastChangeTime OBJECT-TYPE
+    SYNTAX      TimeStamp
+    MAX-ACCESS  read-only
+    STATUS      current
+    DESCRIPTION
+            "The value of sysUpTime at the time a conceptual row is
+            created, modified, or deleted in any of these tables:
+                    - entPhysicalTable
+                    - entLogicalTable
+                    - entLPMappingTable
+                    - entAliasMappingTable
+                    - entPhysicalContainsTable
+            "
+    ::= { entityGeneral 1 }
+
+entityMIBTraps      OBJECT IDENTIFIER ::= { entityMIB 2 }
+entityMIBTrapPrefix OBJECT IDENTIFIER ::= { entityMIBTraps 0 }
+
+entConfigChange NOTIFICATION-TYPE
+    STATUS             current
+    DESCRIPTION
+            "An entConfigChange notification is generated when the value
+            of entLastChangeTime changes. It can be utilized by an NMS
+            to trigger logical/physical entity table maintenance polls.
+
+            An agent should not generate more than one entConfigChange
+            'notification-event' in a given time interval (five seconds
+            is the suggested default).  A 'notification-event' is the
+            transmission of a single trap or inform PDU to a list of
+            notification destinations.
+
+            If additional configuration changes occur within the
+            throttling period, then notification-events for these
+            changes should be suppressed by the agent until the current
+            throttling period expires.  At the end of a throttling
+            period, one notification-event should be generated if any
+            configuration changes occurred since the start of the
+            throttling period. In such a case, another throttling period
+            is started right away.
+
+            An NMS should periodically check the value of
+            entLastChangeTime to detect any missed entConfigChange
+            notification-events, e.g., due to throttling or transmission
+            loss."
+   ::= { entityMIBTrapPrefix 1 }
+
+entityConformance OBJECT IDENTIFIER ::= { entityMIB 3 }
+
+entityCompliances OBJECT IDENTIFIER ::= { entityConformance 1 }
+entityGroups      OBJECT IDENTIFIER ::= { entityConformance 2 }
+
+entityCompliance MODULE-COMPLIANCE
+    STATUS  deprecated
+    DESCRIPTION
+            "The compliance statement for SNMP entities which implement
+            version 1 of the Entity MIB."
+    MODULE  
+        MANDATORY-GROUPS {
+                           entityPhysicalGroup,
+                           entityLogicalGroup,
+                           entityMappingGroup,
+                           entityGeneralGroup,
+                           entityNotificationsGroup
+        }
+    ::= { entityCompliances 1 }
+
+entity2Compliance MODULE-COMPLIANCE
+    STATUS  current
+    DESCRIPTION
+            "The compliance statement for SNMP entities which implement
+            version 2 of the Entity MIB."
+    MODULE  
+        MANDATORY-GROUPS {
+                           entityPhysicalGroup,
+                           entityPhysical2Group,
+                           entityGeneralGroup,
+                           entityNotificationsGroup
+        }
+        GROUP entityLogical2Group
+        DESCRIPTION
+            "Implementation of this group is not mandatory for agents
+            which model all MIB object instances within a single naming
+            scope."
+
+        GROUP entityMappingGroup
+        DESCRIPTION
+            "Implementation of the entPhysicalContainsTable is mandatory
+            for all agents.  Implementation of the entLPMappingTable and
+            entAliasMappingTables are not mandatory for agents which
+            model all MIB object instances within a single naming scope.
+
+            Note that the entAliasMappingTable may be useful for all
+            agents, however implementation of the entityLogicalGroup or
+            entityLogical2Group is required to support this table."
+
+        OBJECT entPhysicalSerialNum
+        MIN-ACCESS   not-accessible
+        DESCRIPTION
+            "Read and write access is not required for agents which
+            cannot identify serial number information for physical
+            entities, and/or cannot provide non-volatile storage for
+            NMS-assigned serial numbers.
+
+            Write access is not required for agents which can identify
+            serial number information for physical entities, but cannot
+            provide non-volatile storage for NMS-assigned serial
+            numbers.
+
+            Write access is not required for physical entities for
+            physical entities for which the associated value of the
+            entPhysicalIsFRU object is equal to 'false(2)'."
+
+        OBJECT entPhysicalAlias
+        MIN-ACCESS   read-only
+        DESCRIPTION
+            "Write access is required only if the associated
+            entPhysicalClass value is equal to 'chassis(3)'."
+
+        OBJECT entPhysicalAssetID
+        MIN-ACCESS   not-accessible
+        DESCRIPTION
+            "Read and write access is not required for agents which
+            cannot provide non-volatile storage for NMS-assigned asset
+            identifiers.
+
+            Write access is not required for physical entities for which
+            the associated value of entPhysicalIsFRU is equal to
+            'false(2)'."
+    ::= { entityCompliances 2 }
+
+entityPhysicalGroup    OBJECT-GROUP
+    OBJECTS {
+              entPhysicalDescr,
+              entPhysicalVendorType,
+              entPhysicalContainedIn,
+              entPhysicalClass,
+              entPhysicalParentRelPos,
+              entPhysicalName
+            }
+    STATUS  current
+    DESCRIPTION
+            "The collection of objects which are used to represent
+            physical system components, for which a single agent
+            provides management information."
+    ::= { entityGroups 1 }
+
+entityLogicalGroup    OBJECT-GROUP
+    OBJECTS {
+              entLogicalDescr,
+              entLogicalType,
+              entLogicalCommunity,
+              entLogicalTAddress,
+              entLogicalTDomain
+            }
+    STATUS  deprecated
+    DESCRIPTION
+            "The collection of objects which are used to represent the
+            list of logical entities for which a single agent provides
+            management information."
+    ::= { entityGroups 2 }
+
+entityMappingGroup    OBJECT-GROUP
+    OBJECTS {
+              entLPPhysicalIndex,
+              entAliasMappingIdentifier,
+              entPhysicalChildIndex
+            }
+    STATUS  current
+    DESCRIPTION
+            "The collection of objects which are used to represent the
+            associations between multiple logical entities, physical
+            components, interfaces, and port identifiers for which a
+            single agent provides management information."
+    ::= { entityGroups 3 }
+
+entityGeneralGroup    OBJECT-GROUP
+    OBJECTS {
+              entLastChangeTime
+            }
+    STATUS  current
+    DESCRIPTION
+            "The collection of objects which are used to represent
+            general entity information for which a single agent provides
+            management information."
+    ::= { entityGroups 4 }
+
+entityNotificationsGroup NOTIFICATION-GROUP
+    NOTIFICATIONS { entConfigChange }
+    STATUS        current
+    DESCRIPTION
+            "The collection of notifications used to indicate Entity MIB
+            data consistency and general status information."
+    ::= { entityGroups 5 }
+
+entityPhysical2Group    OBJECT-GROUP
+    OBJECTS {
+              entPhysicalHardwareRev,
+              entPhysicalFirmwareRev,
+              entPhysicalSoftwareRev,
+              entPhysicalSerialNum,
+              entPhysicalMfgName,
+              entPhysicalModelName,
+              entPhysicalAlias,
+              entPhysicalAssetID,
+              entPhysicalIsFRU
+            }
+
+    STATUS  current
+    DESCRIPTION
+            "The collection of objects which are used to represent
+            physical system components, for which a single agent
+            provides management information.  This group augments the
+            objects contained in the entityPhysicalGroup."
+    ::= { entityGroups 6 }
+
+entityLogical2Group    OBJECT-GROUP
+    OBJECTS {
+              entLogicalDescr,
+              entLogicalType,
+              entLogicalTAddress,
+              entLogicalTDomain,
+              entLogicalContextEngineID,
+              entLogicalContextName
+            }
+    STATUS  current
+    DESCRIPTION
+            "The collection of objects which are used to represent the
+            list of logical entities for which a single SNMP entity
+            provides management information."
+    ::= { entityGroups 7 }
+
+END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/sun/agent/mibs/Makefile	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,33 @@
+#
+# Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+#
+# U.S. Government Rights - Commercial software. Government users are subject
+# to the Sun Microsystems, Inc. standard license agreement and applicable
+# provisions of the FAR and its supplements.
+#
+#
+# This distribution may include materials developed by third parties. Sun,
+# Sun Microsystems, the Sun logo and Solaris are trademarks or registered
+# trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
+#
+#
+
+#
+# Makefile to install mibs
+# 
+# usage:
+# "make install"
+
+# removed health-monitor-mib.mib
+
+MIBFILES= smatrap.mib \
+      ENTITY-MIB.txt \
+      SUN-MIB.txt \
+      SUN-SEA-EXTENSIONS-MIB.txt \
+      SUN-SEA-PROXY-MIB.txt
+
+all:
+# make all does nothing, but the upper-level makefile calls it
+
+install:
+	cp ./$(MIBFILES) $(ROOT)/etc/net-snmp/snmp/mibs
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/sun/agent/mibs/SUN-MIB.txt	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,39 @@
+--
+-- Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+--
+-- U.S. Government Rights - Commercial software. Government users are subject to
+-- the Sun Microsystems, Inc. standard license agreement and applicable
+-- provisions of the FAR and its supplements.
+--
+--
+-- This distribution may include materials developed by third parties. Sun, Sun
+-- Microsystems, the Sun logo and Solaris are trademarks or registered
+-- trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
+--
+--
+
+---------------------------------------------------------------
+-- Systems Management Agent (SMA) SUN Enterprise definition MIB
+---------------------------------------------------------------
+
+SUN-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+    enterprises, MODULE-IDENTITY FROM SNMPv2-SMI;
+
+sunMIB MODULE-IDENTITY
+    LAST-UPDATED "200309180000Z"
+    ORGANIZATION "Sun Microsystems, Inc."
+    CONTACT-INFO "Customer support"
+    DESCRIPTION
+            "MIB that defines the Sun enterprise
+            "
+    ::= { enterprises 42 }
+
+sun OBJECT IDENTIFIER ::= { enterprises 42 }
+products OBJECT IDENTIFIER ::= { sun 2 }
+management OBJECT IDENTIFIER ::= { products 2 }
+sma OBJECT IDENTIFIER ::= { management 4 }
+
+
+END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/sun/agent/mibs/SUN-SEA-EXTENSIONS-MIB.txt	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,384 @@
+--
+-- Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+--
+-- U.S. Government Rights - Commercial software. Government users are subject to
+-- the Sun Microsystems, Inc. standard license agreement and applicable
+-- provisions of the FAR and its supplements.
+--
+--
+-- This distribution may include materials developed by third parties. Sun, Sun
+-- Microsystems, the Sun logo and Solaris are trademarks or registered
+-- trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
+--
+--
+
+----------------------------------------------------
+-- Systems Management Agent (SMA) SEA Extensions MIB
+----------------------------------------------------
+
+SUN-SEA-EXTENSIONS-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+    enterprises, mgmt, NetworkAddress, IpAddress, Counter, Gauge, TimeTicks 
+        FROM RFC1155-SMI
+    DisplayString
+        FROM SNMPv2-TC
+    sunMIB
+        FROM SUN-MIB;
+
+sunSeaExtensionsMIB MODULE-IDENTITY
+    LAST-UPDATED "200309180000Z"
+    ORGANIZATION "Sun Microsystems, Inc."
+    CONTACT-INFO "Customer support"
+    DESCRIPTION
+            "The MIB that describes the sun-specific extensions to mib-2
+            "
+    ::= { sunMIB 3 }
+
+
+--  **********************************************************************
+--  SUN EXTENSIONS
+--  **********************************************************************
+
+	sunSystem	OBJECT IDENTIFIER ::= { sunSeaExtensionsMIB 1 }
+	sunInterfaces	OBJECT IDENTIFIER ::= { sunSeaExtensionsMIB 2 }
+	sunAt		OBJECT IDENTIFIER ::= { sunSeaExtensionsMIB 3 }
+	sunIp		OBJECT IDENTIFIER ::= { sunSeaExtensionsMIB 4 }
+	sunIcmp		OBJECT IDENTIFIER ::= { sunSeaExtensionsMIB 5 }
+	sunTcp		OBJECT IDENTIFIER ::= { sunSeaExtensionsMIB 6 }
+	sunUdp		OBJECT IDENTIFIER ::= { sunSeaExtensionsMIB 7 }
+	sunSnmp		OBJECT IDENTIFIER ::= { sunSeaExtensionsMIB 11 }
+	sunProcesses	OBJECT IDENTIFIER ::= { sunSeaExtensionsMIB 12 }
+	sunHostPerf	OBJECT IDENTIFIER ::= { sunSeaExtensionsMIB 13 }
+
+--  **********************************************************************
+--  SUN SYSTEM GROUP
+--  **********************************************************************
+
+	agentDescr	OBJECT-TYPE
+		SYNTAX	DisplayString (SIZE (0..255))
+		ACCESS	read-only
+		STATUS	mandatory
+		DESCRIPTION
+			"The SNMP agent's description of itself."
+		::= { sunSystem 1 }
+
+	hostID	OBJECT-TYPE
+		SYNTAX  OCTET STRING (SIZE (4))
+		ACCESS  read-only
+		STATUS	mandatory
+		DESCRIPTION
+			"The unique Sun hardware identifier.
+			The value returned is four byte binary
+			string."
+		::= { sunSystem 2 }
+
+	motd	OBJECT-TYPE
+		SYNTAX	DisplayString (SIZE (0..255))
+		ACCESS  read-only
+		STATUS	mandatory
+		DESCRIPTION
+			"The first line of /etc/motd."
+		::= { sunSystem 3 }
+
+	unixTime OBJECT-TYPE
+		SYNTAX  Counter
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"The Unix system time.  Measured in seconds
+			since January 1, 1970 GMT."
+		::= { sunSystem 4 }
+
+-- the Sun Processes group
+-- the Sun Process table table
+-- This table is lists all the processes currently
+-- in execution.
+
+	sunProcessTable OBJECT-TYPE
+		SYNTAX  SEQUENCE OF PsEntry
+		ACCESS  read-only
+		STATUS  mandatory
+		::= { sunProcesses 1 }
+
+	psEntry OBJECT-TYPE
+		SYNTAX  PsEntry
+		ACCESS  read-only
+		STATUS  mandatory
+		INDEX   { psProcessID }
+		::= { sunProcessTable 1 }
+		PsEntry ::= SEQUENCE {
+		psProcessID
+		INTEGER,
+		psParentProcessID
+		INTEGER,
+		psProcessSize
+		INTEGER,
+		psProcessCpuTime
+		INTEGER,
+		psProcessState
+		DisplayString,
+		psProcessWaitChannel
+		DisplayString,
+		psProcessTTY
+		DisplayString,
+		psProcessUserName
+		DisplayString,
+		psProcessUserID
+		INTEGER,
+		psProcessName
+		DisplayString,
+		psProcessStatus
+		INTEGER
+		}
+
+	psProcessID OBJECT-TYPE
+		SYNTAX  INTEGER
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"The process identifier for this process."
+		::= { psEntry 1 }
+
+	psParentProcessID OBJECT-TYPE
+		SYNTAX  INTEGER
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"The process identifier of this process's parent."
+		::= { psEntry 2 }
+
+	psProcessSize OBJECT-TYPE
+		SYNTAX  INTEGER
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"The combined size of the data and stack segments
+			(in kilobytes.)"
+		::= { psEntry 3 }
+
+	psProcessCpuTime OBJECT-TYPE
+		SYNTAX  INTEGER
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"The CPU time (including both user and system
+			time) consumed so far."
+		::= { psEntry 4 }
+
+	psProcessState OBJECT-TYPE
+		SYNTAX  DisplayString (SIZE (0..4))
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"The run-state of the process.
+			R - Runnable
+			T - Stopped
+			P - In page wait
+			D - Non-interruptable wait
+			S - Sleeping (less than 20 seconds)
+			I - Idle (more than 20 seconds)
+			Z - Zombie"
+		::= { psEntry 5 }
+
+	psProcessWaitChannel OBJECT-TYPE
+		SYNTAX  DisplayString (SIZE (0..16))
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"Reason process is waiting."
+		::= { psEntry 6 }
+
+	psProcessTTY OBJECT-TYPE
+		SYNTAX  DisplayString (SIZE (0..16))
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"Terminal, if any, controlling this process."
+		::= { psEntry 7 }
+
+	psProcessUserName OBJECT-TYPE
+		SYNTAX  DisplayString (SIZE (0..16))
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"Name of the user associated with this process."
+		::= { psEntry 8 }
+
+	psProcessUserID OBJECT-TYPE
+		SYNTAX  INTEGER
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"Numeric form of the name of the user associated
+			with this process."
+		::= { psEntry 9 }
+
+	psProcessName OBJECT-TYPE
+		SYNTAX  DisplayString (SIZE (0..64))
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"Command name used to invoke this process."
+		::= { psEntry 10 }
+
+	psProcessStatus OBJECT-TYPE
+		SYNTAX  INTEGER
+		ACCESS  read-write
+		STATUS  mandatory
+		DESCRIPTION
+			"Setting this variable will cause a signal
+			of the set value to be sent to the process."
+		::= { psEntry 11 }
+
+-- the Sun Hostperf group
+
+	rsUserProcessTime OBJECT-TYPE
+		SYNTAX  Counter
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"total number of timeticks used by user processes
+			since the system was last booted."
+		::=  { sunHostPerf 1 }
+
+	rsNiceModeTime OBJECT-TYPE
+		SYNTAX  Counter
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"total number of timeticks used by nice mode since
+			the system was last booted."
+		::=  { sunHostPerf 2 }
+
+	rsSystemProcessTime OBJECT-TYPE
+		SYNTAX  Counter
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"total number of timeticks used by system processes
+			since the system was last booted."
+		::=  { sunHostPerf 3 }
+
+	rsIdleModeTime OBJECT-TYPE
+		SYNTAX  Counter
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"total number of timeticks used in idle mode since
+			the system was last booted."
+		::=  { sunHostPerf 4 }
+
+	rsDiskXfer1 OBJECT-TYPE
+		SYNTAX  Counter
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			""
+		::=  { sunHostPerf 5 }
+
+	rsDiskXfer2 OBJECT-TYPE
+		SYNTAX  Counter
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			""
+		::=  { sunHostPerf 6 }
+
+	rsDiskXfer3 OBJECT-TYPE
+		SYNTAX  Counter
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			""
+		::=  { sunHostPerf 7 }
+
+	rsDiskXfer4 OBJECT-TYPE
+		SYNTAX  Counter
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			""
+		::=  { sunHostPerf 8 }
+
+	rsVPagesIn OBJECT-TYPE
+		SYNTAX  Counter
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"Number of pages read in from disk."
+		::=  { sunHostPerf 9 }
+
+	rsVPagesOut OBJECT-TYPE
+		SYNTAX  Counter
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"Number of pages written to disk."
+		::=  { sunHostPerf 10 }
+
+	rsVSwapIn OBJECT-TYPE
+		SYNTAX  Counter
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+		"Number of pages swapped in."
+		::=  { sunHostPerf 11 }
+
+	rsVSwapOut OBJECT-TYPE
+		SYNTAX  Counter
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"Number of pages swapped out."
+		::=  { sunHostPerf 12 }
+
+	rsVIntr OBJECT-TYPE
+		SYNTAX  Counter
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+		"Number of device interrupts."
+		::=  { sunHostPerf 13 }
+		
+	rsIfInPackets OBJECT-TYPE
+		SYNTAX  Counter
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"Number of input packets."
+		::=  { sunHostPerf 14 }
+
+	rsIfOutPackets OBJECT-TYPE
+		SYNTAX  Counter
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"Number of output packets."
+		::=  { sunHostPerf 15 }
+
+	rsIfInErrors OBJECT-TYPE
+		SYNTAX  Counter
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"Number of input errors."
+		::=  { sunHostPerf 16 }
+		
+	rsIfOutErrors OBJECT-TYPE
+		SYNTAX  Counter
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"Number of output errors."
+		::=  { sunHostPerf 17 }
+
+	rsIfCollisions OBJECT-TYPE
+		SYNTAX  Counter
+		ACCESS  read-only
+		STATUS  mandatory
+		DESCRIPTION
+			"Number of output collisions."
+		::=  { sunHostPerf 18 }
+
+END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp-57/sun/agent/mibs/SUN-SEA-PROXY-MIB.txt	Fri Dec 11 03:49:26 2015 -0800
@@ -0,0 +1,529 @@
+--
+-- Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+--
+-- U.S. Government Rights - Commercial software. Government users are subject to
+-- the Sun Microsystems, Inc. standard license agreement and applicable
+-- provisions of the FAR and its supplements.
+--
+--
+-- This distribution may include materials developed by third parties. Sun, Sun
+-- Microsystems, the Sun logo and Solaris are trademarks or registered
+-- trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
+--
+--
+
+------------------------------------------------
+-- Systems Management Agent (SMA) SEA Proxy  MIB
+------------------------------------------------
+
+SUN-SEA-PROXY-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+    DisplayString
+        FROM SNMPv2-TC
+    products
+        FROM SUN-MIB;
+
+sunSeaProxyMIB MODULE-IDENTITY
+    LAST-UPDATED "200309180000Z"
+    ORGANIZATION "Sun Microsystems, Inc."
+    CONTACT-INFO "Customer support"
+    DESCRIPTION
+            "The MIB used to manage the snmpdx master agent daemon
+            "
+    ::= { products 15 }
+
+
+--
+-- ********** Global Master agent Information ******
+--
+
+  sunSeaProxyMIBStatusFile	OBJECT-TYPE
+	SYNTAX	DisplayString
+	ACCESS	read-only
+	STATUS	mandatory
+	DESCRIPTION
+		"This file stores the process id's of all the sub agents
+		 that are invoked by the master agent.
+		 The purpose of this file is for Master Agent recovery in
+		 case the Master Agent dies or is killed. When the Master
+		 Agent restarts, the entries in this file will indicate
+		 which subagents are spawned by it previously and what
+		 were their port numbers." 
+	::= { sunSeaProxyMIB 1 }
+
+  sunSeaProxyMIBResourceConfigFile	OBJECT-TYPE
+	SYNTAX	DisplayString
+	ACCESS	read-only
+	STATUS	mandatory
+	DESCRIPTION
+		"This file is exclusively used by the Master Agent.
+		 When the Master Agent comes up, it reads this file.
+		 This files stores information for all those agents
+		 that can be managed by the Master Agent. Each entry
+		 in the configuration file also includes the methods
+		 for invoking these subagents. It is also possible for
+		 a subagent not to have an entry in this configuration
+		 file. Such a subagent can dynamically come up and
+		 register with the Master Agent when it comes up."
+	::= { sunSeaProxyMIB 2 }
+
+  sunSeaProxyMIBConfigurationDir	OBJECT-TYPE
+	SYNTAX	DisplayString
+	ACCESS	read-only
+	STATUS	mandatory
+	DESCRIPTION
+		"This is the directory that contains the configuration
+		 files for the Master Agent."
+	::= { sunSeaProxyMIB 3 }
+
+  sunSeaProxyMIBTrapPort	OBJECT-TYPE
+	SYNTAX	INTEGER 
+	ACCESS	read-only
+	STATUS	mandatory
+	DESCRIPTION
+		"This is the port that master agent opens to receive SNMP trap
+		 notifications from various subagents. The master agent 
+		 forwards these traps to the managers appropriately."
+	::= { sunSeaProxyMIB 4 }
+
+  sunCheckSubAgentName OBJECT-TYPE
+	SYNTAX	DisplayString
+	ACCESS	read-write
+	STATUS	mandatory
+	DESCRIPTION
+		"This variable is of use to the sub agents only. It is
+		 used by the sub agents to check with the master
+		 to  check for duplicate sub agent names."
+	::= { sunSeaProxyMIB 5 }
+
+  sunSeaProxyMIBPollInterval OBJECT-TYPE
+	SYNTAX	INTEGER
+	ACCESS	read-only
+	STATUS	mandatory
+	DESCRIPTION
+		"This variable speicifies the time interval after which
+		 the Master Agent will perform activities other than
+		 receiving/sending of SNMP messages. The other activities
+		 include trying to find out if there is a change in the
+		 resource file, discover if all the agents are responding,
+		 and other such routine house keeping activities.
+ 		 This field contains values in seconds."
+	::= { sunSeaProxyMIB 6 }
+
+  sunSeaProxyMIBMaxAgentTimeOut OBJECT-TYPE
+	SYNTAX	INTEGER
+	ACCESS	read-only
+	STATUS	mandatory
+	DESCRIPTION
+		"The value of this field can be specified in microseconds.
+		 This field signifies the max allowed time-out a subagent
+		 can request during registration; e.g., when the Master
+		 Agent sends a request to a subagent. It waits for some
+		 time-out to receive the response. This time-out can be
+		 specified in the registration file or can also be set
+		 using dynamic registration. If an agent sets this time-out
+		 outrageously high, it can create problems for the
+		 Master Agent and other agents. To avoid such a problem,
+		 the Master Agent can have a policy of specifying a
+		 maximum value for which the Master Agent will wait for
+		 a response from the subagent. This maximum value of
+		 time-out is specified with this variable."
+	::= { sunSeaProxyMIB 7 }
+
+--
+-- *********** agentTable **************
+--
+  sunSubAgentTable	OBJECT-TYPE
+	SYNTAX	SEQUENCE OF SunSubAgentEntry
+	ACCESS	not-accessible
+	STATUS	mandatory
+	DESCRIPTION
+		"This table lists all the sub-agents that are registered
+		 with the master agent. The list contains the names of all
+		 the sub agents that are currently running on the system.
+		 Some of these sub agents could be invoked by the master
+		 agent and other's could have benn invoked by other means."
+	::= { sunSeaProxyMIB 8 }
+
+  sunSubAgentTableIndex	OBJECT-TYPE
+	SYNTAX	INTEGER (0..65535)
+	ACCESS	read-write
+	STATUS	mandatory
+	DESCRIPTION
+		"The next available index in sunSubAgentTable."
+	::= { sunSeaProxyMIB 9 }
+
+--
+-- ************** agentEntry(Table Entry) ************
+--
+  sunSubAgentEntry 	OBJECT-TYPE
+	SYNTAX	SunSubAgentEntry
+	ACCESS	not-accessible
+	STATUS	mandatory
+	DESCRIPTION	
+		"An entry in the sub-agent table."
+	INDEX { sunSubAgentID }
+	::= { sunSubAgentTable 1}
+
+  SunSubAgentEntry ::=
+	SEQUENCE {
+		sunSubAgentID
+			INTEGER,
+		sunSubAgentStatus
+			INTEGER,
+		sunSubAgentTimeout
+			INTEGER,
+		sunSubAgentPortNumber
+			INTEGER,
+		sunSubAgentRegistrationFile
+			DisplayString,
+		sunSubAgentAccessControlFile
+			DisplayString,
+		sunSubAgentExecutable
+			DisplayString,
+		sunSubAgentVersionNum
+			DisplayString,
+		sunSubAgentProcessID
+			INTEGER,
+		sunSubAgentName
+			DisplayString,
+  		sunSubAgentSystemUpTime
+			TimeTicks,
+		sunSubAgentWatchDogTime
+			INTEGER
+	}
+
+
+  sunSubAgentID 	OBJECT-TYPE
+	SYNTAX	INTEGER
+	ACCESS	read-only
+	STATUS	mandatory
+	DESCRIPTION
+		"This is the id for each sub agent that is running and
+		 registered with the master agent."
+	::= { sunSubAgentEntry 1 }
+
+  sunSubAgentStatus 	OBJECT-TYPE
+	SYNTAX	INTEGER { init(1), load(2), active(3), inactive(4), destroy(5) }
+	ACCESS	read-write
+	STATUS	mandatory
+	DESCRIPTION
+		"This variable provides the state of the sub-agent. When the
+		 sub-agent is started the state is 'init'. Once the sub-agent
+		 has read it's configuration files, but has not registered
+		 with the master , the state is 'load'. After the 'load'
+		 state the  sub-agent goes into 'active' state. In this state
+		 the sub-agent has registered with the master agent and
+		 would respond to any requests from the master agent and can
+		 also generate traps."
+	::= { sunSubAgentEntry 2 }
+
+  sunSubAgentTimeout 	OBJECT-TYPE
+	SYNTAX	INTEGER 
+	ACCESS	read-write
+	STATUS	mandatory
+	DESCRIPTION
+		"The max. time for which the master agent would wait
+		 for a  sub-agent to complete the request. The value is
+		 specified in usec. "
+	::= { sunSubAgentEntry 3 }
+
+  sunSubAgentPortNumber 	OBJECT-TYPE
+	SYNTAX	INTEGER (0..65535)
+	ACCESS	read-write
+	STATUS	mandatory
+	DESCRIPTION
+		"The port number of the sub-agent on which it listens for
+		 requests from the master agent."
+	::= { sunSubAgentEntry 4 }
+
+  sunSubAgentRegistrationFile 	OBJECT-TYPE
+	SYNTAX	DisplayString
+	ACCESS	read-write
+	STATUS	mandatory
+	DESCRIPTION
+		"This is the registration file of a sub-agent. Each sub-agent
+		 has its own registration file. This file contains information
+		 pertinent to each agent. The information includes the name
+		 of the agent, the subtree OIDs managed by the respective
+		 agent, request time out, the preferred port number, etc."
+	::= { sunSubAgentEntry 5 }
+
+  sunSubAgentAccessControlFile 	OBJECT-TYPE
+	SYNTAX	DisplayString
+	ACCESS	read-write
+	STATUS	mandatory
+	DESCRIPTION
+		"This is a file that has the access control information
+		 for each sub agent. It stores SNMP-related community
+		 information. Every subagent and a Master Agent can have
+		 its own access control file."
+	::= { sunSubAgentEntry 6 }
+
+  sunSubAgentExecutable 	OBJECT-TYPE
+	SYNTAX	DisplayString
+	ACCESS	read-write
+	STATUS	mandatory</