From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 548F8A2EFC for ; Mon, 16 Sep 2019 09:30:14 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 102FF1C0BD; Mon, 16 Sep 2019 09:30:13 +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 2B3911C0B9 for ; Mon, 16 Sep 2019 09:30:11 +0200 (CEST) X-Virus-Scanned: Proofpoint Essentials engine Received: from webmail.solarflare.com (uk.solarflare.com [193.34.186.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mx1-us5.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id AA98F800062; Mon, 16 Sep 2019 07:30:07 +0000 (UTC) Received: from [192.168.38.17] (91.220.146.112) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Mon, 16 Sep 2019 08:29:46 +0100 To: "Hyong Youb Kim (hyonkim)" , Igor Russkikh , Pavel Belous , "Ravi Kumar" , Rasesh Mody , Shahed Shaikh , Ajit Khaparde , "Somnath Kotur" , Chas Williams , "Rahul Lakkireddy" , Hemant Agrawal , Sachin Saxena , Wenzhuo Lu , Gagandeep Singh , "John Daley (johndale)" , Gaetan Rivet , "Qi Zhang" , Xiao Wang , Beilei Xing , Jingjing Wu , Qiming Yang , Rosen Xu , Konstantin Ananyev , Shijith Thotton , Srisivasubramanian Srinivasan , Matan Azrad , Shahaf Shuler , Yongseok Koh , Viacheslav Ovsiienko , "Tomasz Duszynski" , Liron Himi , "Stephen Hemminger" , "K. Y. Srinivasan" , Haiyang Zhang , Rastislav Cernay , Jan Remes , Jerin Jacob , Nithin Dabilpuram , "Kiran Kumar K" , Keith Wiles , Maxime Coquelin , Tiwei Bie , Zhihong Wang , Yong Wang , Thomas Monjalon , Ferruh Yigit CC: "dev@dpdk.org" , Ivan Ilchenko References: <1568031190-16510-1-git-send-email-arybchenko@solarflare.com> <1568031190-16510-5-git-send-email-arybchenko@solarflare.com> From: Andrew Rybchenko Message-ID: <03c9a921-20f7-88c4-5657-282e3cd9a144@solarflare.com> Date: Mon, 16 Sep 2019 10:29:43 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-GB X-Originating-IP: [91.220.146.112] X-ClientProxiedBy: ocex03.SolarFlarecom.com (10.20.40.36) To ukex01.SolarFlarecom.com (10.17.10.4) X-TM-AS-Product-Ver: SMEX-12.5.0.1300-8.5.1010-24914.003 X-TM-AS-Result: No-9.627100-8.000000-10 X-TMASE-MatchedRID: 6lay9u8oTUPA46G+uSzVzSLVdThWsHxY69aS+7/zbj/adW4iYSMjUfIL 3EilQkpCMsvMh/8C+DaJFCLyzS0nQjM9BBRuZZ1vMpVOsYwN78NjibYbm9O0sFeIuu+Gkot89WX m+yhJKyjqBFaqfyworVO9V994jC9DIeFIFB+CV+waPMGCcVm9DvG6GRFYrbYYiiKPXbEds+7DF4 BIG0TOD70SbNNNgojE39YLnhkbmgFzfeCSt9MtiLmQWToO0X1/4cLBHAw1BRbbw6NvULhmF/57N +iDW4XTRKR2k1wf6eX/CkiuYqzzSjblc6Gei4nlCLQsumV/5S+ZEoWHC6Rh/XT4/S1AY/5LjICY R8WRXj7OH38lNbOoTO0kh8+z6oXjl2U0xIbdl0zZ6cd1XW8QuS2VljVYB9GN2Yajy1P9W1XdKUS BW7I322+5ieh24ZYRkZOl7WKIImrvXOvQVlExsFZ0V5tYhzdWnH7sbImOEBR6yE95uKQ1nJ6QBz oSaBWrzZnBt+RQoHYw4/9m8DVNZ3vSi4oCYlnQTBcVAdcUWxrzDri1E4XrMMl2s0hzD8TYERX+2 stF7MLAvpLE+mvX8g== X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--9.627100-8.000000 X-TMASE-Version: SMEX-12.5.0.1300-8.5.1010-24914.003 X-MDID: 1568619009-M3-iP7uzV9H8 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH 4/7] ethdev: change allmulticast callbacks to return status 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" Hi Hyong, On 9/16/19 10:03 AM, Hyong Youb Kim (hyonkim) wrote: >> -----Original Message----- >> From: Andrew Rybchenko >> Sent: Monday, September 9, 2019 9:13 PM > [...] >> Subject: [PATCH 4/7] ethdev: change allmulticast callbacks to return status >> >> From: Ivan Ilchenko >> >> Enabling/disabling of allmulticast mode is not always successful and >> it should be taken into account to be able to handle it properly. >> >> When correct return status is unclear from driver code, -EAGAIN is used. >> >> Signed-off-by: Ivan Ilchenko >> Signed-off-by: Andrew Rybchenko >> --- > [...] >> drivers/net/enic/enic_ethdev.c | 22 +++++++--- > [...] >> diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c >> index 5d48930a9d..e12ca213ae 100644 >> --- a/drivers/net/enic/enic_ethdev.c >> +++ b/drivers/net/enic/enic_ethdev.c >> @@ -638,28 +638,38 @@ static int enicpmd_dev_promiscuous_disable(struct >> rte_eth_dev *eth_dev) >> return ret; >> } >> >> -static void enicpmd_dev_allmulticast_enable(struct rte_eth_dev *eth_dev) >> +static int enicpmd_dev_allmulticast_enable(struct rte_eth_dev *eth_dev) >> { >> struct enic *enic = pmd_priv(eth_dev); >> + int ret; >> >> if (rte_eal_process_type() != RTE_PROC_PRIMARY) >> - return; >> + return -ENOTSUP; > Hi Andrew, > > If you are making v2, could you make this to return -E_RTE_SECONDARY, > as in the promisc patch? Yes, of course. I'll do in v2. >> ENICPMD_FUNC_TRACE(); >> enic->allmulti = 1; >> - enic_add_packet_filter(enic); >> + ret = enic_add_packet_filter(enic); >> + if (ret != 0) >> + enic->allmulti = 0; >> + >> + return ret; >> } >> >> -static void enicpmd_dev_allmulticast_disable(struct rte_eth_dev *eth_dev) >> +static int enicpmd_dev_allmulticast_disable(struct rte_eth_dev *eth_dev) >> { >> struct enic *enic = pmd_priv(eth_dev); >> + int ret; >> >> if (rte_eal_process_type() != RTE_PROC_PRIMARY) >> - return; >> + return -ENOTSUP; > Here too. > > I tested all 5 series (promisc, allmulti, ...) with enic, and my test > cases all passed. > > Acked-by: Hyong Youb Kim Thanks for the testing and review, Andrew. > Thanks. > -Hyong > >> ENICPMD_FUNC_TRACE(); >> enic->allmulti = 0; >> - enic_add_packet_filter(enic); >> + ret = enic_add_packet_filter(enic); >> + if (ret != 0) >> + enic->allmulti = 1; >> + >> + return ret; >> } >> >> static int enicpmd_add_mac_addr(struct rte_eth_dev *eth_dev,