mirror of
https://git.savannah.nongnu.org/git/lwip.git
synced 2026-05-26 18:17:10 +08:00
Improved TRAP interfacing. Varbinds maybe allocated at (external) trap source as wel. Added trap destination settings.
This commit is contained in:
@@ -250,11 +250,14 @@ a lot of data that needs to be copied, this should be set high. */
|
||||
#endif
|
||||
|
||||
/* ---------- SNMP options ---------- */
|
||||
/** @todo SNMP isn't functional yet.
|
||||
@note UDP must be available for SNMP transport */
|
||||
/** @note UDP must be available for SNMP transport */
|
||||
#ifndef LWIP_SNMP
|
||||
#define LWIP_SNMP 0
|
||||
#endif
|
||||
/** @note At least one trap destination is required */
|
||||
#ifndef SNMP_TRAP_DESTINATIONS
|
||||
#define SNMP_TRAP_DESTINATIONS 1
|
||||
#endif
|
||||
|
||||
#ifndef SNMP_PRIVATE_MIB
|
||||
#define SNMP_PRIVATE_MIB 0
|
||||
|
||||
@@ -175,6 +175,7 @@ void snmp_inc_snmpoutgetresponses(void);
|
||||
void snmp_inc_snmpouttraps(void);
|
||||
void snmp_get_snmpgrpid_ptr(struct snmp_obj_id **oid);
|
||||
void snmp_set_snmpenableauthentraps(u8_t *value);
|
||||
void snmp_get_snmpenableauthentraps(u8_t *value);
|
||||
|
||||
/* LWIP_SNMP support not available */
|
||||
/* define everything to be empty */
|
||||
@@ -301,6 +302,7 @@ void snmp_set_snmpenableauthentraps(u8_t *value);
|
||||
#define snmp_inc_snmpouttraps()
|
||||
#define snmp_get_snmpgrpid_ptr(oid)
|
||||
#define snmp_set_snmpenableauthentraps(value)
|
||||
#define snmp_get_snmpenableauthentraps(value)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -53,6 +53,11 @@
|
||||
#define SNMP_ES_READONLY 4
|
||||
#define SNMP_ES_GENERROR 5
|
||||
|
||||
#define SNMP_GENTRAP_COLDSTART 0
|
||||
#define SNMP_GENTRAP_WARMSTART 1
|
||||
#define SNMP_GENTRAP_AUTHFAIL 4
|
||||
#define SNMP_GENTRAP_ENTERPRISESPC 6
|
||||
|
||||
struct snmp_varbind
|
||||
{
|
||||
/* next pointer, NULL for last in list */
|
||||
@@ -264,9 +269,21 @@ extern struct snmp_msg_trap trap_msg;
|
||||
|
||||
/** Agent setup, start listening to port 161. */
|
||||
void snmp_init(void);
|
||||
void snmp_trap_dst_enable(u8_t dst_idx, u8_t enable);
|
||||
void snmp_trap_dst_ip_set(u8_t dst_idx, struct ip_addr *dst);
|
||||
|
||||
/** Varbind-list functions. */
|
||||
struct snmp_varbind* snmp_varbind_alloc(struct snmp_obj_id *oid, u8_t type, u8_t len);
|
||||
void snmp_varbind_free(struct snmp_varbind *vb);
|
||||
void snmp_varbind_list_free(struct snmp_varbind_root *root);
|
||||
void snmp_varbind_tail_add(struct snmp_varbind_root *root, struct snmp_varbind *vb);
|
||||
struct snmp_varbind* snmp_varbind_tail_remove(struct snmp_varbind_root *root);
|
||||
|
||||
/** Handles internal/external events. */
|
||||
void snmp_msg_event(struct snmp_msg_pstat *msg_ps);
|
||||
err_t snmp_send_response(struct snmp_msg_pstat *m_stat);
|
||||
err_t snmp_send_trap(struct ip_addr *dst, s8_t generic_trap, s32_t specific_trap);
|
||||
err_t snmp_send_trap(s8_t generic_trap, s32_t specific_trap);
|
||||
void snmp_coldstart_trap(void);
|
||||
void snmp_authfail_trap(void);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user