Commit 723e8a48 authored by Emeel Hakim's avatar Emeel Hakim Committed by Jakub Kicinski

macsec: dump IFLA_MACSEC_OFFLOAD attribute as part of macsec dump

Support dumping offload netlink attribute in macsec's device
attributes dump.
Change macsec_get_size to consider the offload attribute in
the calculations of the required room for dumping the device
netlink attributes.
Signed-off-by: default avatarEmeel Hakim <ehakim@nvidia.com>
Reviewed-by: default avatarSabrina Dubroca <sd@queasysnail.net>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 15f17355
...@@ -4246,16 +4246,22 @@ static size_t macsec_get_size(const struct net_device *dev) ...@@ -4246,16 +4246,22 @@ static size_t macsec_get_size(const struct net_device *dev)
nla_total_size(1) + /* IFLA_MACSEC_SCB */ nla_total_size(1) + /* IFLA_MACSEC_SCB */
nla_total_size(1) + /* IFLA_MACSEC_REPLAY_PROTECT */ nla_total_size(1) + /* IFLA_MACSEC_REPLAY_PROTECT */
nla_total_size(1) + /* IFLA_MACSEC_VALIDATION */ nla_total_size(1) + /* IFLA_MACSEC_VALIDATION */
nla_total_size(1) + /* IFLA_MACSEC_OFFLOAD */
0; 0;
} }
static int macsec_fill_info(struct sk_buff *skb, static int macsec_fill_info(struct sk_buff *skb,
const struct net_device *dev) const struct net_device *dev)
{ {
struct macsec_secy *secy = &macsec_priv(dev)->secy; struct macsec_tx_sc *tx_sc;
struct macsec_tx_sc *tx_sc = &secy->tx_sc; struct macsec_dev *macsec;
struct macsec_secy *secy;
u64 csid; u64 csid;
macsec = macsec_priv(dev);
secy = &macsec->secy;
tx_sc = &secy->tx_sc;
switch (secy->key_len) { switch (secy->key_len) {
case MACSEC_GCM_AES_128_SAK_LEN: case MACSEC_GCM_AES_128_SAK_LEN:
csid = secy->xpn ? MACSEC_CIPHER_ID_GCM_AES_XPN_128 : MACSEC_DEFAULT_CIPHER_ID; csid = secy->xpn ? MACSEC_CIPHER_ID_GCM_AES_XPN_128 : MACSEC_DEFAULT_CIPHER_ID;
...@@ -4280,6 +4286,7 @@ static int macsec_fill_info(struct sk_buff *skb, ...@@ -4280,6 +4286,7 @@ static int macsec_fill_info(struct sk_buff *skb,
nla_put_u8(skb, IFLA_MACSEC_SCB, tx_sc->scb) || nla_put_u8(skb, IFLA_MACSEC_SCB, tx_sc->scb) ||
nla_put_u8(skb, IFLA_MACSEC_REPLAY_PROTECT, secy->replay_protect) || nla_put_u8(skb, IFLA_MACSEC_REPLAY_PROTECT, secy->replay_protect) ||
nla_put_u8(skb, IFLA_MACSEC_VALIDATION, secy->validate_frames) || nla_put_u8(skb, IFLA_MACSEC_VALIDATION, secy->validate_frames) ||
nla_put_u8(skb, IFLA_MACSEC_OFFLOAD, macsec->offload) ||
0) 0)
goto nla_put_failure; goto nla_put_failure;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment