SNMP Proxy Agent

Xenadyne's SNMP Proxy Agent is a flexible protocol adapter for devices that do not support SNMP. Constructing proxy agents is fast and easy, because the Proxy Agent is extensible using Xenadyne's NEDL (Network Element Definition Language).

Using NEDL, we can define the basic syntactic elements of the native commands. For example, in the TL1 protocol, the field "aidtype" can be defined using this pattern:

BLOCK aidtype	{ REGEXP { "[^\r\n\t ,;:]+" } }

These basic syntactic elements can be composed into messages, and roles assigned to each field of the message:

REQUEST
{
    PATTERN { "RTRV-PM-<aidtype>:<tid>:<aid>:<ctag>::<montype>;" }
    ROLES   { 
        NEID                = tid
        MESSAGEID           = ctag
        RESOURCETYPE        = aidtype
        RESOURCEID          = aid
        ATTRIBUTETYPE       = montype
    }
    EXAMPLE { "RTRV-PM-OC3:GENERIC-ADM-OC3::625::CVL;" }
}

NEDL is not limited to ASCII messages - binary messages can also be defined:

BLOCK response_header
{
    BYTES   { "<synch>F1<source>" }
    ROLES   { NEID = source HEXADECIMAL }
    EXAMPLE { "F0F101" }
}

Messages are associated with attributes in device's native information model, enabling the SNMP Proxy Agent to generate the native request to fetch a desired attribute value:

COUNT CVL
{
        DESCRIPTION "Coding Violations - Line"
        ATTRIBUTETYPE "CVL"
        MESSAGES { rept-pm, rtrv-pm-attr }
}

The SNMP Proxy Agent maps native attributes to variables in the SNMP MIB, so that an SNMP GET for a variable, can be translated into a native request:

oc3-CVL OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Coding Violations - Line"
::= { oc3Entry 4}

A virtual SNMP agent is configured by specifying a few basic parameters. A single Xenadyne Proxy Agent process can be configured with hundreds of such virtual agents:

connect ADM2000-101  {
	MIB           = /etc/opt/Xenadyne/ADM2000.mib
	NEDL          = /etc/opt/Xenadyne/ADM2000.nedl
	SecurityLevel = authNoPriv
	AuthUsername  = operator
	AuthPassword  = ********
	AgentAddress  = udp:0.0.0.0:161
	DeviceAddress = tcp:192.168.17.101:23
}

Xenadyne's SNMP Proxy Agent is available off-the-shelf for a number of Unix-family operating systems, including Redhat Linux, Oracle Solaris, and Apple MacOSX. The Proxy Agent can also be delivered to other Unix, Linux or BSD variants, and also to embedded RTOSes that support POSIX APIs.

The power and flexibility of Xenadyne's NEDL technology, makes it easy to build and maintain SNMP Proxy Agents for any management interface, whether industry-standard or proprietary to a manufacturer.

Let us show you how Xenadyne's SNMP Proxy Agent can make your device (or software application) accessible to SNMP management systems. Depending on the number of MIB variables that you wish to monitor, our SNMP Proxy solution can be surprisingly quick and cost-effective. For more information, please contact us at info@xenadyne.com.