diff options
Diffstat (limited to 'src/mrl_io.cpp')
| -rw-r--r-- | src/mrl_io.cpp | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/src/mrl_io.cpp b/src/mrl_io.cpp index 2879108..265f4de 100644 --- a/src/mrl_io.cpp +++ b/src/mrl_io.cpp @@ -323,7 +323,7 @@ void ht_link_identity_iterate_cb(const uchar* key, uint size, void* data, void* size_t ip_len = 0;
int thread_seq = 0;
int temp_len = 0;
- int is_inside = -1;
+ int is_outside = MRL_CLOSED_LOCATION;
char ip_pkt[MRL_IP_PKT_LEN];
memset(ip_pkt,0,MRL_IP_PKT_LEN);
uint64_t* identity_value = (uint64_t* )data;
@@ -336,15 +336,20 @@ void ht_link_identity_iterate_cb(const uchar* key, uint size, void* data, void* inet_pton(AF_INET,mydata->detect_ip,&sip);
if(mrl_instance.mrl_cfg.ip_location_enable)
{
- is_inside =mrl_is_inside_ip(mydata->detect_ip);
- if(is_inside)
+ is_outside =mrl_is_outside_ip(mydata->detect_ip);
+ switch(is_outside)
{
- inet_pton(AF_INET,mrl_instance.mrl_cfg.outside_detect_ip,&dip);
- }
- else
- {
- inet_pton(AF_INET,mrl_instance.mrl_cfg.inside_detect_ip,&dip);
- }
+ case MRL_INSIDE_LOCATION:
+ case MRL_UNDEFINED_LOCATION:
+ inet_pton(AF_INET,mrl_instance.mrl_cfg.outside_detect_ip,&dip);
+ break;
+ case MRL_OUTSIDE_LOCATION:
+ inet_pton(AF_INET,mrl_instance.mrl_cfg.inside_detect_ip,&dip);
+ break;
+ default:
+ assert(0);
+ break;
+ }
}
else
{
@@ -354,7 +359,7 @@ void ht_link_identity_iterate_cb(const uchar* key, uint size, void* data, void* sapp_get_platform_opt(SPO_INDEPENDENT_THREAD_ID, &thread_seq, &temp_len);
mrl_send_to_gdev(thread_seq,link_identity,ip_pkt,ip_len);
global_stat.send_detect_pkts ++;
- switch(is_inside)
+ switch(is_outside)
{
case MRL_CLOSED_LOCATION:
MESA_handle_runtime_log(mrl_instance.mrl_log_handle, RLOG_LV_DEBUG,"ht_link_identity_iterate_cb",
@@ -365,12 +370,17 @@ void ht_link_identity_iterate_cb(const uchar* key, uint size, void* data, void* MESA_handle_runtime_log(mrl_instance.mrl_log_handle, RLOG_LV_DEBUG,"ht_link_identity_iterate_cb",
"cur detect ip %s is inside ip,detect dest ip is %s,detect payload info is [nominee_type:%d,link_identity:%lu]",
mydata->detect_ip,mrl_instance.mrl_cfg.outside_detect_ip,mydata->nominee_type,link_identity);
- break;
+ break;
case MRL_OUTSIDE_LOCATION:
MESA_handle_runtime_log(mrl_instance.mrl_log_handle, RLOG_LV_DEBUG,"ht_link_identity_iterate_cb",
"cur detect ip %s is outside ip,detect dest ip is %s,detect payload info is [nominee_type:%d,link_identity:%lu]",
mydata->detect_ip,mrl_instance.mrl_cfg.inside_detect_ip,mydata->nominee_type,link_identity);
break;
+ case MRL_UNDEFINED_LOCATION:
+ MESA_handle_runtime_log(mrl_instance.mrl_log_handle, RLOG_LV_DEBUG,"ht_link_identity_iterate_cb",
+ "cur detect ip %s is undefined ip,detect dest ip is %s,detect payload info is [nominee_type:%d,link_identity:%lu]",
+ mydata->detect_ip,mrl_instance.mrl_cfg.inside_detect_ip,mydata->nominee_type,link_identity);
+ break;
default:
assert(0);
break;
|
