summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
author杨威 <[email protected]>2023-05-16 18:10:41 +0800
committer杨威 <[email protected]>2023-05-16 18:10:41 +0800
commitd6ac425f0d869f9fe8c759bdffeec1b836c6244a (patch)
tree6a87048a9f1615dd6e9fe4fcfd37fd336e2ff277 /src
parent4484476a644de405d02bba3d212e23e1b4b39f90 (diff)
🐞 fix(marsio ctrlzone): 移除跟marsio ctrlzone相关操作,不再考虑mrtunnat
禁用l2_l3_tunnel_support,恒为1
Diffstat (limited to 'src')
-rw-r--r--src/config/config_parse.cpp8
-rw-r--r--src/dealpkt/plug_support.c76
-rw-r--r--src/inner_plug/sapp_assistant.cpp20
-rw-r--r--src/packet_io/packet_io_marsio.c58
4 files changed, 21 insertions, 141 deletions
diff --git a/src/config/config_parse.cpp b/src/config/config_parse.cpp
index 693d424..a10ae1d 100644
--- a/src/config/config_parse.cpp
+++ b/src/config/config_parse.cpp
@@ -1465,11 +1465,6 @@ static int config_sanity_check(void)
}
/******************************* Packet IO ******************************/
- if((sapp_global_val->config.packet_io.packet_io_tunnel.l2_l3_tunnel_support != 0)
- && (strncasecmp(pconfig->packet_io.internal.interface.name, "vxlan_user", strlen("vxlan_user"))== 0)){
- sapp_log(30, ~0, ~0, "[Warning]l2_l3_tunnel_support is enable, but capture device is vxlan_user!");
- sleep(2);
- }
tmp_str = pconfig->packet_io.depolyment_mode_str;
if((strncasecmp(tmp_str, "mirror", strlen("mirror")) != 0)
@@ -1766,7 +1761,8 @@ int sapp_parse_config(void)
/******************************* packet_io.overlay_tunnel_definition ******************************/
- tomlc99_wrap_load_int_def(ABBR_CFG_FILE_MAIN_ENTRY, (char *)"overlay_tunnel_definition", (char *)"l2_l3_tunnel_support", &pconfig->packet_io.packet_io_tunnel.l2_l3_tunnel_support, 1);
+ //tomlc99_wrap_load_int_def(ABBR_CFG_FILE_MAIN_ENTRY, (char *)"overlay_tunnel_definition", (char *)"l2_l3_tunnel_support", &pconfig->packet_io.packet_io_tunnel.l2_l3_tunnel_support, 1);
+ pconfig->packet_io.packet_io_tunnel.l2_l3_tunnel_support=1;
tomlc99_wrap_load_string_def(ABBR_CFG_FILE_MAIN_ENTRY, (char *)"overlay_tunnel_definition", (char *)"overlay_mode", pconfig->packet_io.packet_io_tunnel.overlay_mode_string, NAME_MAX, "none");
diff --git a/src/dealpkt/plug_support.c b/src/dealpkt/plug_support.c
index 83f74a9..4e3cf4d 100644
--- a/src/dealpkt/plug_support.c
+++ b/src/dealpkt/plug_support.c
@@ -232,94 +232,18 @@ int get_opt_from_rawpkt(const void *voidpkt, int type, void *void_value)
/* ���ڲ����ȡ��ײ���ʵmac��ַ, ����ʲôģʽ, ��û��mrtunnat, ������һ���ӿ� */
case RAW_PKT_GET_ORIGINAL_LOWEST_ETH_SMAC: {
const struct mesa_ethernet_hdr *lowest_ehdr;
-
- if (0 == sapp_global_val->config.packet_io.packet_io_tunnel.l2_l3_tunnel_support)
- { // with mrtunnat
- if (DEPOLYMENT_MODE_INLINE == sapp_global_val->config.packet_io.depolyment_mode_bin)
- {
- if (CAP_MODEL_MARSIOV4 == g_packet_io_cap_mode)
- {
- const struct mr_tunnat_ctrlzone *mr_ctrlzone =
- (const struct mr_tunnat_ctrlzone *)ptr_marsio_buff_ctrlzone(
- (marsio_buff_t *)rawpkt->io_lib_pkt_reference, 0); /* index */
- if (0 == (mr_ctrlzone->action & TUNNAT_CZ_ACTION_FORWARD))
- { /* ��vxlan��, �϶�û����Щѡ�� */
- ret = -1;
- }
- else
- {
- memcpy(void_value, mr_ctrlzone->g_device_mac, ETH_ALEN);
- ret = ETH_ALEN;
- }
- }
- else
- {
- sapp_runtime_log(
- RLOG_LV_FATAL,
- "can't support option 'RAW_PKT_GET_ORIGINAL_LOWEST_ETH_SMAC' in no marsio inline mode!");
- ret = -1;
- }
- }
- else
- {
- lowest_ehdr = (struct mesa_ethernet_hdr *)rawpkt->raw_pkt_data;
- memcpy(void_value, lowest_ehdr->ether_shost, ETH_ALEN);
- ret = ETH_ALEN;
- }
- }
- else
- { // from v4.2, without mrtunnat
lowest_ehdr = (struct mesa_ethernet_hdr *)rawpkt->raw_pkt_data;
memcpy(void_value, lowest_ehdr->ether_shost, ETH_ALEN);
ret = ETH_ALEN;
- }
}
break;
/* ���ڲ����ȡ��ײ���ʵmac��ַ, ����ʲôģʽ, ��û��mrtunnat, ������һ���ӿ� */
case RAW_PKT_GET_ORIGINAL_LOWEST_ETH_DMAC: {
const struct mesa_ethernet_hdr *lowest_ehdr;
-
- if (0 == sapp_global_val->config.packet_io.packet_io_tunnel.l2_l3_tunnel_support)
- { // with mrtunnat
- if (DEPOLYMENT_MODE_INLINE == sapp_global_val->config.packet_io.depolyment_mode_bin)
- {
- if (CAP_MODEL_MARSIOV4 == g_packet_io_cap_mode)
- {
- const struct mr_tunnat_ctrlzone *mr_ctrlzone =
- (const struct mr_tunnat_ctrlzone *)ptr_marsio_buff_ctrlzone(
- (marsio_buff_t *)rawpkt->io_lib_pkt_reference, 0); /* index */
- if (0 == (mr_ctrlzone->action & TUNNAT_CZ_ACTION_FORWARD))
- { /* ��vxlan��, �϶�û����Щѡ�� */
- ret = -1;
- }
- else
- {
- memcpy(void_value, mr_ctrlzone->l_device_mac, ETH_ALEN);
- ret = ETH_ALEN;
- }
- }
- else
- {
- sapp_runtime_log(
- RLOG_LV_FATAL,
- "can't support option 'RAW_PKT_GET_ORIGINAL_LOWEST_ETH_SMAC' in no marsio inline mode!");
- ret = -1;
- }
- }
- else
- {
- lowest_ehdr = (struct mesa_ethernet_hdr *)rawpkt->raw_pkt_data;
- memcpy(void_value, lowest_ehdr->ether_dhost, ETH_ALEN);
- ret = ETH_ALEN;
- }
- }
- else
- { // from v4.2, without mrtunnat
lowest_ehdr = (struct mesa_ethernet_hdr *)rawpkt->raw_pkt_data;
memcpy(void_value, lowest_ehdr->ether_dhost, ETH_ALEN);
ret = ETH_ALEN;
- }
}
break;
diff --git a/src/inner_plug/sapp_assistant.cpp b/src/inner_plug/sapp_assistant.cpp
index e3ead6a..5b5f7d7 100644
--- a/src/inner_plug/sapp_assistant.cpp
+++ b/src/inner_plug/sapp_assistant.cpp
@@ -41,20 +41,12 @@ int sapp_identify_tunnel_inner_pkt(const raw_pkt_t *raw_pkt)
{
int ret = 0;
#if IOMODE_MARSIO
- if(CAP_MODEL_MARSIOV4 == g_packet_io_cap_mode){
- if(0 == sapp_global_val->config.packet_io.packet_io_tunnel.l2_l3_tunnel_support){
- const struct mr_tunnat_ctrlzone *mr_ctzone;
- if(ptr_marsio_buff_ctrlzone){
- mr_ctzone = (const struct mr_tunnat_ctrlzone *)((*ptr_marsio_buff_ctrlzone)((void *)raw_pkt->io_lib_pkt_reference, 0));
- if(mr_ctzone->action & TUNNAT_CZ_ACTION_FORWARD){
- ret = 1;
- }
- }
- }else{
- /* û��mrtunnatʱ, �������l2_l3_tunnel_support, Ҫ�ж�overlay����, �Ƿ��Ǹ�������, �Ƿ��Ǿ���overlayԭʼ��·��İ� */
- if(raw_pkt->is_overlay_pkt){
- ret = 1;
- }
+ if (CAP_MODEL_MARSIOV4 == g_packet_io_cap_mode)
+ {
+ /* û��mrtunnatʱ, �������l2_l3_tunnel_support, Ҫ�ж�overlay����, �Ƿ��Ǹ�������, �Ƿ��Ǿ���overlayԭʼ��·��İ� */
+ if (raw_pkt->is_overlay_pkt)
+ {
+ ret = 1;
}
}
#endif
diff --git a/src/packet_io/packet_io_marsio.c b/src/packet_io/packet_io_marsio.c
index 5db33e9..fb2ec07 100644
--- a/src/packet_io/packet_io_marsio.c
+++ b/src/packet_io/packet_io_marsio.c
@@ -346,7 +346,6 @@ int marsio_dl_io_raw_pkt_send(void *phandle, unsigned char *data,int datalen, vo
int ret;
marsio_buff_t *send_mbuf[1];
char *real_buf;
- struct mr_tunnat_ctrlzone mr_ctrlzone = {};
uint16_t send_option = 0;
ret = ptr_marsio_buff_malloc_global(sapp_marsio4_instance, send_mbuf, 1, MARSIO_SOCKET_ID_ANY, thread_seq);
@@ -364,21 +363,11 @@ int marsio_dl_io_raw_pkt_send(void *phandle, unsigned char *data,int datalen, vo
memcpy(real_buf, data, datalen);
- if(0 == sapp_global_val->config.packet_io.packet_io_tunnel.l2_l3_tunnel_support){
- mr_ctrlzone.action = TUNNAT_CZ_ACTION_ENCAP_INNER | TUNNAT_CZ_ACTION_ENCAP_OUTER;
- send_option = MARSIO_SEND_OPT_FAST|MARSIO_SEND_OPT_REHASH;
- }else{
- /* v4.2֮��, sapp����mrtunnat֧��, ֱ�ӷ���ԭʼ��, ����Ҫ������װ�ײ���·��Ϣ */
- mr_ctrlzone.action = TUNNAT_CZ_ACTION_ENCAP_NO_SESSION;
- send_option = MARSIO_SEND_OPT_FAST;
- }
-
if(raw_pkt)
{
packet_io_hook_sendto(raw_pkt, route_dir, real_buf, (void *)send_mbuf[0]);
}
- ptr_marsio_buff_ctrlzone_set(send_mbuf[0], 0, &mr_ctrlzone, sizeof(struct mr_tunnat_ctrlzone));
marsio_pkt_dump(thread_seq, send_mbuf[0], PKT_CLASSIFY_INJECT);
@@ -699,31 +688,16 @@ static int marsio4_pkt_forward_for_gdev_mode(int tid, struct mr_sendpath * sendp
static int marsio4_pkt_forward(int tid, struct mr_sendpath * sendpath, marsio_buff_t * mbufs)
{
- int ret=0;
-
- //struct mr_tunnat_ctrlzone *ctrl_zone;
- //ctrl_zone = (struct mr_tunnat_ctrlzone *)ptr_marsio_buff_ctrlzone(mbufs, 0);
+ int ret = 0;
/* ������ȡ, ���������������, vxlan��������װģʽ����ʹ��, Ҫ��ÿ��mbuf�жϵײ��װģʽ */
- //if((ctrl_zone->action & TUNNAT_CZ_ACTION_FORWARD) || (0 != sapp_global_val->config.packet_io.packet_io_tunnel.l2_l3_tunnel_support))
-
- if(0 != sapp_global_val->config.packet_io.packet_io_tunnel.l2_l3_tunnel_support)
- {
- /* 20201010 lijia modify, ����overlay��mrtunnat��ģʽ��, ctrl_zone�ǿ�, Ĭ�϶���ע */
- /* 20190409 lijia modify, tunnel mode, ��������װ�İ����ܻ�ע */
- /* vxlan��װ�ڲ�����ת���������κβ���, ֱ�ӵ���marsio_send_burst, ��marsio�������� */
- //ctrl_zone->action = TUNNAT_CZ_ACTION_FORWARD;
- //ptr_marsio_buff_ctrlzone_set(mbufs, 0, ctrl_zone, sizeof(struct mr_tunnat_ctrlzone));
+ /* 20201010 lijia modify, ����overlay��mrtunnat��ģʽ��, ctrl_zone�ǿ�, Ĭ�϶���ע */
+ /* 20190409 lijia modify, tunnel mode, ��������װ�İ����ܻ�ע */
+ /* vxlan��װ�ڲ�����ת���������κβ���, ֱ�ӵ���marsio_send_burst, ��marsio�������� */
- marsio_pkt_dump(tid, mbufs, PKT_CLASSIFY_FORWARD);
- ret = ptr_marsio_send_burst(sendpath, tid, &mbufs, 1);
-
- }
- else
- {
- ret = -1;
- }
+ marsio_pkt_dump(tid, mbufs, PKT_CLASSIFY_FORWARD);
+ ret = ptr_marsio_send_burst(sendpath, tid, &mbufs, 1);
return ret;
}
@@ -761,18 +735,13 @@ static inline int marsio4_pkt_hand(int tid, marsio_buff_t *rx_buff, raw_pkt_t *r
}
}
- if(0 == sapp_global_val->config.packet_io.packet_io_tunnel.l2_l3_tunnel_support){
- struct mr_tunnat_ctrlzone *mr_ctrlzone = (struct mr_tunnat_ctrlzone *)ptr_marsio_buff_ctrlzone(rx_buff, 0); /* index */
- raw_pkt->is_overlay_pkt = mr_ctrlzone->action & TUNNAT_CZ_ACTION_FORWARD;
- }else{
- if(OVERLAY_MODE_NF == sapp_global_val->config.packet_io.packet_io_tunnel.overlay_mode_bin)
- {
- raw_pkt->is_overlay_pkt = 1;
- }
- else
- {
- raw_pkt->is_overlay_pkt = 0; /* ��mrtunnatʱ, ���յ�������ȷ��, ��packet_io_hook�����Ƿ���overlay�İ� */
- }
+ if (OVERLAY_MODE_NF == sapp_global_val->config.packet_io.packet_io_tunnel.overlay_mode_bin)
+ {
+ raw_pkt->is_overlay_pkt = 1;
+ }
+ else
+ {
+ raw_pkt->is_overlay_pkt = 0; /* ��mrtunnatʱ, ���յ�������ȷ��, ��packet_io_hook�����Ƿ���overlay�İ� */
}
/* clear pkt status */
@@ -785,7 +754,6 @@ static inline int marsio4_pkt_hand(int tid, marsio_buff_t *rx_buff, raw_pkt_t *r
raw_pkt->payload_len=0;
raw_pkt->stream_trace_id=0;
- //ret = (*g_marsio4_work_fun)((const raw_pkt_t *)raw_pkt, mr_ctrlzone->route_dir, tid);
ret = (*g_marsio4_work_fun)((const raw_pkt_t *)raw_pkt, dir, tid);
return ret;