This commit is contained in:
lishu
2019-04-02 09:32:33 +08:00
parent e2c4b4e6a1
commit fb46b33447
3 changed files with 54 additions and 12 deletions

View File

@@ -19,6 +19,7 @@
#include "hard_keepalive.h"
#include "main.h"
#include "MESA_handle_logger.h"
extern frag_rssb_parameter_t g_frag_run;
extern frag_rssb_configure_t g_frag_cfg;
@@ -134,17 +135,18 @@ void* thread_hard_keepalive(void *param)
memcpy(discriminator_temp, buf+MY_ID_OFFSET, ID_SIZE);
memcpy(buf+MY_ID_OFFSET, buf+YOUR_ID_OFFSET, ID_SIZE);
memcpy(buf+YOUR_ID_OFFSET, discriminator_temp, ID_SIZE);
/*<2A><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>state״̬*/
int state = 0;
for(int i=0;i<g_frag_cfg.bfd_down_num;i++)
/*<2A><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>state״̬*/
uint64_t state = getbit(g_frag_cfg.bfd_down_stat,0);
for(uint64_t i=1;i<g_frag_cfg.bfd_down_num;i++)
{
state &= getbit(g_frag_cfg.bfd_down_stat,i);
}
state &= getbit(g_frag_cfg.bfd_down_stat,i);
}
if(state)
{
/*STATE_DOWN 2bit: 0 1*/
clrbit(((bfd_header_t*)buf
)->flags,8);
/*STATE_DOWN 2bit: 0 1*/
clrbit(((bfd_header_t*)buf)->flags,7);
setbit(((bfd_header_t*)buf)->flags,6);
printf("wait_queue is overflow, app is down.\n");
MESA_handle_runtime_log(g_frag_run.logger, RLOG_LV_FATAL, FRAG_REASSEMBLY_MODULE_NAME,
"{%s:%d} wait_queue is overflow, app is down.",
@@ -152,9 +154,9 @@ void* thread_hard_keepalive(void *param)
}
else
{
else
{
/*STATE_UP 2bit: 1 1*/
/*STATE_UP 2bit: 1 1*/
setbit(((bfd_header_t*)buf)->flags,7);
setbit(((bfd_header_t*)buf)->flags,6);
}
send_rec = udp_socket_send(recv_pkt_sd,
src_ip,

View File

@@ -25,6 +25,9 @@
#include "frag_reassembly_in.h"
#include "log.h"
#include "main.h"
#include "MESA_handle_logger.h"
#include "hard_keepalive.h"
extern frag_rssb_parameter_t g_frag_run;
extern frag_rssb_configure_t g_frag_cfg;
@@ -381,7 +384,43 @@ void get_rssb_queuelog_count()
setbit(g_frag_cfg.bfd_down_stat,g_frag_cfg.bfd_down_index);
}
g_frag_cfg.bfd_down_index++;
g_frag_cfg.bfd_down_index = g_frag_cfg.bfd_down_index%g_frag_cfg.bfd_down_num;
g_frag_cfg.bfd_down_index = g_frag_cfg.bfd_down_index%g_frag_cfg.bfd_down_num;
/*
uint64_t state = getbit(g_frag_cfg.bfd_down_stat,0);
for(uint64_t i=1;i<g_frag_cfg.bfd_down_num;i++)
{
state &= getbit(g_frag_cfg.bfd_down_stat,i);
}
printf("%lld\n", g_frag_cfg.bfd_down_stat);
printf("%d\n\n", state);
if(state)
{
printf("wait_queue is overflow, app is down.\n");
MESA_handle_runtime_log(g_frag_run.logger, RLOG_LV_FATAL, FRAG_REASSEMBLY_MODULE_NAME,
"{%s:%d} wait_queue is overflow, app is down.",
__FILE__,__LINE__);
}
char buf[1500] = {0};
setbit(((bfd_header_t*)buf)->flags,7);
setbit(((bfd_header_t*)buf)->flags,6);
if(state)
{
clrbit(((bfd_header_t*)buf)->flags,7);
setbit(((bfd_header_t*)buf)->flags,6);
printf("wait_queue is overflow, app is down.\n");
MESA_handle_runtime_log(g_frag_run.logger, RLOG_LV_FATAL, FRAG_REASSEMBLY_MODULE_NAME,
"{%s:%d} wait_queue is overflow, app is down.",
__FILE__,__LINE__);
}
else
{
setbit(((bfd_header_t*)buf)->flags,7);
setbit(((bfd_header_t*)buf)->flags,6);
}
*/
}
void get_rssb_hashlog_count()

View File

@@ -23,6 +23,7 @@ typedef long atomic_t;
#define setbit(x,y) x|=(1<<y)
#define clrbit(x,y) x&=~(1<<y)
#define getbit(x,y) ((x) >> (y)&1)
/*********************************************debug log type***********************************/
typedef enum