session manager: support session timeouts & tcp dupkt filter & udp eviction filter
This commit is contained in:
@@ -13,11 +13,10 @@ extern "C"
|
||||
|
||||
enum session_state
|
||||
{
|
||||
SESSION_STATE_INIT = 0,
|
||||
SESSION_STATE_OPENING,
|
||||
SESSION_STATE_ACTIVE,
|
||||
SESSION_STATE_CLOSING,
|
||||
SESSION_STATE_CLOSED,
|
||||
SESSION_STATE_OPENING = 0x1,
|
||||
SESSION_STATE_ACTIVE = 0x2,
|
||||
SESSION_STATE_CLOSING = 0x3,
|
||||
SESSION_STATE_CLOSED = 0x4,
|
||||
};
|
||||
|
||||
enum session_type
|
||||
@@ -28,19 +27,25 @@ enum session_type
|
||||
|
||||
enum session_dir
|
||||
{
|
||||
SESSION_DIR_NONE = 0,
|
||||
SESSION_DIR_C2S = 1,
|
||||
SESSION_DIR_S2C = 2,
|
||||
SESSION_DIR_NONE = 0x0,
|
||||
SESSION_DIR_C2S = 0x1,
|
||||
SESSION_DIR_S2C = 0x2,
|
||||
};
|
||||
|
||||
enum dup_traffic_flag
|
||||
{
|
||||
DUP_TRAFFIC_YES = 0x1,
|
||||
DUP_TRAFFIC_NO = 0x2,
|
||||
};
|
||||
|
||||
enum closing_reasion
|
||||
{
|
||||
CLOSING_BY_TIMEOUT = 1,
|
||||
CLOSING_BY_EVICTED = 2,
|
||||
CLOSING_BY_CLIENT_FIN = 3,
|
||||
CLOSING_BY_CLIENT_RST = 4,
|
||||
CLOSING_BY_SERVER_FIN = 5,
|
||||
CLOSING_BY_SERVER_RST = 6,
|
||||
CLOSING_BY_TIMEOUT = 0x1,
|
||||
CLOSING_BY_EVICTED = 0x2,
|
||||
CLOSING_BY_CLIENT_FIN = 0x3,
|
||||
CLOSING_BY_CLIENT_RST = 0x4,
|
||||
CLOSING_BY_SERVER_FIN = 0x5,
|
||||
CLOSING_BY_SERVER_RST = 0x6,
|
||||
};
|
||||
|
||||
struct session;
|
||||
@@ -56,7 +61,7 @@ void session_set_id(struct session *sess, uint64_t id);
|
||||
uint64_t session_get_id(const struct session *sess);
|
||||
|
||||
// session key
|
||||
void session_set_tuple6(struct session *sess, struct tuple6 *tuple);
|
||||
void session_set_tuple6(struct session *sess, const struct tuple6 *tuple);
|
||||
const struct tuple6 *session_get0_tuple6(const struct session *sess);
|
||||
void session_set_tuple6_dir(struct session *sess, enum session_dir dir);
|
||||
enum session_dir session_get_tuple6_dir(const struct session *sess);
|
||||
@@ -69,6 +74,10 @@ enum session_state session_get_state(const struct session *sess);
|
||||
void session_set_type(struct session *sess, enum session_type type);
|
||||
enum session_type session_get_type(const struct session *sess);
|
||||
|
||||
// session dup traffic flag
|
||||
void session_set_dup_traffic_flag(struct session *sess, enum dup_traffic_flag flag);
|
||||
enum dup_traffic_flag session_get_dup_traffic_flag(const struct session *sess);
|
||||
|
||||
// closing reasion
|
||||
void session_set_closing_reasion(struct session *sess, enum closing_reasion reasion);
|
||||
enum closing_reasion session_get_closing_reasion(const struct session *sess);
|
||||
|
||||
Reference in New Issue
Block a user