From: Andrew Rybchenko <arybchenko@solarflare.com>
To: Nicolas Chautru <nicolas.chautru@intel.com>,
Chas Williams <chas3@att.com>, David Hunt <david.hunt@intel.com>,
Harry van Haaren <harry.van.haaren@intel.com>,
Marko Kovacevic <marko.kovacevic@intel.com>,
Ori Kam <orika@mellanox.com>,
Bruce Richardson <bruce.richardson@intel.com>,
Radu Nicolau <radu.nicolau@intel.com>,
Akhil Goyal <akhil.goyal@nxp.com>,
Tomasz Kantecki <tomasz.kantecki@intel.com>,
Bernard Iremonger <bernard.iremonger@intel.com>,
Konstantin Ananyev <konstantin.ananyev@intel.com>,
Cristian Dumitrescu <cristian.dumitrescu@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>,
Jasvinder Singh <jasvinder.singh@intel.com>,
"Byron Marohn" <byron.marohn@intel.com>,
Yipeng Wang <yipeng1.wang@intel.com>,
"Maxime Coquelin" <maxime.coquelin@redhat.com>,
Tiwei Bie <tiwei.bie@intel.com>,
Zhihong Wang <zhihong.wang@intel.com>
Cc: <dev@dpdk.org>, Ivan Ilchenko <Ivan.Ilchenko@oktetlabs.ru>
Subject: [dpdk-dev] [PATCH v3 13/13] examples: take promiscuous mode switch result into account
Date: Sat, 14 Sep 2019 12:37:33 +0100 [thread overview]
Message-ID: <1568461055-16472-14-git-send-email-arybchenko@solarflare.com> (raw)
In-Reply-To: <1568461055-16472-1-git-send-email-arybchenko@solarflare.com>
From: Ivan Ilchenko <Ivan.Ilchenko@oktetlabs.ru>
rte_eth_promiscuous_enable()/rte_eth_promiscuous_disable() return
value was changed from void to int, so this patch modify usage
of these functions across examples according to new return type.
Signed-off-by: Ivan Ilchenko <Ivan.Ilchenko@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
examples/bbdev_app/main.c | 7 ++++++-
examples/bond/main.c | 8 +++++++-
examples/distributor/main.c | 4 +++-
examples/eventdev_pipeline/main.c | 4 +++-
examples/exception_path/main.c | 5 ++++-
examples/flow_classify/flow_classify.c | 4 +++-
examples/flow_filtering/main.c | 7 ++++++-
examples/ip_fragmentation/main.c | 6 +++++-
examples/ip_pipeline/link.c | 7 +++++--
examples/ip_reassembly/main.c | 6 +++++-
examples/ipsec-secgw/ipsec-secgw.c | 9 +++++++--
examples/l2fwd-cat/l2fwd-cat.c | 4 +++-
examples/l2fwd-crypto/main.c | 7 ++++++-
examples/l2fwd-jobstats/main.c | 9 ++++++++-
examples/l2fwd-keepalive/main.c | 6 +++++-
examples/l2fwd/main.c | 6 +++++-
examples/l3fwd-acl/main.c | 9 +++++++--
examples/l3fwd-power/main.c | 9 +++++++--
examples/l3fwd/main.c | 9 +++++++--
examples/link_status_interrupt/main.c | 6 +++++-
examples/load_balancer/init.c | 6 +++++-
.../multi_process/client_server_mp/mp_server/init.c | 4 +++-
examples/multi_process/symmetric_mp/main.c | 4 +++-
examples/netmap_compat/bridge/bridge.c | 6 +++++-
examples/packet_ordering/main.c | 4 +++-
examples/performance-thread/l3fwd-thread/main.c | 9 +++++++--
examples/ptpclient/ptpclient.c | 7 ++++++-
examples/qos_meter/main.c | 12 ++++++++++--
examples/qos_sched/init.c | 6 +++++-
examples/quota_watermark/qw/init.c | 6 +++++-
examples/rxtx_callbacks/main.c | 5 ++++-
examples/server_node_efd/server/init.c | 4 +++-
examples/skeleton/basicfwd.c | 4 +++-
examples/vhost/main.c | 11 +++++++++--
examples/vm_power_manager/main.c | 4 +++-
35 files changed, 181 insertions(+), 43 deletions(-)
diff --git a/examples/bbdev_app/main.c b/examples/bbdev_app/main.c
index 9acf666dc..3d36629a1 100644
--- a/examples/bbdev_app/main.c
+++ b/examples/bbdev_app/main.c
@@ -477,7 +477,12 @@ initialize_ports(struct app_config_params *app_params,
}
}
- rte_eth_promiscuous_enable(port_id);
+ ret = rte_eth_promiscuous_enable(port_id);
+ if (ret != 0) {
+ printf("Cannot enable promiscuous mode: err=%s, port=%u\n",
+ rte_strerror(-ret), port_id);
+ return ret;
+ }
rte_eth_macaddr_get(port_id, &bbdev_port_eth_addr);
print_mac(port_id, &bbdev_port_eth_addr);
diff --git a/examples/bond/main.c b/examples/bond/main.c
index be62c1713..39214cfee 100644
--- a/examples/bond/main.c
+++ b/examples/bond/main.c
@@ -299,7 +299,13 @@ bond_port_init(struct rte_mempool *mbuf_pool)
rte_exit(-1, "\nFailed to activate slaves\n");
}
- rte_eth_promiscuous_enable(BOND_PORT);
+ retval = rte_eth_promiscuous_enable(BOND_PORT);
+ if (retval != 0) {
+ rte_exit(EXIT_FAILURE,
+ "port %u: promiscuous mode enable failed: %s\n",
+ BOND_PORT, rte_strerror(-retval));
+ return;
+ }
struct rte_ether_addr addr;
diff --git a/examples/distributor/main.c b/examples/distributor/main.c
index 8942f3607..125ee877f 100644
--- a/examples/distributor/main.c
+++ b/examples/distributor/main.c
@@ -194,7 +194,9 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)
addr.addr_bytes[2], addr.addr_bytes[3],
addr.addr_bytes[4], addr.addr_bytes[5]);
- rte_eth_promiscuous_enable(port);
+ retval = rte_eth_promiscuous_enable(port);
+ if (retval != 0)
+ return retval;
return 0;
}
diff --git a/examples/eventdev_pipeline/main.c b/examples/eventdev_pipeline/main.c
index 3789fbfd7..c734c7750 100644
--- a/examples/eventdev_pipeline/main.c
+++ b/examples/eventdev_pipeline/main.c
@@ -333,7 +333,9 @@ port_init(uint8_t port, struct rte_mempool *mbuf_pool)
addr.addr_bytes[4], addr.addr_bytes[5]);
/* Enable RX in promiscuous mode for the Ethernet device. */
- rte_eth_promiscuous_enable(port);
+ retval = rte_eth_promiscuous_enable(port);
+ if (retval != 0)
+ return retval;
return 0;
}
diff --git a/examples/exception_path/main.c b/examples/exception_path/main.c
index d7f3598af..f3c0206b5 100644
--- a/examples/exception_path/main.c
+++ b/examples/exception_path/main.c
@@ -473,7 +473,10 @@ init_port(uint16_t port)
if (ret < 0)
FATAL_ERROR("Could not start port%u (%d)", port, ret);
- rte_eth_promiscuous_enable(port);
+ ret = rte_eth_promiscuous_enable(port);
+ if (ret != 0)
+ FATAL_ERROR("Could not enable promiscuous mode for port%u (%s)",
+ port, rte_strerror(-ret));
}
/* Check the link status of all ports in up to 9s, and print them finally */
diff --git a/examples/flow_classify/flow_classify.c b/examples/flow_classify/flow_classify.c
index 2130c13d8..ae0faf621 100644
--- a/examples/flow_classify/flow_classify.c
+++ b/examples/flow_classify/flow_classify.c
@@ -251,7 +251,9 @@ port_init(uint8_t port, struct rte_mempool *mbuf_pool)
addr.addr_bytes[4], addr.addr_bytes[5]);
/* Enable RX in promiscuous mode for the Ethernet device. */
- rte_eth_promiscuous_enable(port);
+ retval = rte_eth_promiscuous_enable(port);
+ if (retval != 0)
+ return retval;
return 0;
}
diff --git a/examples/flow_filtering/main.c b/examples/flow_filtering/main.c
index fe064fa02..c40cfd098 100644
--- a/examples/flow_filtering/main.c
+++ b/examples/flow_filtering/main.c
@@ -180,7 +180,12 @@ init_port(void)
}
}
- rte_eth_promiscuous_enable(port_id);
+ ret = rte_eth_promiscuous_enable(port_id);
+ if (ret != 0)
+ rte_exit(EXIT_FAILURE,
+ ":: promiscuous mode enable failed: err=%s, port=%u\n",
+ rte_strerror(-ret), port_id);
+
ret = rte_eth_dev_start(port_id);
if (ret < 0) {
rte_exit(EXIT_FAILURE,
diff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation/main.c
index 6b832445a..70139ee4d 100644
--- a/examples/ip_fragmentation/main.c
+++ b/examples/ip_fragmentation/main.c
@@ -1038,7 +1038,11 @@ main(int argc, char **argv)
rte_exit(EXIT_FAILURE, "rte_eth_dev_start: err=%d, port=%d\n",
ret, portid);
- rte_eth_promiscuous_enable(portid);
+ ret = rte_eth_promiscuous_enable(portid);
+ if (ret != 0)
+ rte_exit(EXIT_FAILURE,
+ "rte_eth_promiscuous_enable: err=%s, port=%d\n",
+ rte_strerror(-ret), portid);
if (check_ptype(portid) == 0) {
rte_eth_add_rx_callback(portid, 0, cb_parse_ptype, NULL);
diff --git a/examples/ip_pipeline/link.c b/examples/ip_pipeline/link.c
index 4e3a40b5a..744abf394 100644
--- a/examples/ip_pipeline/link.c
+++ b/examples/ip_pipeline/link.c
@@ -176,8 +176,11 @@ link_create(const char *name, struct link_params *params)
if (status < 0)
return NULL;
- if (params->promiscuous)
- rte_eth_promiscuous_enable(port_id);
+ if (params->promiscuous) {
+ status = rte_eth_promiscuous_enable(port_id);
+ if (status != 0)
+ return NULL;
+ }
/* Port RX */
for (i = 0; i < params->rx.n_queues; i++) {
diff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c
index 87d4b5c01..e810e9f3f 100644
--- a/examples/ip_reassembly/main.c
+++ b/examples/ip_reassembly/main.c
@@ -1169,7 +1169,11 @@ main(int argc, char **argv)
rte_exit(EXIT_FAILURE, "rte_eth_dev_start: err=%d, port=%d\n",
ret, portid);
- rte_eth_promiscuous_enable(portid);
+ ret = rte_eth_promiscuous_enable(portid);
+ if (ret != 0)
+ rte_exit(EXIT_FAILURE,
+ "rte_eth_promiscuous_enable: err=%s, port=%d\n",
+ rte_strerror(-ret), portid);
}
if (init_routing_table() < 0)
diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c
index 534830a8e..8154fc76a 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/ipsec-secgw/ipsec-secgw.c
@@ -2467,8 +2467,13 @@ main(int32_t argc, char **argv)
* to itself through 2 cross-connected ports of the
* target machine.
*/
- if (promiscuous_on)
- rte_eth_promiscuous_enable(portid);
+ if (promiscuous_on) {
+ ret = rte_eth_promiscuous_enable(portid);
+ if (ret != 0)
+ rte_exit(EXIT_FAILURE,
+ "rte_eth_promiscuous_enable: err=%s, port=%d\n",
+ rte_strerror(-ret), portid);
+ }
rte_eth_dev_callback_register(portid,
RTE_ETH_EVENT_IPSEC, inline_ipsec_event_callback, NULL);
diff --git a/examples/l2fwd-cat/l2fwd-cat.c b/examples/l2fwd-cat/l2fwd-cat.c
index b34b40a00..b15f0330b 100644
--- a/examples/l2fwd-cat/l2fwd-cat.c
+++ b/examples/l2fwd-cat/l2fwd-cat.c
@@ -83,7 +83,9 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)
addr.addr_bytes[4], addr.addr_bytes[5]);
/* Enable RX in promiscuous mode for the Ethernet device. */
- rte_eth_promiscuous_enable(port);
+ retval = rte_eth_promiscuous_enable(port);
+ if (retval != 0)
+ return retval;
return 0;
}
diff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c
index 9a370f2de..c4ef31031 100644
--- a/examples/l2fwd-crypto/main.c
+++ b/examples/l2fwd-crypto/main.c
@@ -2574,7 +2574,12 @@ initialize_ports(struct l2fwd_crypto_options *options)
return -1;
}
- rte_eth_promiscuous_enable(portid);
+ retval = rte_eth_promiscuous_enable(portid);
+ if (retval != 0) {
+ printf("rte_eth_promiscuous_enable:err=%s, port=%u\n",
+ rte_strerror(-retval), portid);
+ return -1;
+ }
rte_eth_macaddr_get(portid, &l2fwd_ports_eth_addr[portid]);
diff --git a/examples/l2fwd-jobstats/main.c b/examples/l2fwd-jobstats/main.c
index 5fcba5c88..3dd6e45b8 100644
--- a/examples/l2fwd-jobstats/main.c
+++ b/examples/l2fwd-jobstats/main.c
@@ -916,7 +916,14 @@ main(int argc, char **argv)
printf("done:\n");
- rte_eth_promiscuous_enable(portid);
+ ret = rte_eth_promiscuous_enable(portid);
+ if (ret != 0) {
+ rte_exit(EXIT_FAILURE,
+ "rte_eth_promiscuous_enable:err=%s, port=%u\n",
+ rte_strerror(-ret), portid);
+ return ret;
+
+ }
printf("Port %u, MAC address: %02X:%02X:%02X:%02X:%02X:%02X\n\n",
portid,
diff --git a/examples/l2fwd-keepalive/main.c b/examples/l2fwd-keepalive/main.c
index a05139068..708f44ee0 100644
--- a/examples/l2fwd-keepalive/main.c
+++ b/examples/l2fwd-keepalive/main.c
@@ -709,7 +709,11 @@ main(int argc, char **argv)
"rte_eth_dev_start:err=%d, port=%u\n",
ret, portid);
- rte_eth_promiscuous_enable(portid);
+ ret = rte_eth_promiscuous_enable(portid);
+ if (ret != 0)
+ rte_exit(EXIT_FAILURE,
+ "rte_eth_promiscuous_enable:err=%s, port=%u\n",
+ rte_strerror(-ret), portid);
printf("Port %u, MAC address: "
"%02X:%02X:%02X:%02X:%02X:%02X\n\n",
diff --git a/examples/l2fwd/main.c b/examples/l2fwd/main.c
index 8d4c53981..db070a18b 100644
--- a/examples/l2fwd/main.c
+++ b/examples/l2fwd/main.c
@@ -708,7 +708,11 @@ main(int argc, char **argv)
printf("done: \n");
- rte_eth_promiscuous_enable(portid);
+ ret = rte_eth_promiscuous_enable(portid);
+ if (ret != 0)
+ rte_exit(EXIT_FAILURE,
+ "rte_eth_promiscuous_enable:err=%s, port=%u\n",
+ rte_strerror(-ret), portid);
printf("Port %u, MAC address: %02X:%02X:%02X:%02X:%02X:%02X\n\n",
portid,
diff --git a/examples/l3fwd-acl/main.c b/examples/l3fwd-acl/main.c
index 60531ce0e..c974a357b 100644
--- a/examples/l3fwd-acl/main.c
+++ b/examples/l3fwd-acl/main.c
@@ -2085,8 +2085,13 @@ main(int argc, char **argv)
* to itself through 2 cross-connected ports of the
* target machine.
*/
- if (promiscuous_on)
- rte_eth_promiscuous_enable(portid);
+ if (promiscuous_on) {
+ ret = rte_eth_promiscuous_enable(portid);
+ if (ret != 0)
+ rte_exit(EXIT_FAILURE,
+ "rte_eth_promiscuous_enable: err=%s, port=%u\n",
+ rte_strerror(-ret), portid);
+ }
}
check_all_ports_link_status(enabled_port_mask);
diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index bfcaa46c5..8ddc9ceb1 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -2453,8 +2453,13 @@ main(int argc, char **argv)
* to itself through 2 cross-connected ports of the
* target machine.
*/
- if (promiscuous_on)
- rte_eth_promiscuous_enable(portid);
+ if (promiscuous_on) {
+ ret = rte_eth_promiscuous_enable(portid);
+ if (ret != 0)
+ rte_exit(EXIT_FAILURE,
+ "rte_eth_promiscuous_enable: err=%s, port=%u\n",
+ rte_strerror(-ret), portid);
+ }
/* initialize spinlock for each port */
rte_spinlock_init(&(locks[portid]));
}
diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c
index 3294ac2da..9ed495ee0 100644
--- a/examples/l3fwd/main.c
+++ b/examples/l3fwd/main.c
@@ -1035,8 +1035,13 @@ main(int argc, char **argv)
* to itself through 2 cross-connected ports of the
* target machine.
*/
- if (promiscuous_on)
- rte_eth_promiscuous_enable(portid);
+ if (promiscuous_on) {
+ ret = rte_eth_promiscuous_enable(portid);
+ if (ret != 0)
+ rte_exit(EXIT_FAILURE,
+ "rte_eth_promiscuous_enable: err=%s, port=%u\n",
+ rte_strerror(-ret), portid);
+ }
}
printf("\n");
diff --git a/examples/link_status_interrupt/main.c b/examples/link_status_interrupt/main.c
index 0c3dfc691..be57e6a98 100644
--- a/examples/link_status_interrupt/main.c
+++ b/examples/link_status_interrupt/main.c
@@ -689,7 +689,11 @@ main(int argc, char **argv)
ret, (unsigned) portid);
printf("done:\n");
- rte_eth_promiscuous_enable(portid);
+ ret = rte_eth_promiscuous_enable(portid);
+ if (ret != 0)
+ rte_exit(EXIT_FAILURE,
+ "rte_eth_promiscuous_enable: err=%s, port=%u\n",
+ rte_strerror(-ret), portid);
printf("Port %u, MAC address: %02X:%02X:%02X:%02X:%02X:%02X\n\n",
(unsigned) portid,
diff --git a/examples/load_balancer/init.c b/examples/load_balancer/init.c
index 660f5a8ed..4d49c9514 100644
--- a/examples/load_balancer/init.c
+++ b/examples/load_balancer/init.c
@@ -440,7 +440,11 @@ app_init_nics(void)
if (ret < 0) {
rte_panic("Cannot init NIC port %u (%d)\n", port, ret);
}
- rte_eth_promiscuous_enable(port);
+
+ ret = rte_eth_promiscuous_enable(port);
+ if (ret != 0)
+ rte_panic("Cannot enable promiscuous mode on port %u (%s)\n",
+ port, rte_strerror(-ret));
nic_rx_ring_size = app.nic_rx_ring_size;
nic_tx_ring_size = app.nic_tx_ring_size;
diff --git a/examples/multi_process/client_server_mp/mp_server/init.c b/examples/multi_process/client_server_mp/mp_server/init.c
index 3af5dc699..e55def84b 100644
--- a/examples/multi_process/client_server_mp/mp_server/init.c
+++ b/examples/multi_process/client_server_mp/mp_server/init.c
@@ -132,7 +132,9 @@ init_port(uint16_t port_num)
if (retval < 0) return retval;
}
- rte_eth_promiscuous_enable(port_num);
+ retval = rte_eth_promiscuous_enable(port_num);
+ if (retval < 0)
+ return retval;
retval = rte_eth_dev_start(port_num);
if (retval < 0) return retval;
diff --git a/examples/multi_process/symmetric_mp/main.c b/examples/multi_process/symmetric_mp/main.c
index 9ae8efb0b..95058a5dc 100644
--- a/examples/multi_process/symmetric_mp/main.c
+++ b/examples/multi_process/symmetric_mp/main.c
@@ -261,7 +261,9 @@ smp_port_init(uint16_t port, struct rte_mempool *mbuf_pool,
return retval;
}
- rte_eth_promiscuous_enable(port);
+ retval = rte_eth_promiscuous_enable(port);
+ if (retval != 0)
+ return retval;
retval = rte_eth_dev_start(port);
if (retval < 0)
diff --git a/examples/netmap_compat/bridge/bridge.c b/examples/netmap_compat/bridge/bridge.c
index d40e163b0..f3819d222 100644
--- a/examples/netmap_compat/bridge/bridge.c
+++ b/examples/netmap_compat/bridge/bridge.c
@@ -261,7 +261,11 @@ int main(int argc, char *argv[])
rte_exit(EXIT_FAILURE, "Couldn't setup port %hhu\n",
ports.p[i].id);
- rte_eth_promiscuous_enable(ports.p[i].id);
+ err = rte_eth_promiscuous_enable(ports.p[i].id);
+ if (err != 0)
+ rte_exit(EXIT_FAILURE,
+ "Couldn't enable promiscuous mode on port %u: %s\n",
+ ports.p[i].id, rte_strerror(-err));
}
for (i = 0; i != ports.num; i++) {
diff --git a/examples/packet_ordering/main.c b/examples/packet_ordering/main.c
index a99961f82..132f582a9 100644
--- a/examples/packet_ordering/main.c
+++ b/examples/packet_ordering/main.c
@@ -330,7 +330,9 @@ configure_eth_port(uint16_t port_id)
addr.addr_bytes[2], addr.addr_bytes[3],
addr.addr_bytes[4], addr.addr_bytes[5]);
- rte_eth_promiscuous_enable(port_id);
+ ret = rte_eth_promiscuous_enable(port_id);
+ if (ret != 0)
+ return ret;
return 0;
}
diff --git a/examples/performance-thread/l3fwd-thread/main.c b/examples/performance-thread/l3fwd-thread/main.c
index 00f535053..9e25f064e 100644
--- a/examples/performance-thread/l3fwd-thread/main.c
+++ b/examples/performance-thread/l3fwd-thread/main.c
@@ -3706,8 +3706,13 @@ main(int argc, char **argv)
* to itself through 2 cross-connected ports of the
* target machine.
*/
- if (promiscuous_on)
- rte_eth_promiscuous_enable(portid);
+ if (promiscuous_on) {
+ ret = rte_eth_promiscuous_enable(portid);
+ if (ret != 0)
+ rte_exit(EXIT_FAILURE,
+ "rte_eth_promiscuous_enable: err=%s, port=%u\n",
+ rte_strerror(-ret), portid);
+ }
}
for (i = 0; i < n_rx_thread; i++) {
diff --git a/examples/ptpclient/ptpclient.c b/examples/ptpclient/ptpclient.c
index bc427a526..6e273f644 100644
--- a/examples/ptpclient/ptpclient.c
+++ b/examples/ptpclient/ptpclient.c
@@ -247,7 +247,12 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)
}
/* Enable RX in promiscuous mode for the Ethernet device. */
- rte_eth_promiscuous_enable(port);
+ retval = rte_eth_promiscuous_enable(port);
+ if (retval != 0) {
+ printf("Promiscuous mode enable failed: %s\n",
+ rte_strerror(-retval));
+ return retval;
+ }
return 0;
}
diff --git a/examples/qos_meter/main.c b/examples/qos_meter/main.c
index 13c85e940..e8112c83a 100644
--- a/examples/qos_meter/main.c
+++ b/examples/qos_meter/main.c
@@ -439,9 +439,17 @@ main(int argc, char **argv)
if (ret < 0)
rte_exit(EXIT_FAILURE, "Port %d start error (%d)\n", port_tx, ret);
- rte_eth_promiscuous_enable(port_rx);
+ ret = rte_eth_promiscuous_enable(port_rx);
+ if (ret != 0)
+ rte_exit(EXIT_FAILURE,
+ "Port %d promiscuous mode enable error (%s)\n",
+ port_rx, rte_strerror(-ret));
- rte_eth_promiscuous_enable(port_tx);
+ ret = rte_eth_promiscuous_enable(port_tx);
+ if (ret != 0)
+ rte_exit(EXIT_FAILURE,
+ "Port %d promiscuous mode enable error (%s)\n",
+ port_rx, rte_strerror(-ret));
/* App configuration */
ret = app_configure_flow_table();
diff --git a/examples/qos_sched/init.c b/examples/qos_sched/init.c
index cf9e8f4ac..dbdbdefea 100644
--- a/examples/qos_sched/init.c
+++ b/examples/qos_sched/init.c
@@ -163,7 +163,11 @@ app_init_port(uint16_t portid, struct rte_mempool *mp)
} else {
printf(" Link Down\n");
}
- rte_eth_promiscuous_enable(portid);
+ ret = rte_eth_promiscuous_enable(portid);
+ if (ret != 0)
+ rte_exit(EXIT_FAILURE,
+ "rte_eth_promiscuous_enable: err=%s, port=%u\n",
+ rte_strerror(-ret), portid);
/* mark port as initialized */
app_inited_port_mask |= 1u << portid;
diff --git a/examples/quota_watermark/qw/init.c b/examples/quota_watermark/qw/init.c
index 5a0f64f45..5ebcc83ac 100644
--- a/examples/quota_watermark/qw/init.c
+++ b/examples/quota_watermark/qw/init.c
@@ -103,7 +103,11 @@ void configure_eth_port(uint16_t port_id)
(unsigned int) port_id, ret);
/* Put it in promiscuous mode */
- rte_eth_promiscuous_enable(port_id);
+ ret = rte_eth_promiscuous_enable(port_id);
+ if (ret != 0)
+ rte_exit(EXIT_FAILURE,
+ "Failed to enable promiscuous mode for port %u: %s\n",
+ port_id, rte_strerror(-ret));
}
void
diff --git a/examples/rxtx_callbacks/main.c b/examples/rxtx_callbacks/main.c
index 9fd4b8efd..5d545115c 100644
--- a/examples/rxtx_callbacks/main.c
+++ b/examples/rxtx_callbacks/main.c
@@ -196,7 +196,10 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)
addr.addr_bytes[2], addr.addr_bytes[3],
addr.addr_bytes[4], addr.addr_bytes[5]);
- rte_eth_promiscuous_enable(port);
+ retval = rte_eth_promiscuous_enable(port);
+ if (retval != 0)
+ return retval;
+
rte_eth_add_rx_callback(port, 0, add_timestamps, NULL);
rte_eth_add_tx_callback(port, 0, calc_latency, NULL);
diff --git a/examples/server_node_efd/server/init.c b/examples/server_node_efd/server/init.c
index 773780b4d..335741a8f 100644
--- a/examples/server_node_efd/server/init.c
+++ b/examples/server_node_efd/server/init.c
@@ -150,7 +150,9 @@ init_port(uint16_t port_num)
return retval;
}
- rte_eth_promiscuous_enable(port_num);
+ retval = rte_eth_promiscuous_enable(port_num);
+ if (retval != 0)
+ return retval;
retval = rte_eth_dev_start(port_num);
if (retval < 0)
diff --git a/examples/skeleton/basicfwd.c b/examples/skeleton/basicfwd.c
index 171ebde7b..8f1805aeb 100644
--- a/examples/skeleton/basicfwd.c
+++ b/examples/skeleton/basicfwd.c
@@ -98,7 +98,9 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)
addr.addr_bytes[4], addr.addr_bytes[5]);
/* Enable RX in promiscuous mode for the Ethernet device. */
- rte_eth_promiscuous_enable(port);
+ retval = rte_eth_promiscuous_enable(port);
+ if (retval != 0)
+ return retval;
return 0;
}
diff --git a/examples/vhost/main.c b/examples/vhost/main.c
index 794d12ba7..b5632d771 100644
--- a/examples/vhost/main.c
+++ b/examples/vhost/main.c
@@ -336,8 +336,15 @@ port_init(uint16_t port)
return retval;
}
- if (promiscuous)
- rte_eth_promiscuous_enable(port);
+ if (promiscuous) {
+ retval = rte_eth_promiscuous_enable(port);
+ if (retval != 0) {
+ RTE_LOG(ERR, VHOST_PORT,
+ "Failed to enable promiscuous mode on port %u: %s\n",
+ port, rte_strerror(-retval));
+ return retval;
+ }
+ }
rte_eth_macaddr_get(port, &vmdq_ports_eth_addr[port]);
RTE_LOG(INFO, VHOST_PORT, "Max virtio devices supported: %u\n", num_devices);
diff --git a/examples/vm_power_manager/main.c b/examples/vm_power_manager/main.c
index 0f48ae926..3778b538c 100644
--- a/examples/vm_power_manager/main.c
+++ b/examples/vm_power_manager/main.c
@@ -121,7 +121,9 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)
addr.addr_bytes[4], addr.addr_bytes[5]);
/* Enable RX in promiscuous mode for the Ethernet device. */
- rte_eth_promiscuous_enable(port);
+ retval = rte_eth_promiscuous_enable(port);
+ if (retval != 0)
+ return retval;
return 0;
--
2.17.1
next prev parent reply other threads:[~2019-09-14 11:39 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-05 16:10 [dpdk-dev] [PATCH 00/13] ethdev: change promiscuous mode functions to return status Andrew Rybchenko
2019-09-05 16:10 ` [dpdk-dev] [PATCH 01/13] ethdev: change promiscuous mode controllers to return errors Andrew Rybchenko
2019-09-05 16:10 ` [dpdk-dev] [PATCH 02/13] net/failsafe: check code of promiscuous mode switch Andrew Rybchenko
2019-09-05 16:25 ` Gaëtan Rivet
2019-09-05 16:32 ` Andrew Rybchenko
2019-09-05 16:36 ` Stephen Hemminger
2019-09-05 16:38 ` Andrew Rybchenko
2019-09-06 9:24 ` Gaëtan Rivet
2019-09-06 10:08 ` Andrew Rybchenko
2019-09-05 16:40 ` Stephen Hemminger
2019-09-05 16:49 ` Andrew Rybchenko
2019-09-05 17:13 ` Stephen Hemminger
2019-09-05 16:10 ` [dpdk-dev] [PATCH 03/13] net/bonding: " Andrew Rybchenko
2019-09-05 16:10 ` [dpdk-dev] [PATCH 04/13] ethdev: change promiscuous callbacks to return status Andrew Rybchenko
2019-09-05 16:10 ` [dpdk-dev] [PATCH 05/13] ethdev: do nothing if promiscuous mode is applied again Andrew Rybchenko
2019-09-05 16:10 ` [dpdk-dev] [PATCH 06/13] app/pipeline: check code of promiscuous mode switch Andrew Rybchenko
2019-09-05 16:10 ` [dpdk-dev] [PATCH 07/13] app/testpmd: " Andrew Rybchenko
2019-09-05 16:10 ` [dpdk-dev] [PATCH 08/13] app/eventdev: " Andrew Rybchenko
2019-09-05 16:10 ` [dpdk-dev] [PATCH 09/13] app/pdump: " Andrew Rybchenko
2019-09-05 16:10 ` [dpdk-dev] [PATCH 10/13] app/test: " Andrew Rybchenko
2019-09-05 16:10 ` [dpdk-dev] [PATCH 11/13] kni: " Andrew Rybchenko
2019-09-05 16:10 ` [dpdk-dev] [PATCH 12/13] test/bonding: " Andrew Rybchenko
2019-09-05 16:10 ` [dpdk-dev] [PATCH 13/13] examples: take promiscuous mode switch result into account Andrew Rybchenko
2019-09-09 11:58 ` [dpdk-dev] [PATCH v2 00/13] ethdev: change promiscuous mode functions to return status Andrew Rybchenko
2019-09-09 11:58 ` [dpdk-dev] [PATCH v2 01/13] ethdev: change promiscuous mode controllers to return errors Andrew Rybchenko
2019-09-13 15:35 ` Ferruh Yigit
2019-09-09 11:58 ` [dpdk-dev] [PATCH v2 02/13] net/failsafe: check code of promiscuous mode switch Andrew Rybchenko
2019-09-09 12:48 ` Gaëtan Rivet
2019-09-09 11:58 ` [dpdk-dev] [PATCH v2 03/13] net/bonding: " Andrew Rybchenko
2019-09-09 11:58 ` [dpdk-dev] [PATCH v2 04/13] ethdev: change promiscuous callbacks to return status Andrew Rybchenko
2019-09-10 7:53 ` Matan Azrad
2019-09-13 21:05 ` Andrew Rybchenko
2019-09-11 8:46 ` Hyong Youb Kim (hyonkim)
2019-09-13 21:06 ` Andrew Rybchenko
2019-09-16 6:48 ` Hyong Youb Kim (hyonkim)
2019-09-13 15:34 ` Ferruh Yigit
2019-09-13 15:54 ` Andrew Rybchenko
2019-09-13 16:33 ` Ferruh Yigit
2019-09-13 15:39 ` Ferruh Yigit
2019-09-13 16:05 ` Andrew Rybchenko
2019-09-13 16:34 ` Ferruh Yigit
2019-09-13 19:57 ` Andrew Rybchenko
2019-09-16 13:22 ` Ferruh Yigit
2019-09-16 15:45 ` Andrew Rybchenko
2019-09-16 15:58 ` Ferruh Yigit
2019-09-13 16:43 ` Ferruh Yigit
2019-09-13 20:33 ` Andrew Rybchenko
2019-09-13 16:56 ` Ferruh Yigit
2019-09-13 20:38 ` Andrew Rybchenko
2019-09-09 11:58 ` [dpdk-dev] [PATCH v2 05/13] ethdev: do nothing if promiscuous mode is applied again Andrew Rybchenko
2019-09-09 11:58 ` [dpdk-dev] [PATCH v2 06/13] app/pipeline: check code of promiscuous mode switch Andrew Rybchenko
2019-09-09 11:58 ` [dpdk-dev] [PATCH v2 07/13] app/testpmd: " Andrew Rybchenko
2019-09-09 11:58 ` [dpdk-dev] [PATCH v2 08/13] app/eventdev: " Andrew Rybchenko
2019-09-09 11:58 ` [dpdk-dev] [PATCH v2 09/13] app/pdump: " Andrew Rybchenko
2019-09-09 11:58 ` [dpdk-dev] [PATCH v2 10/13] app/test: " Andrew Rybchenko
2019-09-09 11:58 ` [dpdk-dev] [PATCH v2 11/13] kni: " Andrew Rybchenko
2019-09-09 11:58 ` [dpdk-dev] [PATCH v2 12/13] test/bonding: " Andrew Rybchenko
2019-09-09 11:58 ` [dpdk-dev] [PATCH v2 13/13] examples: take promiscuous mode switch result into account Andrew Rybchenko
2019-09-13 16:40 ` Ferruh Yigit
2019-09-13 18:30 ` Andrew Rybchenko
2019-09-13 16:37 ` [dpdk-dev] [PATCH v2 00/13] ethdev: change promiscuous mode functions to return status Ferruh Yigit
2019-09-14 11:37 ` [dpdk-dev] [PATCH v3 " Andrew Rybchenko
2019-09-14 11:37 ` [dpdk-dev] [PATCH v3 01/13] ethdev: change promiscuous mode controllers to return errors Andrew Rybchenko
2019-09-14 11:37 ` [dpdk-dev] [PATCH v3 02/13] net/failsafe: check code of promiscuous mode switch Andrew Rybchenko
2019-09-14 11:37 ` [dpdk-dev] [PATCH v3 03/13] net/bonding: " Andrew Rybchenko
2019-09-14 11:37 ` [dpdk-dev] [PATCH v3 04/13] ethdev: change promiscuous callbacks to return status Andrew Rybchenko
2019-09-14 11:37 ` [dpdk-dev] [PATCH v3 05/13] ethdev: do nothing if promiscuous mode is applied again Andrew Rybchenko
2019-09-14 11:37 ` [dpdk-dev] [PATCH v3 06/13] app/pipeline: check code of promiscuous mode switch Andrew Rybchenko
2019-09-14 11:37 ` [dpdk-dev] [PATCH v3 07/13] app/testpmd: " Andrew Rybchenko
2019-09-16 13:18 ` Iremonger, Bernard
2019-09-14 11:37 ` [dpdk-dev] [PATCH v3 08/13] app/eventdev: " Andrew Rybchenko
2019-09-14 11:37 ` [dpdk-dev] [PATCH v3 09/13] app/pdump: " Andrew Rybchenko
2019-09-14 11:37 ` [dpdk-dev] [PATCH v3 10/13] app/test: " Andrew Rybchenko
2019-09-14 11:37 ` [dpdk-dev] [PATCH v3 11/13] kni: " Andrew Rybchenko
2019-09-14 11:37 ` [dpdk-dev] [PATCH v3 12/13] test/bonding: " Andrew Rybchenko
2019-09-14 11:37 ` Andrew Rybchenko [this message]
2019-09-24 7:31 ` [dpdk-dev] [PATCH v3 00/13] ethdev: change promiscuous mode functions to return status 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=1568461055-16472-14-git-send-email-arybchenko@solarflare.com \
--to=arybchenko@solarflare.com \
--cc=Ivan.Ilchenko@oktetlabs.ru \
--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=chas3@att.com \
--cc=cristian.dumitrescu@intel.com \
--cc=david.hunt@intel.com \
--cc=declan.doherty@intel.com \
--cc=dev@dpdk.org \
--cc=harry.van.haaren@intel.com \
--cc=jasvinder.singh@intel.com \
--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=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=yipeng1.wang@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).