mirror of
https://github.com/torvalds/linux.git
synced 2024-11-17 17:41:44 +00:00
net: macsec: init secy pointer in macsec_context
This patch adds secy pointer initialization in the macsec_context. It will be used by MAC drivers in offloading operations. Signed-off-by: Dmitry Bogdanov <dbogdanov@marvell.com> Signed-off-by: Mark Starovoytov <mstarovoitov@marvell.com> Signed-off-by: Igor Russkikh <irusskikh@marvell.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
21114b7fee
commit
182879f89b
@ -1794,6 +1794,7 @@ static int macsec_add_rxsa(struct sk_buff *skb, struct genl_info *info)
|
||||
|
||||
ctx.sa.assoc_num = assoc_num;
|
||||
ctx.sa.rx_sa = rx_sa;
|
||||
ctx.secy = secy;
|
||||
memcpy(ctx.sa.key, nla_data(tb_sa[MACSEC_SA_ATTR_KEY]),
|
||||
MACSEC_KEYID_LEN);
|
||||
|
||||
@ -1841,6 +1842,7 @@ static int macsec_add_rxsc(struct sk_buff *skb, struct genl_info *info)
|
||||
struct nlattr **attrs = info->attrs;
|
||||
struct macsec_rx_sc *rx_sc;
|
||||
struct nlattr *tb_rxsc[MACSEC_RXSC_ATTR_MAX + 1];
|
||||
struct macsec_secy *secy;
|
||||
bool was_active;
|
||||
int ret;
|
||||
|
||||
@ -1860,6 +1862,7 @@ static int macsec_add_rxsc(struct sk_buff *skb, struct genl_info *info)
|
||||
return PTR_ERR(dev);
|
||||
}
|
||||
|
||||
secy = &macsec_priv(dev)->secy;
|
||||
sci = nla_get_sci(tb_rxsc[MACSEC_RXSC_ATTR_SCI]);
|
||||
|
||||
rx_sc = create_rx_sc(dev, sci);
|
||||
@ -1883,6 +1886,7 @@ static int macsec_add_rxsc(struct sk_buff *skb, struct genl_info *info)
|
||||
}
|
||||
|
||||
ctx.rx_sc = rx_sc;
|
||||
ctx.secy = secy;
|
||||
|
||||
ret = macsec_offload(ops->mdo_add_rxsc, &ctx);
|
||||
if (ret)
|
||||
@ -2032,6 +2036,7 @@ static int macsec_add_txsa(struct sk_buff *skb, struct genl_info *info)
|
||||
|
||||
ctx.sa.assoc_num = assoc_num;
|
||||
ctx.sa.tx_sa = tx_sa;
|
||||
ctx.secy = secy;
|
||||
memcpy(ctx.sa.key, nla_data(tb_sa[MACSEC_SA_ATTR_KEY]),
|
||||
MACSEC_KEYID_LEN);
|
||||
|
||||
@ -2107,6 +2112,7 @@ static int macsec_del_rxsa(struct sk_buff *skb, struct genl_info *info)
|
||||
|
||||
ctx.sa.assoc_num = assoc_num;
|
||||
ctx.sa.rx_sa = rx_sa;
|
||||
ctx.secy = secy;
|
||||
|
||||
ret = macsec_offload(ops->mdo_del_rxsa, &ctx);
|
||||
if (ret)
|
||||
@ -2172,6 +2178,7 @@ static int macsec_del_rxsc(struct sk_buff *skb, struct genl_info *info)
|
||||
}
|
||||
|
||||
ctx.rx_sc = rx_sc;
|
||||
ctx.secy = secy;
|
||||
ret = macsec_offload(ops->mdo_del_rxsc, &ctx);
|
||||
if (ret)
|
||||
goto cleanup;
|
||||
@ -2230,6 +2237,7 @@ static int macsec_del_txsa(struct sk_buff *skb, struct genl_info *info)
|
||||
|
||||
ctx.sa.assoc_num = assoc_num;
|
||||
ctx.sa.tx_sa = tx_sa;
|
||||
ctx.secy = secy;
|
||||
|
||||
ret = macsec_offload(ops->mdo_del_txsa, &ctx);
|
||||
if (ret)
|
||||
@ -2341,6 +2349,7 @@ static int macsec_upd_txsa(struct sk_buff *skb, struct genl_info *info)
|
||||
|
||||
ctx.sa.assoc_num = assoc_num;
|
||||
ctx.sa.tx_sa = tx_sa;
|
||||
ctx.secy = secy;
|
||||
|
||||
ret = macsec_offload(ops->mdo_upd_txsa, &ctx);
|
||||
if (ret)
|
||||
@ -2433,6 +2442,7 @@ static int macsec_upd_rxsa(struct sk_buff *skb, struct genl_info *info)
|
||||
|
||||
ctx.sa.assoc_num = assoc_num;
|
||||
ctx.sa.rx_sa = rx_sa;
|
||||
ctx.secy = secy;
|
||||
|
||||
ret = macsec_offload(ops->mdo_upd_rxsa, &ctx);
|
||||
if (ret)
|
||||
@ -2503,6 +2513,7 @@ static int macsec_upd_rxsc(struct sk_buff *skb, struct genl_info *info)
|
||||
}
|
||||
|
||||
ctx.rx_sc = rx_sc;
|
||||
ctx.secy = secy;
|
||||
|
||||
ret = macsec_offload(ops->mdo_upd_rxsc, &ctx);
|
||||
if (ret)
|
||||
@ -3370,6 +3381,7 @@ static int macsec_dev_open(struct net_device *dev)
|
||||
goto clear_allmulti;
|
||||
}
|
||||
|
||||
ctx.secy = &macsec->secy;
|
||||
err = macsec_offload(ops->mdo_dev_open, &ctx);
|
||||
if (err)
|
||||
goto clear_allmulti;
|
||||
@ -3401,8 +3413,10 @@ static int macsec_dev_stop(struct net_device *dev)
|
||||
struct macsec_context ctx;
|
||||
|
||||
ops = macsec_get_ops(macsec, &ctx);
|
||||
if (ops)
|
||||
if (ops) {
|
||||
ctx.secy = &macsec->secy;
|
||||
macsec_offload(ops->mdo_dev_stop, &ctx);
|
||||
}
|
||||
}
|
||||
|
||||
dev_mc_unsync(real_dev, dev);
|
||||
|
Loading…
Reference in New Issue
Block a user