From 70e51a0ea2e00d369508a6b08a272118c857031e Mon Sep 17 00:00:00 2001 From: Ivan Ilchenko Date: Sat, 14 Sep 2019 12:37:26 +0100 Subject: [PATCH] app: check code of promiscuous mode switch 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 apps according to new return type. Signed-off-by: Ivan Ilchenko Signed-off-by: Andrew Rybchenko --- app/pdump/main.c | 8 +++- app/test-eventdev/test_perf_common.c | 7 ++- app/test-eventdev/test_pipeline_common.c | 7 ++- app/test-pipeline/init.c | 5 ++- app/test/test_event_eth_rx_adapter.c | 4 +- app/test/test_event_eth_tx_adapter.c | 4 +- app/test/test_link_bonding.c | 55 +++++++++++++++++++----- app/test/test_link_bonding_mode4.c | 16 +++++-- app/test/test_pmd_perf.c | 6 ++- 9 files changed, 92 insertions(+), 20 deletions(-) diff --git a/app/pdump/main.c b/app/pdump/main.c index c1b901279f..9d6be8ed1b 100644 --- a/app/pdump/main.c +++ b/app/pdump/main.c @@ -614,7 +614,13 @@ configure_vdev(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) { + rte_exit(EXIT_FAILURE, + "promiscuous mode enable failed: %s\n", + rte_strerror(-ret)); + return ret; + } return 0; } diff --git a/app/test-eventdev/test_perf_common.c b/app/test-eventdev/test_perf_common.c index e75582b1a2..e245191797 100644 --- a/app/test-eventdev/test_perf_common.c +++ b/app/test-eventdev/test_perf_common.c @@ -726,7 +726,12 @@ perf_ethdev_setup(struct evt_test *test, struct evt_options *opt) return -EINVAL; } - rte_eth_promiscuous_enable(i); + ret = rte_eth_promiscuous_enable(i); + if (ret != 0) { + evt_err("Failed to enable promiscuous mode for eth port [%d]: %s", + i, rte_strerror(-ret)); + return ret; + } } return 0; diff --git a/app/test-eventdev/test_pipeline_common.c b/app/test-eventdev/test_pipeline_common.c index ef8ae28c93..6166516817 100644 --- a/app/test-eventdev/test_pipeline_common.c +++ b/app/test-eventdev/test_pipeline_common.c @@ -233,7 +233,12 @@ pipeline_ethdev_setup(struct evt_test *test, struct evt_options *opt) return -EINVAL; } - rte_eth_promiscuous_enable(i); + ret = rte_eth_promiscuous_enable(i); + if (ret != 0) { + evt_err("Failed to enable promiscuous mode for eth port [%d]: %s", + i, rte_strerror(-ret)); + return ret; + } } return 0; diff --git a/app/test-pipeline/init.c b/app/test-pipeline/init.c index b75688a87a..871d9fa2d2 100644 --- a/app/test-pipeline/init.c +++ b/app/test-pipeline/init.c @@ -200,7 +200,10 @@ app_init_ports(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 for port %u: %s\n", + port, rte_strerror(-ret)); /* Init RX queues */ ret = rte_eth_rx_queue_setup( diff --git a/app/test/test_event_eth_rx_adapter.c b/app/test/test_event_eth_rx_adapter.c index 950bc67c2f..6254fcd33a 100644 --- a/app/test/test_event_eth_rx_adapter.c +++ b/app/test/test_event_eth_rx_adapter.c @@ -90,7 +90,9 @@ port_init_common(uint16_t port, const struct rte_eth_conf *port_conf, 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/app/test/test_event_eth_tx_adapter.c b/app/test/test_event_eth_tx_adapter.c index 208d20c538..73f6afea20 100644 --- a/app/test/test_event_eth_tx_adapter.c +++ b/app/test/test_event_eth_tx_adapter.c @@ -94,7 +94,9 @@ port_init_common(uint8_t port, const struct rte_eth_conf *port_conf, 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/app/test/test_link_bonding.c b/app/test/test_link_bonding.c index 938fafca3a..cbbbc98a16 100644 --- a/app/test/test_link_bonding.c +++ b/app/test/test_link_bonding.c @@ -1760,13 +1760,17 @@ static int test_roundrobin_verify_promiscuous_enable_disable(void) { int i, promiscuous_en; + int ret; /* Initialize bonded device with 4 slaves in round robin mode */ TEST_ASSERT_SUCCESS(initialize_bonded_device_with_slaves( BONDING_MODE_ROUND_ROBIN, 0, 4, 1), "Failed to initialize bonded device with slaves"); - rte_eth_promiscuous_enable(test_params->bonded_port_id); + ret = rte_eth_promiscuous_enable(test_params->bonded_port_id); + TEST_ASSERT_SUCCESS(ret, + "Failed to enable promiscuous mode for port %d: %s", + test_params->bonded_port_id, rte_strerror(-ret)); promiscuous_en = rte_eth_promiscuous_get(test_params->bonded_port_id); TEST_ASSERT_EQUAL(promiscuous_en, 1, @@ -1781,7 +1785,10 @@ test_roundrobin_verify_promiscuous_enable_disable(void) test_params->slave_port_ids[i]); } - rte_eth_promiscuous_disable(test_params->bonded_port_id); + ret = rte_eth_promiscuous_disable(test_params->bonded_port_id); + TEST_ASSERT_SUCCESS(ret, + "Failed to disable promiscuous mode for port %d: %s", + test_params->bonded_port_id, rte_strerror(-ret)); promiscuous_en = rte_eth_promiscuous_get(test_params->bonded_port_id); TEST_ASSERT_EQUAL(promiscuous_en, 0, @@ -2200,6 +2207,7 @@ static int test_activebackup_verify_promiscuous_enable_disable(void) { int i, primary_port, promiscuous_en; + int ret; /* Initialize bonded device with 4 slaves in round robin mode */ TEST_ASSERT_SUCCESS(initialize_bonded_device_with_slaves( @@ -2211,7 +2219,10 @@ test_activebackup_verify_promiscuous_enable_disable(void) "failed to get primary slave for bonded port (%d)", test_params->bonded_port_id); - rte_eth_promiscuous_enable(test_params->bonded_port_id); + ret = rte_eth_promiscuous_enable(test_params->bonded_port_id); + TEST_ASSERT_SUCCESS(ret, + "Failed to enable promiscuous mode for port %d: %s", + test_params->bonded_port_id, rte_strerror(-ret)); TEST_ASSERT_EQUAL(rte_eth_promiscuous_get(test_params->bonded_port_id), 1, "Port (%d) promiscuous mode not enabled", @@ -2232,7 +2243,10 @@ test_activebackup_verify_promiscuous_enable_disable(void) } - rte_eth_promiscuous_disable(test_params->bonded_port_id); + ret = rte_eth_promiscuous_disable(test_params->bonded_port_id); + TEST_ASSERT_SUCCESS(ret, + "Failed to disable promiscuous mode for port %d: %s", + test_params->bonded_port_id, rte_strerror(-ret)); TEST_ASSERT_EQUAL(rte_eth_promiscuous_get(test_params->bonded_port_id), 0, "Port (%d) promiscuous mode not disabled\n", @@ -3110,13 +3124,17 @@ static int test_balance_verify_promiscuous_enable_disable(void) { int i; + int ret; /* Initialize bonded device with 4 slaves in round robin mode */ TEST_ASSERT_SUCCESS(initialize_bonded_device_with_slaves( BONDING_MODE_BALANCE, 0, 4, 1), "Failed to initialise bonded device"); - rte_eth_promiscuous_enable(test_params->bonded_port_id); + ret = rte_eth_promiscuous_enable(test_params->bonded_port_id); + TEST_ASSERT_SUCCESS(ret, + "Failed to enable promiscuous mode for port %d: %s", + test_params->bonded_port_id, rte_strerror(-ret)); TEST_ASSERT_EQUAL(rte_eth_promiscuous_get(test_params->bonded_port_id), 1, "Port (%d) promiscuous mode not enabled", @@ -3129,7 +3147,10 @@ test_balance_verify_promiscuous_enable_disable(void) test_params->slave_port_ids[i]); } - rte_eth_promiscuous_disable(test_params->bonded_port_id); + ret = rte_eth_promiscuous_disable(test_params->bonded_port_id); + TEST_ASSERT_SUCCESS(ret, + "Failed to disable promiscuous mode for port %d: %s", + test_params->bonded_port_id, rte_strerror(-ret)); TEST_ASSERT_EQUAL(rte_eth_promiscuous_get(test_params->bonded_port_id), 0, "Port (%d) promiscuous mode not disabled", @@ -3696,13 +3717,17 @@ static int test_broadcast_verify_promiscuous_enable_disable(void) { int i; + int ret; /* Initialize bonded device with 4 slaves in round robin mode */ TEST_ASSERT_SUCCESS(initialize_bonded_device_with_slaves( BONDING_MODE_BROADCAST, 0, 4, 1), "Failed to initialise bonded device"); - rte_eth_promiscuous_enable(test_params->bonded_port_id); + ret = rte_eth_promiscuous_enable(test_params->bonded_port_id); + TEST_ASSERT_SUCCESS(ret, + "Failed to enable promiscuous mode for port %d: %s", + test_params->bonded_port_id, rte_strerror(-ret)); TEST_ASSERT_EQUAL(rte_eth_promiscuous_get(test_params->bonded_port_id), 1, @@ -3716,7 +3741,10 @@ test_broadcast_verify_promiscuous_enable_disable(void) test_params->slave_port_ids[i]); } - rte_eth_promiscuous_disable(test_params->bonded_port_id); + ret = rte_eth_promiscuous_disable(test_params->bonded_port_id); + TEST_ASSERT_SUCCESS(ret, + "Failed to disable promiscuous mode for port %d: %s", + test_params->bonded_port_id, rte_strerror(-ret)); TEST_ASSERT_EQUAL(rte_eth_promiscuous_get(test_params->bonded_port_id), 0, "Port (%d) promiscuous mode not disabled", @@ -4174,6 +4202,7 @@ static int test_tlb_verify_promiscuous_enable_disable(void) { int i, primary_port, promiscuous_en; + int ret; /* Initialize bonded device with 4 slaves in transmit load balancing mode */ TEST_ASSERT_SUCCESS( initialize_bonded_device_with_slaves( @@ -4185,7 +4214,10 @@ test_tlb_verify_promiscuous_enable_disable(void) "failed to get primary slave for bonded port (%d)", test_params->bonded_port_id); - rte_eth_promiscuous_enable(test_params->bonded_port_id); + ret = rte_eth_promiscuous_enable(test_params->bonded_port_id); + TEST_ASSERT_SUCCESS(ret, + "Failed to enable promiscuous mode for port %d: %s", + test_params->bonded_port_id, rte_strerror(-ret)); promiscuous_en = rte_eth_promiscuous_get(test_params->bonded_port_id); TEST_ASSERT_EQUAL(promiscuous_en, (int)1, @@ -4206,7 +4238,10 @@ test_tlb_verify_promiscuous_enable_disable(void) } - rte_eth_promiscuous_disable(test_params->bonded_port_id); + ret = rte_eth_promiscuous_disable(test_params->bonded_port_id); + TEST_ASSERT_SUCCESS(ret, + "Failed to disable promiscuous mode for port %d: %s\n", + test_params->bonded_port_id, rte_strerror(-ret)); promiscuous_en = rte_eth_promiscuous_get(test_params->bonded_port_id); TEST_ASSERT_EQUAL(promiscuous_en, (int)0, diff --git a/app/test/test_link_bonding_mode4.c b/app/test/test_link_bonding_mode4.c index bbb4e9cce1..70b95d0405 100644 --- a/app/test/test_link_bonding_mode4.c +++ b/app/test/test_link_bonding_mode4.c @@ -312,6 +312,7 @@ static int initialize_bonded_device_with_slaves(uint16_t slave_count, uint8_t external_sm) { uint8_t i; + int ret; RTE_VERIFY(test_params.bonded_port_id != INVALID_PORT_ID); @@ -323,7 +324,10 @@ initialize_bonded_device_with_slaves(uint16_t slave_count, uint8_t external_sm) /* Reset mode 4 configuration */ rte_eth_bond_8023ad_setup(test_params.bonded_port_id, NULL); - rte_eth_promiscuous_disable(test_params.bonded_port_id); + ret = rte_eth_promiscuous_disable(test_params.bonded_port_id); + TEST_ASSERT_SUCCESS(ret, + "Failed disable promiscuous mode for port %d: %s", + test_params.bonded_port_id, rte_strerror(-ret)); if (external_sm) { struct rte_eth_bond_8023ad_conf conf; @@ -824,7 +828,10 @@ test_mode4_rx(void) /* First try with promiscuous mode enabled. * Add 2 packets to each slave. First with bonding MAC address, second with * different. Check if we received all of them. */ - rte_eth_promiscuous_enable(test_params.bonded_port_id); + retval = rte_eth_promiscuous_enable(test_params.bonded_port_id); + TEST_ASSERT_SUCCESS(retval, + "Failed to enable promiscuous mode for port %d: %s", + test_params.bonded_port_id, rte_strerror(-retval)); expected_pkts_cnt = 0; FOR_EACH_SLAVE(i, slave) { @@ -869,7 +876,10 @@ test_mode4_rx(void) /* Now, disable promiscuous mode. When promiscuous mode is disabled we * expect to receive only packets that are directed to bonding port. */ - rte_eth_promiscuous_disable(test_params.bonded_port_id); + retval = rte_eth_promiscuous_disable(test_params.bonded_port_id); + TEST_ASSERT_SUCCESS(retval, + "Failed to disable promiscuous mode for port %d: %s", + test_params.bonded_port_id, rte_strerror(-retval)); expected_pkts_cnt = 0; FOR_EACH_SLAVE(i, slave) { diff --git a/app/test/test_pmd_perf.c b/app/test/test_pmd_perf.c index 4f9fc0d876..85ef11899b 100644 --- a/app/test/test_pmd_perf.c +++ b/app/test/test_pmd_perf.c @@ -745,7 +745,11 @@ test_pmd_perf(void) ret, portid); /* always eanble promiscuous */ - 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); lcore_conf[slave_id].portlist[num++] = portid; lcore_conf[slave_id].nb_ports++; -- 2.20.1