TelenkovDmitry 7 years ago
parent
commit
d8d290445d

+ 4 - 5
modules/Ethernet/snmp_api.c

@@ -105,9 +105,9 @@ void snmp_trap_tread(void *arg)
   {
   {
     if (xQueueReceive(SNMP_TrapQueue, &trapName, 0) == pdTRUE)
     if (xQueueReceive(SNMP_TrapQueue, &trapName, 0) == pdTRUE)
 	{
 	{
-      //SNMP_SetManagerIP(sSettings.sSnmp.managerIP);
+      SNMP_SetManagerIP(sSettings.sSnmp.managerIP);
 	  SNMP_SendVarbindTrap(&traps[trapName]);
 	  SNMP_SendVarbindTrap(&traps[trapName]);
-/*      
+     
       SNMP_SetManagerIP(sSettings.sSnmp.managerIP2);
       SNMP_SetManagerIP(sSettings.sSnmp.managerIP2);
 	  SNMP_SendVarbindTrap(&traps[trapName]);
 	  SNMP_SendVarbindTrap(&traps[trapName]);
       
       
@@ -118,8 +118,7 @@ void snmp_trap_tread(void *arg)
 	  SNMP_SendVarbindTrap(&traps[trapName]);
 	  SNMP_SendVarbindTrap(&traps[trapName]);
 
 
 	  SNMP_SetManagerIP(sSettings.sSnmp.managerIP5);
 	  SNMP_SetManagerIP(sSettings.sSnmp.managerIP5);
-	  SNMP_SendVarbindTrap(&traps[trapName]);
-*/      
+	  SNMP_SendVarbindTrap(&traps[trapName]);      
 	}
 	}
   }  
   }  
 
 
@@ -138,7 +137,7 @@ void SNMP_AgentInit(void)
   SNMP_SetSysContact(sSettings.sSnmp.sysContact);
   SNMP_SetSysContact(sSettings.sSnmp.sysContact);
   SNMP_SetSysName(sSettings.sSnmp.sysName);
   SNMP_SetSysName(sSettings.sSnmp.sysName);
   SNMP_SetSysLocation(sSettings.sSnmp.sysLocation);
   SNMP_SetSysLocation(sSettings.sSnmp.sysLocation);
-  SNMP_SetManagerIP("192.162.14.37");  //SNMP_SetManagerIP(sSettings.sSnmp.managerIP);
+  SNMP_SetManagerIP("192.168.14.37");  //SNMP_SetManagerIP(sSettings.sSnmp.managerIP);
   SNMP_SetObjID();
   SNMP_SetObjID();
   SNMP_SetTrapOnOff(1);
   SNMP_SetTrapOnOff(1);
   
   

+ 2 - 39
modules/Ethernet/trap_api.c

@@ -217,45 +217,9 @@ bool SNMP_SendMessageTrap(TRAP_t trap, char* str, uint8_t len)
   */
   */
 bool SNMP_SendVarbindTrap(TRAP_t *trap)
 bool SNMP_SendVarbindTrap(TRAP_t *trap)
 {
 {
-/*  
   char msg[255];
   char msg[255];
-  uint8_t len = 0;
-  struct snmp_varbind *vb;
-  struct snmp_obj_id trapObjId = {11, {1, 3, 6, 1, 4, 1, 41752, 911, 3, 2, 1}};
-  struct snmp_obj_id varObjId  = {11, {1, 3, 6, 1, 4, 1, 41752, 911, 3, 1, 1}};
-  
-  trapObjId.id[trapObjId.len - 1] = trap->trapId;
-  varObjId.id[varObjId.len - 1] = trap->varbindId;
-    
-  trap->handle(msg, &len);
-  vb = snmp_varbind_alloc(&varObjId, SNMP_ASN1_OC_STR, len);
-    
-  if(vb != NULL ) {
-        memcpy(vb->value, msg, len);
-  
-	snmp_varbind_tail_add(&trap_msg.outvb, vb);
-			
-        snmp_send_trap(SNMP_GENTRAP_ENTERPRISESPC, &trapObjId, 0);
-  
-        snmp_varbind_list_free(&trap_msg.outvb);
-  
-        return true;
-  }
-  else {
-        return false;
-  }
-*/  
-  
-//  snmp_send_trap_specific(s32_t specific_trap, struct snmp_varbind *varbinds)
-
-//  return snmp_send_trap(NULL, SNMP_GENTRAP_ENTERPRISE_SPECIFIC, specific_trap, varbinds);
-
-  s32_t vb_trap;
   struct snmp_varbind vb;
   struct snmp_varbind vb;
-  
-  char msg[255];
   uint8_t len = 0;
   uint8_t len = 0;
-  //struct snmp_varbind *vb;
   struct snmp_obj_id trapObjId = {11, {1, 3, 6, 1, 4, 1, 41752, 911, 3, 2, 1}};
   struct snmp_obj_id trapObjId = {11, {1, 3, 6, 1, 4, 1, 41752, 911, 3, 2, 1}};
   struct snmp_obj_id varObjId  = {11, {1, 3, 6, 1, 4, 1, 41752, 911, 3, 1, 1}};
   struct snmp_obj_id varObjId  = {11, {1, 3, 6, 1, 4, 1, 41752, 911, 3, 1, 1}};
   
   
@@ -270,11 +234,10 @@ bool SNMP_SendVarbindTrap(TRAP_t *trap)
   vb.value_len = len;
   vb.value_len = len;
   vb.next = NULL;
   vb.next = NULL;
   vb.prev = NULL;
   vb.prev = NULL;
-  //memcpy(vb.value, msg, len);
   
   
-
-//  snmp_send_trap_specific(0, &vb);
+  snmp_send_trap(&trapObjId, SNMP_GENTRAP_ENTERPRISE_SPECIFIC, 0, &vb);
   
   
+  return true;
 }  
 }  
 
 
 
 

