Subject: Re: [PATCH net-next v3 2/3] net/macsec: Add MACsec skb extension Rx Data path support

From: Jakub Kicinski <[email-masked]>
Date: Tue, 21 Jun 2022 12:26:41 -0700

On Tue, 21 Jun 2022 12:39:23 +0000 Lior Nahmanson wrote:
> > Shooting from the hip a little bit, but macsec being a tightly bound L2 upper
> > maybe metadata dst is a workable solution for carrying the sci and offload
> > status between upper and lower? The range of values should be well known
> > and limited.  
> 
> Under the assumption that by skb_metadata you meant metadata_dst,

Can you show me in my email where I said skb_metadata?

> I think there are few reasons why i think is better to use skb extensions:
> 
> 1. Unlike skb extension, the metadata_dst deallaction is handled directly by the allocator.
> Since the sci and offloaded fields are shared between the MACsec driver and the offload driver
> (in our case mlx5 driver), for Rx, the metadata_dst allocation is done in the mlx5 driver,
> while the dealloction should be done in the MACsec driver.
> This is undesired behavior.

You allocate metadata skb once and then attach it to the skbs.

> 2. medadata_dst is attached to the skb using skb_dst_set(), which set the slow_gro bit.
> So there is no gain regarding slow_gro flow.
> 
> 3. metadata_dst allocation require much more memory than needed for MACsec use case
> (mainly because struct dst_entry which seems redundant for this case).