netsnmp_agent_trap.3
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:9k
源码类别:

SNMP编程

开发平台:

Unix_Linux

  1. .TH "Trap generation routines for mib modules to use" 3 "28 Nov 2005" "Version 5.2.1.rc3" "net-snmp" " -*- nroff -*-
  2. .ad l
  3. .nh
  4. .SH NAME
  5. Trap generation routines for mib modules to use - 
  6. .SS "Data Structures"
  7. .in +1c
  8. .ti -1c
  9. .RI "struct fBtrap_sinkfP"
  10. .br
  11. .in -1c
  12. .SS "Defines"
  13. .in +1c
  14. .ti -1c
  15. .RI "#define fBSNMPV2_TRAPS_PREFIXfP   SNMP_OID_SNMPMODULES,1,1,5"
  16. .br
  17. .ti -1c
  18. .RI "#define fBSNMPV2_TRAP_OBJS_PREFIXfP   SNMP_OID_SNMPMODULES,1,1,4"
  19. .br
  20. .ti -1c
  21. .RI "#define fBSNMPV2_COMM_OBJS_PREFIXfP   SNMP_OID_SNMPMODULES,18,1"
  22. .br
  23. .ti -1c
  24. .RI "#define fBSNMP_AUTHENTICATED_TRAPS_ENABLEDfP   1"
  25. .br
  26. .ti -1c
  27. .RI "#define fBSNMP_AUTHENTICATED_TRAPS_DISABLEDfP   2"
  28. .br
  29. .ti -1c
  30. .RI "#define fBMAX_ARGSfP   128"
  31. .br
  32. .in -1c
  33. .SS "Functions"
  34. .in +1c
  35. .ti -1c
  36. .RI "void fBinit_trapsfP (void)"
  37. .br
  38. .ti -1c
  39. .RI "int fBadd_trap_sessionfP (fBnetsnmp_sessionfP *ss, int pdutype, int confirm, int version)"
  40. .br
  41. .ti -1c
  42. .RI "int fBremove_trap_sessionfP (fBnetsnmp_sessionfP *ss)"
  43. .br
  44. .ti -1c
  45. .RI "int fBcreate_trap_sessionfP (char *sink, u_short sinkport, char *com, int version, int pdutype)"
  46. .br
  47. .ti -1c
  48. .RI "void fBsnmpd_free_trapsinksfP (void)"
  49. .br
  50. .RI "fIThis function allows you to make a distinction between generic traps from different classes of equipment. fP"
  51. .ti -1c
  52. .RI "fBnetsnmp_variable_listfP * fBfind_varbind_in_listfP (fBnetsnmp_variable_listfP *vblist, oid *name, size_t len)"
  53. .br
  54. .ti -1c
  55. .RI "fBnetsnmp_pdufP * fBconvert_v2pdu_to_v1fP (fBnetsnmp_pdufP *template_v2pdu)"
  56. .br
  57. .ti -1c
  58. .RI "fBnetsnmp_pdufP * fBconvert_v1pdu_to_v2fP (fBnetsnmp_pdufP *template_v1pdu)"
  59. .br
  60. .ti -1c
  61. .RI "int fBnetsnmp_send_trapsfP (int trap, int specific, oid *enterprise, int enterprise_length, fBnetsnmp_variable_listfP *vars, char *context, int flags)"
  62. .br
  63. .ti -1c
  64. .RI "void fBsend_enterprise_trap_varsfP (int trap, int specific, oid *enterprise, int enterprise_length, fBnetsnmp_variable_listfP *vars)"
  65. .br
  66. .ti -1c
  67. .RI "int fBhandle_inform_responsefP (int op, fBnetsnmp_sessionfP *session, int reqid, fBnetsnmp_pdufP *pdu, void *magic)"
  68. .br
  69. .RI "fICaptures 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. fP"
  70. .ti -1c
  71. .RI "void fBsend_trap_to_sessfP (fBnetsnmp_sessionfP *sess, fBnetsnmp_pdufP *template_pdu)"
  72. .br
  73. .ti -1c
  74. .RI "void fBsend_trap_varsfP (int trap, int specific, fBnetsnmp_variable_listfP *vars)"
  75. .br
  76. .ti -1c
  77. .RI "void fBsend_easy_trapfP (int trap, int specific)"
  78. .br
  79. .RI "fISends 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. fP"
  80. .ti -1c
  81. .RI "void fBsend_v2trapfP (fBnetsnmp_variable_listfP *vars)"
  82. .br
  83. .RI "fIUses the supplied list of variable bindings to form an SNMPv2 trap, which is sent to SNMPv2-capable sinks on the configured list. fP"
  84. .ti -1c
  85. .RI "void fBsend_trap_pdufP (fBnetsnmp_pdufP *pdu)"
  86. .br
  87. .ti -1c
  88. .RI "void fBsnmpd_parse_config_authtrapfP (const char *token, char *cptr)"
  89. .br
  90. .ti -1c
  91. .RI "void fBsnmpd_parse_config_trapsinkfP (const char *token, char *cptr)"
  92. .br
  93. .ti -1c
  94. .RI "void fBsnmpd_parse_config_trap2sinkfP (const char *word, char *cptr)"
  95. .br
  96. .ti -1c
  97. .RI "void fBsnmpd_parse_config_informsinkfP (const char *word, char *cptr)"
  98. .br
  99. .ti -1c
  100. .RI "void fBsnmpd_parse_config_trapsessfP (const char *word, char *cptr)"
  101. .br
  102. .ti -1c
  103. .RI "void fBsnmpd_parse_config_trapcommunityfP (const char *word, char *cptr)"
  104. .br
  105. .ti -1c
  106. .RI "void fBsnmpd_free_trapcommunityfP (void)"
  107. .br
  108. .in -1c
  109. .SS "Variables"
  110. .in +1c
  111. .ti -1c
  112. .RI "fBtrap_sinkfP * fBsinksfP = NULL"
  113. .br
  114. .ti -1c
  115. .RI "timeval fBstarttimefP"
  116. .br
  117. .ti -1c
  118. .RI "oid fBobjid_enterprisetrapfP [] = { NOTIFICATION_MIB }"
  119. .br
  120. .ti -1c
  121. .RI "oid fBtrap_version_idfP [] = { SYSTEM_MIB }"
  122. .br
  123. .ti -1c
  124. .RI "int fBenterprisetrap_lenfP"
  125. .br
  126. .ti -1c
  127. .RI "int fBtrap_version_id_lenfP"
  128. .br
  129. .ti -1c
  130. .RI "oid fBtrap_prefixfP [] = { SNMPV2_TRAPS_PREFIX }"
  131. .br
  132. .ti -1c
  133. .RI "oid fBcold_start_oidfP [] = { SNMPV2_TRAPS_PREFIX, 1 }"
  134. .br
  135. .ti -1c
  136. .RI "oid fBwarm_start_oidfP [] = { SNMPV2_TRAPS_PREFIX, 2 }"
  137. .br
  138. .ti -1c
  139. .RI "oid fBlink_down_oidfP [] = { SNMPV2_TRAPS_PREFIX, 3 }"
  140. .br
  141. .ti -1c
  142. .RI "oid fBlink_up_oidfP [] = { SNMPV2_TRAPS_PREFIX, 4 }"
  143. .br
  144. .ti -1c
  145. .RI "oid fBauth_fail_oidfP [] = { SNMPV2_TRAPS_PREFIX, 5 }"
  146. .br
  147. .ti -1c
  148. .RI "oid fBegp_xxx_oidfP [] = { SNMPV2_TRAPS_PREFIX, 99 }"
  149. .br
  150. .ti -1c
  151. .RI "oid fBsnmptrap_oidfP [] = { SNMPV2_TRAP_OBJS_PREFIX, 1, 0 }"
  152. .br
  153. .ti -1c
  154. .RI "oid fBsnmptrapenterprise_oidfP []"
  155. .br
  156. .ti -1c
  157. .RI "oid fBsysuptime_oidfP [] = { SNMP_OID_MIB2, 1, 3, 0 }"
  158. .br
  159. .ti -1c
  160. .RI "size_t fBsnmptrap_oid_lenfP"
  161. .br
  162. .ti -1c
  163. .RI "size_t fBsnmptrapenterprise_oid_lenfP"
  164. .br
  165. .ti -1c
  166. .RI "size_t fBsysuptime_oid_lenfP"
  167. .br
  168. .ti -1c
  169. .RI "oid fBagentaddr_oidfP [] = { SNMPV2_COMM_OBJS_PREFIX, 3, 0 }"
  170. .br
  171. .ti -1c
  172. .RI "size_t fBagentaddr_oid_lenfP"
  173. .br
  174. .ti -1c
  175. .RI "oid fBcommunity_oidfP [] = { SNMPV2_COMM_OBJS_PREFIX, 4, 0 }"
  176. .br
  177. .ti -1c
  178. .RI "size_t fBcommunity_oid_lenfP"
  179. .br
  180. .ti -1c
  181. .RI "char * fBsnmp_trapcommunityfP = NULL"
  182. .br
  183. .ti -1c
  184. .RI "int fBsnmp_enableauthentrapsfP = SNMP_AUTHENTICATED_TRAPS_DISABLED"
  185. .br
  186. .ti -1c
  187. .RI "int fBsnmp_enableauthentrapssetfP = 0"
  188. .br
  189. .in -1c
  190. .SH "Function Documentation"
  191. .PP 
  192. .SS "int handle_inform_response (int op, fBnetsnmp_sessionfP * session, int reqid, fBnetsnmp_pdufP * pdu, void * magic)"
  193. .PP
  194. 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. 
  195. .PP
  196. Definition at line 827 of file agent_trap.c.
  197. .PP
  198. References snmp_increment_statistic().
  199. .PP
  200. Referenced by send_trap_to_sess().
  201. .SS "void send_easy_trap (int trap, int specific)"
  202. .PP
  203. 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. 
  204. .PP
  205. 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.
  206. .PP
  207. fBParameters:fP
  208. .RS 4
  209. fItrapfP is the generic trap type.
  210. .br
  211. fIspecificfP is the specific trap value.
  212. .RE
  213. .PP
  214. fBReturns:fP
  215. .RS 4
  216. void
  217. .RE
  218. .PP
  219. fBSee also:fP
  220. .RS 4
  221. fBsend_enterprise_trap_varsfP 
  222. .PP
  223. fBsend_v2trapfP
  224. .RE
  225. .PP
  226. .PP
  227. Definition at line 941 of file agent_trap.c.
  228. .PP
  229. References NULL, and send_trap_vars().
  230. .PP
  231. Referenced by handle_snmp_packet().
  232. .SS "void send_v2trap (fBnetsnmp_variable_listfP * vars)"
  233. .PP
  234. Uses the supplied list of variable bindings to form an SNMPv2 trap, which is sent to SNMPv2-capable sinks on the configured list. 
  235. .PP
  236. An equivalent INFORM is sent to the configured list of inform sinks. Sinks that can only handle SNMPv1 traps are skipped.
  237. .PP
  238. 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.
  239. .PP
  240. fBParameters:fP
  241. .RS 4
  242. fIvarsfP is used to supply list of variable bindings to form an SNMPv2 trap.
  243. .RE
  244. .PP
  245. fBReturns:fP
  246. .RS 4
  247. void
  248. .RE
  249. .PP
  250. fBSee also:fP
  251. .RS 4
  252. fBsend_easy_trapfP 
  253. .PP
  254. fBsend_enterprise_trap_varsfP
  255. .RE
  256. .PP
  257. .PP
  258. fBExamples: fP
  259. .in +1c
  260. fBnotification.cfP.
  261. .PP
  262. Definition at line 970 of file agent_trap.c.
  263. .PP
  264. References send_trap_vars().
  265. .SS "void snmpd_free_trapsinks (void)"
  266. .PP
  267. This function allows you to make a distinction between generic traps from different classes of equipment. 
  268. .PP
  269. 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.
  270. .PP
  271. fBParameters:fP
  272. .RS 4
  273. fItrapfP is the generic trap type. The trap types are:
  274. .IP "(bu" 2
  275. SNMP_TRAP_COLDSTART: cold start
  276. .IP "(bu" 2
  277. SNMP_TRAP_WARMSTART: warm start
  278. .IP "(bu" 2
  279. SNMP_TRAP_LINKDOWN: link down
  280. .IP "(bu" 2
  281. SNMP_TRAP_LINKUP: link up
  282. .IP "(bu" 2
  283. SNMP_TRAP_AUTHFAIL: authentication failure
  284. .IP "(bu" 2
  285. SNMP_TRAP_EGPNEIGHBORLOSS: egp neighbor loss
  286. .IP "(bu" 2
  287. SNMP_TRAP_ENTERPRISESPECIFIC: enterprise specific
  288. .PP
  289. .br
  290. fIspecificfP is the specific trap value.
  291. .br
  292. fIenterprisefP is an enterprise oid in which you want to send specifc traps from.
  293. .br
  294. fIenterprise_lengthfP is the length of the enterprise oid, use macro, OID_LENGTH, to compute length.
  295. .br
  296. fIvarsfP is used to supply list of variable bindings to form an SNMPv2 trap.
  297. .RE
  298. .PP
  299. fBReturns:fP
  300. .RS 4
  301. void
  302. .RE
  303. .PP
  304. fBSee also:fP
  305. .RS 4
  306. fBsend_easy_trapfP 
  307. .PP
  308. fBsend_v2trapfP
  309. .RE
  310. .PP
  311. .PP
  312. Definition at line 353 of file agent_trap.c.
  313. .PP
  314. References trap_sink::next.
  315. .SH "Variable Documentation"
  316. .PP 
  317. .SS "oid fBsnmptrapenterprise_oidfP[]"
  318. .PP
  319. fBInitial value:fP
  320. .PP
  321. .nf
  322.     { SNMPV2_TRAP_OBJS_PREFIX, 3, 0 }
  323. .fi
  324. .PP
  325. Definition at line 102 of file agent_trap.c.
  326. .PP
  327. Referenced by convert_v1pdu_to_v2(), convert_v2pdu_to_v1(), init_traps(), and netsnmp_send_traps().