From: Sabrina Dubroca <sd@queasysnail.net>
To: Radu Pirea <radu-nicolae.pirea@nxp.com>
Cc: "atenart@kernel.org" <atenart@kernel.org>,
"Radu-nicolae Pirea (OSS)" <radu-nicolae.pirea@oss.nxp.com>,
"andrew@lunn.ch" <andrew@lunn.ch>,
"linux@armlinux.org.uk" <linux@armlinux.org.uk>,
"hkallweit1@gmail.com" <hkallweit1@gmail.com>,
"davem@davemloft.net" <davem@davemloft.net>,
Sebastian Tobuschat <sebastian.tobuschat@nxp.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"pabeni@redhat.com" <pabeni@redhat.com>,
"richardcochran@gmail.com" <richardcochran@gmail.com>,
"edumazet@google.com" <edumazet@google.com>,
"kuba@kernel.org" <kuba@kernel.org>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: Re: [RFC net-next v2 5/5] net: phy: nxp-c45-tja11xx: implement mdo_insert_tx_tag
Date: Fri, 1 Sep 2023 12:07:32 +0200 [thread overview]
Message-ID: <ZPG35HfRseiv80Pb@hog> (raw)
In-Reply-To: <518c11e9000f895fddb5b3dc4d5b2bf445cf320f.camel@nxp.com>
2023-09-01, 09:09:06 +0000, Radu Pirea wrote:
> On Wed, 2023-08-30 at 13:35 +0200, Sabrina Dubroca wrote:
> ...
>
> > And it's not restored when the link goes back up? That's inconvenient
> > :/
> > Do we end up with inconsistent state? ie driver and core believe
> > everything is still offloaded, but HW lost all state? do we leak
> > some resources allocated by the driver?
>
> Yes. We end up with inconsistent state. The HW will lost all state when
> the phy is reseted. No resource is leaked, everything is there, but the
> configuration needs to be reapplied.
>
> >
> > We could add a flush/restore in macsec_notify when the lower device
> > goes down/up, maybe limited to devices that request this (I don't
> > know
> > if all devices would need it, or maybe all devices offloading to the
> > PHY but not to the MAC).
>
> Agreed.
> We can do a flush very simple, but to restore the configuration maybe
> we should to save the key in the macsec_key structure. I am not sure if
> the key can be extracted from crypto_aead structure.
Either that or in the driver. I have a small preference for driver,
because then cases that don't need this restore won't have to keep the
key in memory, reducing the likelihood of accidentally sharing it.
OTOH, if we centralize that code, it's easier to make sure everything
is cleared from kernel memory when we delete the SA.
> > And what happens in this case?
> > ip link add link eth0 type macsec offload phy
> > ip link set eth0 down
> > ip macsec add macsec0 rx sci ...
> > ip macsec add macsec0 tx sa 0 ...
> > # etc
> > ip link set eth0 up
> >
> > Will offload work with the current code?
>
> (the interface was up before)
> [root@alarm ~]# ip link add link end0 macsec0 type macsec encrypt on
> offload phy
> [root@alarm ~]# ip link set end0 down
> [root@alarm ~]# ip macsec add macsec0 rx port 1 address
> 00:01:be:be:ef:33
> RTNETLINK answers: Operation not supported
Where does that EOPNOTSUPP come from? nxp_c45_mdo_add_rxsc from this
version of the code can't return that, and macsec_add_rxsc also
shouldn't at this point.
Ideally all implementations (HW or SW) should behave the same, but at
least that saves us from having to restore state in the HW, if we
couldn't create it at all.
> But let's consider the next case:
> ip link add link eth0 type macsec offload phy
> ip link set eth0 down
> ip link set eth0 up
> ip macsec add macsec0 rx sci ...
> ip macsec add macsec0 tx sa 0 ...
> # etc
>
> In this case, any HW configuration written by .mdo_add_secy will be
> lost.
So we need a way to restore the config in HW, whether that's done
entirely in the driver or initiated by macsec itself.
Antoine, is any of this relevant to the mscc driver?
--
Sabrina
next prev parent reply other threads:[~2023-09-01 10:08 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-24 9:16 [RFC net-next v2 0/5] Add MACsec support for TJA11XX C45 PHYs Radu Pirea (NXP OSS)
2023-08-24 9:16 ` [RFC net-next v2 1/5] net: macsec: documentation for macsec_context and macsec_ops Radu Pirea (NXP OSS)
2023-08-24 13:26 ` Antoine Tenart
2023-08-24 9:16 ` [RFC net-next v2 2/5] net: macsec: introduce mdo_insert_tx_tag Radu Pirea (NXP OSS)
2023-08-24 14:54 ` Sabrina Dubroca
2023-08-25 10:01 ` Radu Pirea (OSS)
2023-08-24 9:16 ` [RFC net-next v2 3/5] net: phy: nxp-c45-tja11xx add MACsec support Radu Pirea (NXP OSS)
2023-08-25 12:52 ` Sabrina Dubroca
2023-08-25 13:29 ` Andrew Lunn
2023-08-25 13:44 ` Radu Pirea (OSS)
2023-08-25 13:50 ` Andrew Lunn
2023-08-25 14:12 ` Radu Pirea (OSS)
2023-08-30 12:06 ` Russell King (Oracle)
2023-08-28 10:43 ` Sabrina Dubroca
2023-08-27 8:03 ` Simon Horman
2023-08-24 9:16 ` [RFC net-next v2 4/5] net: phy: nxp-c45-tja11xx: add MACsec statistics Radu Pirea (NXP OSS)
2023-08-25 13:41 ` Sabrina Dubroca
2023-08-25 14:22 ` Radu Pirea (OSS)
2023-08-24 9:16 ` [RFC net-next v2 5/5] net: phy: nxp-c45-tja11xx: implement mdo_insert_tx_tag Radu Pirea (NXP OSS)
2023-08-27 8:05 ` Simon Horman
2023-08-28 10:17 ` Sabrina Dubroca
2023-08-28 13:46 ` Radu Pirea (OSS)
2023-08-30 11:35 ` Sabrina Dubroca
2023-09-01 9:09 ` Radu Pirea
2023-09-01 9:27 ` Russell King (Oracle)
2023-09-01 11:31 ` Radu Pirea (OSS)
2023-09-01 12:45 ` Russell King (Oracle)
2023-09-01 10:07 ` Sabrina Dubroca [this message]
2023-09-01 10:32 ` Russell King (Oracle)
2023-09-01 13:56 ` Sabrina Dubroca
2023-09-01 11:58 ` Radu Pirea (OSS)
2023-09-01 13:57 ` Sabrina Dubroca
2023-09-01 14:22 ` Radu Pirea (OSS)
2023-09-01 15:37 ` Sabrina Dubroca
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=ZPG35HfRseiv80Pb@hog \
--to=sd@queasysnail.net \
--cc=andrew@lunn.ch \
--cc=atenart@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hkallweit1@gmail.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=radu-nicolae.pirea@nxp.com \
--cc=radu-nicolae.pirea@oss.nxp.com \
--cc=richardcochran@gmail.com \
--cc=sebastian.tobuschat@nxp.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