diff options
author | Lior Nahmanson <liorna@nvidia.com> | 2022-09-05 22:21:13 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-09-07 14:02:08 +0100 |
commit | 0a28bfd4971fd570d1f3e4653b21415becefc92c (patch) | |
tree | db9ef7de56c8de64dcbf441f7f3f359d0854261a /include/net/macsec.h | |
parent | da7d8e65b3fcebce0a2f606669cabce64fca0475 (diff) | |
download | linux-0a28bfd4971fd570d1f3e4653b21415becefc92c.tar.bz2 |
net/macsec: Add MACsec skb_metadata_dst Tx Data path support
In the current MACsec offload implementation, MACsec interfaces shares
the same MAC address by default.
Therefore, HW can't distinguish from which MACsec interface the traffic
originated from.
MACsec stack will use skb_metadata_dst to store the SCI value, which is
unique per Macsec interface, skb_metadat_dst will be used by the
offloading device driver to associate the SKB with the corresponding
offloaded interface (SCI).
Signed-off-by: Lior Nahmanson <liorna@nvidia.com>
Reviewed-by: Raed Salem <raeds@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/macsec.h')
-rw-r--r-- | include/net/macsec.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/net/macsec.h b/include/net/macsec.h index 73780aa73644..8494953fb0de 100644 --- a/include/net/macsec.h +++ b/include/net/macsec.h @@ -19,6 +19,8 @@ typedef u64 __bitwise sci_t; typedef u32 __bitwise ssci_t; +struct metadata_dst; + typedef union salt { struct { u32 ssci; @@ -182,6 +184,7 @@ struct macsec_tx_sa { * @scb: single copy broadcast flag * @sa: array of secure associations * @stats: stats for this TXSC + * @md_dst: MACsec offload metadata dst */ struct macsec_tx_sc { bool active; @@ -192,6 +195,7 @@ struct macsec_tx_sc { bool scb; struct macsec_tx_sa __rcu *sa[MACSEC_NUM_AN]; struct pcpu_tx_sc_stats __percpu *stats; + struct metadata_dst *md_dst; }; /** |