使用marsio API获取dev_endpoint的MAC address
This commit is contained in:
@@ -29,8 +29,12 @@ rx_burst_max=128
|
|||||||
app_symbol=sce
|
app_symbol=sce
|
||||||
dev_endpoint=eth_sf_endpoint
|
dev_endpoint=eth_sf_endpoint
|
||||||
dev_nf_interface=eth_nf_interface
|
dev_nf_interface=eth_nf_interface
|
||||||
default_src_ip=192.168.100.1
|
dev_endpoint_src_ip=192.168.100.1
|
||||||
default_src_mac=aa:aa:aa:aa:aa:aa
|
|
||||||
|
# If the configuration file does not set src mac, get src mac through marsio_get_device_ether_addr();
|
||||||
|
# If the configuration file has src mac set, use the src mac in the file
|
||||||
|
# dev_endpoint_src_mac=aa:aa:aa:aa:aa:aa
|
||||||
|
|
||||||
# only used for bypass_all_traffic=2
|
# only used for bypass_all_traffic=2
|
||||||
default_dst_ip=192.168.100.2
|
default_dst_ip=192.168.100.2
|
||||||
default_dst_mac=bb:bb:bb:bb:bb:bb
|
default_dst_mac=bb:bb:bb:bb:bb:bb
|
||||||
|
|||||||
@@ -43,9 +43,9 @@ struct config
|
|||||||
char dev_endpoint[256];
|
char dev_endpoint[256];
|
||||||
char dev_nf_interface[256];
|
char dev_nf_interface[256];
|
||||||
|
|
||||||
char default_src_ip[16];
|
char dev_endpoint_src_ip[16];
|
||||||
|
char dev_endpoint_src_mac[32];
|
||||||
char default_dst_ip[16];
|
char default_dst_ip[16];
|
||||||
char default_src_mac[32];
|
|
||||||
char default_dst_mac[32];
|
char default_dst_mac[32];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -232,6 +232,12 @@ struct packet_io *packet_io_create(const char *profile, int thread_num)
|
|||||||
goto error_out;
|
goto error_out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (strlen(handle->config.dev_endpoint_src_mac) == 0)
|
||||||
|
{
|
||||||
|
marsio_get_device_ether_addr(handle->dev_endpoint.mr_dev, handle->config.dev_endpoint_src_mac, sizeof(handle->config.dev_endpoint_src_mac));
|
||||||
|
LOG_DEBUG("%s: PACKET_IO->dev_endpoint_src_mac : %s (get from marsio api)", LOG_TAG_PKTIO, handle->config.dev_endpoint_src_mac);
|
||||||
|
}
|
||||||
|
|
||||||
return handle;
|
return handle;
|
||||||
|
|
||||||
error_out:
|
error_out:
|
||||||
@@ -363,9 +369,11 @@ int packet_io_polling_nf_interface(struct packet_io *handle, int thread_seq, voi
|
|||||||
{
|
{
|
||||||
case RAW_PKT_ERR_BYPASS:
|
case RAW_PKT_ERR_BYPASS:
|
||||||
throughput_metrics_inc(&g_metrics->dev_nf_interface_err_bypass, 1, action_bytes);
|
throughput_metrics_inc(&g_metrics->dev_nf_interface_err_bypass, 1, action_bytes);
|
||||||
|
throughput_metrics_inc(&g_metrics->dev_nf_interface_tx, 1, raw_len);
|
||||||
break;
|
break;
|
||||||
case RAW_PKT_HIT_BYPASS:
|
case RAW_PKT_HIT_BYPASS:
|
||||||
throughput_metrics_inc(&g_metrics->hit_bypass_policy, 1, action_bytes);
|
throughput_metrics_inc(&g_metrics->hit_bypass_policy, 1, action_bytes);
|
||||||
|
throughput_metrics_inc(&g_metrics->dev_nf_interface_tx, 1, raw_len);
|
||||||
break;
|
break;
|
||||||
case RAW_PKT_HIT_BLOCK:
|
case RAW_PKT_HIT_BLOCK:
|
||||||
throughput_metrics_inc(&g_metrics->hit_block_policy, 1, action_bytes);
|
throughput_metrics_inc(&g_metrics->hit_block_policy, 1, action_bytes);
|
||||||
@@ -467,9 +475,9 @@ static int packet_io_config(const char *profile, struct config *config)
|
|||||||
MESA_load_profile_string_nodef(profile, "PACKET_IO", "dev_endpoint", config->dev_endpoint, sizeof(config->dev_endpoint));
|
MESA_load_profile_string_nodef(profile, "PACKET_IO", "dev_endpoint", config->dev_endpoint, sizeof(config->dev_endpoint));
|
||||||
MESA_load_profile_string_nodef(profile, "PACKET_IO", "dev_nf_interface", config->dev_nf_interface, sizeof(config->dev_nf_interface));
|
MESA_load_profile_string_nodef(profile, "PACKET_IO", "dev_nf_interface", config->dev_nf_interface, sizeof(config->dev_nf_interface));
|
||||||
|
|
||||||
MESA_load_profile_string_nodef(profile, "PACKET_IO", "default_src_ip", config->default_src_ip, sizeof(config->default_src_ip));
|
MESA_load_profile_string_nodef(profile, "PACKET_IO", "dev_endpoint_src_ip", config->dev_endpoint_src_ip, sizeof(config->dev_endpoint_src_ip));
|
||||||
MESA_load_profile_string_nodef(profile, "PACKET_IO", "default_dst_ip", config->default_dst_ip, sizeof(config->default_dst_ip));
|
MESA_load_profile_string_nodef(profile, "PACKET_IO", "default_dst_ip", config->default_dst_ip, sizeof(config->default_dst_ip));
|
||||||
MESA_load_profile_string_nodef(profile, "PACKET_IO", "default_src_mac", config->default_src_mac, sizeof(config->default_src_mac));
|
MESA_load_profile_string_nodef(profile, "PACKET_IO", "dev_endpoint_src_mac", config->dev_endpoint_src_mac, sizeof(config->dev_endpoint_src_mac));
|
||||||
MESA_load_profile_string_nodef(profile, "PACKET_IO", "default_dst_mac", config->default_dst_mac, sizeof(config->default_dst_mac));
|
MESA_load_profile_string_nodef(profile, "PACKET_IO", "default_dst_mac", config->default_dst_mac, sizeof(config->default_dst_mac));
|
||||||
|
|
||||||
if (config->rx_burst_max > RX_BURST_MAX)
|
if (config->rx_burst_max > RX_BURST_MAX)
|
||||||
@@ -501,9 +509,13 @@ static int packet_io_config(const char *profile, struct config *config)
|
|||||||
LOG_DEBUG("%s: PACKET_IO->app_symbol : %s", LOG_TAG_PKTIO, config->app_symbol);
|
LOG_DEBUG("%s: PACKET_IO->app_symbol : %s", LOG_TAG_PKTIO, config->app_symbol);
|
||||||
LOG_DEBUG("%s: PACKET_IO->dev_endpoint : %s", LOG_TAG_PKTIO, config->dev_endpoint);
|
LOG_DEBUG("%s: PACKET_IO->dev_endpoint : %s", LOG_TAG_PKTIO, config->dev_endpoint);
|
||||||
LOG_DEBUG("%s: PACKET_IO->dev_nf_interface : %s", LOG_TAG_PKTIO, config->dev_nf_interface);
|
LOG_DEBUG("%s: PACKET_IO->dev_nf_interface : %s", LOG_TAG_PKTIO, config->dev_nf_interface);
|
||||||
LOG_DEBUG("%s: PACKET_IO->default_src_ip : %s", LOG_TAG_PKTIO, config->default_src_ip);
|
LOG_DEBUG("%s: PACKET_IO->dev_endpoint_src_ip : %s", LOG_TAG_PKTIO, config->dev_endpoint_src_ip);
|
||||||
LOG_DEBUG("%s: PACKET_IO->default_dst_ip : %s", LOG_TAG_PKTIO, config->default_dst_ip);
|
LOG_DEBUG("%s: PACKET_IO->default_dst_ip : %s", LOG_TAG_PKTIO, config->default_dst_ip);
|
||||||
LOG_DEBUG("%s: PACKET_IO->default_src_mac : %s", LOG_TAG_PKTIO, config->default_src_mac);
|
if (strlen(config->dev_endpoint_src_mac))
|
||||||
|
{
|
||||||
|
LOG_DEBUG("%s: PACKET_IO->dev_endpoint_src_mac : %s (get from configuration file)", LOG_TAG_PKTIO, config->dev_endpoint_src_mac);
|
||||||
|
}
|
||||||
|
|
||||||
LOG_DEBUG("%s: PACKET_IO->default_dst_mac : %s", LOG_TAG_PKTIO, config->default_dst_mac);
|
LOG_DEBUG("%s: PACKET_IO->default_dst_mac : %s", LOG_TAG_PKTIO, config->default_dst_mac);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1001,8 +1013,8 @@ static int forward_packet_to_sf(struct packet_io *handle, marsio_buff_t *rx_buff
|
|||||||
g_vxlan_set_sf_index(g_vxlan_hdr, sf->sf_index);
|
g_vxlan_set_sf_index(g_vxlan_hdr, sf->sf_index);
|
||||||
g_vxlan_set_traffic_type(g_vxlan_hdr, meta->traffic_is_decrypted);
|
g_vxlan_set_traffic_type(g_vxlan_hdr, meta->traffic_is_decrypted);
|
||||||
|
|
||||||
build_ether_header(eth_hdr, ETH_P_IP, handle->config.default_src_mac, sf->sf_dst_mac);
|
build_ether_header(eth_hdr, ETH_P_IP, handle->config.dev_endpoint_src_mac, sf->sf_dst_mac);
|
||||||
build_ip_header(ip_hdr, IPPROTO_UDP, handle->config.default_src_ip, sf->sf_dst_ip, sizeof(struct udp_hdr) + sizeof(struct g_vxlan) + meta->raw_len);
|
build_ip_header(ip_hdr, IPPROTO_UDP, handle->config.dev_endpoint_src_ip, sf->sf_dst_ip, sizeof(struct udp_hdr) + sizeof(struct g_vxlan) + meta->raw_len);
|
||||||
build_udp_header((const char *)&ip_hdr->ip_src, 8, udp_hdr, meta->session_id % (65535 - 49152) + 49152, 4789, sizeof(struct g_vxlan) + meta->raw_len);
|
build_udp_header((const char *)&ip_hdr->ip_src, 8, udp_hdr, meta->session_id % (65535 - 49152) + 49152, 4789, sizeof(struct g_vxlan) + meta->raw_len);
|
||||||
|
|
||||||
int raw_len = marsio_buff_datalen(rx_buff);
|
int raw_len = marsio_buff_datalen(rx_buff);
|
||||||
|
|||||||
Reference in New Issue
Block a user