+ 1 - 1
thirdparty/lwip/src/apps/snmp/snmp_asn1.c

@@ -52,7 +52,7 @@
  * @param pbuf_stream points to a pbuf stream
  * @param pbuf_stream points to a pbuf stream
  * @param tlv TLV to encode
  * @param tlv TLV to encode
  * @return ERR_OK if successful, ERR_ARG if we can't (or won't) encode
  * @return ERR_OK if successful, ERR_ARG if we can't (or won't) encode
- */
+ */ 
 err_t
 err_t
 snmp_ans1_enc_tlv(struct snmp_pbuf_stream* pbuf_stream, struct snmp_asn1_tlv* tlv)
 snmp_ans1_enc_tlv(struct snmp_pbuf_stream* pbuf_stream, struct snmp_asn1_tlv* tlv)
 {
 {

+ 3 - 3
thirdparty/lwip/src/apps/snmp/snmp_mib2.c

@@ -101,11 +101,11 @@ static const struct snmp_node* const mib2_nodes[] = {
 #endif /* LWIP_ICMP */
 #endif /* LWIP_ICMP */
 #if LWIP_TCP
 #if LWIP_TCP
   //&snmp_mib2_tcp_root.node,
   //&snmp_mib2_tcp_root.node,
-#endif /* LWIP_TCP */
+#endif /* LWIP_TCP */git 
 #if LWIP_UDP
 #if LWIP_UDP
-  &snmp_mib2_udp_root.node,
+  //&snmp_mib2_udp_root.node,
 #endif /* LWIP_UDP */
 #endif /* LWIP_UDP */
-  &snmp_mib2_snmp_root.node.node
+  //&snmp_mib2_snmp_root.node.node
 };
 };
 
 
 static const struct snmp_tree_node mib2_root = SNMP_CREATE_TREE_NODE(1, mib2_nodes);
 static const struct snmp_tree_node mib2_root = SNMP_CREATE_TREE_NODE(1, mib2_nodes);

+ 5 - 3
thirdparty/lwip/src/apps/snmp/snmp_traps.c

@@ -168,10 +168,11 @@ snmp_send_trap(const struct snmp_obj_id* eoid, s32_t generic_trap, s32_t specifi
   struct snmp_msg_trap trap_msg;
   struct snmp_msg_trap trap_msg;
   struct snmp_trap_dst *td;
   struct snmp_trap_dst *td;
   struct pbuf *p;
   struct pbuf *p;
-  u16_t i, tot_len;
+  u16_t i, tot_len; 
   err_t err = ERR_OK;
   err_t err = ERR_OK;
 
 
-  trap_msg.snmp_version = 0;
+  trap_msg.snmp_version = 1;
+  //trap_msg.snmp_version = 0x7900L;
 
 
   for (i = 0, td = &trap_dst[0]; i < SNMP_TRAP_DESTINATIONS; i++, td++) {
   for (i = 0, td = &trap_dst[0]; i < SNMP_TRAP_DESTINATIONS; i++, td++) {
     if ((td->enable != 0) && !ip_addr_isany(&td->dip)) {
     if ((td->enable != 0) && !ip_addr_isany(&td->dip)) {
@@ -231,7 +232,8 @@ snmp_send_trap(const struct snmp_obj_id* eoid, s32_t generic_trap, s32_t specifi
 err_t 
 err_t 
 snmp_send_trap_generic(s32_t generic_trap)
 snmp_send_trap_generic(s32_t generic_trap)
 {
 {
-  static const struct snmp_obj_id oid = { 7, { 1, 3, 6, 1, 2, 1, 11 } };
+  //static const struct snmp_obj_id oid = { 7, { 1, 3, 6, 1, 2, 1, 11 } };
+  static const struct snmp_obj_id oid = { 10, { 1, 3, 6, 1, 4, 1, 41752, 911, 3, 2 } };
   return snmp_send_trap(&oid, generic_trap, 0, NULL);
   return snmp_send_trap(&oid, generic_trap, 0, NULL);
 }
 }