From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <dev-bounces@dpdk.org> Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2E30C41B9D; Wed, 1 Feb 2023 11:42:19 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 16B31406A2; Wed, 1 Feb 2023 11:42:19 +0100 (CET) Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by mails.dpdk.org (Postfix) with ESMTP id B41094021F for <dev@dpdk.org>; Wed, 1 Feb 2023 11:42:17 +0100 (CET) Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 58A5C5C00A9; Wed, 1 Feb 2023 05:42:17 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Wed, 01 Feb 2023 05:42:17 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= cc:cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1675248137; x= 1675334537; bh=P7BxW5UNeqcm89vbdykslYgON+ZtLOhwNqd7ZkN1WMY=; b=p 0mwPF/USnozEjakDCl6Pb2d1IM5sG9M2vCCoY6hjkoraXAWeOMdzMpB/gaahPHAC C7wX+MZwslWWsePygDTnzdvmFY/P7YU1WkS3Q5Q40GrKsRQzzORAp1GXlB0X7rsa oFg8wBL9iF+b72DQTNQuyYtx1X1hx0t7aGOW/AoQnpOK9yPtnKyRQOT3uOCjfMZP FoxhvtkuIkMWYW1oru86rQKoHr32Ugo3QgX7J+6OH8GLOOD9A16F+OSbLA7a7PiG HlZtwp8TwY4uozD5JKC6MLw6RpN74KxDD6/H7hLedwyFGGcbQVrQeTl4S0u6qZPh U8KYvu7Z2mFLqRpY9jcew== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1675248137; x= 1675334537; bh=P7BxW5UNeqcm89vbdykslYgON+ZtLOhwNqd7ZkN1WMY=; b=T JjQObtkPQtdO0XEjCbvLADvW25ZmJBR0MEBiWZO5UqbKb1CflacXYaG0vb4v+9tL OL7lbidcKZZePzzbwXqDQ44gI1ckqEsMVVfuLiDoxQMab86iczHynM0TcErXiVXU 69f/n78hVeZXdiddxu4Dn50iF48i4w30dbm9taD43pQ/lXuJdhEVbMNdcvmOlfZ1 yVMgBaBK6IlA4J5E1TYJdV2V7fdS+M0Dl/OtaHIpJlE1pUoQxxZGgbmoN25dghlf 9mBiO/BHpwPRuW4h1k4h3KcgLuqZQQWtnIDCc/7ir0yd1s2vrhD28f2Ka1LsKJRt d9rBjntxQ8ECSOihRpQBw== X-ME-Sender: <xms:CULaY8IUV1_vzJ_akhNUvmDzaDj6fGVDpzdA6bP7_Rwb9TqRMZduPg> <xme:CULaY8I-iHv-UhNN1K0xuiaUoYSRBa625mcUF1KJqXOQQ4kHIMRD5FgevwQOzeY7K U3CVMVgWqP_9EWIIA> X-ME-Received: <xmr:CULaY8tcnQ8dJope_n2W_yHZP8OJjx6HzbMrvGFkwPB99st0sLiN2BpDXrcaaJDnIYeRzaV_9Ztpi2HIiCPbdl0phA> X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudefiedgudelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefufffkjghfggfgtgesthfuredttddtvdenucfhrhhomhepvfhhohhm rghsucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenuc ggtffrrghtthgvrhhnpedtjeeiieefhedtfffgvdelteeufeefheeujefgueetfedttdei kefgkeduhedtgfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfh hrohhmpehthhhomhgrshesmhhonhhjrghlohhnrdhnvght X-ME-Proxy: <xmx:CULaY5ZQZuGBap8t8BAM4EvyYBRsrJzBBkoJpthaOXQgJhJ-i6NWPw> <xmx:CULaYzbYgn81M1NwwG61XB0sO7fxNX6STh8s294hwItf2W1qK9DzhQ> <xmx:CULaY1AvpX_9-Ey35Qm8-zf6IbtPmIpDEqY7qGitGg0r5E35jbzATQ> <xmx:CULaY-y9drABPAxyHJtzVUbn6zmBS7plHStq1vsr2XHsnp70QAcFbg> Feedback-ID: i47234305:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 1 Feb 2023 05:42:16 -0500 (EST) From: Thomas Monjalon <thomas@monjalon.net> To: Huisong Li <lihuisong@huawei.com> Cc: dev@dpdk.org, ferruh.yigit@amd.com, andrew.rybchenko@oktetlabs.ru, liudongdong3@huawei.com, huangdaode@huawei.com, fengchengwen@huawei.com Subject: Re: [PATCH V6] ethdev: fix one address occupies two entries in MAC addrs Date: Wed, 01 Feb 2023 11:42:14 +0100 Message-ID: <2165957.1BCLMh4Saa@thomas> In-Reply-To: <20230131064154.10571-1-lihuisong@huawei.com> References: <20221020093102.20679-1-lihuisong@huawei.com> <20230131064154.10571-1-lihuisong@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org 31/01/2023 07:41, Huisong Li: > The dev->data->mac_addrs[0] will be changed to a new MAC address when > applications modify the default MAC address by .mac_addr_set(). However, > if the new default one has been added as a non-default MAC address by > .mac_addr_add(), the .mac_addr_set() doesn't remove it from the mac_addrs > list. As a result, one MAC address occupies two entries in the list. Like: > add(MAC1) > add(MAC2) > add(MAC3) > add(MAC4) > set_default(MAC3) > default=MAC3, the rest of list=MAC1, MAC2, MAC3, MAC4 > Note: MAC3 occupies two entries. > > In addition, some PMDs, such as i40e, ice, hns3 and so on, do remove the > old default MAC when set default MAC. If user continues to do > set_default(MAC5), and the mac_addrs list is default=MAC5, filters=(MAC1, > MAC2, MAC3, MAC4). At this moment, user can still see MAC3 from the list, > but packets with MAC3 aren't actually received by the PMD. > > So need to ensure that the new default address is removed from the rest of > the list. > > Fixes: 854d8ad4ef68 ("ethdev: add default mac address modifier") > Cc: stable@dpdk.org > > Signed-off-by: Huisong Li <lihuisong@huawei.com> > Acked-by: Chengwen Feng <fengchengwen@huawei.com> > --- > lib/ethdev/ethdev_driver.h | 6 +++++- > lib/ethdev/rte_ethdev.c | 35 +++++++++++++++++++++++++++++++++-- > 2 files changed, 38 insertions(+), 3 deletions(-) This is a behavior change. It must be noted in the release notes in the API section. > - /** Device Ethernet link address. @see rte_eth_dev_release_port() */ > + /** > + * Device Ethernet link addresses. The first entry (index zero) is the > + * default address. The rest of list cannot be the same as the default > + * address. > + */ Please split the lines after a dot. rest of "the" list Maybe better for this field: All entries are unique. The first entry (index zero) is the default address. > struct rte_ether_addr *mac_addrs; and for the function rte_eth_dev_default_mac_addr_set: Set the default MAC address. It replaces the address at index 0 of the address list. If the address was already in the MAC address list, it is removed from the rest of the list.