smidump(1)

πŸ’… smidump(1) β€” dump SMI or SPPI modules in various formats ✨

okay so bestie, welcome to the smidump(1) page πŸ’– β€” this is where we dump SMI or SPPI modules in a whole lil buffet of formats. No cap, it's lowkey iconic.

πŸŽ€ NAME πŸŽ€

smidump β€” dump SMI or SPPI modules in various formats. That's the whole name vibe, and yes, this is the smidump(1) manual page you're reading. 🫢

πŸ¦‹ SYNOPSIS πŸ¦‹

smidump [ -Vhqusmk ] [ -c file ] [ -o name ] [ -p module ] [ -l level ]
       [ -f format ] module(s)

🌸 DESCRIPTION 🌸

The smidump program is used to dump the contents of a single MIB or PIB module, or a collection of modules, to stdout in a selectable output format. ✨ This format may be a simple tree of nodes, types or imported modules, but also a format fully compliant to SMIv1, SMIv2, SPPI or SMIng or CORBA IDL or C source code. smidump can thus be used to convert modules from SMIv2 to SMIng and from SMIng to SMIv2, or to develop template based agent code. πŸ’…

✨ OPTIONS ✨

  • -V, --version β€” show the smidump version and exit. πŸ‘‹
  • -h, --help β€” show a help text and exit. The help text contains a list of all supported output formats, so it's basically your format menu. πŸ“
  • -c file, --config=file β€” read file instead of any other (global and user) configuration file.
  • -f format, --format=format β€” use format when dumping a module. Supported output formats are described below. The default output format is SMIng. The format argument is case insensitive. 🌈
  • -l level, --level=level β€” report errors and warnings up to the given severity level. See the smilint(1) manual page for a description of the error levels. The default error level is 3.
  • -s, --severity β€” show the error severity in brackets before error messages.
  • -m, --error-names β€” show the error names in braces before error messages.
  • -o name, --output=name β€” write the output in one or multiple files instead of stdout. The file name(s) are derived from the name argument. Not all formats support this option. πŸŽ€
  • -p module, --preload=module β€” preload the module module before reading the main module(s). This may be helpful if an incomplete main module misses to import some definitions.
  • -q, --quiet β€” suppress comments from dumped modules. What kind of information gets suppressed depends on the output format.
  • -u, --unified β€” dump a unified output in case of multiple module(s) instead of multiple concatenated output sections. This is not supported for all output formats.
  • -k, --keep-going β€” continue as much as possible after serious parse errors.
Note that the output generated after serious parse errors may be incomplete and should be used with care. 😭
  • module(s) β€” these are the module(s) to be dumped. If a module argument represents a path name (identified by containing at least one dot or slash character), this is assumed to be the exact file to read. Otherwise, if a module is identified by its plain module name, it is searched according to libsmi internal rules. See smi_config(3) for more details. 🧚

🌈 OUTPUT FORMATS 🌈

The smidump program supports the following output formats:

  • sming β€” SMIng compliant format as defined in the SMIng Internet-Draft.
  • smiv2 β€” SMIv2 compliant format as defined in RFC 2578, RFC 2579, RFC 2580.
  • smiv1 β€” SMIv2 compliant format as defined in RFC 1155, RFC 1212, RFC 1215.
  • sppi β€” SPPI compliant format as defined in RFC 3159. If the underlying module is not SPPI, there might be some mandatory information missing. 🫠
  • mosy β€” format generated by the mosy compiler.
  • imports β€” import hierarchy of a module.
  • types β€” types defined in a module.
  • tree β€” OID registration tree structure of a module.
  • metrics β€” metrics derived from a module (experimental).
  • identifiers β€” list of identifiers defined in a module.
  • compliances β€” compliance definitions with all included objects and notifications.
  • corba β€” CORBA IDL and OID definitions following the JIDM specification translation rules.
  • netsnmp β€” C source code files for usage within the net-snmp package (experimental).
  • scli β€” ANSI C manager stubs for usage within the scli package (experimental).
  • cm β€” reverse engineered conceptual model in DIA XML file format (experimental).
  • svg β€” SVG diagram of a module (experimental). Use with -u when dumping multiple modules.
  • jax β€” Java AgentX sub-agent classes in separate files (experimental).
  • perl β€” Perl represention of the MIB module (contributed by Martin Schulz <schulz@videotron.ca>).
  • python β€” Python dictionaries represention of the MIB module (contributed by Pat Knight <pat@ktgroup.co.uk>).
  • xml β€” SMI in XML format (experimental).
  • xsd β€” SMI in XML schema format (experimental).
  • sizes β€” SNMP best case / worst case RFC 3416 PDU sizes for typical PDUs excluding SNMP message and transport headers (experimental).

πŸ“ EXAMPLE πŸ“

This example converts the SMIv2 module IF-MIB in the current directory to IF-MIB.sming in SMIng format. Note that the ./ prefix is used to ensure reading the module from the current directory and not from a place that libsmi guesses on its own.

$ smidump -f sming ./IF-MIB > IF-MIB.sming

πŸ¦‹ SEE ALSO πŸ¦‹

πŸ‘‘ AUTHORS πŸ‘‘

Shoutout to the legends who made this happen:

  • (C) 1999-2004 F. Strauss, TU Braunschweig, Germany <strauss@ibr.cs.tu-bs.de>
  • (C) 1999-2002 J. Schoenwaelder, TU Braunschweig, Germany <schoenw@ibr.cs.tu-bs.de>
  • (C) 2002-2003 J. Schoenwaelder, University of Osnabrueck, Germany
  • (C) 2003-2004 J. Schoenwaelder, International University Bremen, Germany
  • (C) 2001-2002 T. Klie, TU Braunschweig, Germany <tklie@ibr.cs.tu-bs.de>
  • (C) 2002 M. Bunkus, TU Braunschweig, Germany <bunkus@ibr.cs.tu-bs.de>

and contributions by many other people. πŸ’œ


mwah πŸ’– β€” SMI Tools / IBR, dated August 10, 2004, and this has been the smidump(1) manual. Now go dump some modules, bestie! 🫢✨

πŸ“¦ where this page comes from