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 0E5DCA04DB; Thu, 15 Oct 2020 07:37:41 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CA2B61C10E; Thu, 15 Oct 2020 07:37:39 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id ED2771DC3B for ; Thu, 15 Oct 2020 07:37:36 +0200 (CEST) IronPort-SDR: Hgf9zBeLQTFGV+vOEIlhOxpi+Ay3LAfuksLSehNeLbZtl9Z6tJf66acwJwIM1eOIz91M6GhULf Utq/p9obcaBA== X-IronPort-AV: E=McAfee;i="6000,8403,9774"; a="145572419" X-IronPort-AV: E=Sophos;i="5.77,377,1596524400"; d="scan'208";a="145572419" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Oct 2020 22:37:36 -0700 IronPort-SDR: VZFuVWurSedRv2mRi569SpbinJsotR7PGom/w1UKPnW8S4CfR4mqJfHSoYkRVGnhFjwMId5I9Y PzDopc+7jk/g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,377,1596524400"; d="scan'208";a="521713237" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga005.fm.intel.com with ESMTP; 14 Oct 2020 22:37:36 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 14 Oct 2020 22:37:33 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 14 Oct 2020 22:37:33 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.170) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Wed, 14 Oct 2020 22:37:32 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oElZK4/acMyJhGwsOyH/jjVTt+wabuFE1uZthuI+N2TnVmud1soBZSg9vjNRFSgXUD6K1Ofqy8wZcN3lNlkuju7CQMixv7twXxfcwpK1SkHOk+s7ymnS9KPhOKgoj+WsoFTHFuuGY8dLdwZOdiy0HHHB+GssDD1Y/ql0j/Et973kJ/sI0onEHbIvKAxmBaWIz0W1X986vmX7q0RJ3iH4dYJ9ZNH2gHhr264DurXx0+fjDH1icdvgkMOR3S0LiAxsZxcLMs+CVXCpwXVvAu0eQxXRj8I6PXcCM5Xb/wPvXa9rsG+z/cgMrvqeWnTD0WM1xd1TWX/3HDA7cklzt2lsqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kFGSFTQTw/QtUwqwodCORP7zvChjoG9VojBmLnNmQjk=; b=n4Oh9FLM9oL0iPE90TEeoVH7XQ1zQdQJ4y1WzXN4UocAoFUg5nmfZVzEK+CckJ+AAdGy4wj0ovbZ2c24n5tEipCY/O0jBZ7TQU4O9ribhfQ0LNwduGPnb+82SYDrbDvLcjEF8T3mrL1Bt1g2g8sWh+p0WpI+1mrrTcmrZYbLvUf0Mbxtx3YqVeUqSb3tlu+l8sqfpf40kUOysf95vxAu5jmowzg8gCJPMj/w3iY1xLNt8e+oNfcyXBuFAiNO7q2p+63nk80ZG3TI1Adq6uw+2mFRoVftfyR+yR5rS0QnmEV5iWb6CEqomnQF6kbyMI18ZTYCRZyN/rVLB34/bMhPXg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kFGSFTQTw/QtUwqwodCORP7zvChjoG9VojBmLnNmQjk=; b=AwGDLkbCyiowgZ30/cAXPb+oGciHPTVeTSZNgZHZRUzMWdZ+wWoKhSBNNn6DvX+CsgKl/mcJSQBZ6lQsiTR8ARURBQ/TWtfNzp/ERGt2FPlAPCcbOto4AwVcSGkgvlB4aeqGA3bXFE4bV9apqi5Di3VHdPFfxPnm/M2EAGIqG0o= Received: from MN2PR11MB3807.namprd11.prod.outlook.com (2603:10b6:208:f0::24) by MN2PR11MB3805.namprd11.prod.outlook.com (2603:10b6:208:f4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.20; Thu, 15 Oct 2020 05:37:25 +0000 Received: from MN2PR11MB3807.namprd11.prod.outlook.com ([fe80::4dc9:358a:cd2e:45d6]) by MN2PR11MB3807.namprd11.prod.outlook.com ([fe80::4dc9:358a:cd2e:45d6%6]) with mapi id 15.20.3477.020; Thu, 15 Oct 2020 05:37:25 +0000 From: "Xing, Beilei" To: "Peng, Yuan" , "Sun, GuinanX" , "dev@dpdk.org" CC: "Wu, Jingjing" , "Zhang, Qi Z" , "Sun, GuinanX" Thread-Topic: [dpdk-dev] [PATCH] net/iavf: fix adding multicast MAC address Thread-Index: AQHWopztlXnHVJQEUkahlZt/JfyhoKmYHp6AgAAGfZA= Date: Thu, 15 Oct 2020 05:37:25 +0000 Message-ID: References: <20201015020204.12658-1-guinanx.sun@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.46.36] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 45c0955f-e747-4f4f-d1f3-08d870cc65c9 x-ms-traffictypediagnostic: MN2PR11MB3805: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:419; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 0jeMG+kvBYJxHJ/bMFvXPxsKypohcWQ/BV/gDwSP6lZ9HybHHAaYxzdNDAn6ITUJnwK4urOmhFwRodOOqYfjEsuM4/1fQApBsrRsVbS8keLKBuYRfxGZkNaLJ6lWQnlhPBcdJogL9nO5JmBDSj/sog4e3dOIcBNRGl3AtKEpRsfVdDs3Yt76DorYgIP5Bxz/DwORi16rm0OuhNH3fVTWQDEmo/VKbECghW3dXMXECCLU0/pdukrn+2nhQT0+K9SSEjG0tkif70QxnMoQ3Shh7f0v96TcU3NrhPbdKeG/lwFLY+oE0axCD06e+mxAlai10oCQ82266sG/Uzq2jxe3+w== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB3807.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(396003)(366004)(136003)(376002)(346002)(5660300002)(64756008)(66556008)(478600001)(8936002)(7696005)(8676002)(66946007)(76116006)(66476007)(107886003)(66446008)(83380400001)(55016002)(33656002)(86362001)(26005)(186003)(52536014)(6506007)(4326008)(9686003)(2906002)(71200400001)(53546011)(316002)(54906003)(110136005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: 7Y9K2kNdKUcrYtaYvIcRkWDz6Zn3RrsEqJOHdMOikeWo6CHKS53jBfljrG7WEqZetttTAPzSSv5l7zdl5PTamPm6b10PURNTotKWJmkVsGt4JJ9SouTKeXOl2WqDFExcU+9wB3H5omQ6SELUUxfiCFHZhvAd63mEslPPXfx8tjvrJNyCHxVBQ3X3sq+uZPUltWBtQj7FpY95oMr6ZGdiq6qgU5nGAkKdYIeUpd5FTsLMUFBQ0vwruIupK1GgcS6763JJOrb6MzRAGP681v9uQz88nZcRS4jtQoEB8Q0wGHyu1+crX7Nst99XupImB6MGJHccUp17rQ3SYeU+ssav+4rYj07ERpboqr5IuoscODswAIkM331mu0EHbY4lttLOlZeNtOoh/xkVYpZHDqo+vT0JWPtY5G7s3wTlepkjBjgSrDibe33Mv1A4Vs/RDcuAQjFLBZiSlV0pvMNGZnVZbc4FpbgYWkIxA6QAxjCMj+Gg5uR4RIxTL0DZWmBSPAnwCmUeX3Q8c/vE7NZyhst7NsPn9bIPaa+9QJxpK6ve3ZitcGi63+++j45BJQaWnC/cacfir39EwlyRmVEHJNtJolaucrniXzcO9DjAT7NCvE+2BWuth/McqobWP+LazjSRcQi3CFYKpsj97s4WOny5aw== Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB3807.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 45c0955f-e747-4f4f-d1f3-08d870cc65c9 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Oct 2020 05:37:25.3421 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Hg0VKGE/C8Onm8xt5fV+Vui+HDtqGtsRgm/xqlIiBPmTPy8oEycpXbVzhJnKHGT+0jcOFNRl9s9WOkIqDlJnNA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3805 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH] net/iavf: fix adding multicast MAC address 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" > -----Original Message----- > From: Peng, Yuan > Sent: Thursday, October 15, 2020 1:14 PM > To: Sun, GuinanX ; dev@dpdk.org > Cc: Xing, Beilei ; Wu, Jingjing ; > Zhang, Qi Z ; Sun, GuinanX > Subject: RE: [dpdk-dev] [PATCH] net/iavf: fix adding multicast MAC addres= s >=20 > Test-by Peng, Yuan >=20 >=20 > -----Original Message----- > From: dev On Behalf Of Guinan Sun > Sent: Thursday, October 15, 2020 10:02 AM > To: dev@dpdk.org > Cc: Xing, Beilei ; Wu, Jingjing ; > Zhang, Qi Z ; Sun, GuinanX > Subject: [dpdk-dev] [PATCH] net/iavf: fix adding multicast MAC address >=20 > When the multicast address is added, it will flush previous addresses fir= st, and > then add new ones. > So when adding an address that exceeds the upper limit causes a failure, = you > need to add the previous address list back. This patch fixes the issue. >=20 > Fixes: 05e4c3aff35f ("net/iavf: support multicast configuration") >=20 > Signed-off-by: Guinan Sun > --- > drivers/net/iavf/iavf_ethdev.c | 30 ++++++++++++++++++++++-------- > drivers/net/iavf/iavf_vchnl.c | 3 --- > 2 files changed, 22 insertions(+), 11 deletions(-) >=20 > diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethde= v.c > index e68e3bc71..042edadd9 100644 > --- a/drivers/net/iavf/iavf_ethdev.c > +++ b/drivers/net/iavf/iavf_ethdev.c > @@ -164,7 +164,14 @@ iavf_set_mc_addr_list(struct rte_eth_dev *dev, > struct iavf_info *vf =3D IAVF_DEV_PRIVATE_TO_VF(dev->data- > >dev_private); > struct iavf_adapter *adapter =3D > IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private); > - int err; > + int err, temp_err; > + > + if (mc_addrs_num > IAVF_NUM_MACADDR_MAX) { > + PMD_DRV_LOG(ERR, > + "can't add more than a limited number (%u) of > addresses.", > + (uint32_t)IAVF_NUM_MACADDR_MAX); > + return -EINVAL; > + } >=20 > /* flush previous addresses */ > err =3D iavf_add_del_mc_addr_list(adapter, vf->mc_addrs, vf- > >mc_addrs_num, @@ -172,17 +179,24 @@ iavf_set_mc_addr_list(struct > rte_eth_dev *dev, > if (err) > return err; >=20 > - vf->mc_addrs_num =3D 0; > - > /* add new ones */ > err =3D iavf_add_del_mc_addr_list(adapter, mc_addrs, mc_addrs_num, > true); > - if (err) > - return err; >=20 > - vf->mc_addrs_num =3D mc_addrs_num; > - memcpy(vf->mc_addrs, mc_addrs, mc_addrs_num * > sizeof(*mc_addrs)); > + if (err) { > + /* When adding new addresses fail, need to add the > + * previous addresses back. > + */ > + temp_err =3D iavf_add_del_mc_addr_list(adapter, vf->mc_addrs, > + vf->mc_addrs_num, true); Can we reuse err here? > + if (temp_err) > + return temp_err; > + } else { > + vf->mc_addrs_num =3D mc_addrs_num; > + memcpy(vf->mc_addrs, > + mc_addrs, mc_addrs_num * sizeof(*mc_addrs)); > + } >=20 > - return 0; > + return err; > } >=20 > static int > diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.= c index > db0b76876..a2295f879 100644 > --- a/drivers/net/iavf/iavf_vchnl.c > +++ b/drivers/net/iavf/iavf_vchnl.c > @@ -1107,9 +1107,6 @@ iavf_add_del_mc_addr_list(struct iavf_adapter > *adapter, > if (mc_addrs =3D=3D NULL || mc_addrs_num =3D=3D 0) > return 0; >=20 > - if (mc_addrs_num > IAVF_NUM_MACADDR_MAX) > - return -EINVAL; > - > list =3D (struct virtchnl_ether_addr_list *)cmd_buffer; > list->vsi_id =3D vf->vsi_res->vsi_id; > list->num_elements =3D mc_addrs_num; > -- > 2.13.6