Message ID | 1531156496-1702-1-git-send-email-alejandro.lucero@netronome.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7D8315F3B; Mon, 9 Jul 2018 19:15:09 +0200 (CEST) Received: from netronome.com (host-79-78-33-110.static.as9105.net [79.78.33.110]) by dpdk.org (Postfix) with ESMTP id DCF375F2B; Mon, 9 Jul 2018 19:15:07 +0200 (CEST) Received: from netronome.com (localhost [127.0.0.1]) by netronome.com (8.14.4/8.14.4/Debian-4.1ubuntu1) with ESMTP id w69HEw7i001931; Mon, 9 Jul 2018 18:14:58 +0100 Received: (from alucero@localhost) by netronome.com (8.14.4/8.14.4/Submit) id w69HEwTS001930; Mon, 9 Jul 2018 18:14:58 +0100 From: Alejandro Lucero <alejandro.lucero@netronome.com> To: dev@dpdk.org Cc: stable@dpdk.org Date: Mon, 9 Jul 2018 18:14:54 +0100 Message-Id: <1531156496-1702-1-git-send-email-alejandro.lucero@netronome.com> X-Mailer: git-send-email 1.9.1 Subject: [dpdk-dev] [PATCH 0/2] support MAC changes when no live changes allowed X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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 Sender: "dev" <dev-bounces@dpdk.org> |
Series |
support MAC changes when no live changes allowed
|
|
Message
Alejandro Lucero
July 9, 2018, 5:14 p.m. UTC
This is a patched to fix a functionality coming with the first public release: changing/setting MAC address. The original patch assumes all NICs can safely change or set the MAC in any case. However, this is not always true. NFP depends on the firmware capabilities and this is not always supported. There are other NICs with this same limitation, although, as far as I know, not in DPDK. Linux kernel has a IFF_LIVE_ADDR_CHANGE flag and two NICs are checking this flag for allowing or not live MAC changes. The flag proposed in this patch is just the opposite: advertise if live change not supported and assuming it is supported other way. Although most NICs support rte_eth_dev_default_mac_addr_set and this function returns and error when live change is not supported, note that this function is invoked during port start but the value returned is not checked. It is likely this is good enough for most of the cases, but bonding is relying on this start then mac set/change, and a PMD ports is not properly configured for being used as an slave port in some bonding modes.
Comments
On 7/9/2018 6:14 PM, Alejandro Lucero wrote: > This is a patched to fix a functionality coming with the first public > release: changing/setting MAC address. > > The original patch assumes all NICs can safely change or set the MAC > in any case. However, this is not always true. NFP depends on the firmware > capabilities and this is not always supported. There are other NICs with > this same limitation, although, as far as I know, not in DPDK. Linux kernel > has a IFF_LIVE_ADDR_CHANGE flag and two NICs are checking this flag for > allowing or not live MAC changes. > > The flag proposed in this patch is just the opposite: advertise if live > change not supported and assuming it is supported other way. > > Although most NICs support rte_eth_dev_default_mac_addr_set and this > function returns and error when live change is not supported, note that > this function is invoked during port start but the value returned is not > checked. It is likely this is good enough for most of the cases, but > bonding is relying on this start then mac set/change, and a PMD ports is > not properly configured for being used as an slave port in some bonding > modes. Hi Alejandro, Overall looks good to me, only it can be good to update "rte_eth_dev_start" API doc to mention about affect of new flag and perhaps update release notes "API Changes" section to document behavior change of the "rte_eth_dev_start" API based on flag. But, the ethdev library patch was late for this release, I suggest considering the patch for next release, meanwhile it can get more reviews. Thanks, ferruh
On 7/18/2018 9:58 AM, Ferruh Yigit wrote: > On 7/9/2018 6:14 PM, Alejandro Lucero wrote: >> This is a patched to fix a functionality coming with the first public >> release: changing/setting MAC address. >> >> The original patch assumes all NICs can safely change or set the MAC >> in any case. However, this is not always true. NFP depends on the firmware >> capabilities and this is not always supported. There are other NICs with >> this same limitation, although, as far as I know, not in DPDK. Linux kernel >> has a IFF_LIVE_ADDR_CHANGE flag and two NICs are checking this flag for >> allowing or not live MAC changes. >> >> The flag proposed in this patch is just the opposite: advertise if live >> change not supported and assuming it is supported other way. >> >> Although most NICs support rte_eth_dev_default_mac_addr_set and this >> function returns and error when live change is not supported, note that >> this function is invoked during port start but the value returned is not >> checked. It is likely this is good enough for most of the cases, but >> bonding is relying on this start then mac set/change, and a PMD ports is >> not properly configured for being used as an slave port in some bonding >> modes. > > Hi Alejandro, > > Overall looks good to me, only it can be good to update "rte_eth_dev_start" API > doc to mention about affect of new flag and perhaps update release notes "API > Changes" section to document behavior change of the "rte_eth_dev_start" API > based on flag. Would you mind sending a new version for this release, v18.11, with above documentation update? Thanks, ferruh > > But, the ethdev library patch was late for this release, I suggest considering > the patch for next release, meanwhile it can get more reviews. > > Thanks, > ferruh >
On Wed, Aug 22, 2018 at 6:00 PM, Ferruh Yigit <ferruh.yigit@intel.com> wrote: > On 7/18/2018 9:58 AM, Ferruh Yigit wrote: > > On 7/9/2018 6:14 PM, Alejandro Lucero wrote: > >> This is a patched to fix a functionality coming with the first public > >> release: changing/setting MAC address. > >> > >> The original patch assumes all NICs can safely change or set the MAC > >> in any case. However, this is not always true. NFP depends on the > firmware > >> capabilities and this is not always supported. There are other NICs with > >> this same limitation, although, as far as I know, not in DPDK. Linux > kernel > >> has a IFF_LIVE_ADDR_CHANGE flag and two NICs are checking this flag for > >> allowing or not live MAC changes. > >> > >> The flag proposed in this patch is just the opposite: advertise if live > >> change not supported and assuming it is supported other way. > >> > >> Although most NICs support rte_eth_dev_default_mac_addr_set and this > >> function returns and error when live change is not supported, note that > >> this function is invoked during port start but the value returned is not > >> checked. It is likely this is good enough for most of the cases, but > >> bonding is relying on this start then mac set/change, and a PMD ports is > >> not properly configured for being used as an slave port in some bonding > >> modes. > > > > Hi Alejandro, > > > > Overall looks good to me, only it can be good to update > "rte_eth_dev_start" API > > doc to mention about affect of new flag and perhaps update release notes > "API > > Changes" section to document behavior change of the "rte_eth_dev_start" > API > > based on flag. > > Would you mind sending a new version for this release, v18.11, with above > documentation update? > > Sure. I have been on a large PTO break but I planned to send this asap. Thanks > Thanks, > ferruh > > > > > But, the ethdev library patch was late for this release, I suggest > considering > > the patch for next release, meanwhile it can get more reviews. > > > > Thanks, > > ferruh > > > >