Lines Matching full:sci
31 /* SecTAG length = macsec_eth_header without the optional SCI */
78 sci_t sci; member
246 sci_t sci; in make_sci() local
248 memcpy(&sci, addr, ETH_ALEN); in make_sci()
249 memcpy(((char *)&sci) + ETH_ALEN, &port, sizeof(port)); in make_sci()
251 return sci; in make_sci()
260 return (rx_sc->active) ? rx_sc->sci : 0; in macsec_active_sci()
270 sci_t sci = 0; in macsec_frame_sci() local
274 memcpy(&sci, hdr->secure_channel_id, in macsec_frame_sci()
285 sci = make_sci(hdr->eth.h_source, MACSEC_PORT_ES); in macsec_frame_sci()
288 return sci; in macsec_frame_sci()
318 memcpy(&h->secure_channel_id, &secy->sci, in macsec_fill_sectag()
451 static void macsec_fill_iv(unsigned char *iv, sci_t sci, u32 pn) in macsec_fill_iv() argument
455 gcm_iv->sci = sci; in macsec_fill_iv()
694 macsec_fill_iv(iv, secy->sci, pn.lower); in macsec_encrypt()
889 sci_t sci, in macsec_decrypt() argument
931 macsec_fill_iv(iv, sci, hdr_pn); in macsec_decrypt()
987 static struct macsec_rx_sc *find_rx_sc(struct macsec_secy *secy, sci_t sci) in find_rx_sc() argument
992 if (rx_sc->sci == sci) in find_rx_sc()
999 static struct macsec_rx_sc *find_rx_sc_rtnl(struct macsec_secy *secy, sci_t sci) in find_rx_sc_rtnl() argument
1004 if (rx_sc->sci == sci) in find_rx_sc_rtnl()
1051 md_dst->u.macsec_info.sci); in handle_not_macsec()
1141 sci_t sci = 0; in macsec_handle_frame() local
1192 sci = macsec_frame_sci(hdr, macsec_skb_cb(skb)->has_sci, rxd); in macsec_handle_frame()
1193 if (!sci) in macsec_handle_frame()
1197 struct macsec_rx_sc *sc = find_rx_sc(&macsec->secy, sci); in macsec_handle_frame()
1276 skb = macsec_decrypt(skb, dev, rx_sa, sci, secy); in macsec_handle_frame()
1442 static struct macsec_rx_sc *del_rx_sc(struct macsec_secy *secy, sci_t sci) in del_rx_sc() argument
1449 if (rx_sc->sci == sci) { in del_rx_sc()
1460 static struct macsec_rx_sc *create_rx_sc(struct net_device *dev, sci_t sci, in create_rx_sc() argument
1470 if (find_rx_sc_rtnl(&macsec->secy, sci)) in create_rx_sc()
1484 rx_sc->sci = sci; in create_rx_sc()
1615 sci_t sci; in get_rxsc_from_nl() local
1626 sci = nla_get_sci(tb_rxsc[MACSEC_RXSC_ATTR_SCI]); in get_rxsc_from_nl()
1627 rx_sc = find_rx_sc_rtnl(secy, sci); in get_rxsc_from_nl()
1877 sci_t sci = MACSEC_UNDEF_SCI; in macsec_add_rxsc() local
1902 sci = nla_get_sci(tb_rxsc[MACSEC_RXSC_ATTR_SCI]); in macsec_add_rxsc()
1907 rx_sc = create_rx_sc(dev, sci, active); in macsec_add_rxsc()
1936 del_rx_sc(secy, sci); in macsec_add_rxsc()
2155 sci_t sci; in macsec_del_rxsc() local
2176 sci = nla_get_sci(tb_rxsc[MACSEC_RXSC_ATTR_SCI]); in macsec_del_rxsc()
2178 rx_sc = del_rx_sc(secy, sci); in macsec_del_rxsc()
3048 if (nla_put_sci(skb, MACSEC_SECY_ATTR_SCI, secy->sci, in nla_put_secy()
3207 nla_put_sci(skb, MACSEC_RXSC_ATTR_SCI, rx_sc->sci, in dump_secy()
4096 static bool sci_exists(struct net_device *dev, sci_t sci) in sci_exists() argument
4102 if (macsec->secy.sci == sci) in sci_exists()
4114 static int macsec_add_dev(struct net_device *dev, sci_t sci, u8 icv_len) in macsec_add_dev() argument
4134 if (sci == MACSEC_UNDEF_SCI) in macsec_add_dev()
4135 sci = dev_to_sci(dev, MACSEC_PORT_ES); in macsec_add_dev()
4146 secy->sci = sci; in macsec_add_dev()
4147 secy->tx_sc.md_dst->u.macsec_info.sci = sci; in macsec_add_dev()
4172 sci_t sci; in macsec_newlink() local
4197 /* send_sci must be set to true when transmit sci explicitly is set */ in macsec_newlink()
4234 sci = nla_get_sci(data[IFLA_MACSEC_SCI]); in macsec_newlink()
4236 sci = dev_to_sci(dev, nla_get_be16(data[IFLA_MACSEC_PORT])); in macsec_newlink()
4238 sci = dev_to_sci(dev, MACSEC_PORT_ES); in macsec_newlink()
4240 if (rx_handler && sci_exists(real_dev, sci)) { in macsec_newlink()
4245 err = macsec_add_dev(dev, sci, icv_len); in macsec_newlink()
4312 bool es, scb, sci; in macsec_validate_attr() local
4333 sci = nla_get_u8_default(data[IFLA_MACSEC_INC_SCI], false); in macsec_validate_attr()
4336 if ((sci && (scb || es)) || (scb && es)) in macsec_validate_attr()
4405 if (nla_put_sci(skb, IFLA_MACSEC_SCI, secy->sci, in macsec_fill_info()