session manager: support session timeouts & tcp dupkt filter & udp eviction filter
This commit is contained in:
@@ -46,7 +46,7 @@ uint64_t session_get_id(const struct session *sess)
|
||||
}
|
||||
|
||||
// session tuple6
|
||||
void session_set_tuple6(struct session *sess, struct tuple6 *tuple)
|
||||
void session_set_tuple6(struct session *sess, const struct tuple6 *tuple)
|
||||
{
|
||||
memcpy(&sess->tuple, tuple, sizeof(struct tuple6));
|
||||
}
|
||||
@@ -88,6 +88,17 @@ enum session_type session_get_type(const struct session *sess)
|
||||
return sess->type;
|
||||
}
|
||||
|
||||
// session dup traffic flag
|
||||
void session_set_dup_traffic_flag(struct session *sess, enum dup_traffic_flag flag)
|
||||
{
|
||||
sess->dup_flag = flag;
|
||||
}
|
||||
|
||||
enum dup_traffic_flag session_get_dup_traffic_flag(const struct session *sess)
|
||||
{
|
||||
return sess->dup_flag;
|
||||
}
|
||||
|
||||
// closing reasion
|
||||
void session_set_closing_reasion(struct session *sess, enum closing_reasion reasion)
|
||||
{
|
||||
@@ -349,14 +360,14 @@ static void tcp_ex_data_tostring(uint64_t ex_data, char *buffer, size_t buffer_l
|
||||
nused += snprintf(buffer + nused, buffer_len - nused, "TCP_SYNACK_RECVED ");
|
||||
}
|
||||
|
||||
if (ex_data & TCP_C2S_PAYLOAD_RECVED)
|
||||
if (ex_data & TCP_C2S_DATA_RECVED)
|
||||
{
|
||||
nused += snprintf(buffer + nused, buffer_len - nused, "TCP_C2S_PAYLOAD_RECVED ");
|
||||
nused += snprintf(buffer + nused, buffer_len - nused, "TCP_C2S_DATA_RECVED ");
|
||||
}
|
||||
|
||||
if (ex_data & TCP_S2C_PAYLOAD_RECVED)
|
||||
if (ex_data & TCP_S2C_DATA_RECVED)
|
||||
{
|
||||
nused += snprintf(buffer + nused, buffer_len - nused, "TCP_S2C_PAYLOAD_RECVED ");
|
||||
nused += snprintf(buffer + nused, buffer_len - nused, "TCP_S2C_DATA_RECVED ");
|
||||
}
|
||||
|
||||
if (ex_data & TCP_C2S_FIN_RECVED)
|
||||
@@ -404,17 +415,17 @@ const char *session_closing_reasion_tostring(enum closing_reasion reasion)
|
||||
switch (reasion)
|
||||
{
|
||||
case CLOSING_BY_TIMEOUT:
|
||||
return "CLOSING_BY_TIMEOUT";
|
||||
return "closing_by_timeout";
|
||||
case CLOSING_BY_EVICTED:
|
||||
return "CLOSING_BY_EVICTED";
|
||||
return "closing_by_evicted";
|
||||
case CLOSING_BY_CLIENT_FIN:
|
||||
return "CLOSING_BY_CLIENT_FIN";
|
||||
return "closing_by_client_fin";
|
||||
case CLOSING_BY_CLIENT_RST:
|
||||
return "CLOSING_BY_CLIENT_RST";
|
||||
return "closing_by_client_rst";
|
||||
case CLOSING_BY_SERVER_FIN:
|
||||
return "CLOSING_BY_SERVER_FIN";
|
||||
return "closing_by_server_fin";
|
||||
case CLOSING_BY_SERVER_RST:
|
||||
return "CLOSING_BY_SERVER_RST";
|
||||
return "closing_by_server_rst";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
@@ -424,8 +435,6 @@ const char *session_state_tostring(enum session_state state)
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
case SESSION_STATE_INIT:
|
||||
return "init";
|
||||
case SESSION_STATE_OPENING:
|
||||
return "opening";
|
||||
case SESSION_STATE_ACTIVE:
|
||||
@@ -456,8 +465,6 @@ const char *session_dir_tostring(enum session_dir dir)
|
||||
{
|
||||
switch (dir)
|
||||
{
|
||||
case SESSION_DIR_NONE:
|
||||
return "none";
|
||||
case SESSION_DIR_C2S:
|
||||
return "c2s";
|
||||
case SESSION_DIR_S2C:
|
||||
|
||||
Reference in New Issue
Block a user