Update API of manipulation session
This commit is contained in:
@@ -1,111 +0,0 @@
|
||||
/*
|
||||
* The current file is private to the plugin, and pulgin can only use session.h
|
||||
* The current file can only be used by session.cpp/session_pool.cpp/session_table.cpp
|
||||
*/
|
||||
#ifndef _SESSION_PRIVATE_H
|
||||
#define _SESSION_PRIVATE_H
|
||||
|
||||
#ifdef __cpluscplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include "list.h"
|
||||
#include "timeout.h"
|
||||
#include "uthash.h"
|
||||
#include "session.h"
|
||||
#include "tcp_reassembly.h"
|
||||
|
||||
#define EX_DATA_MAX_COUNT 16
|
||||
|
||||
struct session
|
||||
{
|
||||
// session id
|
||||
uint64_t id;
|
||||
|
||||
// session state
|
||||
enum session_state state;
|
||||
|
||||
// session type
|
||||
enum session_type type;
|
||||
|
||||
// dup traffic flag
|
||||
enum dup_traffic_flag dup_flag;
|
||||
|
||||
// closing reason
|
||||
enum closing_reason closing_reason;
|
||||
|
||||
// session metrics
|
||||
uint64_t c2s_bytes;
|
||||
uint64_t s2c_bytes;
|
||||
uint64_t c2s_packets;
|
||||
uint64_t s2c_packets;
|
||||
|
||||
// session timestamp
|
||||
uint64_t create_time;
|
||||
uint64_t last_time;
|
||||
|
||||
// session packet
|
||||
struct packet *c2s_1st_pkt;
|
||||
struct packet *s2c_1st_pkt;
|
||||
|
||||
// session user data
|
||||
void *user_data;
|
||||
|
||||
/******************************
|
||||
* Session TCP Reassembly
|
||||
******************************/
|
||||
|
||||
struct tcp_reassembly *c2s_reassembly;
|
||||
struct tcp_reassembly *s2c_reassembly;
|
||||
|
||||
uint32_t c2s_seq;
|
||||
uint32_t s2c_seq;
|
||||
uint32_t c2s_ack;
|
||||
uint32_t s2c_ack;
|
||||
|
||||
/******************************
|
||||
* Session Current Packet
|
||||
******************************/
|
||||
|
||||
// session current packet
|
||||
const struct packet *cur_pkt;
|
||||
enum session_dir cur_dir;
|
||||
|
||||
/******************************
|
||||
* Session Ex Data Zone
|
||||
******************************/
|
||||
|
||||
void *ex_data[EX_DATA_MAX_COUNT];
|
||||
|
||||
/******************************
|
||||
* Session Timer Zone
|
||||
******************************/
|
||||
|
||||
struct timeout timeout;
|
||||
|
||||
/******************************
|
||||
* Session Table Zone
|
||||
******************************/
|
||||
|
||||
// session table key
|
||||
struct tuple6 tuple;
|
||||
enum session_dir tuple_dir;
|
||||
|
||||
// session table handle
|
||||
UT_hash_handle hh;
|
||||
|
||||
/******************************
|
||||
* Session Queue Node
|
||||
******************************/
|
||||
|
||||
struct list_head lru; // used for lru queue
|
||||
struct list_head free; // used for free queue
|
||||
struct list_head evicte; // used for evicte queue
|
||||
};
|
||||
|
||||
#ifdef __cpluscplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user