From: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
To: John Fastabend <john.fastabend@gmail.com>
Cc: bpf@vger.kernel.org, ast@kernel.org, daniel@iogearbox.net,
netdev@vger.kernel.org, magnus.karlsson@intel.com,
bjorn@kernel.org, kuba@kernel.org,
Alexandr Lobakin <alexandr.lobakin@intel.com>
Subject: Re: [PATCH v4 bpf-next 02/10] ice: allow toggling loopback mode via ndo_set_features callback
Date: Mon, 20 Jun 2022 11:52:20 +0200 [thread overview]
Message-ID: <YrBDVBxjAHCTBw0w@boxer> (raw)
In-Reply-To: <62ad3115619b0_24b342084c@john.notmuch>
On Fri, Jun 17, 2022 at 06:57:41PM -0700, John Fastabend wrote:
> Maciej Fijalkowski wrote:
> > Add support for NETIF_F_LOOPBACK. This feature can be set via:
> > $ ethtool -K eth0 loopback <on|off>
> >
> > Feature can be useful for local data path tests.
> >
> > CC: Alexandr Lobakin <alexandr.lobakin@intel.com>
> > Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
> > ---
>
> Patch looks fine one question about that ice_set_features() function
> though.
>
> Acked-by: John Fastabend <john.fastabend@gmail.com>
>
> [...]
>
> > +/**
> > + * ice_set_loopback - turn on/off loopback mode on underlying PF
> > + * @vsi: ptr to VSI
> > + * @ena: flag to indicate the on/off setting
> > + */
> > +static int
> > +ice_set_loopback(struct ice_vsi *vsi, bool ena)
> > +{
> > + bool if_running = netif_running(vsi->netdev);
> > + int ret;
> > +
> > + if (if_running && !test_and_set_bit(ICE_VSI_DOWN, vsi->state)) {
> > + ret = ice_down(vsi);
> > + if (ret) {
> > + netdev_err(vsi->netdev, "Preparing device to toggle loopback failed\n");
> > + return ret;
> > + }
> > + }
> > + ret = ice_aq_set_mac_loopback(&vsi->back->hw, ena, NULL);
> > + if (ret)
> > + netdev_err(vsi->netdev, "Failed to toggle loopback state\n");
> > + if (if_running)
> > + ret = ice_up(vsi);
> > +
> > + return ret;
> > +}
> > +
> > /**
> > * ice_set_features - set the netdev feature flags
> > * @netdev: ptr to the netdev being adjusted
> > @@ -5960,7 +5988,10 @@ ice_set_features(struct net_device *netdev, netdev_features_t features)
> > clear_bit(ICE_FLAG_CLS_FLOWER, pf->flags);
> > }
> >
> > - return 0;
> > + if (changed & NETIF_F_LOOPBACK)
> > + ret = ice_set_loopback(vsi, !!(features & NETIF_F_LOOPBACK));
> > +
> > + return ret;
>
> Unrelated to your patch, but because you are messing with 'ret' here a bit,
> how come you return 0 when ice_is_safe_mode() shouldn't you push that
> error up so the user who is doing the setting knows it didn't actually
> work?
Safe mode is the first thing checked in ice_set_features() and in case it
is set we give the message to user about it and return 0 immediately.
So did you miss the immediate exit or are you suggesting that for safe
mode we should return some error code, not 0 which is interpreted as
'successful' command execution?
>
> > }
> >
> > /**
> > --
> > 2.27.0
> >
>
>
next prev parent reply other threads:[~2022-06-20 9:52 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-16 18:05 [PATCH v4 bpf-next 00/10] AF_XDP ZC selftests Maciej Fijalkowski
2022-06-16 18:06 ` [PATCH v4 bpf-next 01/10] ice: compress branches in ice_set_features() Maciej Fijalkowski
2022-06-18 1:46 ` John Fastabend
2022-06-20 9:48 ` Maciej Fijalkowski
2022-06-16 18:06 ` [PATCH v4 bpf-next 02/10] ice: allow toggling loopback mode via ndo_set_features callback Maciej Fijalkowski
2022-06-16 18:21 ` Jakub Kicinski
2022-06-18 1:57 ` John Fastabend
2022-06-20 9:52 ` Maciej Fijalkowski [this message]
2022-06-16 18:06 ` [PATCH v4 bpf-next 03/10] ice: check DD bit on Rx descriptor rather than (EOP | RS) Maciej Fijalkowski
2022-06-18 1:58 ` John Fastabend
2022-06-20 10:53 ` Maciej Fijalkowski
2022-06-16 18:06 ` [PATCH v4 bpf-next 04/10] ice: do not setup vlan for loopback VSI Maciej Fijalkowski
2022-06-18 2:01 ` John Fastabend
2022-06-16 18:06 ` [PATCH v4 bpf-next 05/10] selftests: xsk: query for native XDP support Maciej Fijalkowski
2022-06-18 2:12 ` John Fastabend
2022-06-20 10:55 ` Maciej Fijalkowski
2022-06-16 18:06 ` [PATCH v4 bpf-next 06/10] selftests: xsk: add missing close() on netns fd Maciej Fijalkowski
2022-06-18 2:14 ` John Fastabend
2022-06-16 18:06 ` [PATCH v4 bpf-next 07/10] selftests: xsk: introduce default Rx pkt stream Maciej Fijalkowski
2022-06-18 2:41 ` John Fastabend
2022-06-20 8:41 ` Magnus Karlsson
2022-06-16 18:06 ` [PATCH v4 bpf-next 08/10] selftests: xsk: add support for executing tests on physical device Maciej Fijalkowski
2022-06-16 18:06 ` [PATCH v4 bpf-next 09/10] selftests: xsk: rely on pkts_in_flight in wait_for_tx_completion() Maciej Fijalkowski
2022-06-18 2:56 ` John Fastabend
2022-06-20 12:02 ` Maciej Fijalkowski
2022-06-20 16:36 ` John Fastabend
2022-06-16 18:06 ` [PATCH v4 bpf-next 10/10] selftests: xsk: add support for zero copy testing Maciej Fijalkowski
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=YrBDVBxjAHCTBw0w@boxer \
--to=maciej.fijalkowski@intel.com \
--cc=alexandr.lobakin@intel.com \
--cc=ast@kernel.org \
--cc=bjorn@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=john.fastabend@gmail.com \
--cc=kuba@kernel.org \
--cc=magnus.karlsson@intel.com \
--cc=netdev@vger.kernel.org \
/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.