增加TCP Passthrough功能实现,调通明文转发流程。

This commit is contained in:
Lu Qiuwen
2018-08-30 15:53:41 +08:00
parent e9ebe512c7
commit c15be5af0e
9 changed files with 401 additions and 244 deletions

View File

@@ -6,6 +6,7 @@
struct ssl_mgr;
struct key_keeper;
struct kni_acceptor;
struct tfe_proxy
{
@@ -14,18 +15,19 @@ struct tfe_proxy
struct event * sev[8];
struct event * gcev;
struct tfe_config * opts;
void * main_logger;
void * logger;
unsigned int nr_work_threads;
struct tfe_thread_ctx * work_threads;
struct tfe_thread_ctx * work_threads[TFE_THREAD_MAX];
unsigned int nr_modules;
struct tfe_plugin * modules;
void * io_mod;
struct ssl_mgr * ssl_mgr_handler;
struct key_keeper * key_keeper_handler;
struct kni_acceptor * kni_acceptor_handler;
unsigned int tcp_all_passthrough;
};
struct tfe_proxy_accept_para
@@ -35,9 +37,14 @@ struct tfe_proxy_accept_para
evutil_socket_t downstream_fd;
/* Session Type */
bool is_set_session_type;
enum tfe_session_proto session_type;
bool passthrough;
};
struct tfe_thread_ctx * tfe_proxy_thread_ctx_acquire(struct tfe_proxy * ctx);
void tfe_proxy_thread_ctx_release(struct tfe_thread_ctx * thread_ctx);
struct tfe_proxy * tfe_proxy_new(const char * profile);
int tfe_proxy_fds_accept(struct tfe_proxy * ctx, const struct tfe_proxy_accept_para * para);
void tfe_proxy_run(struct tfe_proxy * proxy);