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: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-18 9:03 [PATCH intel-next v4] i40e: allow toggling loopback mode via ndo_set_features callback Tirthendu Sarkar
2022-11-22 11:07 ` Leon Romanovsky [this message]
2022-11-22 15:57 ` Alexander Lobakin
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 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=anthony.l.nguyen@intel.com \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=maciej.fijalkowski@intel.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).