修改和tfe保活功能的bug

* 修改thread_tfe_keepalive函数recv失败的处理逻辑
  * bind函数放到初始化线程,防止bind失败仍然继续运行
  * 增加SO_REUSEADDR选项保证SAPP挂掉后再TIME_WAIT状态下能够快速恢复
  * 增加tfe状态的fs2统计
This commit is contained in:
崔一鸣
2019-06-18 17:37:43 +08:00
parent 0da2c833fe
commit 7e3ae597c4
4 changed files with 119 additions and 61 deletions

View File

@@ -1632,6 +1632,11 @@ static struct kni_field_stat_handle * fs_init(const char *profile){
fs_handle->fields[KNI_FIELD_KEEPALIVE_REPLAY_ADD_FAIL] = FS_register(handle, FS_STYLE_FIELD, FS_CALC_CURRENT, "kaReplay_add_fail");
fs_handle->fields[KNI_FIELD_KEEPALIVE_REPLAY_ADD_SUCC] = FS_register(handle, FS_STYLE_FIELD, FS_CALC_CURRENT, "kaReplay_add_succ");
fs_handle->fields[KNI_FIELD_EXCEED_MTU] = FS_register(handle, FS_STYLE_FIELD, FS_CALC_CURRENT, "exceed_mtu");
for(int i = 0; i < g_kni_handle->tfe_count; i++){
char tfe_status[KNI_SYMBOL_MAX] = "";
snprintf(tfe_status, sizeof(tfe_status), "tfe%d", i);
fs_handle->fields[KNI_FIELD_TFE_STATUS_BASE + i] = FS_register(handle, FS_STYLE_FIELD, FS_CALC_CURRENT, tfe_status);
}
fs_handle->handle = handle;
FS_start(handle);
return fs_handle;