From: Sabrina Dubroca <sd@queasysnail.net>
To: ehakim@nvidia.com
Cc: linux-kernel@vger.kernel.org, raeds@nvidia.com,
davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
pabeni@redhat.com, netdev@vger.kernel.org, atenart@kernel.org,
jiri@resnulli.us
Subject: Re: [PATCH net-next v3 1/2] macsec: add support for IFLA_MACSEC_OFFLOAD in macsec_changelink
Date: Wed, 7 Dec 2022 16:45:34 +0100 [thread overview]
Message-ID: <Y5C1Hifsg3/lJJ8N@hog> (raw)
In-Reply-To: <20221207101017.533-1-ehakim@nvidia.com>
2022-12-07, 12:10:16 +0200, ehakim@nvidia.com wrote:
> From: Emeel Hakim <ehakim@nvidia.com>
>
> Add support for changing Macsec offload selection through the
> netlink layer by implementing the relevant changes in
> macsec_change link.
nit: macsec_changelink
[...]
> +static int macsec_update_offload(struct macsec_dev *macsec, enum macsec_offload offload)
> +{
> + enum macsec_offload prev_offload;
> + const struct macsec_ops *ops;
> + struct macsec_context ctx;
> + int ret = 0;
> +
> + prev_offload = macsec->offload;
> +
> + /* Check if the device already has rules configured: we do not support
> + * rules migration.
> + */
> + if (macsec_is_configured(macsec))
> + return -EBUSY;
> +
> + ops = __macsec_get_ops(offload == MACSEC_OFFLOAD_OFF ? prev_offload : offload,
> + macsec, &ctx);
> + if (!ops)
> + return -EOPNOTSUPP;
> +
> + macsec->offload = offload;
> +
> + ctx.secy = &macsec->secy;
> + ret = (offload == MACSEC_OFFLOAD_OFF) ? macsec_offload(ops->mdo_del_secy, &ctx) :
> + macsec_offload(ops->mdo_add_secy, &ctx);
I think aligning the two macsec_offload(...) calls would make this a
bit easier to read:
ret = offload == MACSEC_OFFLOAD_OFF ? macsec_offload(ops->mdo_del_secy, &ctx)
: macsec_offload(ops->mdo_add_secy, &ctx);
(and remove the unnecessary ())
> +
> + if (ret)
> + macsec->offload = prev_offload;
> +
> + return ret;
> +}
> +
[...]
> +static int macsec_changelink_upd_offload(struct net_device *dev, struct nlattr *data[])
> +{
> + enum macsec_offload offload;
> + struct macsec_dev *macsec;
> +
> + macsec = macsec_priv(dev);
> + offload = nla_get_u8(data[IFLA_MACSEC_OFFLOAD]);
All those checks are also present in macsec_upd_offload, why not move
them into macsec_update_offload as well? (and then you don't really
need macsec_changelink_upd_offload anymore)
> + if (macsec->offload == offload)
> + return 0;
> +
> + /* Check if the offloading mode is supported by the underlying layers */
> + if (offload != MACSEC_OFFLOAD_OFF &&
> + !macsec_check_offload(offload, macsec))
> + return -EOPNOTSUPP;
> +
> + /* Check if the net device is busy. */
> + if (netif_running(dev))
> + return -EBUSY;
> +
> + return macsec_update_offload(macsec, offload);
> +}
> +
--
Sabrina
next prev parent reply other threads:[~2022-12-07 15:47 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-07 10:10 [PATCH net-next v3 1/2] macsec: add support for IFLA_MACSEC_OFFLOAD in macsec_changelink ehakim
2022-12-07 10:10 ` [PATCH net-next 2/2] macsec: dump IFLA_MACSEC_OFFLOAD attribute as part of macsec dump ehakim
2022-12-07 15:33 ` Jiri Pirko
2022-12-07 15:35 ` [PATCH net-next v3 1/2] macsec: add support for IFLA_MACSEC_OFFLOAD in macsec_changelink Jiri Pirko
2022-12-07 15:45 ` Sabrina Dubroca [this message]
2022-12-07 15:52 ` Emeel Hakim
2022-12-07 22:03 ` Sabrina Dubroca
2022-12-08 6:53 ` Emeel Hakim
2022-12-08 10:37 ` Sabrina Dubroca
2022-12-08 11:14 ` Emeel Hakim
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=Y5C1Hifsg3/lJJ8N@hog \
--to=sd@queasysnail.net \
--cc=atenart@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=ehakim@nvidia.com \
--cc=jiri@resnulli.us \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=raeds@nvidia.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.