SNMP Agent Studio for Embedded Linux & RTOS
download eval of Visual Embedded xAgentBuilder 9 for C++
The C++ SNMP Agent Studio for Embedded OS / RTOS consists of NuDesign products that allows developers to create 32bit or 64bit Multiprotocol SNMP Agents, supporting SNMP v1/v2c or v1/v2c/v3, with simple CLI, development console access (serial, Telnet or SSH) and optionally HTTP access to the management objects.
The SNMP Agent built with this tool can be simple, monolithic exe running in one thread or SNMP Master Agent with Remote Subagents supporting multithreading architecture. Two Remote Subagent protocols are supported, a lightweight Remote Subagent based on UDP communications and SNMP BER encoding, or the TCP communications based, IETF Agent Extensibility (AgentX) standard Subagent, based on rfc2741. The SNMP standard over IPv6 / IPv4 networks is fully supported.
The front-end work is performed on Windows host, using NuDesign’s Visual Embedded xAgentBuilder for C++ tool (or using NuDesign’s command line utility under Linux).
The back-end work is performed under the target’s compiler / debugger IDE development environment.
Figure 1. Overview of Visual Embedded xAgentBuilder for C++
The developer, after having designed a MIB (for example using NuDesign’s Visual MIBuilder) generates a complete agent project for a Multiprotocol SNMP Agent using NuDesign’s Visual Embedded xAgentBuilder for C++, SNMP Agent code builder. This tool comes in the form of a wizard that is run within Microsoft’s Internet Explorer, under Windows 8/8.1 / 7 / Vista / XP / Server 2008 & 2003 (or as a NuDesign’s command line utility under Linux).
In fact, the developer can first build and pre-tests a fully running agent under MS Windows’ Visual Studio (using Visual xAgentBuilder for C++ code generation wizard). Once Windows based development is completed a developer can move the agent project into Visual Embedded xAgentBuilder for C++ wizard (hosted under Windows IE), using “Load Settings” option and then re-building the agent project for his embedded RTOS IDE environment.
The agent can be tested using appropriate management application (for example NuDesign’s Visual MIB Browser for SNMP access or regular web browser for HTTP access).
The C++ SNMP Agent Studio for Embedded Linux & RTOS contains complete source code (protocol libraries for SNMP v1/v2c or v1/v2c/v3, optionally HTTP and simple CLI, development console access, include files, utilities, MIB-II subagent) that was built using Standard ANSI C/C++ libraries, with a focus on portability to numerous embedded environments.
If you are instrumenting in C (versus full C++ implementation) you can simply call C code (your code) from our C++ framework and link in the libraries without any issues. If you need to call some of our C++ classes (for example Persistent Storage) from your C code then you need to create C callable interface function to wizard generated C++ framework. This code is supplied to you by NuDesign as well.
Embedded CLI access requires that the developer provides a serial / telnet interface and command line driven user application on top of automatically generated Get/Set MIB object service layer.
If you need to port NuDesign’s libraries to your own RTOS environment then the following work needs to be done, above the usual MIB objects instrumentation:>
- The generic socket interface to communication layer needs to be adjusted for specifics of the embedded communications stack interface.
- Multi threading / multi tasking / synchronization model needs to be adjusted for the specifics of the embedded OS / RTOS.
- A non-volatile interface for ‘agent configuration’ storage needs to be implemented / mapped into the OS / RTOS services.
- A security model (Open SSL code is supplied) needs to be decided upon for v3 operations.
The services that need adjustment are contained in separate, documented modules. The C++ SNMP Agent Studio for Embedded Linux & RTOS contains all libraries in a source code format to facilitate the porting task. The developer needs to decide which protocol (SNMPv1/v2, SNMPv3 and / or HTTP) will be used for access to the management information. Please note that each package contains the simple CLI, development console access services API, in addition to the main (SNMP and HTTP) access protocol libraries. If full feature, hierarchical CLI is required then NuDesign’s CLI Builder Studio for Embedded Linux & RTOS tool can be used to generate appropriate CLI application with comprehensive set of configuration and operational modes and commands.
We also offer an economical and well supported embedded SNMP agent alternative for existing SNMP legacy environments. If you need to upgrade your existing agent to multilingual SNMPv3 Agent, add web access to your product or are expanding your product line and are constrained by previous licensing terms please give us a call. Our agent core and back-end interfaces will preserve your existing instrumentation while greatly simplifying the build process.
NuDesign’s SNMP Agent Studio products generate agent code with SNMP v1/v2c, SNMP v1/v2c/v3, HTTP and simple CLI, development console access including generation of Project Files (source code, headers and Make files) for respective IDE’s for these environments:
- MS Windows & Windows Embedded – Visual Studio
- QNX Neutrino® – Momentics IDE
- Desktop & Embedded Linux distributions – GNU Make files
- MontaVista Linux – DevRocket IDE
- SnapGear / uCLinux Linux distributions – GNU Make files
- ENEA OSE – ENEA development environment
- WindRiver VxWorks – Tornado and Eclipse IDE
- other embedded and desktop OS/RTOS targets
For a more detailed understanding of our Multiprotocol SNMP Agent and our SNMP Agent Development Tools please read here. To obtain the latest target platform support availability information, please contact us.