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 216F8A2EDC for ; Mon, 9 Sep 2019 14:57:01 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 288CD1EAD1; Mon, 9 Sep 2019 14:57:00 +0200 (CEST) Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) by dpdk.org (Postfix) with ESMTP id DFE071EACA for ; Mon, 9 Sep 2019 14:56:58 +0200 (CEST) Received: by mail-wr1-f68.google.com with SMTP id l16so13680474wrv.12 for ; Mon, 09 Sep 2019 05:56:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind.com; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=xe5KuA2doz34/rW65eTegodntkqMgpOBHmSHtRCY7MQ=; b=bLFJXczDz16ZOt+Alf6s1SiDKOadoJVZJDeWA4/AQlOSzlJ/u4x9bOs7WHiezK3NiH KDe+Tdrj8qH+GxiHUjYh7Q10E5zeGPvBAVLFiDmgQpYcHspOR2XBPaxMvAaZNCO/kA0z jIkep35K6pke3jTRqxX2HYchIfmy/p5/yGcRhG9PUzlKzzPHK0Us2RkgoCH3/C1U7XL9 1xO68/304hLd/BVaqGCHIU0Y9n9v0yg5hA+XwjcZNZtVZW5es2N/BxVkyKrlf7Bq1iNT lRfx6UPSUVEYP7hd00ElAML1R+OnR2BSfELIZvwJmRW9APbBCv6ddDOACQV3/Umxq2Z6 7n5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=xe5KuA2doz34/rW65eTegodntkqMgpOBHmSHtRCY7MQ=; b=fkPFZ9MnsZNtPG67Yh2TFTF5TIEpxFVceL8ml+cIwb0jb1XAxjvZ14faREYTQtIxUr ppldLvQZ2ZAvPPt/jl+1G+lC4wyXlit+sbc/qX8XzYS7uAJLqnkivjQsfdMRKLBqIf+x c7es/5hJH8ocwbuIxW8TMQ5UOJZgYY40eZjzbikRx5BgG3DTB8yrA9ia+JBtRq1acYSh Sbg2CS8FmN7ziLT9QKXhsOZnbPQuGb7dnirP1NxJVeA+O+tsSKvo4Ff3kEy6LpnFs48L MypaQoVWTdkBzzEcNBUELeVc5k1vtYmCcmRaFDM4wrVHSvvoAZo88wykzMq9gELj+0mt X9gg== X-Gm-Message-State: APjAAAVVhoQn36th3XX8c+qONW+umDmrA3S+WNJDWmmrEiOnRM6q1vsB ISM5mrhjXHcdjCi1MYlBbeFpPg== X-Google-Smtp-Source: APXvYqyWzw10VjvId/lN8LddVOkFmfeO/4ReXEpRFx7Gr1k6RRg/C4N+eLAEfGPBYUlKrwEGG/gQ/Q== X-Received: by 2002:adf:e3c4:: with SMTP id k4mr15026751wrm.157.1568033818676; Mon, 09 Sep 2019 05:56:58 -0700 (PDT) Received: from bidouze.vm.6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id o9sm16964042wrh.46.2019.09.09.05.56.57 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 09 Sep 2019 05:56:58 -0700 (PDT) Date: Mon, 9 Sep 2019 14:56:56 +0200 From: =?iso-8859-1?Q?Ga=EBtan?= Rivet To: Andrew Rybchenko Cc: dev@dpdk.org, Ivan Ilchenko Message-ID: <20190909125656.fxkbfvxja2z62bzv@bidouze.vm.6wind.com> References: <1568031190-16510-1-git-send-email-arybchenko@solarflare.com> <1568031190-16510-3-git-send-email-arybchenko@solarflare.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1568031190-16510-3-git-send-email-arybchenko@solarflare.com> User-Agent: NeoMutt/20170113 (1.7.2) Subject: Re: [dpdk-dev] [PATCH 2/7] net/failsafe: check code of allmulticast mode switch 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" On Mon, Sep 09, 2019 at 01:13:04PM +0100, Andrew Rybchenko wrote: > From: Ivan Ilchenko > > 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 net/failsafe according to new return type. > > Try to keep all-multicast mode consistent across all active > devices in the case of failure. > > Signed-off-by: Ivan Ilchenko > Signed-off-by: Andrew Rybchenko A small nit below, but otherwise Acked-by: Gaetan Rivet > --- > drivers/net/failsafe/failsafe_ether.c | 8 +++-- > drivers/net/failsafe/failsafe_ops.c | 44 ++++++++++++++++++++++++--- > 2 files changed, 46 insertions(+), 6 deletions(-) > [...] > diff --git a/drivers/net/failsafe/failsafe_ops.c b/drivers/net/failsafe/failsafe_ops.c > index fee783ad07..b90fa8676c 100644 > --- a/drivers/net/failsafe/failsafe_ops.c > +++ b/drivers/net/failsafe/failsafe_ops.c > @@ -723,10 +723,28 @@ fs_allmulticast_enable(struct rte_eth_dev *dev) > { > struct sub_device *sdev; > uint8_t i; > + int ret = 0; > > fs_lock(dev, 0); > - FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) > - rte_eth_allmulticast_enable(PORT_ID(sdev)); > + FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { > + ret = rte_eth_allmulticast_enable(PORT_ID(sdev)); > + ret = fs_err(sdev, ret); > + if (ret != 0) { > + ERROR("All-multicast mode enable failed for subdevice %d", > + PORT_ID(sdev)); > + break; > + } > + } > + if (ret != 0) { > + /* Rollback in the case of failure */ > + FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { > + ret = rte_eth_allmulticast_disable(PORT_ID(sdev)); > + ret = fs_err(sdev, ret); > + if (ret != 0) > + ERROR("All-multicast mode disable to rollback failed for subdevice %d", I'd formulate the error as such: "All-multicast mode disable during rollback failed for subdevice %d" That may not be the best either, but the current format seems a little off? I could be wrong. > + PORT_ID(sdev)); > + } > + } > fs_unlock(dev, 0); > } > > @@ -735,10 +753,28 @@ fs_allmulticast_disable(struct rte_eth_dev *dev) > { > struct sub_device *sdev; > uint8_t i; > + int ret = 0; > > fs_lock(dev, 0); > - FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) > - rte_eth_allmulticast_disable(PORT_ID(sdev)); > + FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { > + ret = rte_eth_allmulticast_disable(PORT_ID(sdev)); > + ret = fs_err(sdev, ret); > + if (ret != 0) { > + ERROR("All-multicast mode disable failed for subdevice %d", > + PORT_ID(sdev)); > + break; > + } > + } > + if (ret != 0) { > + /* Rollback in the case of failure */ > + FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_ACTIVE) { > + ret = rte_eth_allmulticast_enable(PORT_ID(sdev)); > + ret = fs_err(sdev, ret); > + if (ret != 0) > + ERROR("All-multicast mode enable to rollback failed for subdevice %d", Same as above. > + PORT_ID(sdev)); > + } > + } > fs_unlock(dev, 0); > } > > -- > 2.17.1 > -- Gaëtan Rivet 6WIND