Re: [PATCH net-next v5 05/15] net: macsec: hardware offloading infrastructure

From: Antoine Tenart
Date: Mon Jan 13 2020 - 09:58:08 EST


Hello Jiri,

On Mon, Jan 13, 2020 at 03:34:52PM +0100, Jiri Pirko wrote:
> Fri, Jan 10, 2020 at 05:20:00PM CET, antoine.tenart@xxxxxxxxxxx wrote:
>
> Couple nitpicks I randomly spotted:
>
> [...]
>
>
> >+static bool macsec_is_offloaded(struct macsec_dev *macsec)
> >+{
> >+ if (macsec->offload == MACSEC_OFFLOAD_PHY)
> >+ return true;
> >+
> >+ return false;
>
> Just:
> return macsec->offload == MACSEC_OFFLOAD_PHY;

This construction is because I split the phy offloading support from the
MAC one, and this check becomes more complex when the MAC offloading
support is applied. I could check it's not MACSEC_OFFLOAD_OFF, but I
think it's nice having the default set to false when reading the code.

> >+/* Checks if underlying layers implement MACsec offloading functions. */
> >+static bool macsec_check_offload(enum macsec_offload offload,
> >+ struct macsec_dev *macsec)
> >+{
> >+ if (!macsec || !macsec->real_dev)
> >+ return false;
> >+
> >+ if (offload == MACSEC_OFFLOAD_PHY)
>
> You have a helper for this already - macsec_is_offloaded(). No need for
> "offload" arg then.

Same here, except the _PHY case is different from the _MAC one. So the
check needs to be specific to _PHY.

> >+ return macsec->real_dev->phydev &&
> >+ macsec->real_dev->phydev->macsec_ops;
> >+
> >+ return false;
> >+}
> >+
> >+static const struct macsec_ops *__macsec_get_ops(enum macsec_offload offload,
> >+ struct macsec_dev *macsec,
> >+ struct macsec_context *ctx)
> >+{
> >+ if (ctx) {
> >+ memset(ctx, 0, sizeof(*ctx));
> >+ ctx->offload = offload;
> >+
> >+ if (offload == MACSEC_OFFLOAD_PHY)
>
> Same here.

Same here.

Thanks,
Antoine

--
Antoine Ténart, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com