Logo
Home page Net-SNMP

Archive Search:

Require all words?

Site Search:
Google
Main Page | Modules | Data Structures | File List | Data Fields | Related Pages | Examples

Trap generation routines for mib modules to use
[The Net-SNMP agent]


Data Structures

struct   trap_sink

Defines

#define  SNMPV2_TRAPS_PREFIX   SNMP_OID_SNMPMODULES,1,1,5
#define  SNMPV2_TRAP_OBJS_PREFIX   SNMP_OID_SNMPMODULES,1,1,4
#define  SNMPV2_COMM_OBJS_PREFIX   SNMP_OID_SNMPMODULES,18,1
#define  SNMP_AUTHENTICATED_TRAPS_ENABLED   1
#define  SNMP_AUTHENTICATED_TRAPS_DISABLED   2
#define  MAX_ARGS   128

Functions

void  init_traps (void)
int  add_trap_session (netsnmp_session *ss, int pdutype, int confirm, int version)
int  remove_trap_session (netsnmp_session *ss)
int  create_trap_session (char *sink, u_short sinkport, char *com, int version, int pdutype)
void  snmpd_free_trapsinks (void)
  This function allows you to make a distinction between generic traps from different classes of equipment.
netsnmp_pdu convert_v2pdu_to_v1 (netsnmp_pdu *template_v2pdu)
netsnmp_pdu convert_v1pdu_to_v2 (netsnmp_pdu *template_v1pdu)
int  netsnmp_send_traps (int trap, int specific, oid *enterprise, int enterprise_length, netsnmp_variable_list *vars, char *context, int flags)
void  send_enterprise_trap_vars (int trap, int specific, oid *enterprise, int enterprise_length, netsnmp_variable_list *vars)
int  handle_inform_response (int op, netsnmp_session *session, int reqid, netsnmp_pdu *pdu, void *magic)
  Captures responses or the lack there of from INFORMs that were sent 1) a response is received from an INFORM 2) one isn't received and the retries/timeouts have failed.
void  send_trap_to_sess (netsnmp_session *sess, netsnmp_pdu *template_pdu)
void  send_trap_vars (int trap, int specific, netsnmp_variable_list *vars)
void  send_easy_trap (int trap, int specific)
  Sends an SNMPv1 trap (or the SNMPv2 equivalent) to the list of configured trap destinations (or "sinks"), using the provided values for the generic trap type and specific trap value.
void  send_v2trap (netsnmp_variable_list *vars)
  Uses the supplied list of variable bindings to form an SNMPv2 trap, which is sent to SNMPv2-capable sinks on the configured list.
void  send_trap_pdu (netsnmp_pdu *pdu)
void  snmpd_parse_config_authtrap (const char *token, char *cptr)
void  snmpd_parse_config_trapsink (const char *token, char *cptr)
void  snmpd_parse_config_trap2sink (const char *word, char *cptr)
void  snmpd_parse_config_informsink (const char *word, char *cptr)
void  snmpd_parse_config_trapsess (const char *word, char *cptr)
void  snmpd_parse_config_trapcommunity (const char *word, char *cptr)
void  snmpd_free_trapcommunity (void)

Variables

trap_sink *  sinks = NULL
timeval  starttime
oid  objid_enterprisetrap [] = { NOTIFICATION_MIB }
oid  trap_version_id [] = { SYSTEM_MIB }
int  enterprisetrap_len
int  trap_version_id_len
oid  trap_prefix [] = { SNMPV2_TRAPS_PREFIX }
oid  cold_start_oid [] = { SNMPV2_TRAPS_PREFIX, 1 }
oid  warm_start_oid [] = { SNMPV2_TRAPS_PREFIX, 2 }
oid  link_down_oid [] = { SNMPV2_TRAPS_PREFIX, 3 }
oid  link_up_oid [] = { SNMPV2_TRAPS_PREFIX, 4 }
oid  auth_fail_oid [] = { SNMPV2_TRAPS_PREFIX, 5 }
oid  egp_xxx_oid [] = { SNMPV2_TRAPS_PREFIX, 99 }
oid  snmptrap_oid [] = { SNMPV2_TRAP_OBJS_PREFIX, 1, 0 }
oid  snmptrapenterprise_oid []
oid  sysuptime_oid [] = { SNMP_OID_MIB2, 1, 3, 0 }
size_t  snmptrap_oid_len
size_t  snmptrapenterprise_oid_len
size_t  sysuptime_oid_len
oid  agentaddr_oid [] = { SNMPV2_COMM_OBJS_PREFIX, 3, 0 }
size_t  agentaddr_oid_len
oid  community_oid [] = { SNMPV2_COMM_OBJS_PREFIX, 4, 0 }
size_t  community_oid_len
char *  snmp_trapcommunity = NULL
int  snmp_enableauthentraps = SNMP_AUTHENTICATED_TRAPS_DISABLED
int  snmp_enableauthentrapsset = 0

