The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Special Forums > IP Networking
Google UNIX.COM
Home Forums Register Rules & FAQ Members List Arcade Search Today's Posts Mark Forums Read


IP Networking Questions involving TCP/IP, Routers, Hubs, Network protocols, etc go here.


Other UNIX.COM Threads You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
snmp ... mib2c.scalar.conf, how manipulate variables zainab IP Networking 0 04-11-2008 09:51 PM
Ftp all the generated files im_new Shell Programming and Scripting 3 12-22-2007 02:46 AM
get the last generated log file ragha81 Shell Programming and Scripting 8 12-19-2006 07:02 AM
generated CSV file on AIX mpang_ Shell Programming and Scripting 0 09-05-2006 08:01 PM
How to FTP a file generated at UNIX Box to NT Box Ruchir UNIX for Advanced & Expert Users 2 08-11-2005 02:55 AM

Reply
 
Submit Tools LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 04-07-2008
Registered User
 

Join Date: Apr 2008
Posts: 6
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiReddit! Stumble this Post!Spurl this Post!
Unhappy snmp,how to edit code generated by mib2c?

Hi,

I'm reading net-snmp site, using C language and unix environment, I have manager ( do get/set command), agent and server ... I'm trying to monitor cpu, memory and disk usage and get Ip address of server and send the value back to agent, stored in variable which enable manager to gets the value through get command...


- if I use mib2c -c mib2c.int_watch.conf myMIB ( I provide a sample code at the end of this message):
it declare the variables as integers (same managed object in myMIB, e.g: example1: in the provided code), how can I manipulate the variable outside of SNMP gets/sets ? ( example1= 20, will not change the value of example1 that seen by the manager).

-If I use mib2c -c mib2c.scalar.conf myMIB
It declare no variables just provide handler function ... how to edit the handler and change value of managed object if it is not declared?

Thanks in advance ..

----------------------------------------------

Code example: (mib2c -c mib2c.int_watch.conf myMIB)
This example creates some scalar registrations that allows some simple variables to be accessed via SNMP. In a more realistic example, it is likely that these variables would also be manipulated in other ways outside of SNMP gets/sets.
If this module is compiled into an agent, you should be able to issue snmp commands that look something like (authentication information not shown in these commands):

snmpget localhost netSnmpExampleInteger.0
netSnmpExampleScalars = 42
snmpset localhost netSnmpExampleInteger.0 = 1234
netSnmpExampleScalars = 1234
snmpget localhost netSnmpExampleInteger.0
netSnmpExampleScalars = 1234
/*
* start be including the appropriate header files
*/
#include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-includes.h>
#include <net-snmp/agent/net-snmp-agent-includes.h>

/*
* Then, we declare the variables we want to be accessed
*/
static int example1 = 42; /* default value */

/*
* our initialization routine, automatically called by the agent
* (to get called, the function name must match init_FILENAME())
*/
void
init_scalar_int(void)
{
/*
* the OID we want to register our integer at. This should be a
* fully qualified instance. In our case, it's a scalar at:
* NET-SNMP-EXAMPLES-MIB::netSnmpExampleInteger.0 (note the
* trailing 0 which is required for any instantiation of any
* scalar object)
*/
oid my_registration_oid[] =
{ 1, 3, 6, 1, 4, 1, 8072, 2, 1, 1, 0 };

/*
* a debugging statement. Run the agent with -Dexample_scalar_int to see
* the output of this debugging statement.
*/
DEBUGMSGTL(("example_scalar_int",
"Initalizing example scalar int. Default value = %d\n",
example1));

/*
* the line below registers our "example1" variable above as
* accessible and makes it writable. A read only version of the
* same registration would merely call
* register_read_only_int_instance() instead.
*
* If we wanted a callback when the value was retrieved or set
* (even though the details of doing this are handled for you),
* you could change the NULL pointer below to a valid handler
* function.
*/
netsnmp_register_int_instance("my example int variable",
my_registration_oid,
OID_LENGTH(my_registration_oid),
&example1, NULL);

DEBUGMSGTL(("example_scalar_int",
"Done initalizing example scalar int\n"));
}
Reply With Quote
Google UNIX.COM
Forum Sponsor
Reply



Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -7. The time now is 03:20 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008 The CEP Blog All Rights Reserved -Ad Management by RedTyger

Search Engine Optimization by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102