Wiki source code of Simulate the MIB in AgenPro
Last modified by Frank Fock on 2024/05/25 11:32
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | This page describes how AgenPro can be used to simulate MIB modules for: | ||
2 | |||
3 | * verifying the design of the MIB module(s) | ||
4 | * finding out how to best manage devices implementing the simulated MIB module(s) | ||
5 | * providing a mocku-up of a real device while its implementation is not ready yet. | ||
6 | |||
7 | == How-To Simulate MIB Modules with AgenPro == | ||
8 | |||
9 | After having installed AgenPro: | ||
10 | |||
11 | 1. ((( | ||
12 | Run AgenPro (make sure that the MIB repository that comes with AgenPro is installed and if not set with File>Set Repository. | ||
13 | |||
14 | |||
15 | {{success title="Reuse MIB Repository of MIB Designer"}} | ||
16 | If you have created your own MIB module(s) with MIB Designer you can directly use the MIB Designer installation's MIB repository. Simply switch to that repository with File>Set Repository and select the repository directory used by MIB Designer. | ||
17 | {{/success}} | ||
18 | |||
19 | |||
20 | ))) | ||
21 | 1. ((( | ||
22 | Compile the MIB module(s) to simulate with File>Compile New MIBs. //Skip this step if you are reusing a MIB repository that already contains the MIB modules you want to simulate. | ||
23 | [[image:https://doc.snmp.app/download/attachments/11993098/sc_tutorial_agen_compile_new_mibs.png?version=1&modificationDate=1459366161066&api=v2||width="500"]]// | ||
24 | |||
25 | |||
26 | AgenPro Sorts MIB Files | ||
27 | |||
28 | AgenPro and any other AGENT++ tool sorts MIB files by their import dependencies before compiling them. Sorting can be applied only on multiple MIB files. All dependencies of a MIB file compiled as single file must be available within the currently selected MIB repository. Otherwise compilation fails with an "unresolved IMPORT dependency" error. | ||
29 | |||
30 | To compile several MIB modules at once, | ||
31 | (a) open a ZIP file with MIB (text) files therein | ||
32 | (b) open a directory that contains MIB (text) files. | ||
33 | ))) | ||
34 | 1. Open the compiled MIB modules (i.e. load them into AgenPro from the repository) by using File->Open/Close MIB: Shuffle all the modules you want to simulate into the right list, in order to load them: | ||
35 | [[image:https://doc.snmp.app/download/attachments/11993098/sc_tutorial_agen_load-mib.png?version=1&modificationDate=1459366663580&api=v2||width="500"]] | ||
36 | |||
37 | 1. Open an existing code generation project depending on the target programming language with Project->Open. | ||
38 | //If you only want to simulate MIB modules, the code generation templates you choose are not relevant and can be left empty, but you need to define a project though. | ||
39 | [[image:https://doc.snmp.app/download/attachments/11993098/sc_tutorial_agen_open_project.png?version=1&modificationDate=1459371561399&api=v2||width="500"]]// | ||
40 | |||
41 | 1. ((( | ||
42 | Edit the project using the Project Wizard with Project->Edit. | ||
43 | For simulation of a SNMP agent, the first two steps are not relevant. | ||
44 | |||
45 | 1. In step (1) specify the root directories for template and in-/output paths (you will need those paths for being able to actually generate code) | ||
46 | [[image:https://doc.snmp.app/download/attachments/11993098/sc_tutorial_agen_project-wizard-1.png?version=2&modificationDate=1459511581397&api=v2||width="500"]] | ||
47 | \\ | ||
48 | 1. In step (2) specify additional properties for the code generation jobs (not relevant for simulation): | ||
49 | [[image:https://doc.snmp.app/download/attachments/11993098/sc_tutorial_agen_project-wizard-2.png?version=2&modificationDate=1459511581530&api=v2||width="500"]] | ||
50 | |||
51 | 1. In step (3) you can specify an AGENT-CAPABILITIES. Often an AGENT-CAPABILITIES statement providing a detailed description of the agent capabilitiies (i.e. support MIB modules and objects) does not exist. Only if such a statement is contained in the **loaded** MIB modules, then you cannot select such a statement and use it for defining the MIB modules/objects of the agent. The below screenshot shows the case when there is no such AGENT-CAPABILITIES statement available: | ||
52 | [[image:https://doc.snmp.app/download/attachments/11993098/sc_tutorial_agen_project-wizard-3.png?version=1&modificationDate=1459374511315&api=v2||width="500"]] | ||
53 | 1. In step (4) you **specify the MIB modules** for which code should be generated. In addition, when running the simulation agent, **only those MIB modules will be simulated which are selected here** for processing (or by the AGENT-CAPABILITIES statement from step 3): | ||
54 | [[image:https://doc.snmp.app/download/attachments/11993098/sc_tutorial_agen_project-wizard-4.png?version=1&modificationDate=1459374737289&api=v2||width="500"]] | ||
55 | ))) | ||
56 | 1. Configure the simulation agent parameters on the Agent tab. The minimum settings are the local IP address (0.0.0.0 should be fine in most cases) and the port: | ||
57 | [[image:https://doc.snmp.app/download/attachments/11993098/sc_tutorial_agen_agent-parameters.png?version=1&modificationDate=1459375721001&api=v2||width="500"]] | ||
58 | 1. ((( | ||
59 | Run the simulation agent with Agent->Run Agent. | ||
60 | The Start button of the agent panel is shown as "pressed". | ||
61 | |||
62 | |||
63 | Inspect the Log panel | ||
64 | |||
65 | The Log tab shows details about the agent start. For example you can find which objects from the source modules are simulated: | ||
66 | |||
67 | [[image:https://doc.snmp.app/download/attachments/11993098/sc_tutorial_agen_agent-log.png?version=1&modificationDate=1459376139101&api=v2||width="500"]] | ||
68 | |||
69 | |||
70 | ))) |