From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 022A4C433EF for ; Mon, 9 Sep 2019 12:01:15 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 6BF752086D for ; Mon, 9 Sep 2019 12:01:14 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6BF752086D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=solarflare.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A77091ED69; Mon, 9 Sep 2019 13:59:38 +0200 (CEST) Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [148.163.129.52]) by dpdk.org (Postfix) with ESMTP id 7A93B1EC99 for ; Mon, 9 Sep 2019 13:59:13 +0200 (CEST) X-Virus-Scanned: Proofpoint Essentials engine Received: from webmail.solarflare.com (webmail.solarflare.com [12.187.104.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mx1-us4.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id 183BF80005C; Mon, 9 Sep 2019 11:59:12 +0000 (UTC) Received: from ocex03.SolarFlarecom.com (10.20.40.36) by ocex03.SolarFlarecom.com (10.20.40.36) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Mon, 9 Sep 2019 04:59:06 -0700 Received: from opal.uk.solarflarecom.com (10.17.10.1) by ocex03.SolarFlarecom.com (10.20.40.36) with Microsoft SMTP Server (TLS) id 15.0.1395.4 via Frontend Transport; Mon, 9 Sep 2019 04:59:05 -0700 Received: from ukv-loginhost.uk.solarflarecom.com (ukv-loginhost.uk.solarflarecom.com [10.17.10.39]) by opal.uk.solarflarecom.com (8.13.8/8.13.8) with ESMTP id x89Bx4BZ027783; Mon, 9 Sep 2019 12:59:04 +0100 Received: from ukv-loginhost.uk.solarflarecom.com (localhost [127.0.0.1]) by ukv-loginhost.uk.solarflarecom.com (Postfix) with ESMTP id 9CF271613D1; Mon, 9 Sep 2019 12:59:04 +0100 (BST) From: Andrew Rybchenko To: Nicolas Chautru , Chas Williams , David Hunt , Harry van Haaren , Marko Kovacevic , Ori Kam , Bruce Richardson , Pablo de Lara , Radu Nicolau , Akhil Goyal , Tomasz Kantecki , Bernard Iremonger , Konstantin Ananyev , Cristian Dumitrescu , Declan Doherty , Anatoly Burakov , Reshma Pattan , John McNamara , "Xiaoyun Li" , Jasvinder Singh , "Byron Marohn" , Maxime Coquelin , Tiwei Bie , Zhihong Wang CC: , Ivan Ilchenko Date: Mon, 9 Sep 2019 12:58:50 +0100 Message-ID: <1568030331-16526-14-git-send-email-arybchenko@solarflare.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1568030331-16526-1-git-send-email-arybchenko@solarflare.com> References: <1567699852-31693-1-git-send-email-arybchenko@solarflare.com> <1568030331-16526-1-git-send-email-arybchenko@solarflare.com> MIME-Version: 1.0 Content-Type: text/plain X-TM-AS-Product-Ver: SMEX-12.5.0.1300-8.5.1010-24898.005 X-TM-AS-Result: No-3.927300-4.000000-10 X-TMASE-MatchedRID: v6t7Wybkjo3bS0m47m6fSn84FZpy/6JVAPiR4btCEeZ+SLLtNOiBhvFo O2munXhOaagifOf0sgWUyUJfx1AjkCZShfo024fxA9lly13c/gFOyHF6Q7mfS7krYtQaB6j2SAl T3z7ftsfcAroy7dOlEXDlPghqPnfyT3nCKCHJ3mlPs79gcmEg0I7u1T4G/rnN0SxMhOhuA0Rcpk b9zUI7BH3JM7viRV/Qi/28hsPyzHtH6+lhuE4fWm6HurDH4PpPovA/6ONsv0rkVOku4OQngGtgc kGXH2knbxEDJAhdvmSQ5vUIflqHwJhLYh8i4UZXPja3w1ExF8TgXnxE81iysUoPLn6eZ90+S717 hL/58vaws27Aq0JsBUoaCLCy5dSUoXYTq/8UnCHobINHZkH5xn4kYxhimH/bV7MQTbTl029xQtH zHkAOcG6eu7TebRfM8JLFXexmHOv2O6qBs+mx8cebIMlISwjbxO20cNGQz3WbKItl61J/yZ+inT K0bC9eKrauXd3MZDVPFzjCkfkYUmgHEo0OkvTQ+ioBF7fcO3ARFF0gLdQJ4lOxMI21S5YRq32ri 9Osi+6N0LuanEknoVh+O+/0PE239mbY9dbXqzBGkBjbMbD9rzigZBQJvBjlD6DuZ3COjrnoW0Nk KZgEncpMvD+U2DDy X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--3.927300-4.000000 X-TMASE-Version: SMEX-12.5.0.1300-8.5.1010-24898.005 X-MDID: 1568030352-aaHIA1gfBa9S Subject: [dpdk-dev] [PATCH v2 13/13] examples: take promiscuous mode switch result into account X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Ivan Ilchenko 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 Signed-off-by: Andrew Rybchenko --- 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 9acf666dc9..3d36629a1b 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 be62c1713a..39214cfeeb 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 8942f3607c..125ee877f3 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 3789fbfd7b..c734c7750c 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 d7f3598afb..f3c0206b53 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 2130c13d85..ae0faf621c 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 fe064fa022..c40cfd098b 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 6b832445aa..70139ee4d2 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 4e3a40b5a8..744abf394f 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 87d4b5c01f..e810e9f3f4 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 534830a8e0..8154fc76af 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 b34b40a006..b15f0330b8 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 9a370f2dea..c4ef310312 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 5fcba5c88c..3dd6e45b86 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 a051390688..708f44ee0d 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 8d4c539810..db070a18be 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 60531ce0ec..c974a357be 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 bfcaa46c58..8ddc9ceb1e 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 3294ac2dab..9ed495ee01 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 0c3dfc6912..be57e6a982 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 660f5a8edd..4d49c9514a 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 3af5dc6994..e55def84b5 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 9ae8efb0ba..95058a5dc5 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 d40e163b0e..f3819d2224 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 a99961f821..132f582a95 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 00f535053c..9e25f064ed 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 bc427a526c..6e273f644f 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 13c85e9406..e8112c83a2 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 cf9e8f4ac7..dbdbdefea7 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 5a0f64f454..5ebcc83ac3 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 9fd4b8efd5..5d545115c4 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 773780b4d2..335741a8fc 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 171ebde7bd..8f1805aeb5 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 794d12ba7e..b5632d771d 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 0f48ae926c..a3a7478296 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 (ret != 0) + return retval; return 0; -- 2.17.1