lkml.org 
[lkml]   [2019]   [May]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH net-next 4/9] net: dsa: Keep private info in the skb->cb
From
Date


On 5/3/2019 6:18 PM, Vladimir Oltean wrote:
> Map a DSA structure over the 48-byte control block that will hold
> persistent skb info on transmit and receive.
>

On receive you cannot quite do that because you don't know if the DSA
master network device calls netif_receive_skb() or napi_gro_receive().
The latter arguably may not be able to aggregate flows at all because it
does not know how to parse the SKB, but the point remains that skb->cb[]
on receive may already be used, up to 48 bytes already. I tried to make
use of it for storing the HW extracted Broadcom tag, but it blew the
budge on 64-bit hosts:

https://www.spinics.net/lists/netdev/msg337777.html

Not asking you to change anything here, just to be aware of it.

> Also add a DSA_SKB_CB_PRIV() macro which retrieves a pointer to the
> space up to 48 bytes that the DSA structure does not use. This space can
> be used for drivers to add their own private info.
>
> One use is for the PTP timestamping code path. When cloning a skb,
> annotate the original with a pointer to the clone, which the driver can
> then find easily and place the timestamp to. This avoids the need of a
> separate queue to hold clones and a way to match an original to a cloned
> skb.
>
> Signed-off-by: Vladimir Oltean <olteanv@gmail.com>

Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
--
Florian

\
 
 \ /
  Last update: 2019-05-04 04:05    [W:0.128 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site