feature: session manager support lookup session by session ID

This commit is contained in:
luwenpeng
2024-07-29 10:44:57 +08:00
parent 62b9c0c99c
commit 1f09f43f52
20 changed files with 119 additions and 102 deletions

View File

@@ -1065,10 +1065,8 @@ void session_manager_free_session(struct session_manager *mgr, struct session *s
}
}
struct session *session_manager_lookup_session(struct session_manager *mgr, const struct packet *pkt, uint64_t now_ms)
struct session *session_manager_lookup_session_by_packet(struct session_manager *mgr, const struct packet *pkt)
{
mgr->now_ms = now_ms;
struct tuple6 key;
if (packet_get_innermost_tuple6(pkt, &key))
{
@@ -1085,6 +1083,24 @@ struct session *session_manager_lookup_session(struct session_manager *mgr, cons
}
}
struct session *session_manager_lookup_session_by_id(struct session_manager *mgr, uint64_t sess_id)
{
struct session *sess = NULL;
sess = session_table_find_sessid(mgr->tcp_sess_table, sess_id, 1);
if (sess)
{
return sess;
}
sess = session_table_find_sessid(mgr->udp_sess_table, sess_id, 1);
if (sess)
{
return sess;
}
return NULL;
}
int session_manager_update_session(struct session_manager *mgr, struct session *sess, const struct packet *pkt, uint64_t now_ms)
{
mgr->now_ms = now_ms;