From: Dengdui Huang <huangdengdui@huawei.com>
To: <dev@dpdk.org>
Cc: <ajit.khaparde@broadcom.com>, <thomas@monjalon.net>,
<ferruh.yigit@amd.com>, <stephen@networkplumber.org>,
<mb@smartsharesystems.com>, <david.marchand@redhat.com>,
<iboukris@gmail.com>, <lihuisong@huawei.com>,
<fengchengwen@huawei.com>, <haijie1@huawei.com>,
<liuyonglong@huawei.com>
Subject: [PATCH v5 42/52] net/mlx5: use rte strerror
Date: Mon, 4 Nov 2024 19:10:27 +0800 [thread overview]
Message-ID: <20241104111037.3632161-43-huangdengdui@huawei.com> (raw)
In-Reply-To: <20241104111037.3632161-1-huangdengdui@huawei.com>
The rte_errno may be an RTE-specific error code,
use rte_strerror() instead of strerror().
Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Huisong Li <lihuisong@huawei.com>
---
drivers/net/mlx5/hws/mlx5dr_matcher.c | 2 +-
drivers/net/mlx5/linux/mlx5_ethdev_os.c | 22 +++++++++++-----------
drivers/net/mlx5/linux/mlx5_os.c | 16 ++++++++--------
drivers/net/mlx5/mlx5.c | 8 ++++----
drivers/net/mlx5/mlx5_mac.c | 2 +-
drivers/net/mlx5/mlx5_rxmode.c | 8 ++++----
drivers/net/mlx5/mlx5_stats.c | 2 +-
drivers/net/mlx5/mlx5_testpmd.c | 10 +++++-----
drivers/net/mlx5/mlx5_trigger.c | 12 ++++++------
drivers/net/mlx5/mlx5_vlan.c | 2 +-
drivers/net/mlx5/windows/mlx5_ethdev_os.c | 2 +-
drivers/net/mlx5/windows/mlx5_os.c | 10 +++++-----
12 files changed, 48 insertions(+), 48 deletions(-)
diff --git a/drivers/net/mlx5/hws/mlx5dr_matcher.c b/drivers/net/mlx5/hws/mlx5dr_matcher.c
index dfa2cd435c..063f6b871e 100644
--- a/drivers/net/mlx5/hws/mlx5dr_matcher.c
+++ b/drivers/net/mlx5/hws/mlx5dr_matcher.c
@@ -1516,7 +1516,7 @@ mlx5dr_match_template_create(const struct rte_flow_item items[],
if (ret <= 0) {
DR_LOG(ERR, "Unable to process items (%s): %s",
error.message ? error.message : "unspecified",
- strerror(rte_errno));
+ rte_strerror(rte_errno));
goto free_template;
}
diff --git a/drivers/net/mlx5/linux/mlx5_ethdev_os.c b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
index 5d64984022..c874303722 100644
--- a/drivers/net/mlx5/linux/mlx5_ethdev_os.c
+++ b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
@@ -314,7 +314,7 @@ mlx5_link_update_unlocked_gset(struct rte_eth_dev *dev,
ret = mlx5_ifreq(dev, SIOCGIFFLAGS, &ifr);
if (ret) {
DRV_LOG(WARNING, "port %u ioctl(SIOCGIFFLAGS) failed: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
return ret;
}
dev_link = (struct rte_eth_link) {
@@ -351,7 +351,7 @@ mlx5_link_update_unlocked_gset(struct rte_eth_dev *dev,
DRV_LOG(WARNING,
"port %u ioctl(SIOCETHTOOL,"
" ETHTOOL_GSET) failed: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
return ret;
}
}
@@ -395,7 +395,7 @@ mlx5_link_update_unlocked_gs(struct rte_eth_dev *dev,
ret = mlx5_ifreq(dev, SIOCGIFFLAGS, &ifr);
if (ret) {
DRV_LOG(WARNING, "port %u ioctl(SIOCGIFFLAGS) failed: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
return ret;
}
dev_link = (struct rte_eth_link) {
@@ -430,7 +430,7 @@ mlx5_link_update_unlocked_gs(struct rte_eth_dev *dev,
DRV_LOG(DEBUG,
"port %u ioctl(SIOCETHTOOL,"
" ETHTOOL_GLINKSETTINGS) failed: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
return ret;
}
}
@@ -448,7 +448,7 @@ mlx5_link_update_unlocked_gs(struct rte_eth_dev *dev,
DRV_LOG(DEBUG,
"port %u ioctl(SIOCETHTOOL,"
"ETHTOOL_GLINKSETTINGS) failed: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
return ret;
}
@@ -538,7 +538,7 @@ mlx5_dev_get_flow_ctrl(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf)
DRV_LOG(DEBUG,
"port %u ioctl(SIOCETHTOOL, ETHTOOL_GPAUSEPARAM) failed:"
" %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
return ret;
}
fc_conf->autoneg = ethpause.autoneg;
@@ -591,7 +591,7 @@ mlx5_dev_set_flow_ctrl(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf)
DRV_LOG(WARNING,
"port %u ioctl(SIOCETHTOOL, ETHTOOL_SPAUSEPARAM)"
" failed: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
return ret;
}
return 0;
@@ -666,7 +666,7 @@ mlx5_link_update_bond(struct rte_eth_dev *dev)
ret = mlx5_ifreq_by_ifname(bond->ifname, SIOCGIFFLAGS, &ifr);
if (ret) {
DRV_LOG(WARNING, "ifname %s ioctl(SIOCGIFFLAGS) failed: %s",
- bond->ifname, strerror(rte_errno));
+ bond->ifname, rte_strerror(rte_errno));
return;
}
dev->data->dev_link.link_status =
@@ -1118,7 +1118,7 @@ mlx5_get_module_info(struct rte_eth_dev *dev,
ret = mlx5_ifreq(dev, SIOCETHTOOL, &ifr);
if (ret) {
DRV_LOG(WARNING, "port %u ioctl(SIOCETHTOOL) failed: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
return ret;
}
modinfo->type = info.type;
@@ -1167,7 +1167,7 @@ int mlx5_get_module_eeprom(struct rte_eth_dev *dev,
ret = mlx5_ifreq(dev, SIOCETHTOOL, &ifr);
if (ret)
DRV_LOG(WARNING, "port %u ioctl(SIOCETHTOOL) failed: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
else
rte_memcpy(info->data, eeprom->data, info->length);
mlx5_free(eeprom);
@@ -1725,7 +1725,7 @@ mlx5_os_stats_init(struct rte_eth_dev *dev)
ret = mlx5_os_read_dev_counters(dev, bond_master, xstats_ctrl->base);
if (ret)
DRV_LOG(ERR, "port %u cannot read device counters: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
mlx5_os_read_dev_stat(priv, "out_of_buffer", &stats_ctrl->imissed_base);
stats_ctrl->imissed = 0;
free:
diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
index 0ed5ba38a5..1a330dd0b7 100644
--- a/drivers/net/mlx5/linux/mlx5_os.c
+++ b/drivers/net/mlx5/linux/mlx5_os.c
@@ -1274,7 +1274,7 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
spawn->phys_port);
if (err < 0) {
DRV_LOG(INFO, "Failed to get netlink port state: %s",
- strerror(rte_errno));
+ rte_strerror(rte_errno));
err = -rte_errno;
goto error;
}
@@ -1434,7 +1434,7 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
if (err) {
err = rte_errno;
DRV_LOG(ERR, "unable to allocate switch domain: %s",
- strerror(rte_errno));
+ rte_strerror(rte_errno));
goto error;
}
own_domain_id = 1;
@@ -1525,7 +1525,7 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
if (err) {
err = rte_errno;
DRV_LOG(ERR, "Failed to process port configure: %s",
- strerror(rte_errno));
+ rte_strerror(rte_errno));
goto error;
}
eth_dev = rte_eth_dev_allocate(name);
@@ -1571,7 +1571,7 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
DRV_LOG(ERR,
"port %u cannot get MAC address, is mlx5_en"
" loaded? (errno: %s)",
- eth_dev->data->port_id, strerror(rte_errno));
+ eth_dev->data->port_id, rte_strerror(rte_errno));
err = ENODEV;
goto error;
}
@@ -2037,7 +2037,7 @@ mlx5_device_bond_pci_match(const char *ibdev_name,
bond_info->ifname);
if (ret)
DRV_LOG(ERR, "unable to get bond info: %s",
- strerror(rte_errno));
+ rte_strerror(rte_errno));
else
DRV_LOG(INFO, "PF device %u, bond device %u(%s)",
ifindex, bond_info->ifindex, bond_info->ifname);
@@ -2751,7 +2751,7 @@ mlx5_os_pci_probe_pf(struct mlx5_common_device *cdev,
" encountering an error: %s",
owner_pci.domain, owner_pci.bus,
owner_pci.devid, owner_pci.function,
- strerror(rte_errno));
+ rte_strerror(rte_errno));
ret = -rte_errno;
/* Roll back. */
while (i--) {
@@ -2931,13 +2931,13 @@ mlx5_os_net_probe(struct mlx5_common_device *cdev,
ret = mlx5_init_once();
if (ret) {
DRV_LOG(ERR, "Unable to init PMD global data: %s",
- strerror(rte_errno));
+ rte_strerror(rte_errno));
return -rte_errno;
}
ret = mlx5_probe_again_args_validate(cdev, mkvlist);
if (ret) {
DRV_LOG(ERR, "Probe again parameters are not compatible : %s",
- strerror(rte_errno));
+ rte_strerror(rte_errno));
return -rte_errno;
}
if (mlx5_dev_is_pci(cdev->dev))
diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
index 52b90e6ff3..a44f86d70f 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -1506,7 +1506,7 @@ mlx5_shared_dev_ctx_args_config(struct mlx5_dev_ctx_shared *sh,
mlx5_dev_args_check_handler, config);
if (ret) {
DRV_LOG(ERR, "Failed to process device arguments: %s",
- strerror(rte_errno));
+ rte_strerror(rte_errno));
return -rte_errno;
}
}
@@ -1835,7 +1835,7 @@ mlx5_alloc_shared_dev_ctx(const struct mlx5_dev_spawn_data *spawn,
err = mlx5_shared_dev_ctx_args_config(sh, mkvlist, &sh->config);
if (err) {
DRV_LOG(ERR, "Failed to process device configure: %s",
- strerror(rte_errno));
+ rte_strerror(rte_errno));
goto error;
}
sh->refcnt = 1;
@@ -2837,7 +2837,7 @@ mlx5_port_args_config(struct mlx5_priv *priv, struct mlx5_kvargs_ctrl *mkvlist,
mlx5_port_args_check_handler, config);
if (ret) {
DRV_LOG(ERR, "Failed to process port arguments: %s",
- strerror(rte_errno));
+ rte_strerror(rte_errno));
return -rte_errno;
}
}
@@ -3068,7 +3068,7 @@ mlx5_probe_again_args_validate(struct mlx5_common_device *cdev,
ret = mlx5_shared_dev_ctx_args_config(sh, mkvlist, config);
if (ret) {
DRV_LOG(ERR, "Failed to process device configure: %s",
- strerror(rte_errno));
+ rte_strerror(rte_errno));
mlx5_free(config);
return ret;
}
diff --git a/drivers/net/mlx5/mlx5_mac.c b/drivers/net/mlx5/mlx5_mac.c
index 22a756a52b..f73b7bc394 100644
--- a/drivers/net/mlx5/mlx5_mac.c
+++ b/drivers/net/mlx5/mlx5_mac.c
@@ -100,7 +100,7 @@ mlx5_mac_addr_remove(struct rte_eth_dev *dev, uint32_t index)
ret = mlx5_traffic_restart(dev);
if (ret)
DRV_LOG(ERR, "port %u cannot restart traffic: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
}
}
diff --git a/drivers/net/mlx5/mlx5_rxmode.c b/drivers/net/mlx5/mlx5_rxmode.c
index f44906e1a7..fae684defb 100644
--- a/drivers/net/mlx5/mlx5_rxmode.c
+++ b/drivers/net/mlx5/mlx5_rxmode.c
@@ -44,7 +44,7 @@ mlx5_promiscuous_enable(struct rte_eth_dev *dev)
ret = mlx5_traffic_restart(dev);
if (ret)
DRV_LOG(ERR, "port %u cannot enable promiscuous mode: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
/*
* rte_eth_dev_promiscuous_enable() rollback
@@ -77,7 +77,7 @@ mlx5_promiscuous_disable(struct rte_eth_dev *dev)
ret = mlx5_traffic_restart(dev);
if (ret)
DRV_LOG(ERR, "port %u cannot disable promiscuous mode: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
/*
* rte_eth_dev_promiscuous_disable() rollback
@@ -117,7 +117,7 @@ mlx5_allmulticast_enable(struct rte_eth_dev *dev)
ret = mlx5_traffic_restart(dev);
if (ret)
DRV_LOG(ERR, "port %u cannot enable allmulicast mode: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
error:
/*
* rte_eth_allmulticast_enable() rollback
@@ -150,7 +150,7 @@ mlx5_allmulticast_disable(struct rte_eth_dev *dev)
ret = mlx5_traffic_restart(dev);
if (ret)
DRV_LOG(ERR, "port %u cannot disable allmulicast mode: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
error:
/*
* rte_eth_allmulticast_disable() rollback
diff --git a/drivers/net/mlx5/mlx5_stats.c b/drivers/net/mlx5/mlx5_stats.c
index 83338dc279..ba7789287c 100644
--- a/drivers/net/mlx5/mlx5_stats.c
+++ b/drivers/net/mlx5/mlx5_stats.c
@@ -268,7 +268,7 @@ mlx5_xstats_reset(struct rte_eth_dev *dev)
ret = mlx5_os_read_dev_counters(dev, bond_master, counters);
if (ret) {
DRV_LOG(ERR, "port %u cannot read device counters: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
mlx5_free(counters);
return ret;
}
diff --git a/drivers/net/mlx5/mlx5_testpmd.c b/drivers/net/mlx5/mlx5_testpmd.c
index 02fbd59582..032382a564 100644
--- a/drivers/net/mlx5/mlx5_testpmd.c
+++ b/drivers/net/mlx5/mlx5_testpmd.c
@@ -1128,7 +1128,7 @@ mlx5_cmd_apply_tlv_options_parsed(void *parsed_result,
if (handle == NULL) {
fprintf(stderr,
"Fail to create GENEVE TLV parser, nb_option=%u: %s\n",
- tlv_mng.nb_options, strerror(rte_errno));
+ tlv_mng.nb_options, rte_strerror(rte_errno));
return;
}
@@ -1281,10 +1281,10 @@ mlx5_cmd_dump_sq_context_options_parsed(void *parsed_result,
fprintf(stderr, "invalid port_id %u\n", res->port_id);
break;
case -EIO:
- fprintf(stderr, "File Access Error (%s)\n", strerror(rte_errno));
+ fprintf(stderr, "File Access Error (%s)\n", rte_strerror(rte_errno));
break;
default:
- fprintf(stderr, "Unable to dump SQ/CQ HW Context (%s)\n", strerror(rte_errno));
+ fprintf(stderr, "Unable to dump SQ/CQ HW Context (%s)\n", rte_strerror(rte_errno));
}
}
@@ -1363,10 +1363,10 @@ mlx5_cmd_dump_rq_context_options_parsed(void *parsed_result,
fprintf(stderr, "invalid port_id %u\n", res->port_id);
break;
case -EIO:
- fprintf(stderr, "File Access Error (%s)\n", strerror(rte_errno));
+ fprintf(stderr, "File Access Error (%s)\n", rte_strerror(rte_errno));
break;
default:
- fprintf(stderr, "Unable to dump RQ/CQ HW Context (%s)\n", strerror(rte_errno));
+ fprintf(stderr, "Unable to dump RQ/CQ HW Context (%s)\n", rte_strerror(rte_errno));
}
}
diff --git a/drivers/net/mlx5/mlx5_trigger.c b/drivers/net/mlx5/mlx5_trigger.c
index bf836c92fc..8ac91e6c71 100644
--- a/drivers/net/mlx5/mlx5_trigger.c
+++ b/drivers/net/mlx5/mlx5_trigger.c
@@ -1201,14 +1201,14 @@ mlx5_dev_start(struct rte_eth_dev *dev)
ret = mlx5_dev_configure_rss_reta(dev);
if (ret) {
DRV_LOG(ERR, "port %u reta config failed: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
return -rte_errno;
}
}
ret = mlx5_txpp_start(dev);
if (ret) {
DRV_LOG(ERR, "port %u Tx packet pacing init failed: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
goto error;
}
if (mlx5_devx_obj_ops_en(priv->sh) &&
@@ -1220,7 +1220,7 @@ mlx5_dev_start(struct rte_eth_dev *dev)
ret = mlx5_txq_start(dev);
if (ret) {
DRV_LOG(ERR, "port %u Tx queue allocation failed: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
goto error;
}
if (priv->config.std_delay_drop || priv->config.hp_delay_drop) {
@@ -1244,7 +1244,7 @@ mlx5_dev_start(struct rte_eth_dev *dev)
ret = mlx5_rxq_start(dev);
if (ret) {
DRV_LOG(ERR, "port %u Rx queue allocation failed: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
goto error;
}
/*
@@ -1254,7 +1254,7 @@ mlx5_dev_start(struct rte_eth_dev *dev)
ret = mlx5_hairpin_auto_bind(dev);
if (ret) {
DRV_LOG(ERR, "port %u hairpin auto binding failed: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
goto error;
}
/* Set started flag here for the following steps like control flow. */
@@ -1307,7 +1307,7 @@ mlx5_dev_start(struct rte_eth_dev *dev)
ret = mlx5_flow_start_default(dev);
if (ret) {
DRV_LOG(DEBUG, "port %u failed to start default actions: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
goto error;
}
if (mlx5_dev_ctx_shared_mempool_subscribe(dev) != 0) {
diff --git a/drivers/net/mlx5/mlx5_vlan.c b/drivers/net/mlx5/mlx5_vlan.c
index e7161b66fe..e2914844c6 100644
--- a/drivers/net/mlx5/mlx5_vlan.c
+++ b/drivers/net/mlx5/mlx5_vlan.c
@@ -118,7 +118,7 @@ mlx5_vlan_strip_queue_set(struct rte_eth_dev *dev, uint16_t queue, int on)
ret = priv->obj_ops.rxq_obj_modify_vlan_strip(rxq, on);
if (ret) {
DRV_LOG(ERR, "Port %u failed to modify object stripping mode:"
- " %s", dev->data->port_id, strerror(rte_errno));
+ " %s", dev->data->port_id, rte_strerror(rte_errno));
return;
}
/* Update related bits in RX queue. */
diff --git a/drivers/net/mlx5/windows/mlx5_ethdev_os.c b/drivers/net/mlx5/windows/mlx5_ethdev_os.c
index 49f750be68..cd0a02d76b 100644
--- a/drivers/net/mlx5/windows/mlx5_ethdev_os.c
+++ b/drivers/net/mlx5/windows/mlx5_ethdev_os.c
@@ -221,7 +221,7 @@ mlx5_os_stats_init(struct rte_eth_dev *dev)
ret = mlx5_os_read_dev_stat(priv, "out_of_buffer", &stats_ctrl->imissed_base);
if (ret)
DRV_LOG(ERR, "port %u cannot read device counters: %s",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
stats_ctrl->imissed = 0;
}
diff --git a/drivers/net/mlx5/windows/mlx5_os.c b/drivers/net/mlx5/windows/mlx5_os.c
index 8032616268..24c24cf7a3 100644
--- a/drivers/net/mlx5/windows/mlx5_os.c
+++ b/drivers/net/mlx5/windows/mlx5_os.c
@@ -432,7 +432,7 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
if (err) {
err = rte_errno;
DRV_LOG(ERR, "unable to allocate switch domain: %s",
- strerror(rte_errno));
+ rte_strerror(rte_errno));
goto error;
}
own_domain_id = 1;
@@ -442,7 +442,7 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
if (err) {
err = rte_errno;
DRV_LOG(ERR, "Failed to process port configure: %s",
- strerror(rte_errno));
+ rte_strerror(rte_errno));
goto error;
}
eth_dev = rte_eth_dev_allocate(name);
@@ -485,7 +485,7 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
DRV_LOG(ERR,
"port %u cannot get MAC address, is mlx5_en"
" loaded? (errno: %s).",
- eth_dev->data->port_id, strerror(rte_errno));
+ eth_dev->data->port_id, rte_strerror(rte_errno));
err = ENODEV;
goto error;
}
@@ -739,7 +739,7 @@ mlx5_os_mac_addr_add(struct rte_eth_dev *dev, struct rte_ether_addr *mac,
DRV_LOG(ERR,
"port %u cannot get MAC address, is mlx5_en"
" loaded? (errno: %s)",
- dev->data->port_id, strerror(rte_errno));
+ dev->data->port_id, rte_strerror(rte_errno));
return rte_errno;
}
if (!rte_is_same_ether_addr(&lmac, mac)) {
@@ -858,7 +858,7 @@ mlx5_os_net_probe(struct mlx5_common_device *cdev,
ret = mlx5_init_once();
if (ret) {
DRV_LOG(ERR, "unable to init PMD global data: %s",
- strerror(rte_errno));
+ rte_strerror(rte_errno));
return -rte_errno;
}
spawn.eth_dev = mlx5_dev_spawn(cdev->dev, &spawn, mkvlist);
--
2.33.0
next prev parent reply other threads:[~2024-11-04 11:15 UTC|newest]
Thread overview: 247+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-14 8:24 [PATCH 00/43] replace strerror Dengdui Huang
2023-11-14 8:24 ` [PATCH 01/43] devtools: forbid use of strerror Dengdui Huang
2023-11-14 8:24 ` [PATCH 02/43] eal: use rte strerror Dengdui Huang
2023-11-15 0:18 ` Stephen Hemminger
2023-11-15 11:16 ` Morten Brørup
2024-02-01 21:49 ` Stephen Hemminger
2023-11-15 0:22 ` Stephen Hemminger
2023-11-15 11:23 ` Morten Brørup
2023-11-15 15:06 ` Stephen Hemminger
2023-11-14 8:24 ` [PATCH 03/43] eventdev: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 04/43] latency: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 05/43] node: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 06/43] pdump: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 07/43] power: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 08/43] telemetry: replace strerror Dengdui Huang
2023-11-14 8:25 ` [PATCH 09/43] vhost: use rte strerror Dengdui Huang
2023-11-14 8:25 ` [PATCH 10/43] bpf: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 11/43] bus/cdx: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 12/43] bus/dpaa: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 13/43] bus/fslmc: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 14/43] bus/pci: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 15/43] bus/vdev: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 16/43] bus/vmbus: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 17/43] common/cnxk: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 18/43] common/mlx5: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 19/43] crypto/caam_jr: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 20/43] dma/idxd: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 21/43] net/af_packet: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 22/43] net/bnxt: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 23/43] net/af_xdp: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 24/43] net/bonding: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 25/43] net/dpaa: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 26/43] net/dpaa2: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 27/43] net/enetfec: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 28/43] net/failsafe: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 29/43] net/i40e: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 30/43] net/ice: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 31/43] net/ixgbe: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 32/43] net/memif: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 33/43] net/mlx4: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 34/43] net/mlx5: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 35/43] net/qede: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 36/43] net/sfc: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 37/43] net/tap: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 38/43] net/vhost: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 39/43] net/virtio: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 40/43] raw/ifpga: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 41/43] vdpa/ifc: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 42/43] vdpa/mlx5: " Dengdui Huang
2023-11-14 8:25 ` [PATCH 43/43] vdpa/sfc: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 00/43] replace strerror Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 01/43] devtools: forbid use of strerror Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 02/43] eal: use rte strerror Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 03/43] eventdev: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 04/43] latency: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 05/43] node: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 06/43] pdump: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 07/43] power: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 08/43] telemetry: replace strerror Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 09/43] vhost: use rte strerror Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 10/43] bpf: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 11/43] bus/cdx: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 12/43] bus/dpaa: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 13/43] bus/fslmc: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 14/43] bus/pci: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 15/43] bus/vdev: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 16/43] bus/vmbus: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 17/43] common/cnxk: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 18/43] common/mlx5: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 19/43] crypto/caam_jr: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 20/43] dma/idxd: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 21/43] net/af_packet: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 22/43] net/bnxt: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 23/43] net/af_xdp: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 24/43] net/bonding: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 25/43] net/dpaa: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 26/43] net/dpaa2: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 27/43] net/enetfec: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 28/43] net/failsafe: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 29/43] net/i40e: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 30/43] net/ice: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 31/43] net/ixgbe: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 32/43] net/memif: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 33/43] net/mlx4: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 34/43] net/mlx5: " Dengdui Huang
2023-11-14 11:23 ` [PATCH v2 35/43] net/qede: " Dengdui Huang
2023-11-14 11:24 ` [PATCH v2 36/43] net/sfc: " Dengdui Huang
2023-11-14 11:24 ` [PATCH v2 37/43] net/tap: " Dengdui Huang
2023-11-14 11:24 ` [PATCH v2 38/43] net/vhost: " Dengdui Huang
2023-11-14 11:24 ` [PATCH v2 39/43] net/virtio: " Dengdui Huang
2023-11-14 11:24 ` [PATCH v2 40/43] raw/ifpga: " Dengdui Huang
2023-11-14 11:24 ` [PATCH v2 41/43] vdpa/ifc: " Dengdui Huang
2023-11-14 11:24 ` [PATCH v2 42/43] vdpa/mlx5: " Dengdui Huang
2023-11-14 11:24 ` [PATCH v2 43/43] vdpa/sfc: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 00/42] replace strerror Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 01/42] devtools: forbid use of strerror Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 02/42] eal: use rte strerror Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 03/42] eventdev: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 04/42] latency: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 05/42] node: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 06/42] pdump: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 07/42] power: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 08/42] vhost: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 09/42] bpf: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 10/42] bus/cdx: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 11/42] bus/dpaa: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 12/42] bus/fslmc: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 13/42] bus/pci: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 14/42] bus/vdev: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 15/42] bus/vmbus: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 16/42] common/cnxk: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 17/42] common/mlx5: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 18/42] crypto/caam_jr: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 19/42] dma/idxd: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 20/42] net/af_packet: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 21/42] net/bnxt: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 22/42] net/af_xdp: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 23/42] net/bonding: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 24/42] net/dpaa: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 25/42] net/dpaa2: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 26/42] net/enetfec: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 27/42] net/failsafe: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 28/42] net/i40e: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 29/42] net/ice: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 30/42] net/ixgbe: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 31/42] net/memif: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 32/42] net/mlx4: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 33/42] net/mlx5: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 34/42] net/qede: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 35/42] net/sfc: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 36/42] net/tap: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 37/42] net/vhost: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 38/42] net/virtio: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 39/42] raw/ifpga: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 40/42] vdpa/ifc: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 41/42] vdpa/mlx5: " Dengdui Huang
2023-11-14 12:35 ` [PATCH v3 42/42] vdpa/sfc: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 00/42] replace strerror Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 01/42] devtools: forbid use of strerror Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 02/42] eal: use rte strerror Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 03/42] eventdev: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 04/42] latency: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 05/42] node: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 06/42] pdump: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 07/42] power: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 08/42] vhost: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 09/42] bpf: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 10/42] bus/cdx: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 11/42] bus/dpaa: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 12/42] bus/fslmc: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 13/42] bus/pci: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 14/42] bus/vdev: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 15/42] bus/vmbus: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 16/42] common/cnxk: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 17/42] common/mlx5: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 18/42] crypto/caam_jr: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 19/42] dma/idxd: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 20/42] net/af_packet: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 21/42] net/bnxt: " Dengdui Huang
2024-10-23 20:24 ` Ajit Khaparde
2024-10-23 8:28 ` [PATCH v4 22/42] net/af_xdp: " Dengdui Huang
2024-10-24 17:05 ` Maryam Tahhan
2024-10-23 8:28 ` [PATCH v4 23/42] net/bonding: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 24/42] net/dpaa: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 25/42] net/dpaa2: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 26/42] net/enetfec: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 27/42] net/failsafe: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 28/42] net/i40e: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 29/42] net/ice: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 30/42] net/ixgbe: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 31/42] net/memif: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 32/42] net/mlx4: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 33/42] net/mlx5: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 34/42] net/qede: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 35/42] net/sfc: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 36/42] net/tap: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 37/42] net/vhost: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 38/42] net/virtio: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 39/42] raw/ifpga: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 40/42] vdpa/ifc: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 41/42] vdpa/mlx5: " Dengdui Huang
2024-10-23 8:28 ` [PATCH v4 42/42] vdpa/sfc: " Dengdui Huang
2024-10-23 15:42 ` [PATCH v4 00/42] replace strerror Stephen Hemminger
2024-10-24 6:47 ` huangdengdui
2024-10-25 21:56 ` Thomas Monjalon
2024-11-01 9:16 ` huangdengdui
2024-10-29 1:16 ` lihuisong (C)
2024-11-04 18:22 ` Stephen Hemminger
2023-11-15 0:16 ` [PATCH 00/43] " Stephen Hemminger
2024-02-01 11:03 ` David Marchand
2024-10-22 10:48 ` Morten Brørup
2024-11-04 11:09 ` [PATCH v5 00/52] " Dengdui Huang
2024-11-04 11:09 ` [PATCH v5 01/52] eal: fix use rte errno for libc function Dengdui Huang
2024-11-04 11:09 ` [PATCH v5 02/52] devtools: forbid use of strerror Dengdui Huang
2024-11-04 11:09 ` [PATCH v5 03/52] eal: replace strerror with reentrant version Dengdui Huang
2024-11-04 11:09 ` [PATCH v5 04/52] eventdev: " Dengdui Huang
2024-11-04 11:09 ` [PATCH v5 05/52] latency: " Dengdui Huang
2024-11-04 11:09 ` [PATCH v5 06/52] node: " Dengdui Huang
2024-11-04 11:09 ` [PATCH v5 07/52] pdump: " Dengdui Huang
2024-11-04 11:09 ` [PATCH v5 08/52] pdump: use rte strerror Dengdui Huang
2024-11-04 11:09 ` [PATCH v5 09/52] power: replace strerror with reentrant version Dengdui Huang
2024-11-04 11:09 ` [PATCH v5 10/52] vhost: " Dengdui Huang
2024-11-04 11:09 ` [PATCH v5 11/52] bpf: " Dengdui Huang
2024-11-04 11:09 ` [PATCH v5 12/52] bus/cdx: " Dengdui Huang
2024-11-04 11:09 ` [PATCH v5 13/52] bus/dpaa: " Dengdui Huang
2024-11-04 11:09 ` [PATCH v5 14/52] bus/fslmc: " Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 15/52] bus/pci: " Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 16/52] bus/vmbus: " Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 17/52] bus/vdev: use rte strerror Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 18/52] common/cnxk: replace strerror with reentrant version Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 19/52] common/mlx5: " Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 20/52] common/mlx5: use rte strerror Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 21/52] crypto/caam_jr: replace strerror with reentrant version Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 22/52] dma/idxd: " Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 23/52] net/bnxt: " Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 24/52] net/af_xdp: " Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 25/52] net/af_xdp: use rte strerror Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 26/52] net/bonding: replace strerror with reentrant version Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 27/52] net/bonding: use rte strerror Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 28/52] net/cnxk: replace strerror with reentrant version Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 29/52] net/dpaa: " Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 30/52] net/dpaa2: " Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 31/52] net/enetfec: " Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 32/52] net/failsafe: " Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 33/52] net/failsafe: use rte strerror Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 34/52] net/i40e: replace strerror with reentrant version Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 35/52] net/ice: " Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 36/52] net/ixgbe: " Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 37/52] net/memif: " Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 38/52] net/memif: use rte strerror Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 39/52] net/mlx4: replace strerror with reentrant version Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 40/52] net/mlx4: use rte strerror Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 41/52] net/mlx5: replace strerror with reentrant version Dengdui Huang
2024-11-04 11:10 ` Dengdui Huang [this message]
2024-11-04 11:10 ` [PATCH v5 43/52] net/qede: " Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 44/52] net/sfc: " Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 45/52] net/tap: " Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 46/52] net/tap: use rte strerror Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 47/52] net/vhost: replace strerror with reentrant version Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 48/52] net/virtio: " Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 49/52] raw/ifpga: " Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 50/52] vdpa/ifc: " Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 51/52] vdpa/mlx5: " Dengdui Huang
2024-11-04 11:10 ` [PATCH v5 52/52] vdpa/sfc: " Dengdui Huang
2024-11-04 18:23 ` [PATCH v5 00/52] replace strerror Stephen Hemminger
2024-11-06 18:57 ` [PATCH 00/43] " Stephen Hemminger
2024-11-07 2:52 ` huangdengdui
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241104111037.3632161-43-huangdengdui@huawei.com \
--to=huangdengdui@huawei.com \
--cc=ajit.khaparde@broadcom.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=fengchengwen@huawei.com \
--cc=ferruh.yigit@amd.com \
--cc=haijie1@huawei.com \
--cc=iboukris@gmail.com \
--cc=lihuisong@huawei.com \
--cc=liuyonglong@huawei.com \
--cc=mb@smartsharesystems.com \
--cc=stephen@networkplumber.org \
--cc=thomas@monjalon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).