From: Andrew Rybchenko <arybchenko@solarflare.com> To: Ferruh Yigit <ferruh.yigit@intel.com> Cc: <dev@dpdk.org>, Ivan Ilchenko <Ivan.Ilchenko@oktetlabs.ru> Subject: [dpdk-dev] [PATCH 11/13] kni: check code of promiscuous mode switch Date: Thu, 5 Sep 2019 17:10:49 +0100 Message-ID: <1567699852-31693-12-git-send-email-arybchenko@solarflare.com> (raw) In-Reply-To: <1567699852-31693-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 modify usage of these functions across lib/librte_kni according to new return type. Signed-off-by: Ivan Ilchenko <Ivan.Ilchenko@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> --- app/test/test_kni.c | 7 ++++++- examples/kni/main.c | 9 +++++++-- lib/librte_kni/rte_kni.c | 14 +++++++++++--- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/app/test/test_kni.c b/app/test/test_kni.c index 2c333748db..e47ab36e02 100644 --- a/app/test/test_kni.c +++ b/app/test/test_kni.c @@ -601,7 +601,12 @@ test_kni(void) printf("fail to start port %d\n", port_id); return -1; } - rte_eth_promiscuous_enable(port_id); + ret = rte_eth_promiscuous_enable(port_id); + if (ret != 0) { + printf("fail to enable promiscuous mode for port %d: %s\n", + port_id, rte_strerror(-ret)); + return -1; + } /* basic test of kni processing */ fd = fopen(KNI_MODULE_PARAM_LO, "r"); diff --git a/examples/kni/main.c b/examples/kni/main.c index e43f174479..1069fd08bb 100644 --- a/examples/kni/main.c +++ b/examples/kni/main.c @@ -636,8 +636,13 @@ init_port(uint16_t port) rte_exit(EXIT_FAILURE, "Could not start port%u (%d)\n", (unsigned)port, ret); - if (promiscuous_on) - rte_eth_promiscuous_enable(port); + if (promiscuous_on) { + ret = rte_eth_promiscuous_enable(port); + if (ret != 0) + rte_exit(EXIT_FAILURE, + "Could not enable promiscuous mode for port%u: %s\n", + port, rte_strerror(-ret)); + } } /* Check the link status of all ports in up to 9s, and print them finally */ diff --git a/lib/librte_kni/rte_kni.c b/lib/librte_kni/rte_kni.c index 4b51fb4fed..04806ebb40 100644 --- a/lib/librte_kni/rte_kni.c +++ b/lib/librte_kni/rte_kni.c @@ -472,6 +472,8 @@ kni_config_mac_address(uint16_t port_id, uint8_t mac_addr[]) static int kni_config_promiscusity(uint16_t port_id, uint8_t to_on) { + int ret; + if (!rte_eth_dev_is_valid_port(port_id)) { RTE_LOG(ERR, KNI, "Invalid port id %d\n", port_id); return -EINVAL; @@ -481,11 +483,17 @@ kni_config_promiscusity(uint16_t port_id, uint8_t to_on) port_id, to_on); if (to_on) - rte_eth_promiscuous_enable(port_id); + ret = rte_eth_promiscuous_enable(port_id); else - rte_eth_promiscuous_disable(port_id); + ret = rte_eth_promiscuous_disable(port_id); - return 0; + if (ret != 0) + RTE_LOG(ERR, KNI, + "Failed to %s promiscuous mode for port %u: %s\n", + to_on ? "enable" : "disable", port_id, + rte_strerror(-ret)); + + return ret; } int -- 2.17.1
next prev parent reply index 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 ` Andrew Rybchenko [this message] 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 ` [dpdk-dev] [PATCH v3 13/13] examples: take promiscuous mode switch result into account Andrew Rybchenko 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=1567699852-31693-12-git-send-email-arybchenko@solarflare.com \ --to=arybchenko@solarflare.com \ --cc=Ivan.Ilchenko@oktetlabs.ru \ --cc=dev@dpdk.org \ --cc=ferruh.yigit@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
DPDK-dev Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/dpdk-dev/0 dpdk-dev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dpdk-dev dpdk-dev/ https://lore.kernel.org/dpdk-dev \ dev@dpdk.org public-inbox-index dpdk-dev Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.dpdk.dev AGPL code for this site: git clone https://public-inbox.org/public-inbox.git