--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/meta-packages/history/SUNWnet-snmp-addons.p5m Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,34 @@
+#
+# 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, Oracle and/or its affiliates. All rights reserved.
+#
+
+#
+# Legacy package information for renamed SUNWnet-snmp-addons package
+#
+
+set name=pkg.fmri value=pkg://solaris/[email protected],5.11-0.133
+set name=pkg.renamed value=true
+
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+
+depend fmri=consolidation/sfw/sfw-incorporation type=require
+depend fmri=system/management/snmp/net-snmp/[email protected] type=require
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/meta-packages/history/SUNWnet-snmp-core.p5m Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,34 @@
+#
+# 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, Oracle and/or its affiliates. All rights reserved.
+#
+
+#
+# Legacy package information for renamed SUNWnet-snmp-core package
+#
+
+set name=pkg.fmri value=pkg://solaris/[email protected],5.11-0.133
+set name=pkg.renamed value=true
+
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+
+depend fmri=consolidation/sfw/sfw-incorporation type=require
+depend fmri=system/management/snmp/[email protected] type=require
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/meta-packages/history/SUNWnet-snmp-doc.p5m Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,34 @@
+#
+# 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, Oracle and/or its affiliates. All rights reserved.
+#
+
+#
+# Legacy package information for renamed SUNWnet-snmp-doc package
+#
+
+set name=pkg.fmri value=pkg://solaris/[email protected],5.11-0.133
+set name=pkg.renamed value=true
+
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+
+depend fmri=consolidation/sfw/sfw-incorporation type=require
+depend fmri=system/management/snmp/net-snmp/[email protected] type=require
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/meta-packages/history/SUNWnet-snmp-utils.p5m Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,34 @@
+#
+# 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, Oracle and/or its affiliates. All rights reserved.
+#
+
+#
+# Legacy package information for renamed SUNWnet-snmp-utils package
+#
+
+set name=pkg.fmri value=pkg://solaris/[email protected],5.11-0.132
+set name=pkg.renamed value=true
+
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+
+depend [email protected] type=require
+depend fmri=consolidation/sfw/sfw-incorporation type=require
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp/Makefile Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,122 @@
+#
+# 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, Oracle and/or its affiliates. All rights reserved.
+#
+include ../../make-rules/shared-macros.mk
+
+PATH=$(SPRO_VROOT)/bin:/usr/gnu/bin:/usr/bin
+DOXYGEN=/usr/bin/doxygen
+
+COMPONENT_NAME= net-snmp
+COMPONENT_VERSION= 5.4.1
+PERL_VERSION= 5.8.4
+COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
+COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
+COMPONENT_ARCHIVE_HASH= sha1:ac5ba033c10d53d3057415121f8c4936c643c208
+#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)
+
+
+include $(WS_TOP)/make-rules/prep.mk
+include $(WS_TOP)/make-rules/configure.mk
+include $(WS_TOP)/make-rules/ips.mk
+
+CFLAGS += $(studio_C99_ENABLE)
+CPPFLAGS += "-DFALSE_SHARING_ALIGN=64"
+
+CONFIGURE_OPTIONS += --with-default-snmp-version=3
+CONFIGURE_OPTIONS += --with-sys-contact="[email protected]"
+CONFIGURE_OPTIONS += --with-sys-location=Unknown
+CONFIGURE_OPTIONS += --with-logfile=/var/log/snmpd.log
+CONFIGURE_OPTIONS += --with-persistent-directory=/var/net-snmp
+
+CONFIGURE_OPTIONS += --with-mibdirs=/etc/net-snmp/snmp/mibs
+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-pkcs
+CONFIGURE_OPTIONS += --with-transports="UDP TCP UDPIPv6 TCPIPv6"
+
+# 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)"
+
+# Only build 32 bit Perl support
+PERL_ARGS = DESTDIR=$(PROTO_DIR) INSTALLDIRS=vendor
+CONFIGURE_OPTIONS.32 += PERL="$(PERL)"
+CONFIGURE_OPTIONS.32 += --with-perl-modules="$(PERL_ARGS)"
+CONFIGURE_OPTIONS.32 += --disable-perl-cc-checks
+
+CONFIGURE_OPTIONS.64 += --disable-embedded-perl
+CONFIGURE_OPTIONS.64 += --without-perl-modules
+
+CONFIGURE_OPTIONS += CFLAGS="$(CFLAGS)"
+CONFIGURE_OPTIONS += CPPFLAGS="$(CPPFLAGS)"
+CONFIGURE_OPTIONS += CC="$(CC)"
+
+ARCHNAME=$(shell $(PERL) -V:archname | sed -e "s/archname='\(.*\)'\;/\1/")
+
+PKG_MACROS += ARCHNAME=$(ARCHNAME)
+PKG_MACROS += BUILD_DIR=$(BUILD_DIR)
+PKG_MACROS += PERL_VERSION=$(PERL_VERSION)
+
+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=/usr CFGLIB64=/usr/lib/$(MACH64)
+CCSMAKE_ARGS += CFGLIB=/usr/lib ARCH=$(ARCH) ROOT=$(PROTO_DIR)
+
+$(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_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)
+
+# common targets
+build: $(BUILD_32_and_64) $(BUILD_DIR_32)/.docs
+
+$(INSTALL_64): COMPONENT_INSTALL_ARGS += DESTDIR=$(BUILD_DIR)/prototype/$(MACH64)
+
+install: build $(INSTALL_32_and_64)
+
+test: $(BUILD_32)
+ $(KSH93) ./run-tests $(BUILD_DIR) $(MACH32) $(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]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp/net-snmp-addons.p5m Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,44 @@
+#
+# 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, 2011, 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=info.classification value="org.opensolaris.category.2008:System/Enterprise Management"
+set name=info.upstream_url value="http://www.net-snmp.org/"
+set name=info.source_url value=$(COMPONENT_ARCHIVE_URL)
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+set name=opensolaris.arc_url \
+ value=http://arc.opensolaris.org/caselog/LSARC/2008/355
+
+license COPYING license="BSD, BSD-like"
+
+dir path=usr
+dir path=usr/lib
+dir path=usr/lib/$(MACH64)
+
+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
+
+legacy pkg=SUNWnet-snmp-addons \
+ name="Net-SNMP addon libraries" \
+ desc="Net-SNMP addon libraries (5.4.1)"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp/net-snmp-base.p5m Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,590 @@
+#
+# 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, 2011, 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=info.upstream_url value="http://www.net-snmp.org/"
+set name=info.source_url value=$(COMPONENT_ARCHIVE_URL)
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+set name=info.classification value="org.opensolaris.category.2008:System/Enterprise Management"
+
+set name=opensolaris.arc_url \
+ value=http://arc.opensolaris.org/caselog/LSARC/2008/355
+
+license COPYING license="BSD, BSD-like"
+
+dir path=etc
+dir path=etc/net-snmp
+dir path=etc/net-snmp/snmp
+dir path=etc/net-snmp/snmp/mib2c-data
+dir path=etc/net-snmp/snmp/mibs
+dir path=etc/net-snmp/snmp/snmpconf-data
+dir path=etc/net-snmp/snmp/snmpconf-data/snmp-data
+dir path=etc/net-snmp/snmp/snmpconf-data/snmpd-data
+dir path=etc/net-snmp/snmp/snmpconf-data/snmptrapd-data
+dir path=lib
+dir path=lib/svc
+dir path=lib/svc/manifest group=sys
+dir path=lib/svc/manifest/application group=sys
+dir path=lib/svc/manifest/application/management group=sys
+dir path=lib/svc/method
+dir path=usr
+dir path=usr/bin
+dir path=usr/include
+dir path=usr/include/net-snmp
+dir path=usr/include/net-snmp/agent
+dir path=usr/include/net-snmp/library
+dir path=usr/include/net-snmp/machine
+dir path=usr/include/net-snmp/snmplib
+dir path=usr/include/net-snmp/system
+dir path=usr/include/ucd-snmp
+dir path=usr/lib
+dir path=usr/lib/$(MACH64)
+dir path=usr/lib/net-snmp
+dir path=usr/perl5
+dir path=usr/perl5/$(PERL_VERSION)
+dir path=usr/perl5/$(PERL_VERSION)/man
+dir path=usr/perl5/$(PERL_VERSION)/man/man3
+dir path=usr/perl5/vendor_perl
+dir path=usr/perl5/vendor_perl/$(PERL_VERSION)
+dir path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)
+dir path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto
+dir path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/Bundle
+dir path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/Bundle/NetSNMP
+dir path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP
+dir path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/agent
+dir path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/agent/default_store
+dir path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/ASN
+dir path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/default_store
+dir path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/OID
+dir path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/TrapReceiver
+dir path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/SNMP
+dir path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/Bundle
+dir path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/NetSNMP
+dir path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/NetSNMP/agent
+dir path=usr/sbin
+dir path=usr/sbin/$(MACH64)
+dir path=usr/sbin/$(MACH32)
+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-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.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 $(MACH32)/sun/agent/mibs/ENTITY-MIB.txt path=etc/net-snmp/snmp/mibs/ENTITY-MIB.txt
+file $(MACH64)/mibs/LM-SENSORS-MIB.txt path=etc/net-snmp/snmp/mibs/LM-SENSORS-MIB.txt
+file $(MACH64)/mibs/NETWORK-SERVICES-MIB.txt path=etc/net-snmp/snmp/mibs/NETWORK-SERVICES-MIB.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 $(MACH32)/sun/agent/mibs/smatrap.mib path=etc/net-snmp/snmp/mibs/smatrap.mib
+file mibs/AGENTX-MIB.txt path=etc/net-snmp/snmp/mibs/AGENTX-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 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 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-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 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/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 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 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
+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 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
+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/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
+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_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_group.h
+file path=usr/include/net-snmp/agent/scalar.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_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/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/table.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/asn1.h
+file path=usr/include/net-snmp/library/callback.h
+file path=usr/include/net-snmp/library/check_varbind.h
+file path=usr/include/net-snmp/library/cmu_compat.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/container.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/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/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_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/README
+file path=usr/include/net-snmp/library/scapi.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/snmp-tc.h
+file path=usr/include/net-snmp/library/snmp.h
+file path=usr/include/net-snmp/library/snmpCallbackDomain.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/snmpUDPDomain.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/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/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-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/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/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/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/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_module_config.h
+file path=usr/include/ucd-snmp/mib.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_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/snmp-tc.h
+file path=usr/include/ucd-snmp/snmp.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 $(MACH64)/sun/agent/modules/entityMib/libentity.so path=usr/lib/$(MACH64)/libentity.so
+file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libnetsnmp.so.15.1.0 path=usr/lib/$(MACH64)/libnetsnmp.so.15.1.0
+file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libnetsnmpagent.so.15.1.0 path=usr/lib/$(MACH64)/libnetsnmpagent.so.15.1.0
+file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libnetsnmphelpers.so.15.1.0 path=usr/lib/$(MACH64)/libnetsnmphelpers.so.15.1.0
+file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libnetsnmpmibs.so.15.1.0 path=usr/lib/$(MACH64)/libnetsnmpmibs.so.15.1.0
+file build/prototype/$(MACH64)/usr/lib/$(MACH64)/libnetsnmptrapd.so.15.1.0 path=usr/lib/$(MACH64)/libnetsnmptrapd.so.15.1.0
+file $(MACH32)/sun/agent/modules/entityMib/libentity.so path=usr/lib/libentity.so
+file path=usr/lib/libnetsnmp.so.15.1.0
+file path=usr/lib/libnetsnmpagent.so.15.1.0
+file path=usr/lib/libnetsnmphelpers.so.15.1.0
+file path=usr/lib/libnetsnmpmibs.so.15.1.0
+file path=usr/lib/libnetsnmptrapd.so.15.1.0
+file path=usr/lib/libsnmp.so.15.1.0
+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::agent::default_store.3
+file path=usr/perl5/$(PERL_VERSION)/man/man3/NetSNMP::agent.3
+file path=usr/perl5/$(PERL_VERSION)/man/man3/NetSNMP::ASN.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/NetSNMP::OID.3
+file path=usr/perl5/$(PERL_VERSION)/man/man3/NetSNMP::TrapReceiver.3
+file path=usr/perl5/$(PERL_VERSION)/man/man3/SNMP.3
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/Bundle/NetSNMP/.packlist
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/agent/agent.bs
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/agent/agent.so
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/agent/autosplit.ix
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/agent/default_store/autosplit.ix
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/agent/default_store/default_store.bs
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/agent/default_store/default_store.so
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/ASN/ASN.bs
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/ASN/ASN.so
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/ASN/autosplit.ix
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/default_store/autosplit.ix
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/default_store/default_store.bs
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/default_store/default_store.so
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/OID/autosplit.ix
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/OID/OID.bs
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/OID/OID.so
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/TrapReceiver/autosplit.ix
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/TrapReceiver/TrapReceiver.bs
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/NetSNMP/TrapReceiver/TrapReceiver.so
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/SNMP/autosplit.ix
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/SNMP/SNMP.bs
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/auto/SNMP/SNMP.so
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/Bundle/Makefile.subs.pl
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/NetSNMP/agent.pm
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/NetSNMP/agent/default_store.pm
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/NetSNMP/agent/netsnmp_request_infoPtr.pm
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/NetSNMP/agent/Support.pm
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/NetSNMP/ASN.pm
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/NetSNMP/default_store.pm
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/NetSNMP/OID.pm
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/NetSNMP/TrapReceiver.pm
+file path=usr/perl5/vendor_perl/$(PERL_VERSION)/$(ARCHNAME)/SNMP.pm
+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
+file usr/sbin/snmpd path=usr/sbin/$(MACH32)/snmpd
+file usr/sbin/snmptrapd path=usr/sbin/$(MACH32)/snmptrapd
+hardlink path=usr/sbin/snmpd target=../../usr/lib/isaexec
+hardlink path=usr/sbin/snmptrapd target=../../usr/lib/isaexec
+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
+link path=usr/bin/snmpinform target=snmptrap
+link path=usr/lib/$(MACH64)/libnetsnmp.so target=./libnetsnmp.so.15.1.0
+link path=usr/lib/$(MACH64)/libnetsnmp.so.15 target=./libnetsnmp.so.15.1.0
+link path=usr/lib/$(MACH64)/libnetsnmpagent.so target=./libnetsnmpagent.so.15.1.0
+link path=usr/lib/$(MACH64)/libnetsnmpagent.so.15 target=./libnetsnmpagent.so.15.1.0
+link path=usr/lib/$(MACH64)/libnetsnmphelpers.so target=./libnetsnmphelpers.so.15.1.0
+link path=usr/lib/$(MACH64)/libnetsnmphelpers.so.15 target=./libnetsnmphelpers.so.15.1.0
+link path=usr/lib/$(MACH64)/libnetsnmpmibs.so target=./libnetsnmpmibs.so.15.1.0
+link path=usr/lib/$(MACH64)/libnetsnmpmibs.so.15 target=./libnetsnmpmibs.so.15.1.0
+link path=usr/lib/$(MACH64)/libnetsnmptrapd.so target=./libnetsnmptrapd.so.15.1.0
+link path=usr/lib/$(MACH64)/libnetsnmptrapd.so.15 target=./libnetsnmptrapd.so.15.1.0
+link path=usr/lib/libnetsnmp.so target=./libnetsnmp.so.15.1.0
+link path=usr/lib/libnetsnmp.so.15 target=./libnetsnmp.so.15.1.0
+link path=usr/lib/libnetsnmpagent.so target=./libnetsnmpagent.so.15.1.0
+link path=usr/lib/libnetsnmpagent.so.15 target=./libnetsnmpagent.so.15.1.0
+link path=usr/lib/libnetsnmphelpers.so target=./libnetsnmphelpers.so.15.1.0
+link path=usr/lib/libnetsnmphelpers.so.15 target=./libnetsnmphelpers.so.15.1.0
+link path=usr/lib/libnetsnmpmibs.so target=./libnetsnmpmibs.so.15.1.0
+link path=usr/lib/libnetsnmpmibs.so.15 target=./libnetsnmpmibs.so.15.1.0
+link path=usr/lib/libnetsnmptrapd.so target=./libnetsnmptrapd.so.15.1.0
+link path=usr/lib/libnetsnmptrapd.so.15 target=./libnetsnmptrapd.so.15.1.0
+link path=usr/lib/libsnmp.so target=./libsnmp.so.15.1.0
+link path=usr/lib/libsnmp.so.15 target=./libsnmp.so.15.1.0
+
+legacy pkg=SUNWnet-snmp-utils \
+ name="Net-SNMP Agent applications and utilities" \
+ desc="Net-SNMP Agent applications and utilities (5.4.1)"
+legacy pkg=SUNWnet-snmp-mgr \
+ name="Net-SNMP Agent Configuration files and Startup scripts" \
+ desc="Net-SNMP Agent Configuration files and Startup scripts (5.4.1)"
+legacy pkg=SUNWnet-snmp-core \
+ name="Net-SNMP Agent files and libraries" \
+ desc="Net-SNMP Agent files and libraries (5.4.1)"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp/net-snmp-documentation.p5m Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,641 @@
+#
+# 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, 2011, Oracle and/or its affiliates. All rights reserved.
+#
+
+<transform file path=usr.*/man/.+ -> default mangler.man.stability volatile>
+
+set name=info.classification value="org.opensolaris.category.2008:System/Enterprise Management"
+set name=pkg.summary value="Net-SNMP Agent manpages and html documentation files"
+set name=info.upstream_url value="http://www.net-snmp.org/"
+set name=info.source_url value=$(COMPONENT_ARCHIVE_URL)
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+set name=pkg.fmri value=pkg:/system/management/snmp/net-snmp/[email protected]$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+
+set name=opensolaris.arc_url \
+ value=http://arc.opensolaris.org/caselog/LSARC/2008/355
+
+license COPYING license="BSD, BSD-like"
+
+dir path=usr
+dir path=usr/demo
+dir path=usr/demo/net-snmp
+dir path=usr/demo/net-snmp/demo_module_1
+dir path=usr/demo/net-snmp/demo_module_10
+dir path=usr/demo/net-snmp/demo_module_11
+dir path=usr/demo/net-snmp/demo_module_12
+dir path=usr/demo/net-snmp/demo_module_2
+dir path=usr/demo/net-snmp/demo_module_3
+dir path=usr/demo/net-snmp/demo_module_4
+dir path=usr/demo/net-snmp/demo_module_5
+dir path=usr/demo/net-snmp/demo_module_6
+dir path=usr/demo/net-snmp/demo_module_7
+dir path=usr/demo/net-snmp/demo_module_8
+dir path=usr/demo/net-snmp/demo_module_9
+dir path=usr/share
+dir path=usr/share/doc
+dir path=usr/share/doc/net-snmp
+dir path=usr/share/doc/net-snmp/html
+dir path=usr/share/man
+dir path=usr/share/man/man1
+dir path=usr/share/man/man3
+dir path=usr/share/man/man5
+dir path=usr/share/man/man8
+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/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/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/Makefile path=usr/demo/net-snmp/demo_module_6/Makefile
+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/get_demo_module_6 path=usr/demo/net-snmp/demo_module_6/get_demo_module_6
+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/get_status path=usr/demo/net-snmp/demo_module_10/get_status
+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/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/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_10/get_data path=usr/demo/net-snmp/demo_module_10/get_data
+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/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/get_refreshtime path=usr/demo/net-snmp/demo_module_10/get_refreshtime
+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/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/demo_module_1.h path=usr/demo/net-snmp/demo_module_1/demo_module_1.h
+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/demo_module_1.c path=usr/demo/net-snmp/demo_module_1/demo_module_1.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_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/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/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/Makefile path=usr/demo/net-snmp/demo_module_5/Makefile
+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/getme1LoadGroup path=usr/demo/net-snmp/demo_module_8/getme1LoadGroup
+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/me1LoadGroup.h path=usr/demo/net-snmp/demo_module_8/me1LoadGroup.h
+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/me1LoadGroup.c path=usr/demo/net-snmp/demo_module_8/me1LoadGroup.c
+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_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_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/Makefile path=usr/demo/net-snmp/demo_module_2/Makefile
+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_11/MyTable.c path=usr/demo/net-snmp/demo_module_11/MyTable.c
+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/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.h path=usr/demo/net-snmp/demo_module_11/MyTable.h
+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_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/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.h path=usr/demo/net-snmp/demo_module_7/demo_module_7.h
+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_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/Makefile path=usr/demo/net-snmp/demo_module_7/Makefile
+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_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/Makefile path=usr/demo/net-snmp/demo_module_3/Makefile
+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/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/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/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/walk_demo_module_9 path=usr/demo/net-snmp/demo_module_9/walk_demo_module_9
+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/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/demo_module_9.h path=usr/demo/net-snmp/demo_module_9/demo_module_9.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_4/me4LoadGroup.h path=usr/demo/net-snmp/demo_module_4/me4LoadGroup.h
+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/Makefile path=usr/demo/net-snmp/demo_module_4/Makefile
+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/SDK-DEMO4-MIB.txt path=usr/demo/net-snmp/demo_module_4/SDK-DEMO4-MIB.txt
+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-source.html path=usr/share/doc/net-snmp/html/agent__handler_8h-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__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__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/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/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/cmu__compat_8c-source.html path=usr/share/doc/net-snmp/html/cmu__compat_8c-source.html
+file build/$(MACH32)/docs/html/cmu__compat_8h-source.html path=usr/share/doc/net-snmp/html/cmu__compat_8h-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-source.html path=usr/share/doc/net-snmp/html/container__iterator_8h-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__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-example.html path=usr/share/doc/net-snmp/html/data__set_8c-example.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/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-example.html path=usr/share/doc/net-snmp/html/delayed__instance_8c-example.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/deprecated.html path=usr/share/doc/net-snmp/html/deprecated.html
+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/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/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__registry.html path=usr/share/doc/net-snmp/html/group__agent__registry.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__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__pton_8c-source.html path=usr/share/doc/net-snmp/html/inet__pton_8c-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-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/kernel_8c-source.html path=usr/share/doc/net-snmp/html/kernel_8c-source.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/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/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/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-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__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/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/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-example.html path=usr/share/doc/net-snmp/html/scalar__int_8c-example.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/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_8c-source.html path=usr/share/doc/net-snmp/html/snmpAAL5PVCDomain_8c-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/snmpCallbackDomain_8c-source.html path=usr/share/doc/net-snmp/html/snmpCallbackDomain_8c-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/snmpIPXDomain_8c-source.html path=usr/share/doc/net-snmp/html/snmpIPXDomain_8c-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/snmpSTDDomain_8c-source.html path=usr/share/doc/net-snmp/html/snmpSTDDomain_8c-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/snmpTCPDomain_8c-source.html path=usr/share/doc/net-snmp/html/snmpTCPDomain_8c-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_8c-source.html path=usr/share/doc/net-snmp/html/snmpTCPIPv6Domain_8c-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/snmpUDPDomain_8c-source.html path=usr/share/doc/net-snmp/html/snmpUDPDomain_8c-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/snmpUDPIPv6Domain_8c-source.html path=usr/share/doc/net-snmp/html/snmpUDPIPv6Domain_8c-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_8c-source.html path=usr/share/doc/net-snmp/html/snmpUnixDomain_8c-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__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__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-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__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/snmplocalsm_8c-source.html path=usr/share/doc/net-snmp/html/snmplocalsm_8c-source.html
+file build/$(MACH32)/docs/html/snmplocalsm_8h-source.html path=usr/share/doc/net-snmp/html/snmplocalsm_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/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/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/structiterator__info__s.html path=usr/share/doc/net-snmp/html/structiterator__info__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__column__info__t.html path=usr/share/doc/net-snmp/html/structnetsnmp__column__info__t.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__handler__registration__s.html path=usr/share/doc/net-snmp/html/structnetsnmp__handler__registration__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__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__s.html path=usr/share/doc/net-snmp/html/structnetsnmp__mib__handler__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__request__info__s.html path=usr/share/doc/net-snmp/html/structnetsnmp__request__info__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/structsnmp__pdu.html path=usr/share/doc/net-snmp/html/structsnmp__pdu.html
+file build/$(MACH32)/docs/html/structsnmp__session.html path=usr/share/doc/net-snmp/html/structsnmp__session.html
+file build/$(MACH32)/docs/html/structvariable__list.html path=usr/share/doc/net-snmp/html/structvariable__list.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/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-source.html path=usr/share/doc/net-snmp/html/table__iterator_8h-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__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/test__binary__array_8c-source.html path=usr/share/doc/net-snmp/html/test__binary__array_8c-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-source.html path=usr/share/doc/net-snmp/html/tools_8h-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/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/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/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/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/init_mib.3
+file path=usr/share/man/man3/init_mib_internals.3
+file path=usr/share/man/man3/mib_api.3
+file path=usr/share/man/man3/netsnmp_Container_iterator.3
+file path=usr/share/man/man3/netsnmp_agent.3
+file path=usr/share/man/man3/netsnmp_baby_steps.3
+file path=usr/share/man/man3/netsnmp_bulk_to_next.3
+file path=usr/share/man/man3/netsnmp_cache_handler.3
+file path=usr/share/man/man3/netsnmp_container.3
+file path=usr/share/man/man3/netsnmp_debug.3
+file path=usr/share/man/man3/netsnmp_ds_get_boolean.3
+file path=usr/share/man/man3/netsnmp_ds_get_int.3
+file path=usr/share/man/man3/netsnmp_ds_get_string.3
+file path=usr/share/man/man3/netsnmp_ds_register_config.3
+file path=usr/share/man/man3/netsnmp_ds_register_premib.3
+file path=usr/share/man/man3/netsnmp_ds_set_boolean.3
+file path=usr/share/man/man3/netsnmp_ds_set_int.3
+file path=usr/share/man/man3/netsnmp_ds_set_string.3
+file path=usr/share/man/man3/netsnmp_ds_shutdown.3
+file path=usr/share/man/man3/netsnmp_example_scalar_int.3
+file path=usr/share/man/man3/netsnmp_handler.3
+file path=usr/share/man/man3/netsnmp_instance.3
+file path=usr/share/man/man3/netsnmp_iterator_info_s.3
+file path=usr/share/man/man3/netsnmp_leaf.3
+file path=usr/share/man/man3/netsnmp_library.3
+file path=usr/share/man/man3/netsnmp_mib_handler_methods.3
+file path=usr/share/man/man3/netsnmp_mib_utilities.3
+file path=usr/share/man/man3/netsnmp_mode_end_call.3
+file path=usr/share/man/man3/netsnmp_multiplexer.3
+file path=usr/share/man/man3/netsnmp_old_api.3
+file path=usr/share/man/man3/netsnmp_read_only.3
+file path=usr/share/man/man3/netsnmp_row_merge.3
+file path=usr/share/man/man3/netsnmp_scalar.3
+file path=usr/share/man/man3/netsnmp_scalar_group_group.3
+file path=usr/share/man/man3/netsnmp_serialize.3
+file path=usr/share/man/man3/netsnmp_stash_cache.3
+file path=usr/share/man/man3/netsnmp_table.3
+file path=usr/share/man/man3/netsnmp_table_array.3
+file path=usr/share/man/man3/netsnmp_table_data.3
+file path=usr/share/man/man3/netsnmp_table_dataset.3
+file path=usr/share/man/man3/netsnmp_table_iterator.3
+file path=usr/share/man/man3/netsnmp_utilities.3
+file path=usr/share/man/man3/netsnmp_watcher.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.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_module.3
+file path=usr/share/man/man3/read_module_node.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_premib_handler.3
+file path=usr/share/man/man3/register_config_handler.3
+file path=usr/share/man/man3/register_mib_handlers.3
+file path=usr/share/man/man3/register_premib_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_agent_api.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.3
+file path=usr/share/man/man3/snmp_api_errstring.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_free_pdu.3
+file path=usr/share/man/man3/snmp_open.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_api.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_warnings.3
+file path=usr/share/man/man3/snmp_set_save_descriptions.3
+file path=usr/share/man/man3/snmp_timeout.3
+file path=usr/share/man/man3/snmp_trap_api.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/sprint_realloc_objid.3
+file path=usr/share/man/man3/sprint_realloc_value.3
+file path=usr/share/man/man3/sprint_realloc_variable.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
+file path=usr/share/man/man8/snmpd.8
+file path=usr/share/man/man8/snmptrapd.8
+legacy pkg=SUNWnet-snmp-doc \
+ name="Net-SNMP Agent manpages and html documentation files" \
+ desc="Net-SNMP Agent manpages and html documentation files (5.4.1)"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp/net-snmp.xml Fri May 20 12:17:45 2011 +0530
@@ -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='milestone'
+ grouping='require_all'
+ restart_on='none'
+ type='service'>
+ <service_fmri value='svc:/milestone/sysconfig' />
+ </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/patches/001.scapi.patch Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,31 @@
+--- net-snmp-5.4.1/snmplib/scapi.c Fri Sep 15 05:47:01 2006
++++ net-snmp-5.4.1.mod/snmplib/scapi.c Sat Jul 4 02:58:34 2009
[email protected]@ -406,11 +406,11 @@
+ int rval = SNMPERR_SUCCESS;
+ #endif
+ int ret;
++ unsigned int tmp_len;
+
+ #ifdef NETSNMP_USE_OPENSSL
+ const EVP_MD *hashfn;
+ EVP_MD_CTX ctx, *cptr;
+- unsigned int tmp_len;
+ #endif
+
+ DEBUGTRACE;
[email protected]@ -479,13 +479,11 @@
+
+ #ifndef NETSNMP_DISABLE_MD5
+ if (ISTRANSFORM(hashtype, HMACMD5Auth)) {
+- rval = pkcs_digest(CKM_MD5, buf, buf_len, MAC, &tmp_len);
+- *MAC_len = tmp_len;
++ rval = pkcs_digest(CKM_MD5, buf, buf_len, MAC, MAC_len);
+ } else
+ #endif
+ if (ISTRANSFORM(hashtype, HMACSHA1Auth)) {
+- rval = pkcs_digest(CKM_SHA_1, buf, buf_len, MAC, &tmp_len);
+- *MAC_len = tmp_len;
++ rval = pkcs_digest(CKM_SHA_1, buf, buf_len, MAC, MAC_len);
+ } else {
+ return (SNMPERR_GENERR);
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp/patches/002.pkcs.patch Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,31 @@
+--- net-snmp-5.4.1/snmplib/pkcs.c Tue Nov 6 02:00:04 2007
++++ net-snmp-5.4.1/snmplib/pkcs.mod.c Tue Nov 6 01:58:30 2007
[email protected]@ -1,5 +1,5 @@
+ /*
+- * Copyright Copyright 2003 Sun Microsystems, Inc. All rights reserved.
++ * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms specified in the COPYING file
+ * distributed with the Net-SNMP package.
+ */
[email protected]@ -107,10 +107,12 @@
+ {
+ int slotcount, i;
+
++ (void) C_Finalize(NULL);
++
+ if (pSlot != NULL) {
+ slotcount = pSlot->count;
+ for (i = 0; i < slotcount; i++) {
+- if (pSlot->pSession->hdl != NULL) {
++ if (pSlot->pSession != NULL) {
+ free(pSlot->pSession->hdl);
+ }
+ }
[email protected]@ -117,7 +119,6 @@
+ free(pSlot);
+ }
+
+- (void) C_Finalize(NULL);
+ return 0;
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp/patches/003.solaris-ip-mib.patch Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,491 @@
+--- net-snmp-5.4.1/agent/mibgroup/ip-mib/data_access/systemstats_solaris2.c (revision 0)
++++ net-snmp-5.4.1-patch/agent/mibgroup/ip-mib/data_access/systemstats_solaris2.c (revision 0)
[email protected]@ -0,0 +1,199 @@
++#include <net-snmp/net-snmp-config.h>
++#include <net-snmp/net-snmp-includes.h>
++
++#include <net-snmp/agent/net-snmp-agent-includes.h>
++#include <net-snmp/data_access/ipstats.h>
++#include <net-snmp/data_access/systemstats.h>
++
++#include "kernel_sunos5.h"
++
++static int _systemstats(mibgroup_e, netsnmp_container *, u_int);
++static void _add_ipstats(mib2_ipIfStatsEntry_t *, mib2_ipIfStatsEntry_t *);
++static int _insert_entry(netsnmp_container *, mib2_ipIfStatsEntry_t *);
++
++void
++netsnmp_access_systemstats_arch_init(void)
++{
++ init_kernel_sunos5();
++}
++
++/*
++ * @retval 0 success
++ * @retval -1 container error
++ * @retval -2 could not create entry (probably malloc)
++ */
++int
++netsnmp_access_systemstats_container_arch_load(netsnmp_container* container,
++ u_int load_flags)
++{
++ int rc;
++
++ if (container == NULL)
++ return (-1);
++
++ if ((rc = _systemstats(MIB_IP_TRAFFIC_STATS, container, load_flags)) < 0)
++ return (rc);
++#if defined(NETSNMP_ENABLE_IPV6)
++ if ((rc = _systemstats(MIB_IP6, container, load_flags)) < 0) {
++ netsnmp_access_systemstats_container_free(container,
++ NETSNMP_ACCESS_SYSTEMSTATS_FREE_NOFLAGS);
++ return (rc);
++ }
++#endif
++ return (0);
++}
++
++/*
++ * @retval 0 success
++ * @retval <0 error
++ */
++static int
++_systemstats(mibgroup_e mib, netsnmp_container *container, u_int load_flags)
++{
++ mib2_ipIfStatsEntry_t ipe, iptot;
++ req_e req = GET_FIRST;
++ int ipversion = (mib == MIB_IP6) ? MIB2_INETADDRESSTYPE_ipv6 :
++ MIB2_INETADDRESSTYPE_ipv4;
++ bzero((void *)&iptot, sizeof(iptot));
++
++ while (getMibstat(mib, &ipe, sizeof(ipe), req,
++ &Get_everything, NULL) == 0) {
++ req = GET_NEXT;
++ netsnmp_assert(ipe.ipIfStatsIPVersion == ipversion);
++ _add_ipstats(&iptot, &ipe);
++ }
++ iptot.ipIfStatsIPVersion = ipversion;
++ return _insert_entry(container, &iptot);
++}
++
++static void
++_add_ipstats(mib2_ipIfStatsEntry_t *o1, mib2_ipIfStatsEntry_t *o2)
++{
++ o1->ipIfStatsInHdrErrors += o2->ipIfStatsInHdrErrors;
++ o1->ipIfStatsInTooBigErrors += o2->ipIfStatsInTooBigErrors;
++ o1->ipIfStatsInNoRoutes += o2->ipIfStatsInNoRoutes;
++ o1->ipIfStatsInAddrErrors += o2->ipIfStatsInAddrErrors;
++ o1->ipIfStatsInUnknownProtos += o2->ipIfStatsInUnknownProtos;
++ o1->ipIfStatsInTruncatedPkts += o2->ipIfStatsInTruncatedPkts;
++ o1->ipIfStatsInDiscards += o2->ipIfStatsInDiscards;
++ o1->ipIfStatsOutDiscards += o2->ipIfStatsOutDiscards;
++ o1->ipIfStatsOutFragOKs += o2->ipIfStatsOutFragOKs;
++ o1->ipIfStatsOutFragFails += o2->ipIfStatsOutFragFails;
++ o1->ipIfStatsOutFragCreates += o2->ipIfStatsOutFragCreates;
++ o1->ipIfStatsReasmReqds += o2->ipIfStatsReasmReqds;
++ o1->ipIfStatsReasmOKs += o2->ipIfStatsReasmOKs;
++ o1->ipIfStatsReasmFails += o2->ipIfStatsReasmFails;
++ o1->ipIfStatsOutNoRoutes += o2->ipIfStatsOutNoRoutes;
++ o1->ipIfStatsReasmDuplicates += o2->ipIfStatsReasmDuplicates;
++ o1->ipIfStatsReasmPartDups += o2->ipIfStatsReasmPartDups;
++ o1->ipIfStatsForwProhibits += o2->ipIfStatsForwProhibits;
++ o1->udpInCksumErrs += o2->udpInCksumErrs;
++ o1->udpInOverflows += o2->udpInOverflows;
++ o1->rawipInOverflows += o2->rawipInOverflows;
++ o1->ipIfStatsInWrongIPVersion += o2->ipIfStatsInWrongIPVersion;
++ o1->ipIfStatsOutWrongIPVersion += o2->ipIfStatsOutWrongIPVersion;
++ o1->ipIfStatsOutSwitchIPVersion += o2->ipIfStatsOutSwitchIPVersion;
++ o1->ipIfStatsHCInReceives += o2->ipIfStatsHCInReceives;
++ o1->ipIfStatsHCInOctets += o2->ipIfStatsHCInOctets;
++ o1->ipIfStatsHCInForwDatagrams += o2->ipIfStatsHCInForwDatagrams;
++ o1->ipIfStatsHCInDelivers += o2->ipIfStatsHCInDelivers;
++ o1->ipIfStatsHCOutRequests += o2->ipIfStatsHCOutRequests;
++ o1->ipIfStatsHCOutForwDatagrams += o2->ipIfStatsHCOutForwDatagrams;
++ o1->ipIfStatsOutFragReqds += o2->ipIfStatsOutFragReqds;
++ o1->ipIfStatsHCOutTransmits += o2->ipIfStatsHCOutTransmits;
++ o1->ipIfStatsHCOutOctets += o2->ipIfStatsHCOutOctets;
++ o1->ipIfStatsHCInMcastPkts += o2->ipIfStatsHCInMcastPkts;
++ o1->ipIfStatsHCInMcastOctets += o2->ipIfStatsHCInMcastOctets;
++ o1->ipIfStatsHCOutMcastPkts += o2->ipIfStatsHCOutMcastPkts;
++ o1->ipIfStatsHCOutMcastOctets += o2->ipIfStatsHCOutMcastOctets;
++ o1->ipIfStatsHCInBcastPkts += o2->ipIfStatsHCInBcastPkts;
++ o1->ipIfStatsHCOutBcastPkts += o2->ipIfStatsHCOutBcastPkts;
++ o1->ipsecInSucceeded += o2->ipsecInSucceeded;
++ o1->ipsecInFailed += o2->ipsecInFailed;
++ o1->ipInCksumErrs += o2->ipInCksumErrs;
++ o1->tcpInErrs += o2->tcpInErrs;
++ o1->udpNoPorts += o2->udpNoPorts;
++}
++
++/*
++ * @retval 0 entry was successfully inserted in the container
++ * @retval -1 container error
++ * @retval -2 memory allocation error
++ */
++static int
++_insert_entry(netsnmp_container *container, mib2_ipIfStatsEntry_t *ipe)
++{
++ netsnmp_systemstats_entry *ep =
++ netsnmp_access_systemstats_entry_create(ipe->ipIfStatsIPVersion);
++
++ DEBUGMSGTL(("access:systemstats:arch", "insert entry for v%d\n",
++ ipe->ipIfStatsIPVersion));
++ if (ep == NULL) {
++ DEBUGMSGT(("access:systemstats:arch", "insert failed (alloc)"));
++ return (-2);
++ }
++
++ ep->stats.HCInReceives.low =
++ ipe->ipIfStatsHCInReceives & 0xffffffff;
++ ep->stats.HCInReceives.high = ipe->ipIfStatsHCInReceives >> 32;
++ ep->stats.HCInOctets.low =
++ ipe->ipIfStatsHCInOctets & 0xffffffff;
++ ep->stats.HCInOctets.high = ipe->ipIfStatsHCInOctets >> 32;
++ ep->stats.InHdrErrors = ipe->ipIfStatsInHdrErrors;
++ ep->stats.InAddrErrors = ipe->ipIfStatsInAddrErrors;
++ ep->stats.InUnknownProtos = ipe->ipIfStatsInUnknownProtos;
++ ep->stats.InTruncatedPkts = ipe->ipIfStatsInTruncatedPkts;
++ ep->stats.HCInForwDatagrams.low =
++ ipe->ipIfStatsHCInForwDatagrams & 0xffffffff;
++ ep->stats.HCInForwDatagrams.high =
++ ipe->ipIfStatsHCInForwDatagrams >> 32;
++ ep->stats.ReasmReqds = ipe->ipIfStatsReasmReqds;
++ ep->stats.ReasmOKs = ipe->ipIfStatsReasmOKs;
++ ep->stats.ReasmFails = ipe->ipIfStatsReasmFails;
++ ep->stats.InDiscards = ipe->ipIfStatsInDiscards;
++ ep->stats.HCInDelivers.low =
++ ipe->ipIfStatsHCInDelivers & 0xffffffff;
++ ep->stats.HCInDelivers.high =
++ ipe->ipIfStatsHCInDelivers >> 32;
++ ep->stats.HCOutRequests.low =
++ ipe->ipIfStatsHCOutRequests & 0xffffffff;
++ ep->stats.HCOutRequests.high =
++ ipe->ipIfStatsHCOutRequests >> 32;
++ ep->stats.OutNoRoutes = ipe->ipIfStatsOutNoRoutes;
++ ep->stats.HCOutForwDatagrams.low =
++ ipe->ipIfStatsHCOutForwDatagrams & 0xffffffff;
++ ep->stats.HCOutForwDatagrams.high =
++ ipe->ipIfStatsHCOutForwDatagrams >> 32;
++ ep->stats.OutDiscards = ipe->ipIfStatsOutDiscards;
++ ep->stats.OutFragOKs = ipe->ipIfStatsOutFragOKs;
++ ep->stats.OutFragFails = ipe->ipIfStatsOutFragFails;
++ ep->stats.OutFragCreates = ipe->ipIfStatsOutFragCreates;
++ ep->stats.HCOutTransmits.low =
++ ipe->ipIfStatsHCOutTransmits & 0xffffffff;
++ ep->stats.HCOutTransmits.high = ipe->ipIfStatsHCOutTransmits >> 32;
++ ep->stats.HCOutOctets.low = ipe->ipIfStatsHCOutOctets & 0xffffffff;
++ ep->stats.HCOutOctets.high = ipe->ipIfStatsHCOutOctets >> 32;
++ ep->stats.HCInMcastPkts.low = ipe->ipIfStatsHCInMcastPkts & 0xffffffff;
++ ep->stats.HCInMcastPkts.high = ipe->ipIfStatsHCInMcastPkts >> 32;
++ ep->stats.HCInMcastOctets.low =
++ ipe->ipIfStatsHCInMcastOctets & 0xffffffff;
++ ep->stats.HCInMcastOctets.high = ipe->ipIfStatsHCInMcastOctets >> 32;
++ ep->stats.HCOutMcastPkts.low =
++ ipe->ipIfStatsHCOutMcastPkts & 0xffffffff;
++ ep->stats.HCOutMcastPkts.high = ipe->ipIfStatsHCOutMcastPkts >> 32;
++ ep->stats.HCOutMcastOctets.low =
++ ipe->ipIfStatsHCOutMcastOctets & 0xffffffff;
++ ep->stats.HCOutMcastOctets.high = ipe->ipIfStatsHCOutMcastOctets >> 32;
++ ep->stats.HCInBcastPkts.low = ipe->ipIfStatsHCInBcastPkts & 0xffffffff;
++ ep->stats.HCInBcastPkts.high = ipe->ipIfStatsHCInBcastPkts >> 32;
++ ep->stats.HCOutBcastPkts.low =
++ ipe->ipIfStatsHCOutBcastPkts & 0xffffffff;
++ ep->stats.HCOutBcastPkts.high = ipe->ipIfStatsHCOutBcastPkts >> 32;
++
++ if (CONTAINER_INSERT(container, ep) < 0) {
++ DEBUGMSGT(("access:systemstats:arch", "unable to insert entry"));
++ netsnmp_access_systemstats_entry_free(ep);
++ return (-1);
++ }
++ return (0);
++}
+--- net-snmp-5.4.1/agent/mibgroup/ip-mib/data_access/ipaddress_solaris2.c (revision 0)
++++ net-snmp-5.4.1-patch/agent/mibgroup/ip-mib/data_access/ipaddress_solaris2.c (revision 0)
[email protected]@ -0,0 +1,286 @@
++/*
++ * IP-MIB architecture support
++ *
++ */
++#include <net-snmp/net-snmp-config.h>
++#include <net-snmp/net-snmp-includes.h>
++
++#include <net-snmp/agent/net-snmp-agent-includes.h>
++#include <net-snmp/data_access/ipaddress.h>
++#include <net-snmp/data_access/interface.h>
++
++#include "ip-mib/ipAddressTable/ipAddressTable_constants.h"
++
++#include "kernel_sunos5.h"
++#include "mibII/mibII_common.h"
++
++static int _load_v4(netsnmp_container *container, int idx_offset);
++#if defined( NETSNMP_ENABLE_IPV6 )
++static int _load_v6(netsnmp_container *container, int idx_offset);
++#endif
++
++/*
++ * initialize arch specific storage
++ *
++ * @retval 0: success
++ * @retval <0: error
++ */
++int
++netsnmp_arch_ipaddress_entry_init(netsnmp_ipaddress_entry *entry)
++{
++ init_kernel_sunos5();
++ return 0;
++}
++
++/*
++ * cleanup arch specific storage
++ */
++void
++netsnmp_arch_ipaddress_entry_cleanup(netsnmp_ipaddress_entry *entry)
++{
++ /*
++ * Nothing to do.
++ */
++}
++
++/*
++ * copy arch specific storage
++ */
++int
++netsnmp_arch_ipaddress_entry_copy(netsnmp_ipaddress_entry *lhs,
++ netsnmp_ipaddress_entry *rhs)
++{
++ /*
++ * Nothing to do.
++ */
++ return 0;
++}
++
++/*
++ * create a new entry
++ */
++int
++netsnmp_arch_ipaddress_create(netsnmp_ipaddress_entry *entry)
++{
++ if (NULL == entry)
++ return -1;
++
++ DEBUGMSGT(("access:ipaddress:create", "not applicable\n"));
++ return 0;
++}
++
++/*
++ * delete an entry
++ */
++int
++netsnmp_arch_ipaddress_delete(netsnmp_ipaddress_entry *entry)
++{
++ if (NULL == entry)
++ return -1;
++
++ DEBUGMSGT(("access:ipaddress:create", "not applicable\n"));
++ return 0;
++}
++
++/**
++ *
++ * @retval 0 no errors
++ * @retval !0 errors
++ */
++int
++netsnmp_arch_ipaddress_container_load(netsnmp_container *container,
++ u_int load_flags)
++{
++ int rc = 0, idx_offset = 0;
++
++ if (!(load_flags & NETSNMP_ACCESS_IPADDRESS_LOAD_IPV6_ONLY)) {
++ rc = _load_v4(container, idx_offset);
++ if(rc < 0) {
++ u_int flags = NETSNMP_ACCESS_IPADDRESS_FREE_KEEP_CONTAINER;
++ netsnmp_access_ipaddress_container_free(container, flags);
++ }
++ }
++
++#if defined( NETSNMP_ENABLE_IPV6 )
++
++ if (!(load_flags & NETSNMP_ACCESS_IPADDRESS_LOAD_IPV4_ONLY)) {
++ if (rc < 0)
++ rc = 0;
++
++ idx_offset = rc;
++
++ rc = _load_v6(container, idx_offset);
++ if(rc < 0) {
++ u_int flags = NETSNMP_ACCESS_IPADDRESS_FREE_KEEP_CONTAINER;
++ netsnmp_access_ipaddress_container_free(container, flags);
++ }
++ }
++#endif
++
++ /*
++ * return no errors (0) if we found any interfaces
++ */
++ if(rc > 0)
++ rc = 0;
++ return rc;
++}
++
++/*
++ * @retval >=idx_offset ok
++ * @retval -1 memory allocation error
++ * @retval -2 interface lookup error
++ * @retval -3 container error
++ */
++static int
++_load_v4(netsnmp_container *container, int idx_offset)
++{
++ mib2_ipAddrEntry_t ipae;
++ netsnmp_ipaddress_entry *entry;
++ req_e req = GET_FIRST;
++ int rc = 0;
++
++ DEBUGMSGTL(("access:ipaddress:container", "loading v4\n"));
++ while ((rc = getMibstat(MIB_IP_ADDR, &ipae, sizeof(ipae), req,
++ &Get_everything, NULL)) == 0) {
++ req = GET_NEXT;
++ entry = netsnmp_access_ipaddress_entry_create();
++ if (entry == NULL)
++ return (-1);
++ if (ipae.ipAdEntAddr == INADDR_ANY)
++ continue;
++
++ ipae.ipAdEntIfIndex.o_bytes[ipae.ipAdEntIfIndex.o_length] = '\0';
++ DEBUGMSGTL(("access:ipaddress:container", "found if %s\n",
++ ipae.ipAdEntIfIndex.o_bytes));
++ /* Obtain interface index */
++ entry->if_index =
++ netsnmp_access_interface_index_find(ipae.ipAdEntIfIndex.o_bytes);
++ if (entry->if_index == 0) {
++ DEBUGMSGTL(("access:ipaddress:container", "cannot find if %s\n",
++ ipae.ipAdEntIfIndex));
++ netsnmp_access_ipaddress_entry_free(entry);
++ return (-2);
++ }
++
++ if (strchr((const char *)&ipae.ipAdEntIfIndex.o_bytes, ':') != 0)
++ entry->flags |= NETSNMP_ACCESS_IPADDRESS_ISALIAS;
++
++ /* Get the address */
++ entry->ia_address_len = sizeof(ipae.ipAdEntAddr);
++ netsnmp_assert(entry->ia_address_len == 4 &&
++ entry->ia_address_len <= sizeof(entry->ia_address));
++ memcpy(&entry->ia_address, &ipae.ipAdEntAddr, entry->ia_address_len);
++
++ /* prefix */
++ entry->ia_prefix_len = ipae.ipAdEntInfo.ae_subnet_len;
++
++ /* set the Origin */
++ if (ipae.ipAdEntInfo.ae_flags & IFF_DHCPRUNNING)
++ entry->ia_origin = IPADDRESSORIGINTC_DHCP;
++ else
++ entry->ia_origin = IPADDRESSORIGINTC_MANUAL;
++
++ /* set ipv4 constants */
++ entry->ia_type = IPADDRESSTYPE_UNICAST;
++ entry->ia_status = IPADDRESSSTATUSTC_PREFERRED;
++
++ entry->ns_ia_index = ++idx_offset;
++
++ DEBUGMSGTL(("access:ipaddress:container", "insert if %d, addrlen %d\n",
++ entry->if_index, entry->ia_address_len));
++
++ if (CONTAINER_INSERT(container, entry) < 0) {
++ DEBUGMSGTL(("access:ipaddress:container", "unable to insert %s\n",
++ ipae.ipAdEntIfIndex.o_bytes));
++ netsnmp_access_ipaddress_entry_free(entry);
++ return (-3);
++ }
++ }
++ return (idx_offset);
++}
++
++/*
++ * @retval >=idx_offset ok
++ * @retval -1 memory allocation error
++ * @retval -2 interface lookup error
++ * @retval -3 container error
++ */
++#if defined( NETSNMP_ENABLE_IPV6 )
++static int
++_load_v6(netsnmp_container *container, int idx_offset)
++{
++ mib2_ipv6AddrEntry_t ip6ae;
++ netsnmp_ipaddress_entry *entry;
++ req_e req = GET_FIRST;
++ int rc = 0;
++
++ DEBUGMSGTL(("access:ipaddress:container", "loading v6... cache %d\n",
++ MIB_IP6_ADDR));
++ while ((rc = getMibstat(MIB_IP6_ADDR, &ip6ae, sizeof(ip6ae), req,
++ &Get_everything, NULL)) == 0) {
++ req = GET_NEXT;
++ entry = netsnmp_access_ipaddress_entry_create();
++ if (entry == NULL)
++ return (-1);
++ if (bcmp((const void *)&ip6ae.ipv6AddrAddress,
++ (const void *)&in6addr_any,
++ sizeof (ip6ae.ipv6AddrAddress)) == 0)
++ continue;
++
++ ip6ae.ipv6AddrIfIndex.o_bytes[ip6ae.ipv6AddrIfIndex.o_length] = '\0';
++ DEBUGMSGTL(("access:ipaddress:container", "found if %s\n",
++ ip6ae.ipv6AddrIfIndex.o_bytes));
++
++ /* Obtain interface index */
++ entry->if_index =
++ netsnmp_access_interface_index_find(
++ ip6ae.ipv6AddrIfIndex.o_bytes);
++ if (entry->if_index == 0) {
++ DEBUGMSGTL(("access:ipaddress:container", "cannot find if %s\n",
++ ip6ae.ipv6AddrIfIndex.o_bytes));
++ netsnmp_access_ipaddress_entry_free(entry);
++ return (-2);
++ }
++
++ /* Get the address */
++ entry->ia_address_len = sizeof(ip6ae.ipv6AddrAddress);
++ netsnmp_assert(entry->ia_address_len == 16 &&
++ entry->ia_address_len <= sizeof(entry->ia_address));
++ memcpy(&entry->ia_address, &ip6ae.ipv6AddrAddress,
++ entry->ia_address_len);
++
++ /* prefix */
++ entry->ia_prefix_len = ip6ae.ipv6AddrPfxLength;
++
++ /* type is anycast? (mib2.h: 1 = yes, 2 = no) */
++ entry->ia_type = (ip6ae.ipv6AddrAnycastFlag == 1) ?
++ IPADDRESSTYPE_ANYCAST : IPADDRESSTYPE_UNICAST;
++
++ /* origin (mib2.h: 1 = stateless, 2 = stateful, 3 = unknown) */
++ DEBUGMSGTL(("access:ipaddress:container", "origin %d\n",
++ ip6ae.ipv6AddrType));
++ if (ip6ae.ipv6AddrType == 1)
++ entry->ia_origin = IPADDRESSORIGINTC_LINKLAYER;
++ else if (ip6ae.ipv6AddrInfo.ae_flags & IFF_DHCPRUNNING)
++ entry->ia_origin = IPADDRESSORIGINTC_DHCP;
++ else
++ entry->ia_origin = IPADDRESSORIGINTC_MANUAL;
++
++ /* status */
++ entry->ia_status = ip6ae.ipv6AddrStatus;
++
++ entry->ns_ia_index = ++idx_offset;
++
++ DEBUGMSGTL(("access:ipaddress:container", "insert if %d, addrlen %d\n",
++ entry->if_index, entry->ia_address_len));
++
++ if (CONTAINER_INSERT(container, entry) < 0) {
++ DEBUGMSGTL(("access:ipaddress:container", "unable to insert %s\n",
++ ip6ae.ipv6AddrIfIndex.o_bytes));
++ netsnmp_access_ipaddress_entry_free(entry);
++ return (-3);
++ }
++ }
++ return (idx_offset);
++}
++#endif /* defined( NETSNMP_ENABLE_IPV6 ) */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp/patches/004.16436.patch Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,162 @@
+Index: net-snmp/include/net-snmp/system/solaris.h
+===================================================================
+--- net-snmp/include/net-snmp/system/solaris.h (revision 16435)
++++ net-snmp/include/net-snmp/system/solaris.h (revision 16436)
[email protected]@ -38,3 +38,10 @@
+
+ /* Solaris 7+ */
+ #define NETSNMP_DONT_USE_NLIST 1
++
++/*
++ * NEW_MIB_COMPLIANT is a define used in Solaris 10U4+ to enable additional
++ * MIB information (it affects the structs in <inet/mib2.h>
++ */
++
++#define NEW_MIB_COMPLIANT
+Index: net-snmp/configure.in
+===================================================================
+--- net-snmp/configure.in (revision 16435)
++++ net-snmp/configure.in (revision 16436)
[email protected]@ -1339,8 +1339,9 @@
+ AC_CHECK_TYPES([off64_t])
+ AC_CHECK_TYPES([uintptr_t, intptr_t])
+
+-# solaris specific type
++# solaris specific types
+ AC_CHECK_TYPES([Counter64],,,[#include <inet/mib2.h>])
++AC_CHECK_TYPES([mib2_ipIfStatsEntry_t],,,[#include <inet/mib2.h>])
+
+ # guess IPv6 stack type.
+ if test "x$enable_ipv6" = "xyes"; then
+Index: net-snmp/agent/mibgroup/kernel_sunos5.h
+===================================================================
+--- net-snmp/agent/mibgroup/kernel_sunos5.h (revision 16435)
++++ net-snmp/agent/mibgroup/kernel_sunos5.h (revision 16436)
[email protected]@ -71,7 +71,11 @@
+ MIB_TRANSMISSION = 14,
+ MIB_SNMP = 15,
+ #ifdef SOLARIS_HAVE_IPV6_MIB_SUPPORT
+- MIB_IP6_ADDR = 16,
++#ifdef SOLARIS_HAVE_RFC4293_SUPPORT
++ MIB_IP_TRAFFIC_STATS,
++#endif
++ MIB_IP6,
++ MIB_IP6_ADDR,
+ MIB_TCP6_CONN,
+ MIB_UDP6_ENDPOINT,
+ #endif
+Index: net-snmp/agent/mibgroup/if-mib/data_access/interface_solaris2.c
+===================================================================
+--- net-snmp/agent/mibgroup/if-mib/data_access/interface_solaris2.c (revision 16435)
++++ net-snmp/agent/mibgroup/if-mib/data_access/interface_solaris2.c (revision 16436)
[email protected]@ -3,9 +3,9 @@
+ */
+ #include <net-snmp/net-snmp-config.h>
+ #include <net-snmp/net-snmp-includes.h>
+-#include "mibII/mibII_common.h"
+ #include "if-mib/ifTable/ifTable_constants.h"
+ #include "kernel_sunos5.h"
++#include "mibII/mibII_common.h"
+
+ #include <net-snmp/agent/net-snmp-agent-includes.h>
+
+Index: net-snmp/agent/mibgroup/ip-mib/data_access/ipaddress.h
+===================================================================
+--- net-snmp/agent/mibgroup/ip-mib/data_access/ipaddress.h (revision 16435)
++++ net-snmp/agent/mibgroup/ip-mib/data_access/ipaddress.h (revision 16436)
[email protected]@ -20,6 +20,8 @@
+ config_require(ip-mib/data_access/ipaddress_common)
+ #if defined( linux )
+ config_require(ip-mib/data_access/ipaddress_linux)
++#elif defined( solaris2 )
++config_require(ip-mib/data_access/ipaddress_solaris2)
+ #else
+ config_error(the ipaddress data access library is not available in this environment.)
+ #endif
+Index: net-snmp/agent/mibgroup/ip-mib/data_access/systemstats.h
+===================================================================
+--- net-snmp/agent/mibgroup/ip-mib/data_access/systemstats.h (revision 16435)
++++ net-snmp/agent/mibgroup/ip-mib/data_access/systemstats.h (revision 16436)
[email protected]@ -20,6 +20,8 @@
+ config_require(ip-mib/data_access/systemstats_common)
+ #if defined( linux )
+ config_require(ip-mib/data_access/systemstats_linux)
++#elif defined( solaris2 )
++config_require(ip-mib/data_access/systemstats_solaris2)
+ #else
+ config_error(the systemstats data access library is not available in this environment.)
+ #endif
+Index: net-snmp/agent/mibgroup/mibII.h
+===================================================================
+--- net-snmp/agent/mibgroup/mibII.h (revision 16435)
++++ net-snmp/agent/mibgroup/mibII.h (revision 16436)
[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 when it has extended MIB support.
++ */
++#if defined( solaris2 ) && defined( HAVE_MIB2_IPIFSTATSENTRY_T )
++config_require(ip-mib/ipSystemStatsTable ip-mib/ipAddressTable)
++#endif
+Index: net-snmp/agent/mibgroup/kernel_sunos5.c
+===================================================================
+--- net-snmp/agent/mibgroup/kernel_sunos5.c (revision 16435)
++++ net-snmp/agent/mibgroup/kernel_sunos5.c (revision 16436)
[email protected]@ -45,6 +45,7 @@
+ #include <kstat.h>
+ #include <errno.h>
+ #include <time.h>
++#include <ctype.h>
+
+ #include <sys/sockio.h>
+ #include <sys/socket.h>
[email protected]@ -103,6 +104,13 @@
+ {MIB_TRANSMISSION, 0, (void *) -1, 0, 0, 0, 0},
+ {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,
++ 30, 0, 0},
++ {MIB_IP6, 20 * sizeof(mib2_ipIfStatsEntry_t), (void *)-1, 0, 30, 0, 0},
++#else
++ {MIB_IP6, 20 * 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_TCP6_CONN, 1000 * sizeof(mib2_tcp6ConnEntry_t), (void *) -1, 0, 30,
+ 0, 0},
[email protected]@ -131,6 +139,10 @@
+ {MIB2_TRANSMISSION, 0,},
+ {MIB2_SNMP, 0,},
+ #ifdef SOLARIS_HAVE_IPV6_MIB_SUPPORT
++#ifdef SOLARIS_HAVE_RFC4293_SUPPORT
++ {MIB2_IP, MIB2_IP_TRAFFIC_STATS},
++#endif
++ {MIB2_IP6, 0},
+ {MIB2_IP6, MIB2_IP6_ADDR},
+ {MIB2_TCP6, MIB2_TCP6_CONN},
+ {MIB2_UDP6, MIB2_UDP6_ENTRY},
[email protected]@ -343,7 +355,8 @@
+ kstat_ctl_t *ksc;
+ kstat_t *ks, *kstat_data;
+ kstat_named_t *d;
+- size_t i, instance;
++ uint_t i;
++ int instance;
+ char module_name[64];
+ int ret;
+ u_longlong_t val; /* The largest value */
[email protected]@ -900,7 +913,11 @@
+ req = (struct opthdr *)(tor + 1);
+ req->level = groupname;
+ req->name = subgroupname;
++#if defined( SOLARIS_HAVE_RFC4293_SUPPORT )
++ req->len = 1; /* Used as a flag for S10 to grab extra data */
++#else
+ req->len = 0;
++#endif
+ strbuf.len = tor->OPT_length + tor->OPT_offset;
+ flags = 0;
+ if ((rc = putmsg(sd, &strbuf, NULL, flags))) {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp/patches/005.16736.patch Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,759 @@
+Index: net-snmp/agent/mibgroup/kernel_sunos5.h
+===================================================================
+--- net-snmp/agent/mibgroup/kernel_sunos5.h (revision 16735)
++++ net-snmp/agent/mibgroup/kernel_sunos5.h (revision 16736)
[email protected]@ -193,6 +193,8 @@
+ int getKstatString(const char *statname, const char *varname,
+ char *value, size_t value_len);
+
++ int solaris2_if_nametoindex(const char *, int);
++
+ #ifdef _STDC_COMPAT
+ #ifdef __cplusplus
+ }
+Index: net-snmp/agent/mibgroup/if-mib/data_access/interface_solaris2.c
+===================================================================
+--- net-snmp/agent/mibgroup/if-mib/data_access/interface_solaris2.c (revision 16735)
++++ net-snmp/agent/mibgroup/if-mib/data_access/interface_solaris2.c (revision 16736)
[email protected]@ -14,6 +14,7 @@
+ #include <sys/ioctl.h>
+ #include <sys/sockio.h>
+ #include <strings.h>
++#include <string.h>
+
+ static int _set_ip_flags_v4(netsnmp_interface_entry *, mib2_ifEntry_t *);
+ static int _match_ifname_v4addr(void *ifname, void *ipaddr);
[email protected]@ -43,25 +44,7 @@
+ #if defined(HAVE_IF_NAMETOINDEX)
+ return if_nametoindex(name);
+ #else /* use GIFINDEX */
+- int sd;
+- struct ifreq ifr;
+-
+- if (name == 0) {
+- return (0);
+- }
+-
+- if ((sd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
+- return (0);
+- }
+-
+- strncpy(ifr.ifr_name, name, IFNAMSIZ);
+- if (ioctl(sd, SIOCGIFINDEX, (char *) &ifr) < 0) {
+- close(sd);
+- return (0);
+- }
+-
+- close(sd);
+- return (ifr.ifr_index);
++ return solaris2_if_nametoindex(name, strlen(name));
+ #endif /* defined(HAVE_IF_NAMETOINDEX) */
+ }
+
+Index: net-snmp/agent/mibgroup/mibII/interfaces.c
+===================================================================
+--- net-snmp/agent/mibgroup/mibII/interfaces.c (revision 16735)
++++ net-snmp/agent/mibgroup/mibII/interfaces.c (revision 16736)
[email protected]@ -2245,71 +2245,7 @@
+ int
+ Interface_Index_By_Name(char *Name, int Len)
+ {
+- int i, sd, lastlen = 0, interfaces = 0;
+- struct ifconf ifc;
+- struct ifreq *ifrp = NULL;
+- char *buf = NULL;
+-
+- if (Name == 0) {
+- return 0;
+- }
+- if ((sd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
+- return 0;
+- }
+-
+- /*
+- * Cope with lots of interfaces and brokenness of ioctl SIOCGIFCONF
+- * on some platforms; see W. R. Stevens, ``Unix Network Programming
+- * Volume I'', p.435.
+- */
+-
+- for (i = 8;; i += 8) {
+- buf = calloc(i, sizeof(struct ifreq));
+- if (buf == NULL) {
+- close(sd);
+- return 0;
+- }
+- ifc.ifc_len = i * sizeof(struct ifreq);
+- ifc.ifc_buf = (caddr_t) buf;
+-
+- if (ioctl(sd, SIOCGIFCONF, (char *) &ifc) < 0) {
+- if (errno != EINVAL || lastlen != 0) {
+- /*
+- * Something has gone genuinely wrong.
+- */
+- free(buf);
+- close(sd);
+- return 0;
+- }
+- /*
+- * Otherwise, it could just be that the buffer is too small.
+- */
+- } else {
+- if (ifc.ifc_len == lastlen) {
+- /*
+- * The length is the same as the last time; we're done.
+- */
+- break;
+- }
+- lastlen = ifc.ifc_len;
+- }
+- free(buf);
+- }
+-
+- ifrp = ifc.ifc_req;
+- interfaces = (ifc.ifc_len / sizeof(struct ifreq)) + 1;
+-
+- for (i = 1; i < interfaces; i++, ifrp++) {
+- if (strncmp(ifrp->ifr_name, Name, Len) == 0) {
+- free(buf);
+- close(sd);
+- return i;
+- }
+- }
+-
+- free(buf);
+- close(sd);
+- return 0;
++ return (solaris2_if_nametoindex(Name, Len));
+ }
+
+ #endif /* solaris2 */
+Index: net-snmp/agent/mibgroup/kernel_sunos5.c
+===================================================================
+--- net-snmp/agent/mibgroup/kernel_sunos5.c (revision 16735)
++++ net-snmp/agent/mibgroup/kernel_sunos5.c (revision 16736)
[email protected]@ -169,11 +169,14 @@
+ getif(mib2_ifEntry_t *ifbuf, size_t size, req_e req_type, mib2_ifEntry_t *resp,
+ 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);
++set_if_info(mib2_ifEntry_t *ifp, unsigned index, char *name, uint64_t flags,
++ int mtu);
+ static int get_if_stats(mib2_ifEntry_t *ifp);
+
+-static int get_phys_address(mib2_ifEntry_t *ifp);
+-static int _dlpi_phys_address(int fd, char *paddr, int maxlen, int *paddrlen);
++static int _dlpi_open(const char *devname);
++static int _dlpi_get_phys_address(int fd, char *paddr, int maxlen,
++ int *paddrlen);
++static int _dlpi_get_iftype(int fd, unsigned int *iftype);
+ static int _dlpi_attach(int fd, int ppa);
+ static int _dlpi_parse_devname(char *devname, int *ppap);
+
[email protected]@ -1047,7 +1050,7 @@
+ mib2_ifEntry_t *resp, size_t *length, int (*comp)(void *, void *),
+ void *arg)
+ {
+- int i, ret;
++ int fd, i, ret;
+ int ifsd, ifsd6 = -1;
+ struct lifreq lifreq, *lifrp;
+ mib2_ifEntry_t *ifp;
[email protected]@ -1109,6 +1112,15 @@
+
+ memset(ifp, 0, sizeof(mib2_ifEntry_t));
+
++ if ((fd = _dlpi_open(ifnp->if_name)) != -1) {
++ /* Could open DLPI... now try to grab some info */
++ (void) _dlpi_get_phys_address(fd, ifp->ifPhysAddress.o_bytes,
++ sizeof(ifp->ifPhysAddress.o_bytes),
++ &ifp->ifPhysAddress.o_length);
++ (void) _dlpi_get_iftype(fd, &ifp->ifType);
++ close(fd);
++ }
++
+ set_if_info(ifp, ifnp->if_index, ifnp->if_name, if_flags,
+ lifrp->lifr_metric);
+
[email protected]@ -1117,9 +1129,6 @@
+ continue;
+ }
+
+- /* try to obtain the physical address */
+- (void) get_phys_address(ifp);
+-
+ /*
+ * Once we reach here we know that all went well, so move to
+ * the next ifEntry.
[email protected]@ -1294,8 +1303,11 @@
+ #endif /*defined(HAVE_IF_NAMEINDEX)&&defined(NETSNMP_INCLUDE_IFTABLE_REWRITES)*/
+
+ static void
+-set_if_info(mib2_ifEntry_t *ifp, unsigned index, char *name, uint64_t flags, int mtu)
++set_if_info(mib2_ifEntry_t *ifp, unsigned index, char *name, uint64_t flags,
++ int mtu)
+ {
++ boolean_t havespeed = B_FALSE;
++
+ /*
+ * Set basic information
+ */
[email protected]@ -1307,101 +1319,122 @@
+ ifp->ifLastChange = 0; /* Who knows ... */
+ ifp->flags = flags;
+ ifp->ifMtu = mtu;
++ ifp->ifSpeed = 0;
+
+- /* make ifOperStatus depend on link status if available */
+- 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;
+- }
+- }
+-
+ /*
+- * Set link Type and Speed
++ * Get link speed
+ */
+- ifp->ifType = 1;
+- ifp->ifSpeed = 0;
+-
+- if ((getKstatInt(NULL, name, "ifspeed", &ifp->ifSpeed) == 0) &&
+- (ifp->ifSpeed != 0)) {
++ if ((getKstatInt(NULL, name, "ifspeed", &ifp->ifSpeed) == 0)) {
+ /*
+ * check for SunOS patch with half implemented ifSpeed
+ */
+- if (ifp->ifSpeed < 10000) {
++ if (ifp->ifSpeed > 0 && ifp->ifSpeed < 10000) {
+ ifp->ifSpeed *= 1000000;
+ }
++ havespeed = B_TRUE;
+ } else if (getKstatInt(NULL, name, "ifSpeed", &ifp->ifSpeed) == 0) {
+ /*
+ * this is good
+ */
++ havespeed = B_TRUE;
+ }
+
+- switch (name[0]) {
+- case 'a': /* ath (802.11) */
+- if (name[1] == 't' && name[2] == 'h')
+- ifp->ifType = 71;
+- break;
+- case 'l': /* le / lo / lane (ATM LAN Emulation) */
+- if (name[1] == 'o') {
+- if (!ifp->ifSpeed)
+- ifp->ifSpeed = 127000000;
+- ifp->ifType = 24;
+- } else if (name[1] == 'e') {
+- if (!ifp->ifSpeed)
+- ifp->ifSpeed = 10000000;
+- ifp->ifType = 6;
+- } else if (name[1] == 'a') {
+- if (!ifp->ifSpeed)
+- ifp->ifSpeed = 155000000;
+- ifp->ifType = 37;
+- }
+- break;
++ /* make ifOperStatus depend on link status if available */
++ 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;
++#ifdef IFF_FAILED
++ } else if (flags & IFF_FAILED) {
++ /*
++ * If IPMP is used, and if the daemon marks the interface
++ * as 'failed', then we know for sure something is amiss.
++ */
++ ifp->ifOperStatus = 2;
++#endif
++ } else if (havespeed == B_TRUE && ifp->ifSpeed == 0) {
++ /* Heuristic */
++ ifp->ifOperStatus = 2;
++ }
++ }
+
+- case 'g': /* ge (gigabit ethernet card) */
+- case 'c': /* ce (Cassini Gigabit-Ethernet (PCI) */
+- if (!ifp->ifSpeed)
+- ifp->ifSpeed = 1000000000;
+- ifp->ifType = 6;
+- break;
+-
+- case 'h': /* hme (SBus card) */
+- case 'e': /* eri (PCI card) */
+- case 'b': /* be */
+- case 'd': /* dmfe -- found on netra X1 */
+- if (!ifp->ifSpeed)
+- ifp->ifSpeed = 100000000;
+- ifp->ifType = 6;
+- break;
+-
+- case 'f': /* fa (Fore ATM) */
+- if (!ifp->ifSpeed)
+- ifp->ifSpeed = 155000000;
+- ifp->ifType = 37;
+- break;
+-
+- case 'q': /* qe (QuadEther)/qa (Fore ATM)/qfe (QuadFastEther) */
+- if (name[1] == 'a') {
+- if (!ifp->ifSpeed)
+- ifp->ifSpeed = 155000000;
+- ifp->ifType = 37;
+- } else if (name[1] == 'e') {
++ /*
++ * Set link Type and Speed (if it could not be determined from kstat)
++ */
++ if (ifp->ifType == 24) {
++ ifp->ifSpeed = 127000000;
++ } else if (ifp->ifType == 1 || ifp->ifType == 0) {
++ /*
++ * Could not get the type from DLPI, so lets fall back to the hardcoded
++ * values.
++ */
++ switch (name[0]) {
++ case 'a': /* ath (802.11) */
++ if (name[1] == 't' && name[2] == 'h')
++ ifp->ifType = 71;
++ break;
++ case 'l': /* le / lo / lane (ATM LAN Emulation) */
++ if (name[1] == 'o') {
+ if (!ifp->ifSpeed)
++ ifp->ifSpeed = 127000000;
++ ifp->ifType = 24;
++ } else if (name[1] == 'e') {
++ if (!ifp->ifSpeed)
+ ifp->ifSpeed = 10000000;
+ ifp->ifType = 6;
+- } else if (name[1] == 'f') {
++ } else if (name[1] == 'a') {
+ if (!ifp->ifSpeed)
+- ifp->ifSpeed = 100000000;
++ ifp->ifSpeed = 155000000;
++ ifp->ifType = 37;
++ }
++ break;
++
++ case 'g': /* ge (gigabit ethernet card) */
++ case 'c': /* ce (Cassini Gigabit-Ethernet (PCI) */
++ if (!ifp->ifSpeed)
++ ifp->ifSpeed = 1000000000;
+ ifp->ifType = 6;
++ break;
++
++ case 'h': /* hme (SBus card) */
++ case 'e': /* eri (PCI card) */
++ case 'b': /* be */
++ case 'd': /* dmfe -- found on netra X1 */
++ if (!ifp->ifSpeed)
++ ifp->ifSpeed = 100000000;
++ ifp->ifType = 6;
++ break;
++
++ case 'f': /* fa (Fore ATM) */
++ if (!ifp->ifSpeed)
++ ifp->ifSpeed = 155000000;
++ ifp->ifType = 37;
++ break;
++
++ case 'q': /* qe (QuadEther)/qa (Fore ATM)/qfe (QuadFastEther) */
++ if (name[1] == 'a') {
++ if (!ifp->ifSpeed)
++ ifp->ifSpeed = 155000000;
++ ifp->ifType = 37;
++ } else if (name[1] == 'e') {
++ if (!ifp->ifSpeed)
++ ifp->ifSpeed = 10000000;
++ ifp->ifType = 6;
++ } else if (name[1] == 'f') {
++ if (!ifp->ifSpeed)
++ ifp->ifSpeed = 100000000;
++ ifp->ifType = 6;
++ }
++ break;
++
++ case 'i': /* ibd (Infiniband)/ip.tun (IP tunnel) */
++ if (name[1] == 'b')
++ ifp->ifType = 199;
++ else if (name[1] == 'p')
++ ifp->ifType = 131;
++ break;
+ }
+- break;
+-
+- case 'i': /* ibd (Infiniband)/ip.tun (IP tunnel) */
+- if (name[1] == 'b')
+- ifp->ifType = 199;
+- else if (name[1] == 'p')
+- ifp->ifType = 131;
+- break;
+ }
+ }
+
[email protected]@ -1491,68 +1524,69 @@
+ }
+
+ /*
+- * Obtain the physical address using DLPI. Pieces of this code is directly
+- * taken from libdlpi, which unfortunately is not yet commonly available.
++ * Open a DLPI device.
++ *
++ * On success the file descriptor is returned.
++ * On error -1 is returned.
+ */
+-
+-static int
+-get_phys_address(mib2_ifEntry_t *ifp)
++static int
++_dlpi_open(const char *devname)
+ {
+- char *devstr;
+- int fd;
+- int ppa = -1;
+- int rc = -1;
++ char *devstr;
++ int fd = -1;
++ int ppa = -1;
+
+- DEBUGMSGTL(("kernel_sunos5", "get_phys_address called\n"));
++ DEBUGMSGTL(("kernel_sunos5", "_dlpi_open called\n"));
+
+- if ((devstr = malloc(5 + ifp->ifDescr.o_length + 1)) == NULL)
++ if (devname == NULL)
+ return (-1);
+- (void) sprintf(devstr, "/dev/%s", ifp->ifDescr.o_bytes);
++
++ if ((devstr = malloc(5 + strlen(devname) + 1)) == NULL)
++ return (-1);
++ (void) sprintf(devstr, "/dev/%s", devname);
+ DEBUGMSGTL(("kernel_sunos5:dlpi", "devstr(%s)\n", devstr));
+ /*
+ * First try opening the device using style 1, if the device does not
+ * exist we try style 2. Modules will not be pushed, so something like
+ * ip tunnels will not work.
+ */
+- if ((fd = open(devstr, O_RDWR | O_NONBLOCK)) != -1) {
+- DEBUGMSGTL(("kernel_sunos5:dlpi", "style1 open(%s)\n", devstr));
+- rc = _dlpi_phys_address(fd, ifp->ifPhysAddress.o_bytes,
+- sizeof(ifp->ifPhysAddress.o_bytes),
+- &ifp->ifPhysAddress.o_length);
+- } else if (_dlpi_parse_devname(devstr, &ppa) == 0) {
+- DEBUGMSGTL(("kernel_sunos5:dlpi", "style2 parse: %s, %d\n",
+- devstr, ppa));
+- /* try style 2 */
+- if ((fd = open(devstr, O_RDWR | O_NONBLOCK)) != -1) {
+- DEBUGMSGTL(("kernel_sunos5:dlpi", "style2 open(%s)\n", devstr));
+- if (_dlpi_attach(fd, ppa) == 0) {
+- DEBUGMSGTL(("kernel_sunos5:dlpi", "attached\n"));
+- rc = _dlpi_phys_address(fd, ifp->ifPhysAddress.o_bytes,
+- sizeof(ifp->ifPhysAddress.o_bytes),
+- &ifp->ifPhysAddress.o_length);
+- }
+- }
+- }
++
++ 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));
+
+- free(devstr);
+- if (fd != -1)
+- close(fd);
++ if ((fd = open(devstr, O_RDWR | O_NONBLOCK)) != -1) {
++ if (_dlpi_attach(fd, ppa) == 0) {
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "attached\n"));
++ } else {
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "attached failed\n"));
++ close(fd);
++ fd = -1;
++ }
++ } else {
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "style2 open failed\n"));
++ }
++ }
++ } else {
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "style1 open succeeded\n"));
++ }
+
+- if (rc == 0) {
+- /* successful */
+- DEBUGMSGTL(("kernel_sunos5:dlpi", "got phys addr using DLPI\n"));
+- return (0);
+- } else {
+- DEBUGMSGTL(("kernel_sunos5:dlpi", "unable to get phys address\n"));
+- return (-1);
+- }
++ /* clean up */
++ free(devstr);
++
++ return (fd);
+ }
+
+ /*
+- *
++ * Obtain the physical address of the interface using DLPI
+ */
+ static int
+-_dlpi_phys_address(int fd, char *addr, int maxlen, int *addrlen)
++_dlpi_get_phys_address(int fd, char *addr, int maxlen, int *addrlen)
+ {
+ dl_phys_addr_req_t paddr_req;
+ union DL_primitives *dlp;
[email protected]@ -1560,6 +1594,8 @@
+ char buf[MAX(DL_PHYS_ADDR_ACK_SIZE+64, DL_ERROR_ACK_SIZE)];
+ int flag = 0;
+
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "_dlpi_get_phys_address\n"));
++
+ paddr_req.dl_primitive = DL_PHYS_ADDR_REQ;
+ paddr_req.dl_addr_type = DL_CURR_PHYS_ADDR;
+ ctlbuf.buf = (char *)&paddr_req;
[email protected]@ -1570,7 +1606,7 @@
+ ctlbuf.maxlen = sizeof(buf);
+ ctlbuf.len = 0;
+ ctlbuf.buf = buf;
+- if (getmsg(fd, &ctlbuf, NULL, &flag) != 0)
++ if (getmsg(fd, &ctlbuf, NULL, &flag) < 0)
+ return (-1);
+
+ if (ctlbuf.len < sizeof(uint32_t))
[email protected]@ -1580,6 +1616,7 @@
+ case DL_PHYS_ADDR_ACK: {
+ dl_phys_addr_ack_t *phyp = (dl_phys_addr_ack_t *)buf;
+
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "got ACK\n"));
+ if (ctlbuf.len < DL_PHYS_ADDR_ACK_SIZE || phyp->dl_addr_length > maxlen)
+ return (-1);
+ (void) memcpy(addr, buf+phyp->dl_addr_offset, phyp->dl_addr_length);
[email protected]@ -1589,16 +1626,137 @@
+ case DL_ERROR_ACK: {
+ dl_error_ack_t *errp = (dl_error_ack_t *)buf;
+
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "got ERROR ACK\n"));
+ if (ctlbuf.len < DL_ERROR_ACK_SIZE)
+ return (-1);
+ return (errp->dl_errno);
+ }
+ default:
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "got type: %x\n", dlp->dl_primitive));
+ return (-1);
+ }
+ }
+
++/*
++ * Query the interface about it's type.
++ */
+ static int
++_dlpi_get_iftype(int fd, unsigned int *iftype)
++{
++ dl_info_req_t info_req;
++ union DL_primitives *dlp;
++ struct strbuf ctlbuf;
++ char buf[MAX(DL_INFO_ACK_SIZE, DL_ERROR_ACK_SIZE)];
++ int flag = 0;
++
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "_dlpi_get_iftype\n"));
++
++ info_req.dl_primitive = DL_INFO_REQ;
++ ctlbuf.buf = (char *)&info_req;
++ ctlbuf.len = DL_INFO_REQ_SIZE;
++ if (putmsg(fd, &ctlbuf, NULL, 0) < 0) {
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "putmsg failed: %d\nn", errno));
++ return (-1);
++ }
++
++ ctlbuf.maxlen = sizeof(buf);
++ ctlbuf.len = 0;
++ ctlbuf.buf = buf;
++ if (getmsg(fd, &ctlbuf, NULL, &flag) < 0) {
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "getmsg failed: %d\n", errno));
++ return (-1);
++ }
++
++ if (ctlbuf.len < sizeof(uint32_t))
++ return (-1);
++ dlp = (union DL_primitives *)buf;
++ switch (dlp->dl_primitive) {
++ case DL_INFO_ACK: {
++ dl_info_ack_t *info = (dl_info_ack_t *)buf;
++
++ if (ctlbuf.len < DL_INFO_ACK_SIZE)
++ return (-1);
++
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "dl_mac_type: %x\n",
++ info->dl_mac_type));
++ switch (info->dl_mac_type) {
++ case DL_CSMACD:
++ case DL_ETHER:
++ case DL_ETH_CSMA:
++ *iftype = 6;
++ break;
++ case DL_TPB: /* Token Passing Bus */
++ *iftype = 8;
++ break;
++ case DL_TPR: /* Token Passing Ring */
++ *iftype = 9;
++ break;
++ case DL_HDLC:
++ *iftype = 118;
++ break;
++ case DL_FDDI:
++ *iftype = 15;
++ break;
++ case DL_FC: /* Fibre channel */
++ *iftype = 56;
++ break;
++ case DL_ATM:
++ *iftype = 37;
++ break;
++ case DL_X25:
++ case DL_ISDN:
++ *iftype = 63;
++ break;
++ case DL_HIPPI:
++ *iftype = 47;
++ break;
++#ifdef DL_IB
++ case DL_IB:
++ *iftype = 199;
++ break;
++#endif
++ case DL_FRAME: /* Frame Relay */
++ *iftype = 32;
++ break;
++ case DL_LOOP:
++ *iftype = 24;
++ break;
++#ifdef DL_WIFI
++ case DL_WIFI:
++ *iftype = 71;
++ break;
++#endif
++#ifdef DL_IPV4 /* then IPv6 is also defined */
++ case DL_IPV4: /* IPv4 Tunnel */
++ case DL_IPV6: /* IPv6 Tunnel */
++ *iftype = 131;
++ break;
++#endif
++ default:
++ *iftype = 1; /* Other */
++ break;
++ }
++
++ return (0);
++ }
++ case DL_ERROR_ACK: {
++ dl_error_ack_t *errp = (dl_error_ack_t *)buf;
++
++ DEBUGMSGTL(("kernel_sunos5:dlpi",
++ "got DL_ERROR_ACK: dlpi %d, error %d\n", errp->dl_errno,
++ errp->dl_unix_errno));
++
++ if (ctlbuf.len < DL_ERROR_ACK_SIZE)
++ return (-1);
++ return (errp->dl_errno);
++ }
++ default:
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "got type %x\n", dlp->dl_primitive));
++ return (-1);
++ }
++}
++
++static int
+ _dlpi_attach(int fd, int ppa)
+ {
+ dl_attach_req_t attach_req;
[email protected]@ -1680,8 +1838,83 @@
+ } else {
+ return 1;
+ }
+-}
++}
+
++/*
++ * Try to determine the index of a particular interface. If mfd-rewrites is
++ * specified, then this function would only be used when the system does not
++ * have if_nametoindex(3SOCKET).
++ */
++int
++solaris2_if_nametoindex(const char *Name, int Len)
++{
++ int i, sd, lastlen = 0, interfaces = 0;
++ struct ifconf ifc;
++ struct ifreq *ifrp = NULL;
++ char *buf = NULL;
++
++ if (Name == 0) {
++ return 0;
++ }
++ if ((sd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
++ return 0;
++ }
++
++ /*
++ * Cope with lots of interfaces and brokenness of ioctl SIOCGIFCONF
++ * on some platforms; see W. R. Stevens, ``Unix Network Programming
++ * Volume I'', p.435.
++ */
++
++ for (i = 8;; i += 8) {
++ buf = calloc(i, sizeof(struct ifreq));
++ if (buf == NULL) {
++ close(sd);
++ return 0;
++ }
++ ifc.ifc_len = i * sizeof(struct ifreq);
++ ifc.ifc_buf = (caddr_t) buf;
++
++ if (ioctl(sd, SIOCGIFCONF, (char *) &ifc) < 0) {
++ if (errno != EINVAL || lastlen != 0) {
++ /*
++ * Something has gone genuinely wrong.
++ */
++ free(buf);
++ close(sd);
++ return 0;
++ }
++ /*
++ * Otherwise, it could just be that the buffer is too small.
++ */
++ } else {
++ if (ifc.ifc_len == lastlen) {
++ /*
++ * The length is the same as the last time; we're done.
++ */
++ break;
++ }
++ lastlen = ifc.ifc_len;
++ }
++ free(buf);
++ }
++
++ ifrp = ifc.ifc_req;
++ interfaces = (ifc.ifc_len / sizeof(struct ifreq)) + 1;
++
++ for (i = 1; i < interfaces; i++, ifrp++) {
++ if (strncmp(ifrp->ifr_name, Name, Len) == 0) {
++ free(buf);
++ close(sd);
++ return i;
++ }
++ }
++
++ free(buf);
++ close(sd);
++ return 0;
++}
++
+ #ifdef _STDC_COMPAT
+ #ifdef __cplusplus
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp/patches/006.16742.patch Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,625 @@
+Index: net-snmp/agent/mibgroup/kernel_sunos5.c
+===================================================================
+--- net-snmp/agent/mibgroup/kernel_sunos5.c (revision 16741)
++++ net-snmp/agent/mibgroup/kernel_sunos5.c (revision 16742)
[email protected]@ -173,12 +173,14 @@
+ int mtu);
+ static int get_if_stats(mib2_ifEntry_t *ifp);
+
++#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,
+ int *paddrlen);
+ static int _dlpi_get_iftype(int fd, unsigned int *iftype);
+ static int _dlpi_attach(int fd, int ppa);
+ static int _dlpi_parse_devname(char *devname, int *ppap);
++#endif
+
+
+
[email protected]@ -1044,8 +1046,300 @@
+ * Get info for interfaces group. Mimics getmib interface as much as possible
+ * to be substituted later if SunSoft decides to extend its mib2 interface.
+ */
++
+ #if defined(HAVE_IF_NAMEINDEX) && defined(NETSNMP_INCLUDE_IFTABLE_REWRITES)
++
++/*
++ * If IFTABLE_REWRITES is enabled, then we will also rely on DLPI to obtain
++ * information from the NIC.
++ */
++
++/*
++ * Open a DLPI device.
++ *
++ * On success the file descriptor is returned.
++ * On error -1 is returned.
++ */
+ static int
++_dlpi_open(const char *devname)
++{
++ char *devstr;
++ int fd = -1;
++ int ppa = -1;
++
++ DEBUGMSGTL(("kernel_sunos5", "_dlpi_open called\n"));
++
++ if (devname == NULL)
++ return (-1);
++
++ if ((devstr = malloc(5 + strlen(devname) + 1)) == NULL)
++ return (-1);
++ (void) sprintf(devstr, "/dev/%s", devname);
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "devstr(%s)\n", devstr));
++ /*
++ * First try opening the device using style 1, if the device does not
++ * exist we try style 2. Modules will not be pushed, so something like
++ * ip tunnels will not work.
++ */
++
++ 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));
++
++ if ((fd = open(devstr, O_RDWR | O_NONBLOCK)) != -1) {
++ if (_dlpi_attach(fd, ppa) == 0) {
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "attached\n"));
++ } else {
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "attached failed\n"));
++ close(fd);
++ fd = -1;
++ }
++ } else {
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "style2 open failed\n"));
++ }
++ }
++ } else {
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "style1 open succeeded\n"));
++ }
++
++ /* clean up */
++ free(devstr);
++
++ return (fd);
++}
++
++/*
++ * Obtain the physical address of the interface using DLPI
++ */
++static int
++_dlpi_get_phys_address(int fd, char *addr, int maxlen, int *addrlen)
++{
++ dl_phys_addr_req_t paddr_req;
++ union DL_primitives *dlp;
++ struct strbuf ctlbuf;
++ char buf[MAX(DL_PHYS_ADDR_ACK_SIZE+64, DL_ERROR_ACK_SIZE)];
++ int flag = 0;
++
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "_dlpi_get_phys_address\n"));
++
++ paddr_req.dl_primitive = DL_PHYS_ADDR_REQ;
++ paddr_req.dl_addr_type = DL_CURR_PHYS_ADDR;
++ ctlbuf.buf = (char *)&paddr_req;
++ ctlbuf.len = DL_PHYS_ADDR_REQ_SIZE;
++ if (putmsg(fd, &ctlbuf, NULL, 0) < 0)
++ return (-1);
++
++ ctlbuf.maxlen = sizeof(buf);
++ ctlbuf.len = 0;
++ ctlbuf.buf = buf;
++ if (getmsg(fd, &ctlbuf, NULL, &flag) < 0)
++ return (-1);
++
++ if (ctlbuf.len < sizeof(uint32_t))
++ return (-1);
++ dlp = (union DL_primitives *)buf;
++ switch (dlp->dl_primitive) {
++ case DL_PHYS_ADDR_ACK: {
++ dl_phys_addr_ack_t *phyp = (dl_phys_addr_ack_t *)buf;
++
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "got ACK\n"));
++ if (ctlbuf.len < DL_PHYS_ADDR_ACK_SIZE || phyp->dl_addr_length > maxlen)
++ return (-1);
++ (void) memcpy(addr, buf+phyp->dl_addr_offset, phyp->dl_addr_length);
++ *addrlen = phyp->dl_addr_length;
++ return (0);
++ }
++ case DL_ERROR_ACK: {
++ dl_error_ack_t *errp = (dl_error_ack_t *)buf;
++
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "got ERROR ACK\n"));
++ if (ctlbuf.len < DL_ERROR_ACK_SIZE)
++ return (-1);
++ return (errp->dl_errno);
++ }
++ default:
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "got type: %x\n", dlp->dl_primitive));
++ return (-1);
++ }
++}
++
++/*
++ * Query the interface about it's type.
++ */
++static int
++_dlpi_get_iftype(int fd, unsigned int *iftype)
++{
++ dl_info_req_t info_req;
++ union DL_primitives *dlp;
++ struct strbuf ctlbuf;
++ char buf[MAX(DL_INFO_ACK_SIZE, DL_ERROR_ACK_SIZE)];
++ int flag = 0;
++
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "_dlpi_get_iftype\n"));
++
++ info_req.dl_primitive = DL_INFO_REQ;
++ ctlbuf.buf = (char *)&info_req;
++ ctlbuf.len = DL_INFO_REQ_SIZE;
++ if (putmsg(fd, &ctlbuf, NULL, 0) < 0) {
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "putmsg failed: %d\nn", errno));
++ return (-1);
++ }
++
++ ctlbuf.maxlen = sizeof(buf);
++ ctlbuf.len = 0;
++ ctlbuf.buf = buf;
++ if (getmsg(fd, &ctlbuf, NULL, &flag) < 0) {
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "getmsg failed: %d\n", errno));
++ return (-1);
++ }
++
++ if (ctlbuf.len < sizeof(uint32_t))
++ return (-1);
++ dlp = (union DL_primitives *)buf;
++ switch (dlp->dl_primitive) {
++ case DL_INFO_ACK: {
++ dl_info_ack_t *info = (dl_info_ack_t *)buf;
++
++ if (ctlbuf.len < DL_INFO_ACK_SIZE)
++ return (-1);
++
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "dl_mac_type: %x\n",
++ info->dl_mac_type));
++ switch (info->dl_mac_type) {
++ case DL_CSMACD:
++ case DL_ETHER:
++ case DL_ETH_CSMA:
++ *iftype = 6;
++ break;
++ case DL_TPB: /* Token Passing Bus */
++ *iftype = 8;
++ break;
++ case DL_TPR: /* Token Passing Ring */
++ *iftype = 9;
++ break;
++ case DL_HDLC:
++ *iftype = 118;
++ break;
++ case DL_FDDI:
++ *iftype = 15;
++ break;
++ case DL_FC: /* Fibre channel */
++ *iftype = 56;
++ break;
++ case DL_ATM:
++ *iftype = 37;
++ break;
++ case DL_X25:
++ case DL_ISDN:
++ *iftype = 63;
++ break;
++ case DL_HIPPI:
++ *iftype = 47;
++ break;
++#ifdef DL_IB
++ case DL_IB:
++ *iftype = 199;
++ break;
++#endif
++ case DL_FRAME: /* Frame Relay */
++ *iftype = 32;
++ break;
++ case DL_LOOP:
++ *iftype = 24;
++ break;
++#ifdef DL_WIFI
++ case DL_WIFI:
++ *iftype = 71;
++ break;
++#endif
++#ifdef DL_IPV4 /* then IPv6 is also defined */
++ case DL_IPV4: /* IPv4 Tunnel */
++ case DL_IPV6: /* IPv6 Tunnel */
++ *iftype = 131;
++ break;
++#endif
++ default:
++ *iftype = 1; /* Other */
++ break;
++ }
++
++ return (0);
++ }
++ case DL_ERROR_ACK: {
++ dl_error_ack_t *errp = (dl_error_ack_t *)buf;
++
++ DEBUGMSGTL(("kernel_sunos5:dlpi",
++ "got DL_ERROR_ACK: dlpi %d, error %d\n", errp->dl_errno,
++ errp->dl_unix_errno));
++
++ if (ctlbuf.len < DL_ERROR_ACK_SIZE)
++ return (-1);
++ return (errp->dl_errno);
++ }
++ default:
++ DEBUGMSGTL(("kernel_sunos5:dlpi", "got type %x\n", dlp->dl_primitive));
++ return (-1);
++ }
++}
++
++static int
++_dlpi_attach(int fd, int ppa)
++{
++ dl_attach_req_t attach_req;
++ struct strbuf ctlbuf;
++ union DL_primitives *dlp;
++ char buf[MAX(DL_OK_ACK_SIZE, DL_ERROR_ACK_SIZE)];
++ int flag = 0;
++
++ attach_req.dl_primitive = DL_ATTACH_REQ;
++ attach_req.dl_ppa = ppa;
++ ctlbuf.buf = (char *)&attach_req;
++ ctlbuf.len = DL_ATTACH_REQ_SIZE;
++ if (putmsg(fd, &ctlbuf, NULL, 0) != 0)
++ return (-1);
++
++ ctlbuf.buf = buf;
++ ctlbuf.len = 0;
++ ctlbuf.maxlen = sizeof(buf);
++ if (getmsg(fd, &ctlbuf, NULL, &flag) != 0)
++ return (-1);
++
++ if (ctlbuf.len < sizeof(uint32_t))
++ return (-1);
++
++ dlp = (union DL_primitives *)buf;
++ if (dlp->dl_primitive == DL_OK_ACK && ctlbuf.len >= DL_OK_ACK_SIZE)
++ return (0);
++ return (-1);
++}
++
++static int
++_dlpi_parse_devname(char *devname, int *ppap)
++{
++ int ppa = 0;
++ int m = 1;
++ int i = strlen(devname) - 1;
++
++ while (i >= 0 && isdigit(devname[i])) {
++ ppa += m * (devname[i] - '0');
++ m *= 10;
++ i--;
++ }
++
++ if (m == 1) {
++ return (-1);
++ }
++ *ppap = ppa;
++ devname[i + 1] = '\0';
++
++ return (0);
++}
++static int
+ getif(mib2_ifEntry_t *ifbuf, size_t size, req_e req_type,
+ mib2_ifEntry_t *resp, size_t *length, int (*comp)(void *, void *),
+ void *arg)
[email protected]@ -1229,7 +1523,8 @@
+
+ if (ioctl(ifsd, SIOCGIFFLAGS, ifrp) < 0) {
+ ret = -1;
+- snmp_log(LOG_ERR, "SIOCGIFFLAGS %s: %s\n", ifrp->ifr_name, strerror(errno));
++ snmp_log(LOG_ERR, "SIOCGIFFLAGS %s: %s\n", ifrp->ifr_name,
++ strerror(errno));
+ goto Return;
+ }
+ if_flags = ifrp->ifr_flags;
[email protected]@ -1522,294 +1817,7 @@
+ ifp->ifHCOutMulticastPkts);
+ return(0);
+ }
+-
+ /*
+- * Open a DLPI device.
+- *
+- * On success the file descriptor is returned.
+- * On error -1 is returned.
+- */
+-static int
+-_dlpi_open(const char *devname)
+-{
+- char *devstr;
+- int fd = -1;
+- int ppa = -1;
+-
+- DEBUGMSGTL(("kernel_sunos5", "_dlpi_open called\n"));
+-
+- if (devname == NULL)
+- return (-1);
+-
+- if ((devstr = malloc(5 + strlen(devname) + 1)) == NULL)
+- return (-1);
+- (void) sprintf(devstr, "/dev/%s", devname);
+- DEBUGMSGTL(("kernel_sunos5:dlpi", "devstr(%s)\n", devstr));
+- /*
+- * First try opening the device using style 1, if the device does not
+- * exist we try style 2. Modules will not be pushed, so something like
+- * ip tunnels will not work.
+- */
+-
+- 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));
+-
+- if ((fd = open(devstr, O_RDWR | O_NONBLOCK)) != -1) {
+- if (_dlpi_attach(fd, ppa) == 0) {
+- DEBUGMSGTL(("kernel_sunos5:dlpi", "attached\n"));
+- } else {
+- DEBUGMSGTL(("kernel_sunos5:dlpi", "attached failed\n"));
+- close(fd);
+- fd = -1;
+- }
+- } else {
+- DEBUGMSGTL(("kernel_sunos5:dlpi", "style2 open failed\n"));
+- }
+- }
+- } else {
+- DEBUGMSGTL(("kernel_sunos5:dlpi", "style1 open succeeded\n"));
+- }
+-
+- /* clean up */
+- free(devstr);
+-
+- return (fd);
+-}
+-
+-/*
+- * Obtain the physical address of the interface using DLPI
+- */
+-static int
+-_dlpi_get_phys_address(int fd, char *addr, int maxlen, int *addrlen)
+-{
+- dl_phys_addr_req_t paddr_req;
+- union DL_primitives *dlp;
+- struct strbuf ctlbuf;
+- char buf[MAX(DL_PHYS_ADDR_ACK_SIZE+64, DL_ERROR_ACK_SIZE)];
+- int flag = 0;
+-
+- DEBUGMSGTL(("kernel_sunos5:dlpi", "_dlpi_get_phys_address\n"));
+-
+- paddr_req.dl_primitive = DL_PHYS_ADDR_REQ;
+- paddr_req.dl_addr_type = DL_CURR_PHYS_ADDR;
+- ctlbuf.buf = (char *)&paddr_req;
+- ctlbuf.len = DL_PHYS_ADDR_REQ_SIZE;
+- if (putmsg(fd, &ctlbuf, NULL, 0) < 0)
+- return (-1);
+-
+- ctlbuf.maxlen = sizeof(buf);
+- ctlbuf.len = 0;
+- ctlbuf.buf = buf;
+- if (getmsg(fd, &ctlbuf, NULL, &flag) < 0)
+- return (-1);
+-
+- if (ctlbuf.len < sizeof(uint32_t))
+- return (-1);
+- dlp = (union DL_primitives *)buf;
+- switch (dlp->dl_primitive) {
+- case DL_PHYS_ADDR_ACK: {
+- dl_phys_addr_ack_t *phyp = (dl_phys_addr_ack_t *)buf;
+-
+- DEBUGMSGTL(("kernel_sunos5:dlpi", "got ACK\n"));
+- if (ctlbuf.len < DL_PHYS_ADDR_ACK_SIZE || phyp->dl_addr_length > maxlen)
+- return (-1);
+- (void) memcpy(addr, buf+phyp->dl_addr_offset, phyp->dl_addr_length);
+- *addrlen = phyp->dl_addr_length;
+- return (0);
+- }
+- case DL_ERROR_ACK: {
+- dl_error_ack_t *errp = (dl_error_ack_t *)buf;
+-
+- DEBUGMSGTL(("kernel_sunos5:dlpi", "got ERROR ACK\n"));
+- if (ctlbuf.len < DL_ERROR_ACK_SIZE)
+- return (-1);
+- return (errp->dl_errno);
+- }
+- default:
+- DEBUGMSGTL(("kernel_sunos5:dlpi", "got type: %x\n", dlp->dl_primitive));
+- return (-1);
+- }
+-}
+-
+-/*
+- * Query the interface about it's type.
+- */
+-static int
+-_dlpi_get_iftype(int fd, unsigned int *iftype)
+-{
+- dl_info_req_t info_req;
+- union DL_primitives *dlp;
+- struct strbuf ctlbuf;
+- char buf[MAX(DL_INFO_ACK_SIZE, DL_ERROR_ACK_SIZE)];
+- int flag = 0;
+-
+- DEBUGMSGTL(("kernel_sunos5:dlpi", "_dlpi_get_iftype\n"));
+-
+- info_req.dl_primitive = DL_INFO_REQ;
+- ctlbuf.buf = (char *)&info_req;
+- ctlbuf.len = DL_INFO_REQ_SIZE;
+- if (putmsg(fd, &ctlbuf, NULL, 0) < 0) {
+- DEBUGMSGTL(("kernel_sunos5:dlpi", "putmsg failed: %d\nn", errno));
+- return (-1);
+- }
+-
+- ctlbuf.maxlen = sizeof(buf);
+- ctlbuf.len = 0;
+- ctlbuf.buf = buf;
+- if (getmsg(fd, &ctlbuf, NULL, &flag) < 0) {
+- DEBUGMSGTL(("kernel_sunos5:dlpi", "getmsg failed: %d\n", errno));
+- return (-1);
+- }
+-
+- if (ctlbuf.len < sizeof(uint32_t))
+- return (-1);
+- dlp = (union DL_primitives *)buf;
+- switch (dlp->dl_primitive) {
+- case DL_INFO_ACK: {
+- dl_info_ack_t *info = (dl_info_ack_t *)buf;
+-
+- if (ctlbuf.len < DL_INFO_ACK_SIZE)
+- return (-1);
+-
+- DEBUGMSGTL(("kernel_sunos5:dlpi", "dl_mac_type: %x\n",
+- info->dl_mac_type));
+- switch (info->dl_mac_type) {
+- case DL_CSMACD:
+- case DL_ETHER:
+- case DL_ETH_CSMA:
+- *iftype = 6;
+- break;
+- case DL_TPB: /* Token Passing Bus */
+- *iftype = 8;
+- break;
+- case DL_TPR: /* Token Passing Ring */
+- *iftype = 9;
+- break;
+- case DL_HDLC:
+- *iftype = 118;
+- break;
+- case DL_FDDI:
+- *iftype = 15;
+- break;
+- case DL_FC: /* Fibre channel */
+- *iftype = 56;
+- break;
+- case DL_ATM:
+- *iftype = 37;
+- break;
+- case DL_X25:
+- case DL_ISDN:
+- *iftype = 63;
+- break;
+- case DL_HIPPI:
+- *iftype = 47;
+- break;
+-#ifdef DL_IB
+- case DL_IB:
+- *iftype = 199;
+- break;
+-#endif
+- case DL_FRAME: /* Frame Relay */
+- *iftype = 32;
+- break;
+- case DL_LOOP:
+- *iftype = 24;
+- break;
+-#ifdef DL_WIFI
+- case DL_WIFI:
+- *iftype = 71;
+- break;
+-#endif
+-#ifdef DL_IPV4 /* then IPv6 is also defined */
+- case DL_IPV4: /* IPv4 Tunnel */
+- case DL_IPV6: /* IPv6 Tunnel */
+- *iftype = 131;
+- break;
+-#endif
+- default:
+- *iftype = 1; /* Other */
+- break;
+- }
+-
+- return (0);
+- }
+- case DL_ERROR_ACK: {
+- dl_error_ack_t *errp = (dl_error_ack_t *)buf;
+-
+- DEBUGMSGTL(("kernel_sunos5:dlpi",
+- "got DL_ERROR_ACK: dlpi %d, error %d\n", errp->dl_errno,
+- errp->dl_unix_errno));
+-
+- if (ctlbuf.len < DL_ERROR_ACK_SIZE)
+- return (-1);
+- return (errp->dl_errno);
+- }
+- default:
+- DEBUGMSGTL(("kernel_sunos5:dlpi", "got type %x\n", dlp->dl_primitive));
+- return (-1);
+- }
+-}
+-
+-static int
+-_dlpi_attach(int fd, int ppa)
+-{
+- dl_attach_req_t attach_req;
+- struct strbuf ctlbuf;
+- union DL_primitives *dlp;
+- char buf[MAX(DL_OK_ACK_SIZE, DL_ERROR_ACK_SIZE)];
+- int flag = 0;
+-
+- attach_req.dl_primitive = DL_ATTACH_REQ;
+- attach_req.dl_ppa = ppa;
+- ctlbuf.buf = (char *)&attach_req;
+- ctlbuf.len = DL_ATTACH_REQ_SIZE;
+- if (putmsg(fd, &ctlbuf, NULL, 0) != 0)
+- return (-1);
+-
+- ctlbuf.buf = buf;
+- ctlbuf.len = 0;
+- ctlbuf.maxlen = sizeof(buf);
+- if (getmsg(fd, &ctlbuf, NULL, &flag) != 0)
+- return (-1);
+-
+- if (ctlbuf.len < sizeof(uint32_t))
+- return (-1);
+-
+- dlp = (union DL_primitives *)buf;
+- if (dlp->dl_primitive == DL_OK_ACK && ctlbuf.len >= DL_OK_ACK_SIZE)
+- return (0);
+- return (-1);
+-}
+-
+-static int
+-_dlpi_parse_devname(char *devname, int *ppap)
+-{
+- int ppa = 0;
+- int m = 1;
+- int i = strlen(devname) - 1;
+-
+- while (i >= 0 && isdigit(devname[i])) {
+- ppa += m * (devname[i] - '0');
+- m *= 10;
+- i--;
+- }
+-
+- if (m == 1) {
+- return (-1);
+- }
+- *ppap = ppa;
+- devname[i + 1] = '\0';
+-
+- return (0);
+-}
+-
+-/*
+ * Always TRUE. May be used as a comparison function in getMibstat
+ * to obtain the whole table (GET_FIRST should be used)
+ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp/patches/007.16863.patch Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,13 @@
+Index: net-snmp/snmplib/asn1.c
+===================================================================
+--- net-snmp/snmplib/asn1.c (revision 16862)
++++ net-snmp/snmplib/asn1.c (revision 16863)
[email protected]@ -2735,7 +2735,7 @@
+ }
+
+ CHECK_OVERFLOW_S(integer,10);
+- testvalue = (*intp < 0) ? -1 : 0;
++ testvalue = (integer < 0) ? -1 : 0;
+
+ if (((*pkt_len - *offset) < 1) && !(r && asn_realloc(pkt, pkt_len))) {
+ return 0;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp/patches/008.ip-mib.patch Fri May 20 12:17:45 2011 +0530
@@ -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/patches/009.ltmain.sh.patch Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,31 @@
+--- net-snmp-5.4.2.1/ltmain.sh Fri Jun 6 02:34:34 2008
++++ net-snmp-5.4.2.1/ltmain.mod.sh Tue Feb 3 11:02:05 2009
[email protected]@ -1425,7 +1425,9 @@
+ if test "$prev" = rpath; then
+ case "$rpath " in
+ *" $arg "*) ;;
+- *) rpath="$rpath $arg" ;;
++ *) rpath="$rpath $arg"
++ # This is make sure only $libdir path is encoded in RUNPATH
++ sma_rpath="$rpath" ;;
+ esac
+ else
+ case "$xrpath " in
[email protected]@ -3915,7 +3917,7 @@
+ if test "$hardcode_into_libs" = yes; then
+ # Hardcode the library paths
+ hardcode_libdirs=
+- dep_rpath=
++ dep_rpath="-R $sma_rpath"
+ rpath="$finalize_rpath"
+ test "$mode" != relink && rpath="$compile_rpath$rpath"
+ for libdir in $rpath; do
[email protected]@ -3935,7 +3937,7 @@
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+- dep_rpath="$dep_rpath $flag"
++ #dep_rpath="$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/patches/010.if-mib-zone.patch Fri May 20 12:17:45 2011 +0530
@@ -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/patches/011.Makefile.in.patch Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,70 @@
+Only in net-snmp-5.4.1.mod: .patches.011.Makefile.in.patch
+diff -ru net-snmp-5.4.1/agent/Makefile.in net-snmp-5.4.1.mod/agent/Makefile.in
+--- net-snmp-5.4.1/agent/Makefile.in 2007-07-05 04:56:56.000000000 +0530
++++ net-snmp-5.4.1.mod/agent/Makefile.in 2009-06-24 06:08:28.858891018 +0530
[email protected]@ -120,8 +120,11 @@
+ OBJS = $(LIBAGENTOBJS) $(AGENTOBJS) mib_modules.o auto_nlist.o
+ LOBJS = $(LLIBAGENTOBJS) $(LAGENTOBJS) mib_modules.lo auto_nlist.lo
+
++LIB_LD_ADD_AGENT =-lnetsnmp -lnetsnmphelpers
++
++LIB_LD_ADD_PATH_MIBS =-Lhelpers -L../snmplib
+
+-all: agentlib subdirs miblib $(INSTALLBINPROGS) $(INSTALLSBINPROGS)
++all: agentlib subdirs miblib relinklib $(INSTALLBINPROGS) $(INSTALLSBINPROGS)
+
+ #
+ # build stuff targets
[email protected]@ -152,6 +155,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: $(INSTALLLIBS)
+Only in net-snmp-5.4.1.mod/agent: Makefile.in~
+diff -ru net-snmp-5.4.1/agent/helpers/Makefile.in net-snmp-5.4.1.mod/agent/helpers/Makefile.in
+--- net-snmp-5.4.1/agent/helpers/Makefile.in 2007-06-27 03:15:20.000000000 +0530
++++ net-snmp-5.4.1.mod/agent/helpers/Makefile.in 2009-06-24 06:01:35.912702710 +0530
[email protected]@ -137,8 +137,11 @@
+ table_tdata.lo \
+ watcher.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) $(AGENTLIB) $(NETSNMPLIB) $(LDFLAGS) $(LIB_LD_LIBS)
+- $(RANLIB) [email protected]
++ $(LIB_LD_CMD) [email protected] $(LIB_LD_ADD_PATH) $(LOBJS) $(AGENTLIB) $(NETSNMPLIB) $(LDFLAGS) $(LIB_LD_LIBS) $(LIB_LD_ADD)
++ $(RANLIB) [email protected] $(LIB_LD_ADD)
+diff -ru net-snmp-5.4.1/snmplib/Makefile.in net-snmp-5.4.1.mod/snmplib/Makefile.in
+--- net-snmp-5.4.1/snmplib/Makefile.in 2007-06-19 03:04:43.000000000 +0530
++++ net-snmp-5.4.1.mod/snmplib/Makefile.in 2009-06-24 06:01:35.912972597 +0530
[email protected]@ -181,6 +181,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)
++
+ #
+ CPPFLAGS = $(TOP_INCLUDES) -I. $(SNMPLIB_INCLUDES) @[email protected]
+
[email protected]@ -188,8 +191,8 @@
+
+ # how to build the libraries.
+ libnetsnmp.$(LIB_EXTENSION)$(LIB_VERSION): $(TOBJS)
+- $(LIB_LD_CMD) [email protected] $(TOBJS) $(LDFLAGS) @[email protected]
+- $(RANLIB) [email protected]
++ $(LIB_LD_CMD) [email protected] $(TOBJS) $(LDFLAGS) @[email protected] } $(LIB_LD_ADD)
++ $(RANLIB) [email protected] $(LIB_LD_ADD)
+
+ libsnmp.$(LIB_EXTENSION)$(LIB_VERSION): $(TOBJS)
+ $(LIB_LD_CMD) [email protected] $(TOBJS) $(LDFLAGS) @[email protected]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp/patches/012.Makefile.PL.patch Fri May 20 12:17:45 2011 +0530
@@ -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/patches/013.6852099.proxy.patch Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,29 @@
+--- net-snmp-5.4.1/agent/mibgroup/ucd-snmp/proxy.c Tue Oct 17 09:16:29 2006
++++ patch/net-snmp-5.4.1/agent/mibgroup/ucd-snmp/proxy.c Tue Sep 29 07:36:48 2009
[email protected]@ -408,6 +408,8 @@
+ /*
+ * too large
+ */
++ if (pdu)
++ snmp_free_pdu(pdu);
+ snmp_log(LOG_ERR,
+ "proxy oid request length is too long\n");
+ return SNMP_ERR_NOERROR;
[email protected]@ -437,6 +439,8 @@
+ */
+ if (!proxy_fill_in_session(handler, reqinfo, (void **)&configured)) {
+ netsnmp_set_request_error(reqinfo, requests, SNMP_ERR_GENERR);
++ if (pdu)
++ snmp_free_pdu(pdu);
+ return SNMP_ERR_NOERROR;
+ }
+
[email protected]@ -451,6 +455,8 @@
+
+ /* Free any special parameters generated on the session */
+ proxy_free_filled_in_session_args(sp->sess, (void **)&configured);
++ if (pdu)
++ snmp_free_pdu(pdu);
+
+ return SNMP_ERR_NOERROR;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp/patches/014.6801093.vmstat_solaris2.patch Fri May 20 12:17:45 2011 +0530
@@ -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/patches/015.6956251.vmstat_solaris2.patch Fri May 20 12:17:45 2011 +0530
@@ -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/patches/016.6934478.vmstat_solaris2.patch Fri May 20 12:17:45 2011 +0530
@@ -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/patches/017.6984919.kernel_sunos5.patch Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,11 @@
+--- patch/net-snmp-5.4.1/agent/mibgroup/kernel_sunos5.c Tue Oct 12 06:55:48 2010
++++ net-snmp-5.4.1/agent/mibgroup/kernel_sunos5.c Tue Oct 12 07:03:49 2010
[email protected]@ -82,7 +82,7 @@
+ static
+ mibcache Mibcache[MIBCACHE_SIZE+1] = {
+ {MIB_SYSTEM, 0, (void *) -1, 0, 0, 0, 0},
+- {MIB_INTERFACES, 10 * sizeof(mib2_ifEntry_t), (void *) -1, 0, 30, 0,
++ {MIB_INTERFACES, 50 * sizeof(mib2_ifEntry_t), (void *) -1, 0, 30, 0,
+ 0},
+ {MIB_AT, 0, (void *) -1, 0, 0, 0, 0},
+ {MIB_IP, sizeof(mib2_ip_t), (void *) -1, 0, 60, 0, 0},
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp/patches/018.6932608.systemstats_common.patch Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,19 @@
+--- patch/net-snmp-5.4.1-64/agent/mibgroup/ip-mib/data_access/systemstats_common.c Tue Feb 8 13:58:36 2005
++++ net-snmp-5.4.1/agent/mibgroup/ip-mib/data_access/systemstats_common.c Mon Aug 2 05:21:15 2010
[email protected]@ -339,7 +339,7 @@
+ */
+ if (0 == need_wrap_check) {
+ SNMP_FREE(prev_vals->old_stats);
+- }
++ } else {
+
+ /*
+ * update old stats from new stats.
[email protected]@ -346,6 +346,7 @@
+ * careful - old_stats is a pointer to stats...
+ */
+ memcpy(prev_vals->old_stats, &new_vals->stats, sizeof(new_vals->stats));
++ }
+
+ return 0;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp/patches/019.6998845.container.patch Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,314 @@
+--- net-snmp/include/net-snmp/library/container.h Mon Dec 5 00:13:04 2005
++++ net-snmp/include/net-snmp/library/container.h Fri Jan 14 17:35:37 2011
[email protected]@ -31,8 +31,16 @@
+ struct netsnmp_container_s; /** forward declare */
+
+ /*
+- * function returning an int for an operation on a container
++ * function for performing an operation on a container which
++ * returns (maybe the same) container.
+ */
++
++ typedef struct netsnmp_container_s* (netsnmp_container_mod_op)
++ (struct netsnmp_container_s *, void *context, u_int flags);
++
++ /*
++ * function for setting an option on a container
++ */
+ typedef int (netsnmp_container_option)(struct netsnmp_container_s *,
+ int set, u_int flags);
+
[email protected]@ -192,6 +200,14 @@
+ netsnmp_container_op *insert_filter;
+
+ /*
++ * OPTIONAL function to duplicate a container. Defaults to a shallow
++ * copy. Only the specified container is copied (i.e. sub-containers
++ * not included).
++ */
++
++ netsnmp_container_mod_op *duplicate;
++
++ /*
+ * function to compare two object stored in the container.
+ *
+ * Returns:
[email protected]@ -219,11 +235,16 @@
+
+ /*
+ * sort count, for iterators to track (insert/delete
+- * bumps coutner, invalidates iterator
++ * bumps counter, invalidates iterator)
+ */
+ u_long sync;
+
+ /*
++ * flags
++ */
++ u_int flags;
++
++ /*
+ * containers can contain other containers (additional indexes)
+ */
+ struct netsnmp_container_s *next, *prev;
[email protected]@ -288,15 +309,15 @@
+ #define CONTAINER_SET_OPTIONS(x,o,rc) do { \
+ if (NULL==(x)->options) \
+ rc = -1; \
+- else \
++ else { \
+ rc = (x)->options(x, 1, o); \
++ if (rc != -1 ) \
++ (x)->flags |= o; \
++ } \
+ } while(0)
+
+ #define CONTAINER_CHECK_OPTION(x,o,rc) do { \
+- if (NULL==(x)->options) \
+- rc = -1; \
+- else \
+- rc = (x)->options(x,0, o); \
++ rc = x->flags & 0; \
+ } while(0)
+
+
[email protected]@ -335,6 +356,12 @@
+ int CONTAINER_REMOVE(netsnmp_container *x, const void *k);
+
+ /*
++ * duplicate container
++ */
++ netsnmp_container *CONTAINER_DUP(netsnmp_container *x, void *ctx,
++ u_int flags);
++
++ /*
+ * clear all containers. When clearing the *first* container, and
+ * *only* the first container, call the function f for each item.
+ * After calling this function, all containers should be empty.
[email protected]@ -364,7 +391,7 @@
+ continue;
+ rc2 = x->insert(x,k);
+ if (rc2) {
+- snmp_log(LOG_ERR,"error on subcontainer '%s' insert (%d)\n",
++ snmp_log(LOG_DEBUG,"error on subcontainer '%s' insert (%d)\n",
+ x->container_name ? x->container_name : "", rc2);
+ rc = rc2;
+ }
[email protected]@ -402,6 +429,22 @@
+ * container.c. If you change one, change them both.
+ */
+ NETSNMP_STATIC_INLINE /* gcc docs recommend static w/inline */
++ netsnmp_container *CONTAINER_DUP(netsnmp_container *x, void *ctx,
++ u_int flags)
++ {
++ if (NULL == x->duplicate) {
++ snmp_log(LOG_ERR, "container '%s' does not support duplicate\n",
++ x->container_name ? x->container_name : "");
++ return NULL;
++ }
++ return x->duplicate(x, ctx, flags);
++ }
++
++ /*------------------------------------------------------------------
++ * These functions should EXACTLY match the function version in
++ * container.c. If you change one, change them both.
++ */
++ NETSNMP_STATIC_INLINE /* gcc docs recommend static w/inline */
+ int CONTAINER_FREE(netsnmp_container *x)
+ {
+ int rc2, rc = 0;
[email protected]@ -474,6 +517,10 @@
+ }
+
+ #endif
++
++ /** Duplicate container meta-data. */
++ int netsnmp_container_data_dup(netsnmp_container *dup,
++ netsnmp_container *c);
+
+ /*************************************************************************
+ *
+--- net-snmp/snmplib/container_binary_array.c Wed Aug 23 21:23:22 2006
++++ net-snmp/snmplib/container_binary_array.c Fri Jan 14 17:35:37 2011
[email protected]@ -36,7 +36,6 @@
+ typedef struct binary_array_table_s {
+ size_t max_size; /* Size of the current data table */
+ size_t count; /* Index of the next free entry */
+- u_int flags; /* flags */
+ int dirty;
+ int data_size; /* Size of an individual entry */
+ void **data; /* The table itself */
[email protected]@ -99,7 +98,7 @@
+ netsnmp_assert(t!=NULL);
+ netsnmp_assert(c->compare!=NULL);
+
+- if (t->flags & CONTAINER_KEY_UNSORTED)
++ if (c->flags & CONTAINER_KEY_UNSORTED)
+ return 0;
+
+ if (t->dirty) {
[email protected]@ -204,11 +203,16 @@
+ int
+ netsnmp_binary_array_options_set(netsnmp_container *c, int set, u_int flags)
+ {
+- binary_array_table *t = (binary_array_table*)c->container_data;
+- if (set)
+- t->flags = flags;
++#define BA_FLAGS (CONTAINER_KEY_ALLOW_DUPLICATES|CONTAINER_KEY_UNSORTED)
++
++ if (set) {
++ if ((flags & BA_FLAGS) == flags)
++ c->flags = flags;
++ else
++ flags = (u_int)-1; /* unsupported flag */
++ }
+ else
+- return ((t->flags & flags) == flags);
++ return ((c->flags & flags) == flags);
+ return flags;
+ }
+
[email protected]@ -371,7 +375,7 @@
+ /*
+ * check for duplicates
+ */
+- if (! (t->flags & CONTAINER_KEY_ALLOW_DUPLICATES)) {
++ if (! (c->flags & CONTAINER_KEY_ALLOW_DUPLICATES)) {
+ new_data = netsnmp_binary_array_get(c, entry, 1);
+ if (NULL != new_data) {
+ DEBUGMSGTL(("container","not inserting duplicate key\n"));
[email protected]@ -579,6 +583,56 @@
+ return va;
+ }
+
++static netsnmp_container *
++_ba_duplicate(netsnmp_container *c, void *ctx, u_int flags)
++{
++ netsnmp_container *dup;
++ binary_array_table *dupt, *t;
++
++ if (flags) {
++ snmp_log(LOG_ERR, "binary arry duplicate does not supprt flags yet\n");
++ return NULL;
++ }
++
++ dup = netsnmp_container_get_binary_array();
++ if (NULL == dup) {
++ snmp_log(LOG_ERR," no memory for binary array duplicate\n");
++ return NULL;
++ }
++ /*
++ * deal with container stuff
++ */
++ if (netsnmp_container_data_dup(dup, c) != 0) {
++ netsnmp_binary_array_release(dup);
++ return NULL;
++ }
++
++ /*
++ * deal with data
++ */
++ dupt = (binary_array_table*)dup->container_data;
++ t = (binary_array_table*)c->container_data;
++
++ dupt->max_size = t->max_size;
++ dupt->count = t->count;
++ dupt->dirty = t->dirty;
++ dupt->data_size = t->data_size;
++
++ /*
++ * shallow copy
++ */
++ dupt->data = (void**) calloc(dupt->max_size, dupt->data_size);
++ if (NULL == dupt->data) {
++ snmp_log(LOG_ERR, "no memory for binary array duplicate\n");
++ netsnmp_binary_array_release(dup);
++ return NULL;
++ }
++
++ memcpy(dupt->data, t->data, dupt->max_size * dupt->data_size);
++
++ return dup;
++}
++
+ netsnmp_container *
+ netsnmp_container_get_binary_array(void)
+ {
[email protected]@ -592,7 +646,11 @@
+ }
+
+ c->container_data = netsnmp_binary_array_initialize();
+-
++
++ /*
++ * NOTE: CHANGES HERE MUST BE DUPLICATED IN duplicate AS WELL!!
++ */
++
+ c->get_size = _ba_size;
+ c->init = NULL;
+ c->cfree = _ba_free;
[email protected]@ -604,6 +662,7 @@
+ c->get_iterator = _ba_iterator_get;
+ c->for_each = _ba_for_each;
+ c->clear = _ba_clear;
++ c->duplicate = _ba_duplicate;
+
+ return c;
+ }
+--- net-snmp/snmplib/container.c Fri Aug 25 15:11:06 2006
++++ net-snmp/snmplib/container.c Fri Jan 14 17:35:37 2011
[email protected]@ -278,7 +278,7 @@
+ continue;
+ rc2 = x->insert(x,k);
+ if (rc2) {
+- snmp_log(LOG_ERR,"error on subcontainer '%s' insert (%d)\n",
++ snmp_log(LOG_DEBUG,"error on subcontainer '%s' insert (%d)\n",
+ x->container_name ? x->container_name : "", rc2);
+ rc = rc2;
+ }
[email protected]@ -311,6 +311,20 @@
+ }
+
+ /*------------------------------------------------------------------
++ * These functions should EXACTLY match the function version in
++ * container.c. If you change one, change them both.
++ */
++netsnmp_container *CONTAINER_DUP(netsnmp_container *x, void *ctx, u_int flags)
++{
++ if (NULL == x->duplicate) {
++ snmp_log(LOG_ERR, "container '%s' does not support duplicate\n",
++ x->container_name ? x->container_name : "");
++ return NULL;
++ }
++ return x->duplicate(x, ctx, flags);
++}
++
++/*------------------------------------------------------------------
+ * These functions should EXACTLY match the inline version in
+ * container.h. If you change one, change them both.
+ */
[email protected]@ -408,6 +422,24 @@
+ c->find = fnd;
+ }
+
++int
++netsnmp_container_data_dup(netsnmp_container *dup, netsnmp_container *c)
++{
++ if (!dup || !c)
++ return -1;
++
++ if (c->container_name)
++ dup->container_name = strdup(c->container_name);
++ dup->compare = c->compare;
++ dup->ncompare = c->ncompare;
++ dup->release = c->release;
++ dup->insert_filter = c->insert_filter;
++ dup->sync = c->sync;
++ dup->flags = c->flags;
++
++ return 0;
++}
++
+ /*------------------------------------------------------------------
+ *
+ * simple comparison routines
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp/patches/020.7018550.kernel_sunos5.patch Fri May 20 12:17:45 2011 +0530
@@ -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/run-tests Fri May 20 12:17:45 2011 +0530
@@ -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, 2011, 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/sun/Makefile Fri May 20 12:17:45 2011 +0530
@@ -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/sun/agent/Makefile Fri May 20 12:17:45 2011 +0530
@@ -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/sun/agent/mibs/ENTITY-MIB.txt Fri May 20 12:17:45 2011 +0530
@@ -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/sun/agent/mibs/Makefile Fri May 20 12:17:45 2011 +0530
@@ -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/sun/agent/mibs/SUN-MIB.txt Fri May 20 12:17:45 2011 +0530
@@ -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/sun/agent/mibs/SUN-SEA-EXTENSIONS-MIB.txt Fri May 20 12:17:45 2011 +0530
@@ -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/sun/agent/mibs/SUN-SEA-PROXY-MIB.txt Fri May 20 12:17:45 2011 +0530
@@ -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
+ DESCRIPTION
+ "The executable file of the sub-agent."
+ ::= { sunSubAgentEntry 7 }
+
+ sunSubAgentVersionNum OBJECT-TYPE
+ SYNTAX DisplayString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The version number of the sub-agent."
+ ::= { sunSubAgentEntry 8 }
+
+ sunSubAgentProcessID OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The process id of the sub-agent."
+ ::= { sunSubAgentEntry 9 }
+
+ sunSubAgentName OBJECT-TYPE
+ SYNTAX DisplayString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The name of the sub-agent. This is assigned by the user."
+ ::= { sunSubAgentEntry 10 }
+
+ sunSubAgentSystemUpTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The system up time of the sub-agent."
+ ::= { sunSubAgentEntry 11 }
+
+ sunSubAgentWatchDogTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This timeout is used by the Master Agent to determine
+ if the subagent is up or not. The Master Agent will poll
+ the subagent only if there has been no activity between
+ the Master Agent and the subagent for this specified
+ interval. This interval is specified in seconds."
+ ::= { sunSubAgentEntry 12 }
+
+
+
+--
+-- ********** SubTreeConfigurationTable ****************
+--
+ sunSubTreeConfigurationTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SunSubTreeConfigurationEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "This is the table of subtree registration requests made
+ by the sub agents. The enteries in this table also include
+ the sub tree OID's of those agents that are invkoed by
+ the master agent. This table thus consists of enteries
+ as configured in the sub agent registration files. These
+ sub tree OID's are flattened into a OID sub tree dispatch
+ table in the master agent which is also defined in this MIB."
+ ::= { sunSeaProxyMIB 10 }
+
+ sunSubTreeConfigurationTableIndex OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The next available index in sunSubTreeConfigurationTable."
+ ::= { sunSeaProxyMIB 11 }
+
+--
+-- ************** RegTreeEntry(Table Entry) ************
+--
+ sunSubTreeConfigurationEntry OBJECT-TYPE
+ SYNTAX SunSubTreeConfigurationEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "An entry for table registration."
+ INDEX { sunSubTreeAgentID, sunSubTreeIndex }
+ ::= { sunSubTreeConfigurationTable 1 }
+
+ SunSubTreeConfigurationEntry ::=
+ SEQUENCE {
+ sunSubTreeIndex
+ INTEGER,
+ sunSubTreeAgentID
+ INTEGER,
+ sunSubTreeOID
+ OBJECT IDENTIFIER,
+ sunSubTreeStartColumn
+ INTEGER,
+ sunSubTreeEndColumn
+ INTEGER,
+ sunSubTreeStartRow
+ INTEGER,
+ sunSubTreeEndRow
+ INTEGER,
+-- sunSubTreeView
+-- DisplayString,
+ sunSubTreeStatus
+ INTEGER
+ }
+
+ sunSubTreeIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The index of the table registration."
+ ::= { sunSubTreeConfigurationEntry 1 }
+
+ sunSubTreeAgentID OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "ID of the sub-agent."
+ ::= { sunSubTreeConfigurationEntry 2 }
+
+ sunSubTreeOID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The oid of the subtree table that is being registered. A
+ sub agent can have multiple sub tree oid's registered
+ as seperate enteries."
+ ::= { sunSubTreeConfigurationEntry 3 }
+
+ sunSubTreeStartColumn OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Starting column of the sub table."
+ ::= { sunSubTreeConfigurationEntry 4 }
+
+ sunSubTreeEndColumn OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Ending column of the sub table."
+ ::= { sunSubTreeConfigurationEntry 5 }
+
+ sunSubTreeStartRow OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Starting row of the sub table."
+ ::= { sunSubTreeConfigurationEntry 6 }
+
+ sunSubTreeEndRow OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Ending row of the sub table."
+ ::= { sunSubTreeConfigurationEntry 7 }
+
+
+ sunSubTreeStatus OBJECT-TYPE
+ SYNTAX INTEGER { active(1), inactive(2) }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The variable allows to activate or delete the enteries
+ in this table."
+ ::= { sunSubTreeConfigurationEntry 8 }
+
+--
+-- ********** RegTreeTable ****************
+--
+ sunSubTreeDispatchTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SunSubTreeDispatchEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "This table lists all the OID enteries that are
+ used by the master agent to dispatch the requests to the
+ sub agents. This table is based on the sub-tree
+ registration configured in the sub agents registration
+ files."
+ ::= { sunSeaProxyMIB 12 }
+
+ sunSubTreeDispatchTableIndex OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The next available index in sunSubTreeDispatchTable."
+ ::= { sunSeaProxyMIB 13 }
+
+
+--
+-- ************** Dispatch Table ************
+--
+ sunSubTreeDispatchEntry OBJECT-TYPE
+ SYNTAX SunSubTreeDispatchEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "An entry for tree registration."
+ INDEX { sunSubTreeDispatchAgentID, sunSubTreeDispatchIndex }
+ ::= { sunSubTreeDispatchTable 1 }
+
+ SunSubTreeDispatchEntry ::=
+ SEQUENCE {
+ sunSubTreeDispatchIndex
+ INTEGER,
+ sunSubTreeDispatchAgentID
+ INTEGER,
+ sunSubTreeDispatchOID
+ OBJECT IDENTIFIER,
+ sunSubTreeDispatchStatus
+ INTEGER
+ }
+
+
+ sunSubTreeDispatchIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The index of the dispatch table entry."
+ ::= { sunSubTreeDispatchEntry 1 }
+
+ sunSubTreeDispatchAgentID OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ ""
+ ::= { sunSubTreeDispatchEntry 2 }
+
+ sunSubTreeDispatchOID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The oid of the subtree."
+ ::= { sunSubTreeDispatchEntry 3 }
+
+
+ sunSubTreeDispatchStatus OBJECT-TYPE
+ SYNTAX INTEGER { active(1), inactive(2) }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The variable allows to activate or delete the enteries
+ in this table."
+ ::= { sunSubTreeDispatchEntry 4 }
+
+
+END
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp/sun/agent/mibs/health-monitor-mib.mib Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,487 @@
+
+--
+-- Copyright (c) 1999, 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.
+--
+--
+-------------------------------------------------------
+-- Sun Management Center
+-------------------------------------------------------
+
+
+HEALTH-MONITOR-SUNMANAGEMENTCENTER-MIB DEFINITIONS ::= BEGIN
+
+
+ IMPORTS
+ enterprises, MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32
+ FROM SNMPv2-SMI
+ OBJECT-GROUP
+ FROM SNMPv2-CONF
+ DisplayString
+ FROM SNMPv2-TC;
+
+
+healthMonitor MODULE-IDENTITY
+ LAST-UPDATED "0009181435Z"
+ ORGANIZATION "Sun Microsystems Inc."
+ CONTACT-INFO
+ " Sun Microsystems Inc.
+ Customer Support
+ Postal: 901 San Antonio Road
+ Palo Alto, CA-94303-4900
+ USA
+ Tel: 650-960-1300
+ E-mail: [email protected]"
+ DESCRIPTION
+ "Health Monitor allows to monitor the overall state of the machine,
+ including the state of the disk, networks, RAM, and so on.
+ This module uses a set of performance rules to determine valid
+ component states."
+
+ REVISION "9907201505Z"
+ DESCRIPTION
+ "Rev 1.0 20th July 1999 15:05, Initial version Of MIB."
+ REVISION "0009181435Z"
+ DESCRIPTION
+ "Rev 1.1 18th Sep 2000 14:35. Changed the type of mibnode hmDNLCHits
+ and hmDNLCMisses from Integer32 to Unsigned32."
+ ::= { modules 11 }
+
+sun OBJECT IDENTIFIER ::= { enterprises 42 }
+products OBJECT IDENTIFIER ::= { sun 2 }
+sunsymon OBJECT IDENTIFIER ::= { products 12 }
+agent OBJECT IDENTIFIER ::= { sunsymon 2 }
+modules OBJECT IDENTIFIER ::= { agent 2 }
+
+hmSwap OBJECT IDENTIFIER ::= { healthMonitor 1 }
+
+hmKernelcontention OBJECT IDENTIFIER ::= { healthMonitor 2 }
+
+hmNFS OBJECT IDENTIFIER ::= { healthMonitor 3 }
+
+hmCPU OBJECT IDENTIFIER ::= { healthMonitor 4 }
+
+hmDiskGroup OBJECT-GROUP
+ OBJECTS { hmDiskName, hmDiskAliasName, hmAvgWaitTransactions,
+ hmDiskBusyPcnt, hmAvgDiskSvcTime }
+ STATUS current
+ DESCRIPTION
+ "Disk related statistics."
+ ::= { healthMonitor 5 }
+
+
+
+
+hmRAM OBJECT IDENTIFIER ::= { healthMonitor 6 }
+
+hmKMEM OBJECT IDENTIFIER ::= { healthMonitor 7 }
+
+hmDNLC OBJECT IDENTIFIER ::= { healthMonitor 8 }
+
+
+
+hmSwapSpaceGroup OBJECT-GROUP
+ OBJECTS { hmAvailableSwapSpace, hmReservedSwapSpace,
+ hmAllocatedSwapSpace, hmUsedSwapSpace }
+ STATUS current
+ DESCRIPTION
+ "Swap space related statistics."
+ ::= { hmSwap 1 }
+
+
+hmAvailableSwapSpace OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "kB"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total swap space (in 1024 byte blocks) that is currently
+ available for reservation and allocation."
+ ::= { hmSwapSpaceGroup 1 }
+
+hmReservedSwapSpace OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "kB"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total amount of swap space (in 1024 byte blocks) that is
+ not currently allocated, but is claimed by memory mappings for
+ possible future use."
+ ::= { hmSwapSpaceGroup 2 }
+
+hmAllocatedSwapSpace OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "kB"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total amount of swap space (in 1024 byte blocks)
+ currently allocated for use."
+ ::= { hmSwapSpaceGroup 3 }
+
+hmUsedSwapSpace OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "kB"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total amount of swap space (in 1024 byte blocks) that is
+ either allocated or reserved."
+ ::= { hmSwapSpaceGroup 4 }
+
+
+hmMutexGroup OBJECT-GROUP
+ OBJECTS { hmSpinsOnMutexes, hmTotNumOfCPUs }
+ STATUS current
+ DESCRIPTION
+ "Mutex related statistics."
+ ::= { hmKernelcontention 1 }
+
+
+hmSpinsOnMutexes OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Sum of spins on mutexes (lock not acquired on first try)
+ for all CPUs."
+ ::= { hmMutexGroup 1 }
+
+hmTotNumOfCPUs OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Total number of CPUs."
+ ::= { hmMutexGroup 2 }
+
+
+hmNFSClientRPCGroup OBJECT-GROUP
+ OBJECTS { hmTotRPCCalls, hmTotBadRPCCalls, hmTotRPCRetransmissions,
+ hmTotBadRPCReplies, hmTotRPCCallsTimedOut,
+ hmTotNumOfAuthRefresh, hmTotFailedCallsBV, hmTimers,
+ hmTotMemAllocFails, hmTotSendFails }
+ STATUS current
+ DESCRIPTION
+ "Client RPC call-related statistics."
+ ::= { hmNFS 1 }
+
+
+hmTotRPCCalls OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Total number of RPC calls received."
+ ::= { hmNFSClientRPCGroup 1 }
+
+hmTotBadRPCCalls OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Total number of calls rejected by the RPC layer."
+ ::= { hmNFSClientRPCGroup 2 }
+
+hmTotRPCRetransmissions OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Total number of calls retransmitted due to a timeout."
+ ::= { hmNFSClientRPCGroup 3 }
+
+hmTotBadRPCReplies OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of replies from server that do not correspond to
+ any outside call."
+ ::= { hmNFSClientRPCGroup 4 }
+
+hmTotRPCCallsTimedOut OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of calls timed out while waiting for a reply from
+ server."
+ ::= { hmNFSClientRPCGroup 5 }
+
+hmTotNumOfAuthRefresh OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of times authentication information was refreshed."
+ ::= { hmNFSClientRPCGroup 6 }
+
+hmTotFailedCallsBV OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of calls failed due to a bad verifier in response."
+ ::= { hmNFSClientRPCGroup 7 }
+
+hmTimers OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of times calculated time-out exceeds minimum
+ specified timeout value for a call."
+ ::= { hmNFSClientRPCGroup 8 }
+
+hmTotMemAllocFails OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of failures to allocate memory."
+ ::= { hmNFSClientRPCGroup 9 }
+
+hmTotSendFails OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of failures where client is not able to send
+ the packets for any reason."
+ ::= { hmNFSClientRPCGroup 10 }
+
+
+
+hmCPUProcInStatesGroup OBJECT-GROUP
+ OBJECTS { hmTotProcInRunQueue, hmTotProcBlocked, hmTotProcReadyInSwap }
+ STATUS current
+ DESCRIPTION
+ "Statistics related to the number of processes in different states."
+ ::= { hmCPU 1 }
+
+
+hmTotProcInRunQueue OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of processes in the run queue."
+ ::= { hmCPUProcInStatesGroup 1 }
+
+hmTotProcBlocked OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of processes blocked for resources."
+ ::= { hmCPUProcInStatesGroup 2 }
+
+hmTotProcReadyInSwap OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of processes runnable but swapped."
+ ::= { hmCPUProcInStatesGroup 3 }
+
+
+hmDiskTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HmDiskEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Table of information for all the disks installed on
+ the system."
+ ::= { hmDiskGroup 1 }
+
+hmDiskEntry OBJECT-TYPE
+ SYNTAX HmDiskEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Monitoring information for one disk on the system."
+ INDEX { hmDiskName }
+ ::= { hmDiskTable 1 }
+
+HmDiskEntry ::=
+ SEQUENCE {
+ hmDiskName
+ DisplayString,
+ hmDiskAliasName
+ DisplayString,
+ hmAvgWaitTransactions
+ DisplayString,
+ hmDiskBusyPcnt
+ DisplayString,
+ hmAvgDiskSvcTime
+ DisplayString
+ }
+
+
+hmDiskName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Name of the disk."
+ ::= { hmDiskEntry 1 }
+
+hmDiskAliasName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Name of the disk alias (for example, c0t0d0)."
+ ::= { hmDiskEntry 2 }
+
+
+hmAvgWaitTransactions OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Average number of transactions waiting for service."
+ ::= { hmDiskEntry 3 }
+
+hmDiskBusyPcnt OBJECT-TYPE
+ SYNTAX DisplayString
+ UNITS "%"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Percent of time the disk is busy."
+ ::= { hmDiskEntry 4 }
+
+hmAvgDiskSvcTime OBJECT-TYPE
+ SYNTAX DisplayString
+ UNITS "msec"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Average service time."
+ ::= { hmDiskEntry 5 }
+
+
+
+hmRamMemoryPagingGroup OBJECT-GROUP
+ OBJECTS { hmHandspread, hmPageScanRate }
+ STATUS current
+ DESCRIPTION
+ "Memory paging-related statistics."
+ ::= { hmRAM 1 }
+
+hmHandspread OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "MB"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The distance (in pages) between front and back pageout
+ daemon hands. The pageout daemon manages two hands on
+ the clock. The front hand moves through memory, clearing
+ the reference bit, and stealing pages from processes that
+ exceed the value maxrss. The back hand travels behind the
+ front hand, freeing pages that have not been referenced
+ since the front hand passed. If the pages have been modified,
+ they are pushed to the swap space before being freed. After
+ pageout examines a page of memory, the amount of time that
+ is needed to reclaim the page increases as the distance
+ increases between the two hands, and decreases as the scan
+ rate rises."
+ ::= { hmRamMemoryPagingGroup 1 }
+
+hmPageScanRate OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of pages scanned per second."
+ ::= { hmRamMemoryPagingGroup 2 }
+
+
+hmKmemStatisticsGroup OBJECT-GROUP
+ OBJECTS { hmKmemErrors, hmKmemFreeMem }
+ STATUS current
+ DESCRIPTION
+ "Kernel-memory-related statistics."
+ ::= { hmKMEM 1 }
+
+
+hmKmemErrors OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Total number of error occured related to kernel memory.
+ These errors may be..
+ KMERR_MODIFIED: buffer modified after being fread
+ KMERR_READZONE: readzone violation, write past end of buffer
+ KMERR_BADADDR: invalid free
+ KMERR_DUPFREE: duplicate free
+ KMERR_BADBUFTAG: boundary tag corrupted
+ etc."
+ ::= { hmKmemStatisticsGroup 1 }
+
+hmKmemFreeMem OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "MB"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Total amount of free kernel memory in MB."
+ ::= { hmKmemStatisticsGroup 2 }
+
+
+hmDNLCStatGroup OBJECT-GROUP
+ OBJECTS { hmDNLCHits, hmDNLCMisses, hmDNLCHitRate, hmDNLCRefRate }
+ STATUS current
+ DESCRIPTION
+ "DNLC related statistics."
+ ::= { hmDNLC 1 }
+
+
+hmDNLCHits OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times a name is looked up and is found in DNLC
+ (Directory Name Lookup Cache)."
+ ::= { hmDNLCStatGroup 1 }
+
+hmDNLCMisses OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times a name is looked up and is not found in DNLC
+ (Directory Name Lookup Cache). "
+ ::= { hmDNLCStatGroup 2 }
+
+hmDNLCHitRate OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of DNLC hits as a proportion of all DNLC lookups."
+ ::= { hmDNLCStatGroup 3 }
+
+hmDNLCRefRate OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times per second, the DNLC is looked up."
+ ::= { hmDNLCStatGroup 4 }
+
+END
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp/sun/agent/mibs/smatrap.mib Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,141 @@
+
+--
+-- 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.
+--
+--
+
+SMA-NOTIFICATION-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32, Counter64,
+ Integer32, TimeTicks, mib-2,
+ NOTIFICATION-TYPE, enterprises FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION, DisplayString,
+ PhysAddress, TruthValue, RowStatus,
+ TimeStamp, AutonomousType, TestAndIncr FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP,
+ NOTIFICATION-GROUP FROM SNMPv2-CONF
+ snmpTraps FROM SNMPv2-MIB
+ IANAifType FROM IANAifType-MIB;
+
+notifications MODULE-IDENTITY
+ LAST-UPDATED "9808040000Z"
+ ORGANIZATION "Sun Microsystems Inc."
+ CONTACT-INFO
+ " Sun Microsystems Inc
+ 4150 Network Circle
+ Santa Clara, CA 95054
+ e-mail: [email protected]
+ "
+ DESCRIPTION
+ "This MIB module defines notifications that are
+ generated by some monitoring modules loaded on
+ System Management Agent (SMA)."
+ ::= { sma 3 }
+
+sun OBJECT IDENTIFIER ::= { enterprises 42 }
+products OBJECT IDENTIFIER ::= { sun 2 }
+management OBJECT IDENTIFIER ::= { products 2 }
+sma OBJECT IDENTIFIER ::= { management 4 }
+
+traps OBJECT IDENTIFIER ::= { notifications 0 }
+trapInfo OBJECT IDENTIFIER ::= { notifications 1 }
+
+statusChange NOTIFICATION-TYPE
+OBJECTS { hostName, moduleName, statusOID, statusOIDContext, status, description , dataValue, dataValueType }
+STATUS current
+DESCRIPTION "A statusChange trap signifies that the status of an object has changed." ::= { traps 1 }
+
+hostName OBJECT-TYPE
+SYNTAX DisplayString (SIZE (0..255))
+MAX-ACCESS accessible-for-notify
+STATUS current
+DESCRIPTION "The name of the host on which the event occurred."
+::= { trapInfo 1 }
+
+moduleName OBJECT-TYPE
+SYNTAX DisplayString (SIZE (0..255))
+MAX-ACCESS accessible-for-notify
+STATUS current
+DESCRIPTION "The name of the module on which the event has occured."
+::= { trapInfo 2 }
+
+statusOID OBJECT-TYPE
+SYNTAX OBJECT IDENTIFIER
+MAX-ACCESS accessible-for-notify
+STATUS current
+DESCRIPTION "The identification of the object for which the status changed."
+::= { trapInfo 3 }
+
+statusOIDContext OBJECT-TYPE
+SYNTAX DisplayString (SIZE (0..255))
+MAX-ACCESS accessible-for-notify
+STATUS current
+DESCRIPTION "The name of context incase the status OID is registered under a particular
+ context. If there is no special context, the value for this field will be null."
+::= { trapInfo 4 }
+
+status OBJECT-TYPE
+SYNTAX DisplayString (SIZE (0..255))
+MAX-ACCESS accessible-for-notify
+STATUS current
+DESCRIPTION "The current status of the object. One of OK, INFO, WARNING, ERROR."
+::= { trapInfo 5 }
+
+description OBJECT-TYPE
+SYNTAX DisplayString (SIZE (0..255))
+MAX-ACCESS accessible-for-notify
+STATUS current
+DESCRIPTION "The detailed description of the event."
+::= { trapInfo 6 }
+
+dataValue OBJECT-TYPE
+SYNTAX DisplayString (SIZE (0..255))
+MAX-ACCESS accessible-for-notify
+STATUS current
+DESCRIPTION "The current value of the object, that generates the event."
+::= { trapInfo 7 }
+
+dataValueType OBJECT-TYPE
+SYNTAX INTEGER {
+ none(0),
+ integer(1),
+ octetString(2),
+ objectIdentifier(3),
+ integer32(4),
+ ipAddress(5),
+ counter32(6),
+ gauge32(7),
+ unsigned32(8),
+ timeTicks(9),
+ opaque(10),
+ counter64(11),
+ displayString(12),
+ physAddress(13),
+ macAddress(14),
+ truthValue(15),
+ testAndIncr(16),
+ autonomousType(17),
+ variablePointer(18),
+ rowPointer(19),
+ rowStatus(20),
+ storageType(21),
+ tDomain(22),
+ tAddress(23),
+ other(100)
+ }
+MAX-ACCESS accessible-for-notify
+STATUS current
+DESCRIPTION "The data type of the value that is present in dataValue varbind"
+::= { trapInfo 8 }
+
+END
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp/sun/agent/modules/Makefile Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,72 @@
+
+#
+# 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/modules directory in SMA
+#
+# $Log: Makefile,v $
+# Revision 1.7 2003/09/04 17:53:26 rr144420
+# 4917378 - remove healthMonitor from makefiles
+#
+# Revision 1.6 2003/08/21 14:42:01 rr144420
+# 4908816 - further makefile changes to install into correct lib
+#
+# Revision 1.5 2003/08/12 21:14:38 rr144420
+# 4895376 - correct Sun copyright statements. Cannot use (c), and must use Copyright Copyright in makefiles
+#
+# Revision 1.4 2003/08/04 17:10:57 dporter
+# 4890836 - build new seaProxy module
+#
+# Revision 1.3 2003/07/31 21:34:44 pcarroll
+# Add seaExtensions to Makefile
+#
+# Revision 1.2 2003/07/28 19:27:15 augustus
+# This is the complete Entity MIB Implementation.
+#
+# Revision 1.1 2003/07/23 15:53:32 rr144420
+# new makefiles for building sun directory
+#
+#
+
+# removed healthMonitor
+
+SUBDIRS = entityMib seaExtensions
+
+all:
+ @if test "$(SUBDIRS)" != ""; then \
+ it="$(SUBDIRS)" ; \
+ for i in $$it ; do \
+ echo "making all in `pwd`/$$i"; \
+ echo "SUBDIRS3: $(MAKE) CC=$(CC) DEBUG=$(DEBUG) ARCH=$(ARCH)" ; \
+ ( cd $$i ; $(MAKE) CC=$(CC) DEBUG=$(DEBUG) ARCH=$(ARCH) ROOT=$(ROOT) ) ; \
+ echo "====> Makeing in dir $$i"; \
+ 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/sun/agent/modules/entityMib/Makefile Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,76 @@
+#
+# 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 generate libentity.so
+#
+# usage:
+# "make" : generate library for 64bit / sparc
+# "make ARCH=32" : generate library for 32bit / sparc
+# "make ARCH=32 MACH=x86" : generate library for 32bit / x86
+# "make ARCH=amd64" : generate 64bit AMD64 libraries
+# "make clean" : remove *.o , *.so
+#
+
+MARCH=$(ARCH)
+LDFLAGS_sparcv9=-m64 -I$(ROOT)$(CFGPREFIX)/include -I.
+LDFLAGS_32=-I$(ROOT)$(CFGPREFIX)/include -I.
+LDFLAGS_amd64=-m64 -I$(ROOT)$(CFGPREFIX)/include -I.
+LDFLAGS=$(LDFLAGS_$(MARCH))
+
+LDLIBS=
+
+CFLAGS_32=-Kpic
+CFLAGS_sparcv9=-Kpic
+CFLAGS_amd64=-Kpic
+CFLAGS=$(CFLAGS_$(MARCH))
+
+PROG= libentity.so
+SRCS= entPhysicalTable.c entLPMappingTable.c entPhysicalContainsTable.c \
+ entLogicalTable.c entAliasMappingTable.c entLastChangeTime.c entity.c
+
+OBJS = $(SRCS:.c=.o)
+
+HEADERS= \
+ entAliasMappingTable.h \
+ entLogicalTable.h \
+ stdhdr.h \
+ entLPMappingTable.h \
+ entPhysicalContainsTable.h \
+ entLastChangeTime.h \
+ entPhysicalTable.h
+
+
+all:$(PROG)
+$(PROG): $(OBJS)
+ $(CC) $(LDFLAGS) $(LDLIBS) -G -o [email protected] $(OBJS)
+.c.o:
+ $(CC) $(CFLAGS) $(LDFLAGS) -o [email protected] -c $<
+
+clean:
+ rm -f entPhysicalTable.o entLPMappingTable.o \
+ entPhysicalContainsTable.o entLogicalTable.o \
+ entAliasMappingTable.o entLastChangeTime.o entity.o libentity.so
+
+install:
+ if test "$(ARCH)" = "sparcv9" ; then \
+ cp $(PROG) $(ROOT)/$(CFGLIB64); \
+ elif test "$(ARCH)" = "32" ; then \
+ cp $(PROG) $(ROOT)/$(CFGLIB); \
+ elif test "$(ARCH)" = "amd64" ; then \
+ cp $(PROG) $(ROOT)/$(CFGLIB64); \
+ fi
+
+#all
+#cp $(PROG) /usr/local/lib
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/net-snmp/sun/agent/modules/entityMib/entAliasMappingTable.c Fri May 20 12:17:45 2011 +0530
@@ -0,0 +1,617 @@
+/*
+ * 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.
+ *
+ */
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * : mib2c.iterate.conf,v 5.5 2002/12/16 22:50:18 hardaker Exp $
+ */
+
+#include <net-snmp/net-snmp-config.h>
+#include <net-snmp/net-snmp-includes.h>
+#include <net-snmp/agent/net-snmp-agent-includes.h>
+#include "stdhdr.h"
+#include "entAliasMappingTable.h"
+#include "entLogicalTable.h"
+#include "entPhysicalTable.h"
+#include "entLastChangeTime.h"
+
+entAliasMappingTableEntry_t *gAliasMappingTableHead;
+int gAliasMappingTableSize;
+static logicalAlias *gCurAliasEntry;
+
+
+
+/** Initialize the entAliasMappingTable table by defining its contents and how it's structured */
+void
+initialize_table_entAliasMappingTable(void)
+{
+ static oid entAliasMappingTable_oid[] = {1,3,6,1,2,1,47,1,3,2};