app/testpmd: check code of allmulticast mode switch
authorIvan Ilchenko <ivan.ilchenko@oktetlabs.ru>
Tue, 24 Sep 2019 12:56:12 +0000 (13:56 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Mon, 7 Oct 2019 13:00:55 +0000 (15:00 +0200)
rte_eth_allmulticast_enable()/rte_eth_allmulticast_disable() return
value was changed from void to int, so this patch modify usage
of these functions across app/test-pmd
according to new return type.

Signed-off-by: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
app/test-pmd/cmdline.c
app/test-pmd/testpmd.h
app/test-pmd/util.c

index 6b9444f..dd4e6e6 100644 (file)
@@ -6603,17 +6603,11 @@ static void cmd_set_allmulti_mode_parsed(void *parsed_result,
        /* all ports */
        if (allports) {
                RTE_ETH_FOREACH_DEV(i) {
-                       if (enable)
-                               rte_eth_allmulticast_enable(i);
-                       else
-                               rte_eth_allmulticast_disable(i);
+                       eth_set_allmulticast_mode(i, enable);
                }
        }
        else {
-               if (enable)
-                       rte_eth_allmulticast_enable(res->port_num);
-               else
-                       rte_eth_allmulticast_disable(res->port_num);
+               eth_set_allmulticast_mode(res->port_num, enable);
        }
 }
 
index bec19ab..f8ebe71 100644 (file)
@@ -825,6 +825,7 @@ void setup_gso(const char *mode, portid_t port_id);
 int eth_dev_info_get_print_err(uint16_t port_id,
                        struct rte_eth_dev_info *dev_info);
 void eth_set_promisc_mode(uint16_t port_id, int enable);
+void eth_set_allmulticast_mode(uint16_t port, int enable);
 int eth_link_get_nowait_print_err(uint16_t port_id, struct rte_eth_link *link);
 int eth_macaddr_get_print_err(uint16_t port_id,
                        struct rte_ether_addr *mac_addr);
index faf247c..1570270 100644 (file)
@@ -262,6 +262,22 @@ eth_set_promisc_mode(uint16_t port, int enable)
                        port, rte_strerror(-ret));
 }
 
+void
+eth_set_allmulticast_mode(uint16_t port, int enable)
+{
+       int ret;
+
+       if (enable)
+               ret = rte_eth_allmulticast_enable(port);
+       else
+               ret = rte_eth_allmulticast_disable(port);
+
+       if (ret != 0)
+               printf("Error during %s all-multicast mode for port %u: %s\n",
+                       enable ? "enabling" : "disabling",
+                       port, rte_strerror(-ret));
+}
+
 int
 eth_link_get_nowait_print_err(uint16_t port_id, struct rte_eth_link *link)
 {