summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorlijie <[email protected]>2018-11-21 20:47:01 +0800
committerlijie <[email protected]>2018-11-21 20:47:01 +0800
commitde9b2d4ff40d5874de7d8fc7fe3a8e46b99f99d9 (patch)
tree35c6a856170017775381954bd4f02218e949dad8 /include
parentb61723f018870507100d28c7671e3b6b7baa1e18 (diff)
初步和接入网关联调成功
Diffstat (limited to 'include')
-rw-r--r--include/mrl_main.h17
-rw-r--r--include/mrl_packet.h6
-rw-r--r--include/mrl_redis.h20
-rw-r--r--include/mrl_utils.h2
4 files changed, 23 insertions, 22 deletions
diff --git a/include/mrl_main.h b/include/mrl_main.h
index d3ab72c..a9bd8d5 100644
--- a/include/mrl_main.h
+++ b/include/mrl_main.h
@@ -8,6 +8,7 @@
#include "MESA_prof_load.h"
#include "MESA_handle_logger.h"
#include "MESA_htable.h"
+#include "MESA_list_queue.h"
#include "Maat_rule.h"
#include "Maat_command.h"
@@ -20,8 +21,8 @@ struct mrl_global_cfg
int mrl_log_level;
//detect info
- char detect_ip[MRL_STR_IP_LEN];
- uint16_t detect_port;
+ char dest_ip[MRL_STR_IP_LEN];
+ uint16_t dest_port;
uint16_t local_port;
//socket info
@@ -41,7 +42,7 @@ struct mrl_global_cfg
unsigned int ht_slots;
unsigned int ht_max_element_num;
unsigned int ht_mutex_num;
-
+
/*vxlan info*/
unsigned int vxlan_gdev_num;
char **vxlan_outer_gdev_mac;
@@ -51,13 +52,11 @@ struct mrl_global_cfg
char **vxlan_outer_gdev_port;
char xvlan_outer_local_port[MRL_STR_PORT_LEN];
char **vxlan_encap_type;
+ char **vxlan_vpn_id;
char **vxlan_link_id;
char **vxlan_link_dir;
char **vxlan_inner_smac;
char **vxlan_inner_dmac;
- //char vxlan_inner_dip[MRL_STR_IP_LEN];
- //char vxlan_inner_dport[MRL_STR_PORT_LEN];
- //char vxlan_inner_sport[MRL_STR_PORT_LEN];
};
struct mrl_global_instance
@@ -69,9 +68,13 @@ struct mrl_global_instance
Maat_feather_t candidate_feather;
MESA_htable_handle ht_nominee;
- MESA_htable_handle ht_candidate;
+
+ //MESA_htable_handle ht_candidate;
+ MESA_lqueue_head mrl_queue;
MMDB_s mrl_mmdb;
+
+ int stop_flag;
int *mrl_snd_fd;
int mrl_rcv_fd;
diff --git a/include/mrl_packet.h b/include/mrl_packet.h
index 06069ae..aec886f 100644
--- a/include/mrl_packet.h
+++ b/include/mrl_packet.h
@@ -8,14 +8,12 @@ void mrl_socket_close();
void mrl_send_to_gdev(int thread_seq, struct mrl_vxlan_info * vxlan_info, const char *payload, size_t payload_len);
bool mrl_pkt_signature_identify(struct streaminfo *mystream);
-void *mrl_recv_mgw_action(void *arg);
void mrl_send_to_mgw(void *raw_pkt, int thread_seq);
void mrl_detect_init();
void mrl_detect_action(const char *ip_addr);
-
bool mrl_pkt_signature_identify(struct streaminfo *mystream);
-
-
+void *mrl_recv_mgw_action(void *arg);
+void *mrl_detect_ip_action(void *arg);
#endif
diff --git a/include/mrl_redis.h b/include/mrl_redis.h
index de6cdcb..b840a8e 100644
--- a/include/mrl_redis.h
+++ b/include/mrl_redis.h
@@ -16,16 +16,17 @@ struct mrl_nominee_item{
char op_time[MRL_DATE_LEN];
};
-struct mrl_vxlan_info{
- char vxlan_outer_local_mac[MRL_STR_MAC_LEN];//���յ������ݰ��ı����豸MAC��ַ
- char vxlan_outer_gdev_mac[MRL_STR_MAC_LEN];//���յ������ݰ��Ĵ����豸MAC��ַ
- char vxlan_outer_local_ip[MRL_STR_IP_LEN];
- char vxlan_outer_gdev_ip[MRL_STR_IP_LEN];//�����豸IP
- char vxlan_outer_gdev_port[MRL_STR_PORT_LEN];
- char vxlan_outer_local_port[MRL_STR_PORT_LEN];
- int vxlan_encap_type;
+struct mrl_vxlan_info{
int vxlan_link_id;
+ int vxlan_encap_type;
int vxlan_link_dir;
+ int vxlan_vpn_id;
+ char vxlan_outer_local_port[MRL_STR_PORT_LEN];
+ char vxlan_outer_gdev_port[MRL_STR_PORT_LEN];
+ char vxlan_outer_local_ip[MRL_STR_IP_LEN];
+ char vxlan_outer_gdev_ip[MRL_STR_IP_LEN];//�����豸IP
+ char vxlan_outer_local_mac[MRL_STR_MAC_LEN];//���յ������ݰ��ı����豸MAC��ַ
+ char vxlan_outer_gdev_mac[MRL_STR_MAC_LEN];//���յ������ݰ��Ĵ����豸MAC��ַ
char vxlan_inner_smac[MRL_STR_MAC_LEN];
char vxlan_inner_dmac[MRL_STR_MAC_LEN];
};
@@ -43,14 +44,13 @@ struct mrl_candidate_item{
MESA_htable_handle mrl_htable_init(void * fn_data_free_cb);
-void ht_candidate_free_cb(void * data);
+//void ht_candidate_free_cb(void * data);
void ht_nominee_free_cb(void * data);
void Maat_set_cmd_line(Maat_feather_t feather, struct mrl_candidate_item *candidate_item);
void Maat_set_nominee_cmd_line(Maat_feather_t feather, struct mrl_nominee_item *nominee_item);
Maat_feather_t mrl_Maat_feather_init(const char * instance_name,const char *table_name, Maat_start_callback_t *start,Maat_update_callback_t *update,Maat_finish_callback_t *finish,void *u_para);
void nominee_update_cb(int table_id,const char* table_line,void* u_para);
-void candidate_update_cb(int table_id,const char* table_line,void* u_para);
void mrl_identify_nominee(struct streaminfo *mystream);
#endif
diff --git a/include/mrl_utils.h b/include/mrl_utils.h
index 2bf05d8..ca148a6 100644
--- a/include/mrl_utils.h
+++ b/include/mrl_utils.h
@@ -8,7 +8,7 @@
#define MRL_STR_ENCAP_TYPE_LEN 5
#define MRL_STR_LINK_ID_LEN 5
#define MRL_STR_LINK_DIR_LEN 2
-
+#define MRL_STR_VPN_ID_LEN 5
#define MRL_DATE_LEN 50