1 Star 0 Fork 32

compile_success/gazelle_3

forked from src-openEuler/gazelle 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
0260-cleancode-declare-different-cfg_params-types.patch 12.74 KB
一键复制 编辑 原始数据 按行查看 历史
From 3313619bd53f1bafc5e48eb4642213fd5208c0e2 Mon Sep 17 00:00:00 2001
From: Lemmy Huang <hlm3280@163.com>
Date: Sun, 1 Sep 2024 11:33:12 +0800
Subject: [PATCH] cleancode: declare different cfg_params types
Signed-off-by: Lemmy Huang <hlm3280@163.com>
---
src/lstack/core/lstack_cfg.c | 10 +-
src/lstack/core/lstack_dpdk.c | 8 +-
src/lstack/core/lstack_protocol_stack.c | 2 +-
src/lstack/core/lstack_virtio.c | 4 +-
src/lstack/include/lstack_cfg.h | 161 +++++++++++----------
src/lstack/include/lstack_protocol_stack.h | 2 +-
src/lstack/netif/lstack_ethdev.c | 4 +-
src/lstack/netif/lstack_vdev.c | 2 +-
8 files changed, 104 insertions(+), 89 deletions(-)
diff --git a/src/lstack/core/lstack_cfg.c b/src/lstack/core/lstack_cfg.c
index 882e60a..659a2a7 100644
--- a/src/lstack/core/lstack_cfg.c
+++ b/src/lstack/core/lstack_cfg.c
@@ -1300,9 +1300,9 @@ static int32_t parse_use_sockmap(void)
static int32_t parse_nic_rxqueue_size(void)
{
int32_t ret;
- PARSE_ARG(g_config_params.nic.rxqueue_size, "nic_rxqueue_size", 4096,
+ PARSE_ARG(g_config_params.rxqueue_size, "nic_rxqueue_size", 4096,
NIC_QUEUE_SIZE_MIN, NIC_QUEUE_SIZE_MAX, ret);
- if (!rte_is_power_of_2(g_config_params.nic.rxqueue_size)) {
+ if (!rte_is_power_of_2(g_config_params.rxqueue_size)) {
LSTACK_LOG(ERR, LSTACK, "nic queue size only support power of two\n");
return -1;
}
@@ -1312,9 +1312,9 @@ static int32_t parse_nic_rxqueue_size(void)
static int32_t parse_nic_txqueue_size(void)
{
int32_t ret;
- PARSE_ARG(g_config_params.nic.txqueue_size, "nic_txqueue_size", 2048,
+ PARSE_ARG(g_config_params.txqueue_size, "nic_txqueue_size", 2048,
NIC_QUEUE_SIZE_MIN, NIC_QUEUE_SIZE_MAX, ret);
- if (!rte_is_power_of_2(g_config_params.nic.txqueue_size)) {
+ if (!rte_is_power_of_2(g_config_params.txqueue_size)) {
LSTACK_LOG(ERR, LSTACK, "nic queue size only support power of two\n");
return -1;
}
@@ -1352,7 +1352,7 @@ static int32_t parse_stack_thread_mode(void)
static int32_t parse_nic_vlan_mode(void)
{
int32_t ret;
- PARSE_ARG(g_config_params.nic.vlan_mode, "nic_vlan_mode", -1, -1, 4094, ret);
+ PARSE_ARG(g_config_params.vlan_mode, "nic_vlan_mode", -1, -1, 4094, ret);
return ret;
}
diff --git a/src/lstack/core/lstack_dpdk.c b/src/lstack/core/lstack_dpdk.c
index f87e362..1fe0f0a 100644
--- a/src/lstack/core/lstack_dpdk.c
+++ b/src/lstack/core/lstack_dpdk.c
@@ -432,8 +432,8 @@ static int eth_params_init(struct eth_params *eth_params, uint16_t port_id, uint
eth_params->port_id = port_id;
eth_params->nb_queues = nb_queues;
- eth_params->nb_rx_desc = get_global_cfg_params()->nic.rxqueue_size;
- eth_params->nb_tx_desc = get_global_cfg_params()->nic.txqueue_size;
+ eth_params->nb_rx_desc = get_global_cfg_params()->rxqueue_size;
+ eth_params->nb_tx_desc = get_global_cfg_params()->txqueue_size;
eth_params->conf.link_speeds = RTE_ETH_LINK_SPEED_AUTONEG;
eth_params->conf.txmode.mq_mode = RTE_ETH_MQ_TX_NONE;
eth_params->conf.rxmode.mq_mode = RTE_ETH_MQ_RX_NONE;
@@ -571,7 +571,7 @@ int32_t dpdk_ethdev_init(int port_id)
}
/* after rte_eth_dev_configure */
- if ((get_global_cfg_params()->nic.vlan_mode != -1) &&
+ if ((get_global_cfg_params()->vlan_mode != -1) &&
((stack_group->rx_offload & RTE_ETH_RX_OFFLOAD_VLAN_FILTER) == RTE_ETH_RX_OFFLOAD_VLAN_FILTER)) {
/*
* vlan filter can be configured for switch,nic and software.
@@ -583,7 +583,7 @@ int32_t dpdk_ethdev_init(int port_id)
*/
if ((get_global_cfg_params()->bond_mode != BONDING_MODE_8023AD) &&
(get_global_cfg_params()->bond_mode != BONDING_MODE_ALB)) {
- ret = rte_eth_dev_vlan_filter(port_id, get_global_cfg_params()->nic.vlan_mode, 1);
+ ret = rte_eth_dev_vlan_filter(port_id, get_global_cfg_params()->vlan_mode, 1);
if (ret != 0) {
LSTACK_LOG(ERR, LSTACK, "dpdk add vlan filter failed ret = %d\n", ret);
return -1;
diff --git a/src/lstack/core/lstack_protocol_stack.c b/src/lstack/core/lstack_protocol_stack.c
index f1eeba1..d03b744 100644
--- a/src/lstack/core/lstack_protocol_stack.c
+++ b/src/lstack/core/lstack_protocol_stack.c
@@ -571,7 +571,7 @@ static int stack_group_init_mempool(void)
struct cfg_params *cfg_params = get_global_cfg_params();
uint32_t total_mbufs = 0;
uint32_t total_conn_mbufs = cfg_params->mbuf_count_per_conn * cfg_params->tcp_conn_count;
- uint32_t total_nic_mbufs = cfg_params->nic.rxqueue_size + cfg_params->nic.txqueue_size;
+ uint32_t total_nic_mbufs = cfg_params->rxqueue_size + cfg_params->txqueue_size;
struct rte_mempool *rxtx_mbuf = NULL;
uint32_t cpu_id = 0;
unsigned numa_id = 0;
diff --git a/src/lstack/core/lstack_virtio.c b/src/lstack/core/lstack_virtio.c
index 7a8d947..fefb06d 100644
--- a/src/lstack/core/lstack_virtio.c
+++ b/src/lstack/core/lstack_virtio.c
@@ -226,10 +226,10 @@ void virtio_tap_process_rx(uint16_t port, uint32_t queue_id)
* so no action will be taken.
* For TSO, tap devices do not support it, so no action will be taken.
*/
- if (get_global_cfg_params()->nic.vlan_mode != -1) {
+ if (get_global_cfg_params()->vlan_mode != -1) {
for (int i = 0; i< pkg_num; i++) {
pkts_burst[i]->ol_flags |= RTE_MBUF_F_TX_VLAN;
- pkts_burst[i]->vlan_tci = (u16_t)get_global_cfg_params()->nic.vlan_mode;
+ pkts_burst[i]->vlan_tci = (u16_t)get_global_cfg_params()->vlan_mode;
}
}
diff --git a/src/lstack/include/lstack_cfg.h b/src/lstack/include/lstack_cfg.h
index 4fc99f3..5e2d6fc 100644
--- a/src/lstack/include/lstack_cfg.h
+++ b/src/lstack/include/lstack_cfg.h
@@ -50,93 +50,108 @@
#define LSTACK_LPM_PKTS_IN_DETECT 1000
#define LSTACK_LPM_RX_PKTS 20
-
#define LSTACK_LPM_PKTS_IN_DETECT_MIN 5
#define LSTACK_LPM_PKTS_IN_DETECT_MAX 65535
+struct dev_addr {
#define DEV_ADDR_TYPE_EMPTY 0
#define DEV_ADDR_TYPE_MAC 1
#define DEV_ADDR_TYPE_PCI 2
-
-struct dev_addr {
- uint8_t addr_type; // 0:empty, 1:mac, 2:pci
+ uint8_t addr_type;
union addr_union {
struct rte_ether_addr mac_addr;
struct rte_pci_addr pci_addr;
} addr;
};
-struct secondary_attach_arg {
- uint8_t socket_num;
- uint64_t socket_size;
- uint32_t socket_per_size[GAZELLE_MAX_NUMA_NODES];
- uintptr_t base_virtaddr;
- char file_prefix[PATH_MAX];
-};
-
-struct cfg_nic_params {
- uint32_t rxqueue_size;
- uint32_t txqueue_size;
- int32_t vlan_mode;
-};
-
struct cfg_params {
- ip4_addr_t host_addr;
- ip6_addr_t host_addr6;
- ip4_addr_t netmask;
- ip4_addr_t gateway_addr;
- uint8_t mac_addr[ETHER_ADDR_LEN];
- uint16_t num_cpu;
- uint32_t cpus[CFG_MAX_CPUS];
- uint32_t send_cpus[CFG_MAX_CPUS];
- uint32_t recv_cpus[CFG_MAX_CPUS];
- uint16_t app_exclude_num_cpu;
- uint32_t app_exclude_cpus[CFG_MAX_CPUS];
- uint8_t num_ports;
- uint16_t ports[CFG_MAX_PORTS];
char log_file[PATH_MAX];
- uint16_t low_power_mod;
- uint16_t lpm_rx_pkts;
- uint32_t lpm_detect_ms;
- uint32_t lpm_pkts_in_detect;
- uint32_t tcp_conn_count;
- uint32_t mbuf_count_per_conn;
- uint32_t read_connect_number;
- uint32_t rpc_number;
- uint32_t nic_read_number;
- uint8_t use_ltran; // false:lstack read from nic. true:lstack read form ltran process.
-
- uint16_t num_process;
- uint16_t num_listen_port;
- uint16_t is_primary;
- uint16_t num_queue;
- uint16_t tot_queue_num;
- uint8_t process_idx;
- uint32_t process_numa[PROTOCOL_STACK_MAX];
-
- bool kni_switch;
- bool listen_shadow; // true:listen in all stack thread. false:listen in one stack thread.
- bool app_bind_numa;
- bool main_thread_affinity;
- bool seperate_send_recv;
- int dpdk_argc;
- char **dpdk_argv;
- struct secondary_attach_arg sec_attach_arg;
- char unix_socket_filename[NAME_MAX];
- uint16_t send_ring_size;
- uint16_t recv_ring_size;
- bool tuple_filter;
- int8_t bond_mode;
- int32_t bond_miimon;
- struct dev_addr bond_slave_addr[GAZELLE_MAX_BOND_NUM];
- bool use_sockmap;
- bool udp_enable;
- struct cfg_nic_params nic;
- bool stack_mode_rtc;
- bool nonblock_mode;
- uint32_t rpc_msg_max;
- bool send_cache_mode;
- bool flow_bifurcation;
+
+ struct { // dpdk
+ char **dpdk_argv;
+ uint8_t dpdk_argc;
+ struct secondary_attach_arg {
+ uint8_t socket_num;
+ uint64_t socket_size;
+ uint32_t socket_per_size[GAZELLE_MAX_NUMA_NODES];
+ uintptr_t base_virtaddr;
+ char file_prefix[PATH_MAX];
+ } sec_attach_arg;
+ };
+
+ struct { // eth
+ ip4_addr_t host_addr;
+ ip6_addr_t host_addr6;
+ ip4_addr_t netmask;
+ ip4_addr_t gateway_addr;
+ uint8_t mac_addr[ETHER_ADDR_LEN];
+ int8_t bond_mode;
+ int32_t bond_miimon;
+ struct dev_addr bond_slave_addr[GAZELLE_MAX_BOND_NUM];
+ };
+
+ struct { // low_power
+ uint16_t low_power_mod;
+ uint16_t lpm_rx_pkts;
+ uint32_t lpm_detect_ms;
+ uint32_t lpm_pkts_in_detect;
+ };
+
+ struct { // eth_rxtx
+ uint32_t rxqueue_size;
+ uint32_t txqueue_size;
+ uint16_t num_queue;
+ uint16_t tot_queue_num;
+ bool send_cache_mode;
+ bool flow_bifurcation;
+ int32_t vlan_mode;
+ };
+
+ struct { // stack
+ uint16_t num_cpu;
+ uint32_t cpus[CFG_MAX_CPUS];
+
+ bool main_thread_affinity;
+ bool app_bind_numa;
+ uint16_t app_exclude_num_cpu;
+ uint32_t app_exclude_cpus[CFG_MAX_CPUS];
+
+ bool stack_mode_rtc;
+ bool listen_shadow; // true:listen in all stack thread. false:listen in one stack thread.
+
+ uint32_t read_connect_number;
+ uint32_t nic_read_number;
+ uint32_t rpc_number;
+ uint32_t rpc_msg_max;
+ };
+
+ struct { // socket
+ uint16_t send_ring_size;
+ uint16_t recv_ring_size;
+ uint32_t tcp_conn_count;
+ uint32_t mbuf_count_per_conn;
+ };
+
+ struct { // deprecated
+ char unix_socket_filename[NAME_MAX];
+ bool use_ltran; // false:lstack read from nic. true:lstack read form ltran process.
+ bool nonblock_mode;
+ bool udp_enable;
+ bool kni_switch;
+ };
+
+ struct { // experiment
+ uint16_t num_process;
+ uint16_t is_primary;
+ uint8_t process_idx;
+ uint32_t process_numa[PROTOCOL_STACK_MAX];
+ bool tuple_filter;
+ bool use_sockmap;
+
+ bool seperate_send_recv;
+ uint32_t send_cpus[CFG_MAX_CPUS];
+ uint32_t recv_cpus[CFG_MAX_CPUS];
+ };
};
struct cfg_params *get_global_cfg_params(void);
diff --git a/src/lstack/include/lstack_protocol_stack.h b/src/lstack/include/lstack_protocol_stack.h
index 08a3901..8cb0020 100644
--- a/src/lstack/include/lstack_protocol_stack.h
+++ b/src/lstack/include/lstack_protocol_stack.h
@@ -34,7 +34,7 @@
#define SOCK_RECV_RING_SIZE_MAX (2048)
#define SOCK_SEND_RING_SIZE_MAX (2048)
-#define MBUFPOOL_RESERVE_NUM (get_global_cfg_params()->nic.rxqueue_size + 1024)
+#define MBUFPOOL_RESERVE_NUM (get_global_cfg_params()->rxqueue_size + 1024)
struct protocol_stack {
uint32_t tid;
diff --git a/src/lstack/netif/lstack_ethdev.c b/src/lstack/netif/lstack_ethdev.c
index 4f3cbc1..1a721f6 100644
--- a/src/lstack/netif/lstack_ethdev.c
+++ b/src/lstack/netif/lstack_ethdev.c
@@ -418,8 +418,8 @@ int32_t ethdev_init(struct protocol_stack *stack)
}
/* 0-4094: The vlaue range for VLAN IDs is 0 to 4094. */
- if (get_global_cfg_params()->nic.vlan_mode >= 0 && get_global_cfg_params()->nic.vlan_mode <= 4094) {
- netif_set_vlan_tci(&stack->netif, (u16_t)get_global_cfg_params()->nic.vlan_mode);
+ if (get_global_cfg_params()->vlan_mode >= 0 && get_global_cfg_params()->vlan_mode <= 4094) {
+ netif_set_vlan_tci(&stack->netif, (u16_t)get_global_cfg_params()->vlan_mode);
}
netif_set_link_up(&stack->netif);
diff --git a/src/lstack/netif/lstack_vdev.c b/src/lstack/netif/lstack_vdev.c
index 9ca77ba..e1a63a7 100644
--- a/src/lstack/netif/lstack_vdev.c
+++ b/src/lstack/netif/lstack_vdev.c
@@ -145,7 +145,7 @@ static uint32_t vdev_rx_poll(struct protocol_stack *stack, struct rte_mbuf **pkt
}
/* skip gro when tcp/ip cksum offloads disable */
- if (get_protocol_stack_group()->rx_offload == 0 || (get_global_cfg_params()->nic.vlan_mode >= 0
+ if (get_protocol_stack_group()->rx_offload == 0 || (get_global_cfg_params()->vlan_mode >= 0
&& !(get_protocol_stack_group()->rx_offload & RTE_ETH_RX_OFFLOAD_VLAN_STRIP))) {
return pkt_num;
}
--
2.33.0
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/compile_success/gazelle_3.git
git@gitee.com:compile_success/gazelle_3.git
compile_success
gazelle_3
gazelle_3
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385