From: Leon Romanovsky <leon@kernel.org>
To: Tirthendu Sarkar <tirthendu.sarkar@intel.com>
Cc: tirtha@gmail.com, netdev@vger.kernel.org,
intel-wired-lan@lists.osuosl.org, magnus.karlsson@intel.com
Subject: Re: [Intel-wired-lan] [PATCH intel-next v4] i40e: allow toggling loopback mode via ndo_set_features callback
Date: Tue, 22 Nov 2022 13:07:28 +0200 [thread overview]
Message-ID: <Y3ytcGM2c52lzukO@unreal> (raw)
In-Reply-To: <20221118090306.48022-1-tirthendu.sarkar@intel.com>
On Fri, Nov 18, 2022 at 02:33:06PM +0530, Tirthendu Sarkar wrote:
> Add support for NETIF_F_LOOPBACK. This feature can be set via:
> $ ethtool -K eth0 loopback <on|off>
>
> This sets the MAC Tx->Rx loopback.
>
> This feature is used for the xsk selftests, and might have other uses
> too.
>
> Changelog:
> v3 -> v4:
> - Removed unused %_LEGACY macros as suggested by Alexandr Lobakin.
> - Modified checks for interface bringup and i40e_set_loopback().
> - Propagating up return value from i40_set_loopback().
>
> v2 -> v3:
> - Fixed loopback macros as per NVM version 6.01+.
> - Renamed existing macros as *_LEGACY.
> - Based on NVM verison appropriate macro is used for MAC loopback.
>
> v1 -> v2:
> - Moved loopback to netdev's hardware features as suggested by
> Alexandr Lobakin.
Please put changelog after --- mark. It doesn't belong to the commit
message.
>
> Signed-off-by: Tirthendu Sarkar <tirthendu.sarkar@intel.com>
> ---
> .../net/ethernet/intel/i40e/i40e_adminq_cmd.h | 8 ++++--
> drivers/net/ethernet/intel/i40e/i40e_common.c | 26 +++++++++++++++++
> drivers/net/ethernet/intel/i40e/i40e_main.c | 28 ++++++++++++++++++-
> .../net/ethernet/intel/i40e/i40e_prototype.h | 3 ++
> 4 files changed, 61 insertions(+), 4 deletions(-)
<...>
> /**
> * i40e_set_features - set the netdev feature flags
> * @netdev: ptr to the netdev being adjusted
> @@ -12960,6 +12983,9 @@ static int i40e_set_features(struct net_device *netdev,
> if (need_reset)
> i40e_do_reset(pf, I40E_PF_RESET_FLAG, true);
>
> + if ((features ^ netdev->features) & NETIF_F_LOOPBACK)
> + return i40e_set_loopback(vsi, !!(features & NETIF_F_LOOPBACK));
Don't you need to disable loopback if NETIF_F_LOOPBACK was cleared?
> +
> return 0;
> }
>
> @@ -13722,7 +13748,7 @@ static int i40e_config_netdev(struct i40e_vsi *vsi)
> if (!(pf->flags & I40E_FLAG_MFP_ENABLED))
> hw_features |= NETIF_F_NTUPLE | NETIF_F_HW_TC;
>
> - netdev->hw_features |= hw_features;
> + netdev->hw_features |= hw_features | NETIF_F_LOOPBACK;
>
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
WARNING: multiple messages have this Message-ID (diff)
From: Leon Romanovsky <leon@kernel.org>
To: Tirthendu Sarkar <tirthendu.sarkar@intel.com>
Cc: tirtha@gmail.com, magnus.karlsson@intel.com,
intel-wired-lan@lists.osuosl.org, anthony.l.nguyen@intel.com,
maciej.fijalkowski@intel.com, netdev@vger.kernel.org
Subject: Re: [PATCH intel-next v4] i40e: allow toggling loopback mode via ndo_set_features callback
Date: Tue, 22 Nov 2022 13:07:28 +0200 [thread overview]
Message-ID: <Y3ytcGM2c52lzukO@unreal> (raw)
In-Reply-To: <20221118090306.48022-1-tirthendu.sarkar@intel.com>
On Fri, Nov 18, 2022 at 02:33:06PM +0530, Tirthendu Sarkar wrote:
> Add support for NETIF_F_LOOPBACK. This feature can be set via:
> $ ethtool -K eth0 loopback <on|off>
>
> This sets the MAC Tx->Rx loopback.
>
> This feature is used for the xsk selftests, and might have other uses
> too.
>
> Changelog:
> v3 -> v4:
> - Removed unused %_LEGACY macros as suggested by Alexandr Lobakin.
> - Modified checks for interface bringup and i40e_set_loopback().
> - Propagating up return value from i40_set_loopback().
>
> v2 -> v3:
> - Fixed loopback macros as per NVM version 6.01+.
> - Renamed existing macros as *_LEGACY.
> - Based on NVM verison appropriate macro is used for MAC loopback.
>
> v1 -> v2:
> - Moved loopback to netdev's hardware features as suggested by
> Alexandr Lobakin.
Please put changelog after --- mark. It doesn't belong to the commit
message.
>
> Signed-off-by: Tirthendu Sarkar <tirthendu.sarkar@intel.com>
> ---
> .../net/ethernet/intel/i40e/i40e_adminq_cmd.h | 8 ++++--
> drivers/net/ethernet/intel/i40e/i40e_common.c | 26 +++++++++++++++++
> drivers/net/ethernet/intel/i40e/i40e_main.c | 28 ++++++++++++++++++-
> .../net/ethernet/intel/i40e/i40e_prototype.h | 3 ++
> 4 files changed, 61 insertions(+), 4 deletions(-)
<...>
> /**
> * i40e_set_features - set the netdev feature flags
> * @netdev: ptr to the netdev being adjusted
> @@ -12960,6 +12983,9 @@ static int i40e_set_features(struct net_device *netdev,
> if (need_reset)
> i40e_do_reset(pf, I40E_PF_RESET_FLAG, true);
>
> + if ((features ^ netdev->features) & NETIF_F_LOOPBACK)
> + return i40e_set_loopback(vsi, !!(features & NETIF_F_LOOPBACK));
Don't you need to disable loopback if NETIF_F_LOOPBACK was cleared?
> +
> return 0;
> }
>
> @@ -13722,7 +13748,7 @@ static int i40e_config_netdev(struct i40e_vsi *vsi)
> if (!(pf->flags & I40E_FLAG_MFP_ENABLED))
> hw_features |= NETIF_F_NTUPLE | NETIF_F_HW_TC;
>
> - netdev->hw_features |= hw_features;
> + netdev->hw_features |= hw_features | NETIF_F_LOOPBACK;
>
next prev parent reply other threads:[~2022-11-22 11:07 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-18 9:03 [Intel-wired-lan] [PATCH intel-next v4] i40e: allow toggling loopback mode via ndo_set_features callback Tirthendu Sarkar
2022-11-18 9:03 ` Tirthendu Sarkar
2022-11-22 11:07 ` Leon Romanovsky [this message]
2022-11-22 11:07 ` Leon Romanovsky
2022-11-22 15:57 ` [Intel-wired-lan] " Alexander Lobakin
2022-11-22 15:57 ` Alexander Lobakin
2022-11-23 7:00 ` [Intel-wired-lan] " Leon Romanovsky
2022-11-23 7:00 ` Leon Romanovsky
2022-12-07 14:56 ` [Intel-wired-lan] " Rout, ChandanX
2022-12-07 15:37 ` Magnus Karlsson
2022-12-09 9:09 ` Magnus Karlsson
2022-12-09 9:09 ` Magnus Karlsson
2022-12-09 17:57 ` Tony Nguyen
2022-12-09 17:57 ` Tony Nguyen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y3ytcGM2c52lzukO@unreal \
--to=leon@kernel.org \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=magnus.karlsson@intel.com \
--cc=netdev@vger.kernel.org \
--cc=tirtha@gmail.com \
--cc=tirthendu.sarkar@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.