增加和tfe通信接口, 添加负载均衡功能等
This commit is contained in:
@@ -1,108 +0,0 @@
|
||||
|
||||
#define HTTP_PROJECT_NAME "kni_http_tag"
|
||||
#define BURST_MAX 1
|
||||
|
||||
enum kni_protocol{
|
||||
KNI_PROTOCOL_UNKNOWN = 0,
|
||||
KNI_PROTOCOL_SSL,
|
||||
KNI_PROTOCOL_HTTP,
|
||||
};
|
||||
|
||||
struct http_project{
|
||||
int host_len;
|
||||
char host[KNI_DOMAIN_MAX];
|
||||
};
|
||||
|
||||
struct pme_info{
|
||||
int protocol;
|
||||
int action;
|
||||
struct kni_tcpopt_info *client_tcpopt;
|
||||
struct kni_tcpopt_info *server_tcpopt;
|
||||
};
|
||||
|
||||
struct wrapped_packet{
|
||||
char data[KNI_MTU];
|
||||
};
|
||||
|
||||
struct tcp_option_restore{
|
||||
uint8_t kind;
|
||||
uint8_t len;
|
||||
uint16_t offset;
|
||||
};
|
||||
|
||||
struct kni_marsio_handle{
|
||||
struct mr_instance *instance;
|
||||
struct mr_vdev *dev_eth_handler;
|
||||
struct mr_vdev *dev_vxlan_handler;
|
||||
struct mr_sendpath *dev_eth_sendpath;
|
||||
struct mr_sendpath *dev_vxlan_sendpath;
|
||||
};
|
||||
|
||||
struct protocol_identify_result{
|
||||
int protocol;
|
||||
char domain[KNI_DOMAIN_MAX];
|
||||
int domain_len;
|
||||
};
|
||||
|
||||
|
||||
struct tfe_receiver_args{
|
||||
void *logger;
|
||||
struct kni_marsio_handle *marsio_handle;
|
||||
};
|
||||
|
||||
//TODO: 有些字段可以不要
|
||||
struct pkt_info{
|
||||
struct iphdr *iphdr;
|
||||
int iphdr_len;
|
||||
int ip_totlen;
|
||||
struct tcphdr *tcphdr;
|
||||
int tcphdr_len;
|
||||
char *data;
|
||||
int data_len;
|
||||
};
|
||||
|
||||
enum tcp_restore_info_tlv_type
|
||||
{
|
||||
TCP_RESTORE_INFO_TLV_SEQ,
|
||||
TCP_RESTORE_INFO_TLV_ACK,
|
||||
TCP_RESTORE_INFO_TLV_MSS_CLIENT,
|
||||
TCP_RESTORE_INFO_TLV_MSS_SERVER,
|
||||
TCP_RESTORE_INFO_TLV_WSACLE_CLIENT,
|
||||
TCP_RESTORE_INFO_TLV_WSACLE_SERVER,
|
||||
TCP_RESTORE_INFO_TLV_SACK_CLIENT,
|
||||
TCP_RESTORE_INFO_TLV_SACK_SERVER,
|
||||
TCP_RESTORE_INFO_TLV_TS_CLIENT,
|
||||
TCP_RESTORE_INFO_TLV_TS_SERVER,
|
||||
TCP_RESTORE_INFO_TLV_PROTOCOL,
|
||||
TCP_RESTORE_INFO_TLV_USER_DEFINED
|
||||
};
|
||||
|
||||
struct tcp_restore_info_tlv
|
||||
{
|
||||
uint16_t type;
|
||||
uint16_t length;
|
||||
|
||||
union
|
||||
{
|
||||
uint8_t value_as_uint8[0];
|
||||
uint16_t value_as_uint16[0];
|
||||
uint32_t value_as_uint32[0];
|
||||
unsigned char value_as_string[0];
|
||||
};
|
||||
} __attribute__((packed));
|
||||
|
||||
struct tcp_restore_info_header
|
||||
{
|
||||
uint8_t __magic__[2]; /* Must be 0x4d, 0x5a */
|
||||
uint16_t nr_tlvs;
|
||||
struct tcp_restore_info_tlv tlvs[0];
|
||||
} __attribute__((packed));
|
||||
|
||||
struct kni_handle{
|
||||
int http_project_id;
|
||||
struct kni_marsio_handle *marsio_handle;
|
||||
struct kni_maat_handle *maat_handle;
|
||||
void *logger;
|
||||
};
|
||||
|
||||
#define TCP_RESTORE_HEADER_MAX 128
|
||||
@@ -3,19 +3,15 @@
|
||||
#define KNI_MAAT_READCONF_JSON 1
|
||||
#define KNI_MAAT_READCONF_REDIS 2
|
||||
#define KNI_MAAT_RULE_NUM_MAX 8
|
||||
struct kni_maat_handle{
|
||||
Maat_feather_t feather;
|
||||
int tableid_intercept_ip;
|
||||
int tableid_intercept_domain;
|
||||
void *logger;
|
||||
};
|
||||
struct kni_maat_handle;
|
||||
|
||||
enum kni_action{
|
||||
KNI_ACTION_UNKNOWN = 0,
|
||||
KNI_ACTION_INTERCEPT,
|
||||
KNI_ACTION_BYPASS,
|
||||
};
|
||||
|
||||
struct kni_maat_handle* kni_maat_init(const char* profile, void *logger);
|
||||
void kni_maat_destroy(struct kni_maat_handle *handle);
|
||||
int kni_maat_scan_ip(struct kni_maat_handle* handle, struct ipaddr *addr, int thread_seq);
|
||||
int kni_maat_scan_domain(struct kni_maat_handle* handle, char *domain, int domain_len, int thread_seq);
|
||||
int kni_maat_scan_ip(struct kni_maat_handle* handle, struct ipaddr *addr, int thread_seq, int *policy_id);
|
||||
int kni_maat_scan_domain(struct kni_maat_handle* handle, char *domain, int domain_len, int thread_seq, int *policy_id);
|
||||
5
entry/include/kni_send_logger.h
Normal file
5
entry/include/kni_send_logger.h
Normal file
@@ -0,0 +1,5 @@
|
||||
|
||||
struct kni_send_logger;
|
||||
struct kni_send_logger* kni_send_logger_init(const char *profile, void *logger);
|
||||
void kni_send_logger_destroy(struct kni_send_logger *handle);
|
||||
int kni_send_logger_sendlog(kni_send_logger *handle, char *log_msg, int log_msg_len);
|
||||
Reference in New Issue
Block a user