From f6f394c20dcf9cd99dd35de4e804d1bb18d4c3d8 Mon Sep 17 00:00:00 2001 From: chengyechun Date: Mon, 3 Jul 2023 20:01:48 +0800 Subject: [PATCH] sync bond4 add dpdk return value check (cherry picked from commit 504fa685eec98eb3e813fcc504d40087cb169ce5) --- 0262-bond4-add-dpdk-return-value-check.patch | 50 ++++++++++++++++++++ gazelle.spec | 6 ++- 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 0262-bond4-add-dpdk-return-value-check.patch diff --git a/0262-bond4-add-dpdk-return-value-check.patch b/0262-bond4-add-dpdk-return-value-check.patch new file mode 100644 index 0000000..d348f82 --- /dev/null +++ b/0262-bond4-add-dpdk-return-value-check.patch @@ -0,0 +1,50 @@ +From 4667dcdd7c262d7789b74eb4fb0675af4e0fbf7c Mon Sep 17 00:00:00 2001 +From: compile_success <980965867@qq.com> +Date: Wed, 28 Jun 2023 09:08:53 +0000 +Subject: [PATCH] bond4 add dpdk return value check + +--- + src/lstack/core/lstack_dpdk.c | 19 ++++++++++++++++++- + 1 file changed, 18 insertions(+), 1 deletion(-) + +diff --git a/src/lstack/core/lstack_dpdk.c b/src/lstack/core/lstack_dpdk.c +index f6cabf8..cd42047 100644 +--- a/src/lstack/core/lstack_dpdk.c ++++ b/src/lstack/core/lstack_dpdk.c +@@ -490,7 +490,16 @@ int32_t dpdk_ethdev_init(int port_id, bool bond_port) + int slave_num = 2; + int32_t slave_port_id[2]; + slave_port_id[0] = ethdev_port_id(get_global_cfg_params()->bond4_slave1_mac_addr); ++ if (slave_port_id[0] < 0) { ++ LSTACK_LOG(ERR, LSTACK, "get slave port id failed port = %d\n", slave_port_id[0]); ++ return slave_port_id[0]; ++ } ++ + slave_port_id[1] = ethdev_port_id(get_global_cfg_params()->bond4_slave2_mac_addr); ++ if (slave_port_id[1] < 0) { ++ LSTACK_LOG(ERR, LSTACK, "get slave port id failed port = %d\n", slave_port_id[1]); ++ return slave_port_id[1]; ++ } + + for (int i = 0; i < slave_num; i++) { + ret = dpdk_ethdev_init(slave_port_id[i], 0); +@@ -532,7 +541,15 @@ int32_t dpdk_ethdev_init(int port_id, bool bond_port) + if (bond_port) { + struct rte_eth_dev_info slave_dev_info; + int slave_id = rte_eth_bond_primary_get(port_id); +- rte_eth_dev_info_get(slave_id, &slave_dev_info); ++ if (slave_id < 0) { ++ LSTACK_LOG(ERR, LSTACK, "dpdk get bond primary port failed port = %d\n", slave_id); ++ return slave_id; ++ } ++ ret = rte_eth_dev_info_get(slave_id, &slave_dev_info); ++ if (ret != 0) { ++ LSTACK_LOG(ERR, LSTACK, "dpdk get bond dev info failed ret = %d\n", ret); ++ return ret; ++ } + dev_info.rx_offload_capa = slave_dev_info.rx_offload_capa; + dev_info.tx_offload_capa = slave_dev_info.tx_offload_capa; + } +-- +2.23.0 + diff --git a/gazelle.spec b/gazelle.spec index 1b78b4a..cc9ffb8 100644 --- a/gazelle.spec +++ b/gazelle.spec @@ -2,7 +2,7 @@ Name: gazelle Version: 1.0.1 -Release: 71 +Release: 72 Summary: gazelle is a high performance user-mode stack License: MulanPSL-2.0 URL: https://gitee.com/openeuler/gazelle @@ -277,6 +277,7 @@ Patch9258: 0258-fix-core-dump-when-slave-mac-failed.patch Patch9259: 0259-check-return-value-of-hugepage_init-to-avoid-coredum.patch Patch9260: 0260-add-udp_enable-to-turn-off-udp-in-need.patch Patch9261: 0261-fix-bond4-EPOLLOUT-event-error.patch +Patch9262: 0262-bond4-add-dpdk-return-value-check.patch %description %{name} is a high performance user-mode stack. @@ -318,6 +319,9 @@ install -Dpm 0640 %{_builddir}/%{name}-%{version}/src/ltran/ltran.conf %{b %config(noreplace) %{conf_path}/ltran.conf %changelog +* Mon Jul 3 2023 jiangheng12 - 1.0.1-72 +- bond4 add dpdk return value check + * Sat Jul 1 2023 jiangheng12 - 1.0.1-71 - fix bond4 EPOLLOUT event error