From: Andrew Rybchenko <arybchenko@solarflare.com>
To: Nicolas Chautru <nicolas.chautru@intel.com>,
David Hunt <david.hunt@intel.com>,
Marko Kovacevic <marko.kovacevic@intel.com>,
Ori Kam <orika@mellanox.com>,
Bruce Richardson <bruce.richardson@intel.com>,
"Pablo de Lara" <pablo.de.lara.guarch@intel.com>,
Radu Nicolau <radu.nicolau@intel.com>,
Akhil Goyal <akhil.goyal@nxp.com>,
Tomasz Kantecki <tomasz.kantecki@intel.com>,
Harry van Haaren <harry.van.haaren@intel.com>,
Bernard Iremonger <bernard.iremonger@intel.com>,
Konstantin Ananyev <konstantin.ananyev@intel.com>,
Cristian Dumitrescu <cristian.dumitrescu@intel.com>,
Ferruh Yigit <ferruh.yigit@intel.com>,
Declan Doherty <declan.doherty@intel.com>,
Anatoly Burakov <anatoly.burakov@intel.com>,
Reshma Pattan <reshma.pattan@intel.com>,
"John McNamara" <john.mcnamara@intel.com>,
Xiaoyun Li <xiaoyun.li@intel.com>,
"Byron Marohn" <byron.marohn@intel.com>,
Maxime Coquelin <maxime.coquelin@redhat.com>,
Tiwei Bie <tiwei.bie@intel.com>,
Zhihong Wang <zhihong.wang@intel.com>
Cc: <dev@dpdk.org>, Igor Romanov <igor.romanov@oktetlabs.ru>
Subject: [dpdk-dev] [PATCH 6/7] examples: check status of getting MAC address
Date: Tue, 10 Sep 2019 09:52:20 +0100 [thread overview]
Message-ID: <1568105541-7399-7-git-send-email-arybchenko@solarflare.com> (raw)
In-Reply-To: <1568105541-7399-1-git-send-email-arybchenko@solarflare.com>
From: Igor Romanov <igor.romanov@oktetlabs.ru>
The return value of rte_eth_macaddr_get() was changed from void to int.
Update the usage of the functions according to the new return type.
Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
examples/bbdev_app/main.c | 8 +++++++-
examples/distributor/main.c | 8 +++++++-
examples/ethtool/ethtool-app/main.c | 18 ++++++++++++++++--
examples/ethtool/lib/rte_ethtool.c | 7 ++++++-
examples/eventdev_pipeline/main.c | 8 +++++++-
examples/flow_classify/flow_classify.c | 5 ++++-
examples/ip_fragmentation/main.c | 9 ++++++++-
examples/ip_pipeline/cli.c | 8 +++++++-
examples/ip_reassembly/main.c | 9 ++++++++-
examples/ipsec-secgw/ipsec-secgw.c | 7 ++++++-
examples/ipv4_multicast/main.c | 7 ++++++-
examples/kni/main.c | 6 +++++-
examples/l2fwd-cat/l2fwd-cat.c | 5 ++++-
examples/l2fwd-crypto/main.c | 8 +++++++-
examples/l2fwd-jobstats/main.c | 7 ++++++-
examples/l2fwd-keepalive/main.c | 7 ++++++-
examples/l2fwd/main.c | 7 ++++++-
examples/l3fwd-acl/main.c | 7 ++++++-
examples/l3fwd-power/main.c | 7 ++++++-
examples/l3fwd-vf/main.c | 7 ++++++-
examples/l3fwd/main.c | 7 ++++++-
examples/link_status_interrupt/main.c | 6 +++++-
.../client_server_mp/mp_server/main.c | 8 +++++++-
examples/packet_ordering/main.c | 8 +++++++-
.../performance-thread/l3fwd-thread/main.c | 7 ++++++-
examples/ptpclient/ptpclient.c | 11 ++++++++++-
examples/quota_watermark/qw/main.c | 10 +++++++++-
examples/rxtx_callbacks/main.c | 7 ++++++-
examples/server_node_efd/server/main.c | 9 ++++++++-
examples/skeleton/basicfwd.c | 5 ++++-
examples/tep_termination/vxlan_setup.c | 5 ++++-
examples/vhost/main.c | 9 ++++++++-
examples/vm_power_manager/guest_cli/main.c | 11 +++++++++--
.../guest_cli/vm_power_cli_guest.c | 17 ++++++++++++++---
.../guest_cli/vm_power_cli_guest.h | 2 +-
examples/vm_power_manager/main.c | 8 +++++++-
examples/vmdq/main.c | 7 ++++++-
examples/vmdq_dcb/main.c | 7 ++++++-
38 files changed, 257 insertions(+), 42 deletions(-)
diff --git a/examples/bbdev_app/main.c b/examples/bbdev_app/main.c
index 349876589..fb38dc3a7 100644
--- a/examples/bbdev_app/main.c
+++ b/examples/bbdev_app/main.c
@@ -490,7 +490,13 @@ initialize_ports(struct app_config_params *app_params,
return ret;
}
- rte_eth_macaddr_get(port_id, &bbdev_port_eth_addr);
+ ret = rte_eth_macaddr_get(port_id, &bbdev_port_eth_addr);
+ if (ret < 0) {
+ printf("rte_eth_macaddr_get: err=%d, queue=%u\n",
+ ret, q);
+ return -1;
+ }
+
print_mac(port_id, &bbdev_port_eth_addr);
return 0;
diff --git a/examples/distributor/main.c b/examples/distributor/main.c
index 49b4e611f..567c5e989 100644
--- a/examples/distributor/main.c
+++ b/examples/distributor/main.c
@@ -192,7 +192,13 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)
}
struct rte_ether_addr addr;
- rte_eth_macaddr_get(port, &addr);
+ retval = rte_eth_macaddr_get(port, &addr);
+ if (retval < 0) {
+ printf("Failed to get MAC address (port %u): %s\n",
+ port, rte_strerror(-retval));
+ return retval;
+ }
+
printf("Port %u MAC: %02"PRIx8" %02"PRIx8" %02"PRIx8
" %02"PRIx8" %02"PRIx8" %02"PRIx8"\n",
port,
diff --git a/examples/ethtool/ethtool-app/main.c b/examples/ethtool/ethtool-app/main.c
index 774df7eb1..29891012a 100644
--- a/examples/ethtool/ethtool-app/main.c
+++ b/examples/ethtool/ethtool-app/main.c
@@ -156,7 +156,12 @@ static void setup_ports(struct app_config *app_cfg, int cnt_ports)
"%s:%i: rte_eth_dev_start failed",
__FILE__, __LINE__
);
- rte_eth_macaddr_get(idx_port, &ptr_port->mac_addr);
+ ret = rte_eth_macaddr_get(idx_port, &ptr_port->mac_addr);
+ if (ret != 0)
+ rte_exit(EXIT_FAILURE,
+ "rte_eth_macaddr_get failed (port %u): %s\n",
+ idx_port, rte_strerror(-ret));
+
rte_spinlock_init(&ptr_port->lock);
}
}
@@ -182,6 +187,7 @@ static int slave_main(__attribute__((unused)) void *ptr_data)
uint16_t cnt_sent;
uint16_t idx_port;
uint16_t lock_result;
+ int ret;
while (app_cfg.exit_now == 0) {
for (idx_port = 0; idx_port < app_cfg.cnt_ports; idx_port++) {
@@ -198,8 +204,16 @@ static int slave_main(__attribute__((unused)) void *ptr_data)
/* MAC address was updated */
if (ptr_port->port_dirty == 1) {
- rte_eth_macaddr_get(ptr_port->idx_port,
+ ret = rte_eth_macaddr_get(ptr_port->idx_port,
&ptr_port->mac_addr);
+ if (ret != 0) {
+ rte_spinlock_unlock(&ptr_port->lock);
+ printf("Failed to get MAC address (port %u): %s",
+ ptr_port->idx_port,
+ rte_strerror(-ret));
+ return ret;
+ }
+
ptr_port->port_dirty = 0;
}
diff --git a/examples/ethtool/lib/rte_ethtool.c b/examples/ethtool/lib/rte_ethtool.c
index 8393b0d60..667d7eaf2 100644
--- a/examples/ethtool/lib/rte_ethtool.c
+++ b/examples/ethtool/lib/rte_ethtool.c
@@ -314,10 +314,15 @@ rte_ethtool_net_stop(uint16_t port_id)
int
rte_ethtool_net_get_mac_addr(uint16_t port_id, struct rte_ether_addr *addr)
{
+ int ret;
+
RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
if (addr == NULL)
return -EINVAL;
- rte_eth_macaddr_get(port_id, addr);
+
+ ret = rte_eth_macaddr_get(port_id, addr);
+ if (ret != 0)
+ return ret;
return 0;
}
diff --git a/examples/eventdev_pipeline/main.c b/examples/eventdev_pipeline/main.c
index c734c7750..f77830282 100644
--- a/examples/eventdev_pipeline/main.c
+++ b/examples/eventdev_pipeline/main.c
@@ -324,7 +324,13 @@ port_init(uint8_t port, struct rte_mempool *mbuf_pool)
/* Display the port MAC address. */
struct rte_ether_addr addr;
- rte_eth_macaddr_get(port, &addr);
+ retval = rte_eth_macaddr_get(port, &addr);
+ if (retval != 0) {
+ printf("Failed to get MAC address (port %u): %s\n",
+ port, rte_strerror(-retval));
+ return retval;
+ }
+
printf("Port %u MAC: %02" PRIx8 " %02" PRIx8 " %02" PRIx8
" %02" PRIx8 " %02" PRIx8 " %02" PRIx8 "\n",
(unsigned int)port,
diff --git a/examples/flow_classify/flow_classify.c b/examples/flow_classify/flow_classify.c
index ae0faf621..1c12bbb2f 100644
--- a/examples/flow_classify/flow_classify.c
+++ b/examples/flow_classify/flow_classify.c
@@ -242,7 +242,10 @@ port_init(uint8_t port, struct rte_mempool *mbuf_pool)
return retval;
/* Display the port MAC address. */
- rte_eth_macaddr_get(port, &addr);
+ retval = rte_eth_macaddr_get(port, &addr);
+ if (retval != 0)
+ return retval;
+
printf("Port %u MAC: %02" PRIx8 " %02" PRIx8 " %02" PRIx8
" %02" PRIx8 " %02" PRIx8 " %02" PRIx8 "\n",
port,
diff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation/main.c
index f90edc5a2..104612339 100644
--- a/examples/ip_fragmentation/main.c
+++ b/examples/ip_fragmentation/main.c
@@ -992,7 +992,14 @@ main(int argc, char **argv)
ret, portid);
}
- rte_eth_macaddr_get(portid, &ports_eth_addr[portid]);
+ ret = rte_eth_macaddr_get(portid, &ports_eth_addr[portid]);
+ if (ret < 0) {
+ printf("\n");
+ rte_exit(EXIT_FAILURE,
+ "rte_eth_macaddr_get: err=%d, port=%d\n",
+ ret, portid);
+ }
+
print_ethaddr(" Address:", &ports_eth_addr[portid]);
printf("\n");
diff --git a/examples/ip_pipeline/cli.c b/examples/ip_pipeline/cli.c
index 4930310cc..02dc11495 100644
--- a/examples/ip_pipeline/cli.c
+++ b/examples/ip_pipeline/cli.c
@@ -253,7 +253,13 @@ print_link_info(struct link *link, char *out, size_t out_size)
memset(&stats, 0, sizeof(stats));
rte_eth_stats_get(link->port_id, &stats);
- rte_eth_macaddr_get(link->port_id, &mac_addr);
+ ret = rte_eth_macaddr_get(link->port_id, &mac_addr);
+ if (ret != 0) {
+ snprintf(out, out_size, "\n%s: MAC address get failed: %s",
+ link->name, rte_strerror(-ret));
+ return;
+ }
+
ret = rte_eth_link_get(link->port_id, ð_link);
if (ret < 0) {
snprintf(out, out_size, "\n%s: link get failed: %s",
diff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c
index c822c8c58..d59e6d02f 100644
--- a/examples/ip_reassembly/main.c
+++ b/examples/ip_reassembly/main.c
@@ -1132,7 +1132,14 @@ main(int argc, char **argv)
ret, portid);
}
- rte_eth_macaddr_get(portid, &ports_eth_addr[portid]);
+ ret = rte_eth_macaddr_get(portid, &ports_eth_addr[portid]);
+ if (ret < 0) {
+ printf("\n");
+ rte_exit(EXIT_FAILURE,
+ "rte_eth_macaddr_get: err=%d, port=%d\n",
+ ret, portid);
+ }
+
print_ethaddr(" Address:", &ports_eth_addr[portid]);
printf("\n");
diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c
index 2520e5108..5514f4ba5 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/ipsec-secgw/ipsec-secgw.c
@@ -1931,7 +1931,12 @@ port_init(uint16_t portid, uint64_t req_rx_offloads, uint64_t req_tx_offloads)
printf("Configuring device port %u:\n", portid);
- rte_eth_macaddr_get(portid, ðaddr);
+ ret = rte_eth_macaddr_get(portid, ðaddr);
+ if (ret != 0)
+ rte_exit(EXIT_FAILURE,
+ "Error getting MAC address (port %u): %s\n",
+ portid, rte_strerror(-ret));
+
ethaddr_tbl[portid].src = ETHADDR_TO_UINT64(ðaddr);
print_ethaddr("Address: ", ðaddr);
printf("\n");
diff --git a/examples/ipv4_multicast/main.c b/examples/ipv4_multicast/main.c
index 6b165f2f0..63333b5b6 100644
--- a/examples/ipv4_multicast/main.c
+++ b/examples/ipv4_multicast/main.c
@@ -739,7 +739,12 @@ main(int argc, char **argv)
"Cannot adjust number of descriptors: err=%d, port=%d\n",
ret, portid);
- rte_eth_macaddr_get(portid, &ports_eth_addr[portid]);
+ ret = rte_eth_macaddr_get(portid, &ports_eth_addr[portid]);
+ if (ret < 0)
+ rte_exit(EXIT_FAILURE,
+ "Cannot get MAC address: err=%d, port=%d\n",
+ ret, portid);
+
print_ethaddr(" Address:", &ports_eth_addr[portid]);
printf(", ");
diff --git a/examples/kni/main.c b/examples/kni/main.c
index 8eb5b610e..c576fc767 100644
--- a/examples/kni/main.c
+++ b/examples/kni/main.c
@@ -940,8 +940,12 @@ kni_alloc(uint16_t port_id)
port_id, strerror(-ret));
/* Get the interface default mac address */
- rte_eth_macaddr_get(port_id,
+ ret = rte_eth_macaddr_get(port_id,
(struct rte_ether_addr *)&conf.mac_addr);
+ if (ret != 0)
+ rte_exit(EXIT_FAILURE,
+ "Failed to get MAC address (port %u): %s\n",
+ port_id, rte_strerror(-ret));
rte_eth_dev_get_mtu(port_id, &conf.mtu);
diff --git a/examples/l2fwd-cat/l2fwd-cat.c b/examples/l2fwd-cat/l2fwd-cat.c
index b15f0330b..6838f288c 100644
--- a/examples/l2fwd-cat/l2fwd-cat.c
+++ b/examples/l2fwd-cat/l2fwd-cat.c
@@ -74,7 +74,10 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)
/* Display the port MAC address. */
struct rte_ether_addr addr;
- rte_eth_macaddr_get(port, &addr);
+ retval = rte_eth_macaddr_get(port, &addr);
+ if (retval < 0)
+ return retval;
+
printf("Port %u MAC: %02" PRIx8 " %02" PRIx8 " %02" PRIx8
" %02" PRIx8 " %02" PRIx8 " %02" PRIx8 "\n",
port,
diff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c
index 7c84b40ff..61d78295d 100644
--- a/examples/l2fwd-crypto/main.c
+++ b/examples/l2fwd-crypto/main.c
@@ -2589,7 +2589,13 @@ initialize_ports(struct l2fwd_crypto_options *options)
return -1;
}
- rte_eth_macaddr_get(portid, &l2fwd_ports_eth_addr[portid]);
+ retval = rte_eth_macaddr_get(portid,
+ &l2fwd_ports_eth_addr[portid]);
+ if (retval < 0) {
+ printf("rte_eth_macaddr_get :err=%d, port=%u\n",
+ retval, portid);
+ return -1;
+ }
printf("Port %u, MAC address: %02X:%02X:%02X:%02X:%02X:%02X\n\n",
portid,
diff --git a/examples/l2fwd-jobstats/main.c b/examples/l2fwd-jobstats/main.c
index 4f930d097..f975aa12d 100644
--- a/examples/l2fwd-jobstats/main.c
+++ b/examples/l2fwd-jobstats/main.c
@@ -872,7 +872,12 @@ main(int argc, char **argv)
"Cannot adjust number of descriptors: err=%d, port=%u\n",
ret, portid);
- rte_eth_macaddr_get(portid, &l2fwd_ports_eth_addr[portid]);
+ ret = rte_eth_macaddr_get(portid,
+ &l2fwd_ports_eth_addr[portid]);
+ if (ret < 0)
+ rte_exit(EXIT_FAILURE,
+ "Cannot get MAC address: err=%d, port=%u\n",
+ ret, portid);
/* init one RX queue */
fflush(stdout);
diff --git a/examples/l2fwd-keepalive/main.c b/examples/l2fwd-keepalive/main.c
index 21278eed7..b36834974 100644
--- a/examples/l2fwd-keepalive/main.c
+++ b/examples/l2fwd-keepalive/main.c
@@ -665,7 +665,12 @@ main(int argc, char **argv)
"Cannot adjust number of descriptors: err=%d, port=%u\n",
ret, portid);
- rte_eth_macaddr_get(portid, &l2fwd_ports_eth_addr[portid]);
+ ret = rte_eth_macaddr_get(portid,
+ &l2fwd_ports_eth_addr[portid]);
+ if (ret < 0)
+ rte_exit(EXIT_FAILURE,
+ "Cannot mac address: err=%d, port=%u\n",
+ ret, portid);
/* init one RX queue */
fflush(stdout);
diff --git a/examples/l2fwd/main.c b/examples/l2fwd/main.c
index 6b9f09a4d..d7bcbfae7 100644
--- a/examples/l2fwd/main.c
+++ b/examples/l2fwd/main.c
@@ -665,7 +665,12 @@ main(int argc, char **argv)
"Cannot adjust number of descriptors: err=%d, port=%u\n",
ret, portid);
- rte_eth_macaddr_get(portid,&l2fwd_ports_eth_addr[portid]);
+ ret = rte_eth_macaddr_get(portid,
+ &l2fwd_ports_eth_addr[portid]);
+ if (ret < 0)
+ rte_exit(EXIT_FAILURE,
+ "Cannot get MAC address: err=%d, port=%u\n",
+ ret, portid);
/* init one RX queue */
fflush(stdout);
diff --git a/examples/l3fwd-acl/main.c b/examples/l3fwd-acl/main.c
index 0abb8cb5e..fa92a2829 100644
--- a/examples/l3fwd-acl/main.c
+++ b/examples/l3fwd-acl/main.c
@@ -1968,7 +1968,12 @@ main(int argc, char **argv)
"rte_eth_dev_adjust_nb_rx_tx_desc: err=%d, port=%d\n",
ret, portid);
- rte_eth_macaddr_get(portid, &ports_eth_addr[portid]);
+ ret = rte_eth_macaddr_get(portid, &ports_eth_addr[portid]);
+ if (ret < 0)
+ rte_exit(EXIT_FAILURE,
+ "rte_eth_macaddr_get: err=%d, port=%d\n",
+ ret, portid);
+
print_ethaddr(" Address:", &ports_eth_addr[portid]);
printf(", ");
diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index 2e3b1d3c6..a03f64a1a 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -2323,7 +2323,12 @@ main(int argc, char **argv)
"Cannot adjust number of descriptors: err=%d, port=%d\n",
ret, portid);
- rte_eth_macaddr_get(portid, &ports_eth_addr[portid]);
+ ret = rte_eth_macaddr_get(portid, &ports_eth_addr[portid]);
+ if (ret < 0)
+ rte_exit(EXIT_FAILURE,
+ "Cannot get MAC address: err=%d, port=%d\n",
+ ret, portid);
+
print_ethaddr(" Address:", &ports_eth_addr[portid]);
printf(", ");
diff --git a/examples/l3fwd-vf/main.c b/examples/l3fwd-vf/main.c
index 572e74cf5..ff6c9e2f1 100644
--- a/examples/l3fwd-vf/main.c
+++ b/examples/l3fwd-vf/main.c
@@ -985,7 +985,12 @@ main(int argc, char **argv)
"Cannot adjust number of descriptors: err=%d, port=%d\n",
ret, portid);
- rte_eth_macaddr_get(portid, &ports_eth_addr[portid]);
+ ret = rte_eth_macaddr_get(portid, &ports_eth_addr[portid]);
+ if (ret < 0)
+ rte_exit(EXIT_FAILURE,
+ "Cannot get MAC address: err=%d, port=%d\n",
+ ret, portid);
+
print_ethaddr(" Address:", &ports_eth_addr[portid]);
printf(", ");
diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c
index 7253acac4..4dea12a65 100644
--- a/examples/l3fwd/main.c
+++ b/examples/l3fwd/main.c
@@ -917,7 +917,12 @@ main(int argc, char **argv)
"Cannot adjust number of descriptors: err=%d, "
"port=%d\n", ret, portid);
- rte_eth_macaddr_get(portid, &ports_eth_addr[portid]);
+ ret = rte_eth_macaddr_get(portid, &ports_eth_addr[portid]);
+ if (ret < 0)
+ rte_exit(EXIT_FAILURE,
+ "Cannot get MAC address: err=%d, port=%d\n",
+ ret, portid);
+
print_ethaddr(" Address:", &ports_eth_addr[portid]);
printf(", ");
print_ethaddr("Destination:",
diff --git a/examples/link_status_interrupt/main.c b/examples/link_status_interrupt/main.c
index a0b75d9f6..a924aa231 100644
--- a/examples/link_status_interrupt/main.c
+++ b/examples/link_status_interrupt/main.c
@@ -657,8 +657,12 @@ main(int argc, char **argv)
rte_eth_dev_callback_register(portid,
RTE_ETH_EVENT_INTR_LSC, lsi_event_callback, NULL);
- rte_eth_macaddr_get(portid,
+ ret = rte_eth_macaddr_get(portid,
&lsi_ports_eth_addr[portid]);
+ if (ret < 0)
+ rte_exit(EXIT_FAILURE,
+ "rte_eth_macaddr_get: err=%d, port=%u\n",
+ ret, (unsigned int)portid);
/* init one RX queue */
fflush(stdout);
diff --git a/examples/multi_process/client_server_mp/mp_server/main.c b/examples/multi_process/client_server_mp/mp_server/main.c
index 015053370..802e29d10 100644
--- a/examples/multi_process/client_server_mp/mp_server/main.c
+++ b/examples/multi_process/client_server_mp/mp_server/main.c
@@ -61,12 +61,18 @@ get_printable_mac_addr(uint16_t port)
{
static const char err_address[] = "00:00:00:00:00:00";
static char addresses[RTE_MAX_ETHPORTS][sizeof(err_address)];
+ int ret;
if (unlikely(port >= RTE_MAX_ETHPORTS))
return err_address;
if (unlikely(addresses[port][0]=='\0')){
struct rte_ether_addr mac;
- rte_eth_macaddr_get(port, &mac);
+ ret = rte_eth_macaddr_get(port, &mac);
+ if (ret != 0) {
+ printf("Failed to get MAC address (port %u): %s\n",
+ port, rte_strerror(-ret));
+ return err_address;
+ }
snprintf(addresses[port], sizeof(addresses[port]),
"%02x:%02x:%02x:%02x:%02x:%02x\n",
mac.addr_bytes[0], mac.addr_bytes[1], mac.addr_bytes[2],
diff --git a/examples/packet_ordering/main.c b/examples/packet_ordering/main.c
index 132f582a9..b397b318e 100644
--- a/examples/packet_ordering/main.c
+++ b/examples/packet_ordering/main.c
@@ -322,7 +322,13 @@ configure_eth_port(uint16_t port_id)
if (ret < 0)
return ret;
- rte_eth_macaddr_get(port_id, &addr);
+ ret = rte_eth_macaddr_get(port_id, &addr);
+ if (ret != 0) {
+ printf("Failed to get MAC address (port %u): %s\n",
+ port_id, rte_strerror(-ret));
+ return ret;
+ }
+
printf("Port %u MAC: %02"PRIx8" %02"PRIx8" %02"PRIx8
" %02"PRIx8" %02"PRIx8" %02"PRIx8"\n",
port_id,
diff --git a/examples/performance-thread/l3fwd-thread/main.c b/examples/performance-thread/l3fwd-thread/main.c
index de0521922..122c63244 100644
--- a/examples/performance-thread/l3fwd-thread/main.c
+++ b/examples/performance-thread/l3fwd-thread/main.c
@@ -3602,7 +3602,12 @@ main(int argc, char **argv)
"rte_eth_dev_adjust_nb_rx_tx_desc: err=%d, port=%d\n",
ret, portid);
- rte_eth_macaddr_get(portid, &ports_eth_addr[portid]);
+ ret = rte_eth_macaddr_get(portid, &ports_eth_addr[portid]);
+ if (ret < 0)
+ rte_exit(EXIT_FAILURE,
+ "rte_eth_macaddr_get: err=%d, port=%d\n",
+ ret, portid);
+
print_ethaddr(" Address:", &ports_eth_addr[portid]);
printf(", ");
print_ethaddr("Destination:",
diff --git a/examples/ptpclient/ptpclient.c b/examples/ptpclient/ptpclient.c
index 6e273f644..a1a7ae699 100644
--- a/examples/ptpclient/ptpclient.c
+++ b/examples/ptpclient/ptpclient.c
@@ -378,6 +378,7 @@ static void
parse_fup(struct ptpv2_data_slave_ordinary *ptp_data)
{
struct rte_ether_hdr *eth_hdr;
+ struct rte_ether_addr eth_addr;
struct ptp_header *ptp_hdr;
struct clock_id *client_clkid;
struct ptp_message *ptp_msg;
@@ -387,6 +388,7 @@ parse_fup(struct ptpv2_data_slave_ordinary *ptp_data)
size_t pkt_size;
int wait_us;
struct rte_mbuf *m = ptp_data->m;
+ int ret;
eth_hdr = rte_pktmbuf_mtod(m, struct rte_ether_hdr *);
ptp_hdr = (struct ptp_header *)(rte_pktmbuf_mtod(m, char *)
@@ -407,6 +409,13 @@ parse_fup(struct ptpv2_data_slave_ordinary *ptp_data)
(((uint64_t)ntohs(origin_tstamp->sec_msb)) << 32);
if (ptp_data->seqID_FOLLOWUP == ptp_data->seqID_SYNC) {
+ ret = rte_eth_macaddr_get(ptp_data->portid, ð_addr);
+ if (ret != 0) {
+ printf("\nCore %u: port %u failed to get MAC address: %s\n",
+ rte_lcore_id(), ptp_data->portid,
+ rte_strerror(-ret));
+ return;
+ }
created_pkt = rte_pktmbuf_alloc(mbuf_pool);
pkt_size = sizeof(struct rte_ether_hdr) +
@@ -414,7 +423,7 @@ parse_fup(struct ptpv2_data_slave_ordinary *ptp_data)
created_pkt->data_len = pkt_size;
created_pkt->pkt_len = pkt_size;
eth_hdr = rte_pktmbuf_mtod(created_pkt, struct rte_ether_hdr *);
- rte_eth_macaddr_get(ptp_data->portid, ð_hdr->s_addr);
+ rte_ether_addr_copy(ð_addr, ð_hdr->s_addr);
/* Set multicast address 01-1B-19-00-00-00. */
rte_ether_addr_copy(ð_multicast, ð_hdr->d_addr);
diff --git a/examples/quota_watermark/qw/main.c b/examples/quota_watermark/qw/main.c
index a61360b99..c985eed24 100644
--- a/examples/quota_watermark/qw/main.c
+++ b/examples/quota_watermark/qw/main.c
@@ -52,11 +52,20 @@ static void send_pause_frame(uint16_t port_id, uint16_t duration)
struct ether_fc_frame *pause_frame;
struct rte_ether_hdr *hdr;
struct rte_ether_addr mac_addr;
+ int ret;
RTE_LOG_DP(DEBUG, USER1,
"Sending PAUSE frame (duration=%d) on port %d\n",
duration, port_id);
+ ret = rte_eth_macaddr_get(port_id, &mac_addr);
+ if (ret != 0) {
+ RTE_LOG_DP(ERR, USER1,
+ "Failed to get MAC address (port %u): %s\n",
+ port_id, rte_strerror(-ret));
+ return;
+ }
+
/* Get a mbuf from the pool */
mbuf = rte_pktmbuf_alloc(mbuf_pool);
if (unlikely(mbuf == NULL))
@@ -66,7 +75,6 @@ static void send_pause_frame(uint16_t port_id, uint16_t duration)
hdr = rte_pktmbuf_mtod(mbuf, struct rte_ether_hdr *);
pause_frame = (struct ether_fc_frame *) &hdr[1];
- rte_eth_macaddr_get(port_id, &mac_addr);
rte_ether_addr_copy(&mac_addr, &hdr->s_addr);
void *tmp = &hdr->d_addr.addr_bytes[0];
diff --git a/examples/rxtx_callbacks/main.c b/examples/rxtx_callbacks/main.c
index 5d545115c..07e95e8d1 100644
--- a/examples/rxtx_callbacks/main.c
+++ b/examples/rxtx_callbacks/main.c
@@ -188,7 +188,12 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)
struct rte_ether_addr addr;
- rte_eth_macaddr_get(port, &addr);
+ retval = rte_eth_macaddr_get(port, &addr);
+ if (retval < 0) {
+ printf("Failed to get MAC address on port %u: %s\n",
+ port, rte_strerror(-retval));
+ return retval;
+ }
printf("Port %u MAC: %02"PRIx8" %02"PRIx8" %02"PRIx8
" %02"PRIx8" %02"PRIx8" %02"PRIx8"\n",
(unsigned)port,
diff --git a/examples/server_node_efd/server/main.c b/examples/server_node_efd/server/main.c
index 7b4657e42..455bdc063 100644
--- a/examples/server_node_efd/server/main.c
+++ b/examples/server_node_efd/server/main.c
@@ -69,11 +69,18 @@ get_printable_mac_addr(uint16_t port)
static const char err_address[] = "00:00:00:00:00:00";
static char addresses[RTE_MAX_ETHPORTS][sizeof(err_address)];
struct rte_ether_addr mac;
+ int ret;
if (unlikely(port >= RTE_MAX_ETHPORTS))
return err_address;
if (unlikely(addresses[port][0] == '\0')) {
- rte_eth_macaddr_get(port, &mac);
+ ret = rte_eth_macaddr_get(port, &mac);
+ if (ret != 0) {
+ printf("Failed to get MAC address (port %u): %s\n",
+ port, rte_strerror(-ret));
+ return err_address;
+ }
+
snprintf(addresses[port], sizeof(addresses[port]),
"%02x:%02x:%02x:%02x:%02x:%02x\n",
mac.addr_bytes[0], mac.addr_bytes[1],
diff --git a/examples/skeleton/basicfwd.c b/examples/skeleton/basicfwd.c
index 8f1805aeb..73d313b84 100644
--- a/examples/skeleton/basicfwd.c
+++ b/examples/skeleton/basicfwd.c
@@ -89,7 +89,10 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)
/* Display the port MAC address. */
struct rte_ether_addr addr;
- rte_eth_macaddr_get(port, &addr);
+ retval = rte_eth_macaddr_get(port, &addr);
+ if (retval != 0)
+ return retval;
+
printf("Port %u MAC: %02" PRIx8 " %02" PRIx8 " %02" PRIx8
" %02" PRIx8 " %02" PRIx8 " %02" PRIx8 "\n",
port,
diff --git a/examples/tep_termination/vxlan_setup.c b/examples/tep_termination/vxlan_setup.c
index 8d6514dd8..f9f857c09 100644
--- a/examples/tep_termination/vxlan_setup.c
+++ b/examples/tep_termination/vxlan_setup.c
@@ -182,7 +182,10 @@ vxlan_port_init(uint16_t port, struct rte_mempool *mbuf_pool)
retval = rte_eth_dev_udp_tunnel_port_add(port, &tunnel_udp);
if (retval < 0)
return retval;
- rte_eth_macaddr_get(port, &ports_eth_addr[port]);
+ retval = rte_eth_macaddr_get(port, &ports_eth_addr[port]);
+ if (retval < 0)
+ return retval;
+
RTE_LOG(INFO, PORT, "Port %u MAC: %02"PRIx8" %02"PRIx8" %02"PRIx8
" %02"PRIx8" %02"PRIx8" %02"PRIx8"\n",
port,
diff --git a/examples/vhost/main.c b/examples/vhost/main.c
index b5632d771..ab649bf14 100644
--- a/examples/vhost/main.c
+++ b/examples/vhost/main.c
@@ -346,7 +346,14 @@ port_init(uint16_t port)
}
}
- rte_eth_macaddr_get(port, &vmdq_ports_eth_addr[port]);
+ retval = rte_eth_macaddr_get(port, &vmdq_ports_eth_addr[port]);
+ if (retval < 0) {
+ RTE_LOG(ERR, VHOST_PORT,
+ "Failed to get MAC address on port %u: %s\n",
+ port, rte_strerror(-retval));
+ return retval;
+ }
+
RTE_LOG(INFO, VHOST_PORT, "Max virtio devices supported: %u\n", num_devices);
RTE_LOG(INFO, VHOST_PORT, "Port %u MAC: %02"PRIx8" %02"PRIx8" %02"PRIx8
" %02"PRIx8" %02"PRIx8" %02"PRIx8"\n",
diff --git a/examples/vm_power_manager/guest_cli/main.c b/examples/vm_power_manager/guest_cli/main.c
index 2094145eb..f63b3c988 100644
--- a/examples/vm_power_manager/guest_cli/main.c
+++ b/examples/vm_power_manager/guest_cli/main.c
@@ -55,7 +55,11 @@ parse_args(int argc, char **argv)
int i, cnt, idx;
policy = get_policy();
- set_policy_defaults(policy);
+ ret = set_policy_defaults(policy);
+ if (ret != 0) {
+ printf("Failed to set policy defaults\n");
+ return -1;
+ }
argvopt = argv;
@@ -120,7 +124,10 @@ parse_args(int argc, char **argv)
for (i = 0; i < MAX_VCPU_PER_VM; i++) {
if (ports[i]) {
printf("***Using port %d\n", i);
- set_policy_mac(i, idx++);
+ if (set_policy_mac(i, idx++) != 0) {
+ printf("Cannot set policy MAC");
+ return -1;
+ }
}
}
policy->nb_mac_to_monitor = idx;
diff --git a/examples/vm_power_manager/guest_cli/vm_power_cli_guest.c b/examples/vm_power_manager/guest_cli/vm_power_cli_guest.c
index 78c3aa0a1..77e54401a 100644
--- a/examples/vm_power_manager/guest_cli/vm_power_cli_guest.c
+++ b/examples/vm_power_manager/guest_cli/vm_power_cli_guest.c
@@ -51,9 +51,15 @@ set_policy_mac(int port, int idx)
{
struct channel_packet *policy;
union PFID pfid;
+ int ret;
/* Use port MAC address as the vfid */
- rte_eth_macaddr_get(port, &pfid.addr);
+ ret = rte_eth_macaddr_get(port, &pfid.addr);
+ if (retval != 0) {
+ printf("Failed to get device (port %u) MAC address: %s\n",
+ port, rte_strerror(-retval));
+ return retval;
+ }
printf("Port %u MAC: %02" PRIx8 ":%02" PRIx8 ":%02" PRIx8 ":"
"%02" PRIx8 ":%02" PRIx8 ":%02" PRIx8 "\n",
@@ -66,10 +72,15 @@ set_policy_mac(int port, int idx)
return 0;
}
-void
+int
set_policy_defaults(struct channel_packet *pkt)
{
- set_policy_mac(0, 0);
+ int ret;
+
+ ret = set_policy_mac(0, 0);
+ if (ret != 0)
+ return ret;
+
pkt->nb_mac_to_monitor = 1;
pkt->t_boost_status.tbEnabled = false;
diff --git a/examples/vm_power_manager/guest_cli/vm_power_cli_guest.h b/examples/vm_power_manager/guest_cli/vm_power_cli_guest.h
index fd77f6a69..0c2cc1374 100644
--- a/examples/vm_power_manager/guest_cli/vm_power_cli_guest.h
+++ b/examples/vm_power_manager/guest_cli/vm_power_cli_guest.h
@@ -15,7 +15,7 @@ struct channel_packet *get_policy(void);
int set_policy_mac(int port, int idx);
-void set_policy_defaults(struct channel_packet *pkt);
+int set_policy_defaults(struct channel_packet *pkt);
void run_cli(__attribute__((unused)) void *arg);
diff --git a/examples/vm_power_manager/main.c b/examples/vm_power_manager/main.c
index 288a2462a..02b4cc450 100644
--- a/examples/vm_power_manager/main.c
+++ b/examples/vm_power_manager/main.c
@@ -112,7 +112,13 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)
/* Display the port MAC address. */
struct rte_ether_addr addr;
- rte_eth_macaddr_get(port, &addr);
+ retval = rte_eth_macaddr_get(port, &addr);
+ if (retval != 0) {
+ printf("Failed to get device (port %u) MAC address: %s\n",
+ port, rte_strerror(-retval));
+ return retval;
+ }
+
printf("Port %u MAC: %02" PRIx8 " %02" PRIx8 " %02" PRIx8
" %02" PRIx8 " %02" PRIx8 " %02" PRIx8 "\n",
(unsigned int)port,
diff --git a/examples/vmdq/main.c b/examples/vmdq/main.c
index 91f9a9904..6e6fc91ec 100644
--- a/examples/vmdq/main.c
+++ b/examples/vmdq/main.c
@@ -276,7 +276,12 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)
return retval;
}
- rte_eth_macaddr_get(port, &vmdq_ports_eth_addr[port]);
+ retval = rte_eth_macaddr_get(port, &vmdq_ports_eth_addr[port]);
+ if (retval < 0) {
+ printf("port %d MAC address get failed: %s\n", port,
+ rte_strerror(-retval));
+ return retval;
+ }
printf("Port %u MAC: %02"PRIx8" %02"PRIx8" %02"PRIx8
" %02"PRIx8" %02"PRIx8" %02"PRIx8"\n",
(unsigned)port,
diff --git a/examples/vmdq_dcb/main.c b/examples/vmdq_dcb/main.c
index 2122e41f5..594c4f195 100644
--- a/examples/vmdq_dcb/main.c
+++ b/examples/vmdq_dcb/main.c
@@ -333,7 +333,12 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)
return retval;
}
- rte_eth_macaddr_get(port, &vmdq_ports_eth_addr[port]);
+ retval = rte_eth_macaddr_get(port, &vmdq_ports_eth_addr[port]);
+ if (retval < 0) {
+ printf("port %d MAC address get failed: %s\n", port,
+ rte_strerror(-retval));
+ return retval;
+ }
printf("Port %u MAC: %02"PRIx8" %02"PRIx8" %02"PRIx8
" %02"PRIx8" %02"PRIx8" %02"PRIx8"\n",
(unsigned)port,
--
2.17.1
next prev parent reply other threads:[~2019-09-10 8:54 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-10 8:52 [dpdk-dev] [PATCH 0/7] ethdev: change MAC addr get function return value to int Andrew Rybchenko
2019-09-10 8:52 ` [dpdk-dev] [PATCH 1/7] " Andrew Rybchenko
2019-09-10 8:52 ` [dpdk-dev] [PATCH 2/7] app/testpmd: check status of getting MAC address Andrew Rybchenko
2019-09-10 8:52 ` [dpdk-dev] [PATCH 3/7] app/pdump: " Andrew Rybchenko
2019-09-10 8:52 ` [dpdk-dev] [PATCH 4/7] app/test: " Andrew Rybchenko
2019-09-10 8:52 ` [dpdk-dev] [PATCH 5/7] app/test: check status of getting MAC address in bonding Andrew Rybchenko
2019-09-10 8:52 ` Andrew Rybchenko [this message]
2019-09-10 8:52 ` [dpdk-dev] [PATCH 7/7] examples/bond: check status of getting MAC address Andrew Rybchenko
2019-09-24 13:23 ` [dpdk-dev] [PATCH 0/7] ethdev: change MAC addr get function return value to int Ferruh Yigit
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=1568105541-7399-7-git-send-email-arybchenko@solarflare.com \
--to=arybchenko@solarflare.com \
--cc=akhil.goyal@nxp.com \
--cc=anatoly.burakov@intel.com \
--cc=bernard.iremonger@intel.com \
--cc=bruce.richardson@intel.com \
--cc=byron.marohn@intel.com \
--cc=cristian.dumitrescu@intel.com \
--cc=david.hunt@intel.com \
--cc=declan.doherty@intel.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=harry.van.haaren@intel.com \
--cc=igor.romanov@oktetlabs.ru \
--cc=john.mcnamara@intel.com \
--cc=konstantin.ananyev@intel.com \
--cc=marko.kovacevic@intel.com \
--cc=maxime.coquelin@redhat.com \
--cc=nicolas.chautru@intel.com \
--cc=orika@mellanox.com \
--cc=pablo.de.lara.guarch@intel.com \
--cc=radu.nicolau@intel.com \
--cc=reshma.pattan@intel.com \
--cc=tiwei.bie@intel.com \
--cc=tomasz.kantecki@intel.com \
--cc=xiaoyun.li@intel.com \
--cc=zhihong.wang@intel.com \
/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).