Lines Matching refs:sa_key
1392 struct data_key *sa_key = NULL; in ieee802_1x_mka_decode_sak_use_body() local
1455 sa_key = dl_list_first(&participant->sak_list, struct data_key, list); in ieee802_1x_mka_decode_sak_use_body()
1456 if (!sa_key) { in ieee802_1x_mka_decode_sak_use_body()
1483 if (!is_ki_equal(&sa_key->key_identifier, &ki)) { in ieee802_1x_mka_decode_sak_use_body()
1488 sa_key->next_pn = lpn; in ieee802_1x_mka_decode_sak_use_body()
1545 if (sa_key && rxsa->pkey == sa_key) { in ieee802_1x_mka_decode_sak_use_body()
1696 struct data_key *sa_key = NULL; in ieee802_1x_mka_decode_dist_sak_body() local
1761 dl_list_for_each(sa_key, &participant->sak_list, struct data_key, list) in ieee802_1x_mka_decode_dist_sak_body()
1763 if (os_memcmp(sa_key->key_identifier.mi, in ieee802_1x_mka_decode_dist_sak_body()
1765 sa_key->key_identifier.kn == be_to_host32(body->kn)) { in ieee802_1x_mka_decode_dist_sak_body()
1806 sa_key = os_zalloc(sizeof(*sa_key)); in ieee802_1x_mka_decode_dist_sak_body()
1807 if (!sa_key) { in ieee802_1x_mka_decode_dist_sak_body()
1812 os_memcpy(&sa_key->key_identifier.mi, &participant->current_peer_id.mi, in ieee802_1x_mka_decode_dist_sak_body()
1814 sa_key->key_identifier.kn = be_to_host32(body->kn); in ieee802_1x_mka_decode_dist_sak_body()
1816 sa_key->key = unwrap_sak; in ieee802_1x_mka_decode_dist_sak_body()
1817 sa_key->key_len = sak_len; in ieee802_1x_mka_decode_dist_sak_body()
1819 sa_key->confidentiality_offset = body->confid_offset; in ieee802_1x_mka_decode_dist_sak_body()
1820 sa_key->an = body->dan; in ieee802_1x_mka_decode_dist_sak_body()
1821 ieee802_1x_kay_init_data_key(sa_key); in ieee802_1x_mka_decode_dist_sak_body()
1823 ieee802_1x_kay_use_data_key(sa_key); in ieee802_1x_mka_decode_dist_sak_body()
1824 dl_list_add(&participant->sak_list, &sa_key->list); in ieee802_1x_mka_decode_dist_sak_body()
1830 ieee802_1x_cp_set_distributedki(kay->cp, &sa_key->key_identifier); in ieee802_1x_mka_decode_dist_sak_body()
2137 struct data_key *sa_key = NULL; in ieee802_1x_kay_generate_new_sak() local
2221 sa_key = os_zalloc(sizeof(*sa_key)); in ieee802_1x_kay_generate_new_sak()
2222 if (!sa_key) { in ieee802_1x_kay_generate_new_sak()
2227 sa_key->key = key; in ieee802_1x_kay_generate_new_sak()
2228 sa_key->key_len = key_len; in ieee802_1x_kay_generate_new_sak()
2229 os_memcpy(sa_key->key_identifier.mi, participant->mi, MI_LEN); in ieee802_1x_kay_generate_new_sak()
2230 sa_key->key_identifier.kn = kay->dist_kn; in ieee802_1x_kay_generate_new_sak()
2232 sa_key->confidentiality_offset = kay->macsec_confidentiality; in ieee802_1x_kay_generate_new_sak()
2233 sa_key->an = kay->dist_an; in ieee802_1x_kay_generate_new_sak()
2234 ieee802_1x_kay_init_data_key(sa_key); in ieee802_1x_kay_generate_new_sak()
2236 participant->new_key = sa_key; in ieee802_1x_kay_generate_new_sak()
2238 ieee802_1x_kay_use_data_key(sa_key); in ieee802_1x_kay_generate_new_sak()
2239 dl_list_add(&participant->sak_list, &sa_key->list); in ieee802_1x_kay_generate_new_sak()
2245 ieee802_1x_cp_set_distributedki(kay->cp, &sa_key->key_identifier); in ieee802_1x_kay_generate_new_sak()
2246 ieee802_1x_cp_set_distributedan(kay->cp, sa_key->an); in ieee802_1x_kay_generate_new_sak()
2911 struct data_key *sa_key, *latest_sak; in ieee802_1x_kay_create_sas() local
2922 dl_list_for_each(sa_key, &principal->sak_list, struct data_key, list) { in ieee802_1x_kay_create_sas()
2923 if (is_ki_equal(&sa_key->key_identifier, lki)) { in ieee802_1x_kay_create_sas()
2924 sa_key->rx_latest = true; in ieee802_1x_kay_create_sas()
2925 sa_key->tx_latest = true; in ieee802_1x_kay_create_sas()
2926 latest_sak = sa_key; in ieee802_1x_kay_create_sas()
2929 sa_key->rx_latest = false; in ieee802_1x_kay_create_sas()
2930 sa_key->tx_latest = false; in ieee802_1x_kay_create_sas()
2975 struct data_key *sa_key, *pre_key; in ieee802_1x_kay_delete_sas() local
3003 dl_list_for_each_safe(sa_key, pre_key, &principal->sak_list, in ieee802_1x_kay_delete_sas()
3005 if (is_ki_equal(&sa_key->key_identifier, ki)) { in ieee802_1x_kay_delete_sas()
3006 if (principal->new_key == sa_key) in ieee802_1x_kay_delete_sas()
3008 dl_list_del(&sa_key->list); in ieee802_1x_kay_delete_sas()
3009 ieee802_1x_kay_deinit_data_key(sa_key); in ieee802_1x_kay_delete_sas()