• Vladimir Oltean's avatar
    net: dsa: Keep private info in the skb->cb · b68b0dd0
    Vladimir Oltean authored
    Map a DSA structure over the 48-byte control block that will hold
    skb info on transmit and receive. This is only for use within the DSA
    processing layer (e.g. communicating between DSA core and tagger) and
    not for passing info around with other layers such as the master net
    device.
    
    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: default avatarVladimir Oltean <olteanv@gmail.com>
    Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    b68b0dd0
dsa.h 19.3 KB