diff --git a/entry/src/kni_entry.cpp b/entry/src/kni_entry.cpp index c850601..4176a06 100644 --- a/entry/src/kni_entry.cpp +++ b/entry/src/kni_entry.cpp @@ -726,8 +726,6 @@ static int send_to_tfe_normal_mode(char *raw_data, uint16_t raw_len, int thread_ } static int send_to_tfe_tun_mode(char *raw_data, uint16_t raw_len, addr_type_t addr_type){ - //intercept traffic stat - FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->fields[KNI_FIELD_KNI_INTCP_BYTES], 0, FS_OP_ADD, raw_len); struct kni_tun_handle *handle = g_kni_handle->tun_handle; char *dst_data = ALLOC(char, KNI_MTU); add_ether_header(dst_data, raw_data, raw_len, addr_type); @@ -748,6 +746,10 @@ static int send_to_tfe(char *raw_data, uint16_t raw_len, int thread_seq, int tfe else{ ret = send_to_tfe_normal_mode(raw_data, raw_len, thread_seq, tfe_id, addr_type); } + if(ret >= 0){ + //intercept traffic stat + FS_operate(g_kni_fs_handle->handle, g_kni_fs_handle->fields[KNI_FIELD_KNI_INTCP_BYTES], 0, FS_OP_ADD, raw_len); + } return ret; }