#
# smi.conf - Global/User SMI configuration file. (EXAMPLE)
#
# Copyright (c) 2000 Frank Strauss, Technical University of Braunschweig.
#
# See the file "COPYING" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
# @(#) $Id: smi.conf-example 1134 2001-06-11 09:59:13Z strauss $
#
#
# See smi_config(3) for detailed information on configuration files.
#

# Extend (note the semicolon) the libsmi default module search path.
path :/usr/share/mibs/iana
path :/usr/share/mibs/ietf
path :/usr/share/mibs/irtf
path :/usr/share/mibs/tubs

# EXPERIMENTAL: Add a caching method (works only on UNIX systems).
# NOTE: the cache directory must exist and permissions must be
# handled appropriately. A simple but insecure way is to apply
# a tmp flag to the directory (chmod 1777 /usr/local/share/mibs/cache).
#cache /usr/local/share/mibs/cache /usr/local/bin/smicache -d /usr/local/share/mibs/cache -p http://www.ibr.cs.tu-bs.de/projects/libsmi/smicache/

# Don't show any errors by default.
level 0

# Preload some basic SMIv2 modules.
load SNMPv2-SMI
load SNMPv2-TC
load SNMPv2-CONF

# Make smilint shout loud to report all errors and warnings.
smilint: level 9

# But please don't claim about any names longer than 32 chars.
# (note: this is the prefix of errors `namelength-32-module,
#  -type, -object, -enumeration, and -bit)
smilint: hide namelength-32

# Preloading some more modules for special applications.
tcpdump: load DISMAN-SCRIPT-MIB
tcpdump: load IF-MIB

smiquery: load IF-MIB