Function Documentation

int handle_inform_response int  op,
netsnmp_session session,
int  reqid,
netsnmp_pdu pdu,
void *  magic
 

Captures responses or the lack there of from INFORMs that were sent 1) a response is received from an INFORM 2) one isn't received and the retries/timeouts have failed.

Definition at line 809 of file agent_trap.c.

void send_easy_trap int  trap,
int  specific
 

Sends an SNMPv1 trap (or the SNMPv2 equivalent) to the list of configured trap destinations (or "sinks"), using the provided values for the generic trap type and specific trap value.

This function eventually calls send_enterprise_trap_vars. If the trap type is not set to SNMP_TRAP_ENTERPRISESPECIFIC the enterprise and enterprise_length paramater is set to the pre defined SYSTEM_MIB oid and length respectively. If the trap type is set to SNMP_TRAP_ENTERPRISESPECIFIC the enterprise and enterprise_length parameters are set to the pre-defined NOTIFICATION_MIB oid and length respectively.

Parameters:
trap  is the generic trap type.
specific  is the specific trap value.
Returns:
void
See also:
send_enterprise_trap_vars

send_v2trap

Definition at line 923 of file agent_trap.c.

Referenced by handle_snmp_packet().

void send_v2trap netsnmp_variable_list vars  ) 
 

Uses the supplied list of variable bindings to form an SNMPv2 trap, which is sent to SNMPv2-capable sinks on the configured list.

An equivalent INFORM is sent to the configured list of inform sinks. Sinks that can only handle SNMPv1 traps are skipped.

This function eventually calls send_enterprise_trap_vars. If the trap type is not set to SNMP_TRAP_ENTERPRISESPECIFIC the enterprise and enterprise_length paramater is set to the pre defined SYSTEM_MIB oid and length respectively. If the trap type is set to SNMP_TRAP_ENTERPRISESPECIFIC the enterprise and enterprise_length parameters are set to the pre-defined NOTIFICATION_MIB oid and length respectively.

Parameters:
vars  is used to supply list of variable bindings to form an SNMPv2 trap.
Returns:
void
See also:
send_easy_trap

send_enterprise_trap_vars

Examples:
notification.c.

Definition at line 952 of file agent_trap.c.

void snmpd_free_trapsinks void   ) 
 

This function allows you to make a distinction between generic traps from different classes of equipment.

For example, you may want to handle a SNMP_TRAP_LINKDOWN trap for a particular device in a different manner to a generic system SNMP_TRAP_LINKDOWN trap.

Parameters:
trap  is the generic trap type. The trap types are:
  • SNMP_TRAP_COLDSTART: cold start
  • SNMP_TRAP_WARMSTART: warm start
  • SNMP_TRAP_LINKDOWN: link down
  • SNMP_TRAP_LINKUP: link up
  • SNMP_TRAP_AUTHFAIL: authentication failure
  • SNMP_TRAP_EGPNEIGHBORLOSS: egp neighbor loss
  • SNMP_TRAP_ENTERPRISESPECIFIC: enterprise specific
specific  is the specific trap value.
enterprise  is an enterprise oid in which you want to send specifc traps from.
enterprise_length  is the length of the enterprise oid, use macro, OID_LENGTH, to compute length.
vars  is used to supply list of variable bindings to form an SNMPv2 trap.
Returns:
void
See also:
send_easy_trap

send_v2trap

Definition at line 349 of file agent_trap.c.

References snmp_session::next.


Variable Documentation

oid snmptrapenterprise_oid[]
 

Initial value:

    { SNMPV2_TRAP_OBJS_PREFIX, 3, 0 }

Definition at line 98 of file agent_trap.c.


Generated on Fri Dec 30 13:47:54 2005 for net-snmp by  doxygen 1.3.9.1

Valid CSS!


Last modified: Thursday, 01-Mar-2007 16:20:05 PST
For questions regarding web content and site functionality, please write to the net-snmp-users mail list.