1smilint(1)                         SMI Tools                        smilint(1)
2
3
4

NAME

6       smilint - syntax and semantic checks of SMIv1/v2 and SPPI modules
7

SYNOPSIS

9       smilint  [ -Vhersm ] [ -c file ] [ -p module ] [ -l level ] [ -i error-
10       pattern ] module(s)
11

DESCRIPTION

13       The smilint program is used to check MIB  or  PIB  modules  for  syntax
14       errors  and  semantics  at  some degree.  SMIv1/v2 style MIB modules as
15       well as SPPI PIB modules are supported.
16
17       The rules that smilint is based on are taken from RFC  1155,  RFC  1212
18       and RFC 1215 for SMIv1, RFCs 2578-2580 for SMIv2, RFC 3159 for SPPI.
19

OPTIONS

21       -V, --version
22              Show the smilint version and exit.
23
24       -h, --help
25              Show a help text and exit.
26
27       -e, --error-list
28              Show a list of all known error messages and exit. Error messages
29              can have associated tags, shown in braces at  the  end  of  each
30              line.  The tags can be used with the -i option to ignore certain
31              error messages.
32
33       -r, --recursive
34              Report errors and warnings also for  recursively  imported  mod‐
35              ules.
36
37       -s, --severity
38              Show the error severity in brackets before error messages.
39
40       -m, --error-names
41              Show the error names in braces before error messages.
42
43       -c file, --config=file
44              Read  file  instead of any other (global and user) configuration
45              file.
46
47       -p module, --preload=module
48              Preload the module module before  reading  the  main  module(s).
49              This  may  be  helpful  if  an  incomplete main module misses to
50              import some definitions.
51
52       -l level, --level=level
53              Report errors and warnings up to the given severity level.   See
54              below  for  a description of the error levels. The default error
55              level is 3.
56
57       -i prefix, --ignore=prefix
58              Ignore all errors that have a tag which matches prefix.  A  list
59              of  error  tags  can be retrieved by calling smilint with the -e
60              option.
61
62       module(s)
63              These are the modules to be checked. If a module argument repre‐
64              sents  a path name (identified by containing at least one dot or
65              slash character), this is assumed to be the exact file to  read.
66              Otherwise,  if  a module is identified by its plain module name,
67              it is searched according to libsmi internal rules. See  smi_con‐
68              fig(3) for more details.
69

ERROR AND WARNING LEVELS

71       All  generated  error  and warning messages have an associated severity
72       level.  The actual severity levels are:
73
74       0  Internal error, no recovery possible. Examples are memory allocation
75          failures.  Errors  of  this  level  usually cause the application to
76          abort.
77
78       1  Major SMI/SPPI error, recovery somehow  possible  but  may  lead  to
79          severe  problems.  Examples  are  lexically unexpected characters or
80          unknown keywords. Errors of this  kind  usually  lead  to  follow-on
81          errors.
82
83       2  SMI/SPPI  error which is probably tolerated by some implementations.
84          Examples are MIB/PIB modules which  mix  constructs  from  different
85          SMI/SPPI versions.
86
87       3  SMI/SPPI  error  which  is likely tolerated by many implementations.
88          Examples are misplaced SMIv2 MODULE-IDENTITY  invocations  or  SMIv2
89          textual conventions derived from other textual conventions.
90
91       4  Something which is not strictly an error but which is recommended to
92          be changed. Warnings of this level are usually considered during MIB
93          reviews.
94
95       5  Something that is basically correct but might be problematic in cer‐
96          tain environments or usage scenarios.  Examples  are  warnings  that
97          identifiers  only  differ  in  case or that type definitions are not
98          used within the defining module.
99
100       6  Messages of this level are auxiliary notices. Examples are  messages
101          that point to a previous definition in case of a redefinition.
102
103       Higher  levels  are  currently not used and lead to the same effects as
104       level 6 does. Note that errors up to level 3 are errors  violating  the
105       specifications  and  must be fixed by the responsible author. The warn‐
106       ings generated with level 4 should be considered during normal  MIB/PIB
107       reviews.
108

EXAMPLE

110       This  example  checks the file RMON2-MIB in the current directory (note
111       that the `./' prefix ensures this). The error level is raised to 6  and
112       warnings  that  claim about identifier names that exceed a length of 32
113       characters are suppressed.
114
115         $ smilint -l 6 -i namelength-32 ./RMON2-MIB
116         ./RMON2-MIB:3935: unexpected type restriction
117         ./RMON2-MIB:3936: unexpected type restriction
118         ./RMON2-MIB:3937: unexpected type restriction
119         ./RMON2-MIB:3938: unexpected type restriction
120         ./RMON2-MIB:3939: unexpected type restriction
121         ./RMON2-MIB:3940: unexpected type restriction
122         ./RMON2-MIB:4164: scalar object must not have a `read-create' access value
123
124

SEE ALSO

126       The  libsmi(3)   project   is   documented   at   http://www.ibr.cs.tu-
127       bs.de/projects/libsmi/.   Other  commonly used MIB checkers are mosy(1)
128       and smicng(1).
129

AUTHORS

131       (C) 1999-2004 F. Strauss, TU Braunschweig, Germany  <strauss@ibr.cs.tu-
132       bs.de>
133       (C)    1999-2002    J.    Schoenwaelder,   TU   Braunschweig,   Germany
134       <schoenw@ibr.cs.tu-bs.de>
135       (C) 2002-2003 J. Schoenwaelder, University of Osnabrueck, Germany
136       (C) 2003-2004 J. Schoenwaelder, International University  Bremen,  Ger‐
137       many
138       (C) 2001-2002 T. Klie, TU Braunschweig, Germany <tklie@ibr.cs.tu-bs.de>
139       (C) 2002 M. Bunkus, TU Braunschweig, Germany <bunkus@ibr.cs.tu-bs.de>
140       and contributions by many other people.
141
142
143
144IBR                             August 10, 2004                     smilint(1)
Impressum