SNMP MIB Implementation
Jump to navigation
Jump to search
This wiki describe how to generate a MIB (Management Information Base) for SNMP agent.
Contents
Steps
- Create a Microchip Custom MIB script snmp.mib (an ASCII text file) for the tree structure.
- Create a ASN.1 MIB script foo.mib (an ASCII text file) for the tree structure.
- Convert foo.mib to binary file using mib2bin
- Build snmp's PDU use BER (Base encoding rules) encoder and decoder library to process data that's transfer between NMS and agents.
- Build snmp API use uIP-stack to communicate between NMS and Agents (open two ports: The manager speak to agents on one port, the agent responds manager on the other port).
- Build binary MIB file reader library.
- Build functions service oid tree.
- Merge MIB ANS.1 file to NMS.
Create Microchip Custom MIB Script
- Any tutorial to create this file?
Create ASN.1 MIB Script
- Build MIB file's written in ANS.1 notation.
- Any tutorial to create this file?
Abstract Syntax Notation
- Each MIB variable contains several attributes, such as data type, access type and object identifier.
- Abstract Syntax Notation version 1 (ASN.1) is a language to define these attributes in SNMP.
Convert MIB to Binary File
MIB compiler tools: mib2bin mchip.mib (ANS.1 format) -----------------------------------> foo.bin + foo.h + foo_data.h
- mib2bin tool is modified from net-snmp to convert ASN.1 format file to three files:
- Binary file (foo.bin) storing information of OID tree. This file can be placed on an SD media card to be read by the FAT16 file system.
- C header file (foo_data_h) storing information of OID tree. This file is generated by converting mchip.bin file to the C header file. It's only used when a system don't have system file and place on program memory.
- C header file (foo.h) storing ID that's reference to function service of OID.
How to use
- Syntax to use mib2bin tool:
mib2bin <MIBfile>... where: MIBfile file is ASN.1 format file. MIBfile = <name>.<type>
- mib2bin tool will create three files:
- <name>.bin is the binary file.
- <name>_data.h is C header file store OID tree.
- <name>.h is C header file. (The file store Ids).
- Note:
- Subfolder mibs containing the basics MIB files (e.g.: RFC1155-SMI, RFC1213-MIB, RFC-1215, SNMPv2-MIB ... for us MIB file), must be present under the directory of execution.
- If the three files exist, mib2bin tool will overwrite the files.
- Example:
mib2bin mchip.txt mib2bin will generate three files: mchip.bin, mchip_data.h and mchip.h