增加和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
|
||||
Reference in New Issue
Block a user