Home
last modified time | relevance | path

Searched refs:irk (Results 1 – 11 of 11) sorted by relevance

/openbmc/linux/net/bluetooth/
H A Dsmp.h90 __u8 irk[16]; member
191 bool smp_irk_matches(struct hci_dev *hdev, const u8 irk[16],
193 int smp_generate_rpa(struct hci_dev *hdev, const u8 irk[16], bdaddr_t *rpa);
H A Dhci_request.c375 struct smp_irk *irk; in del_from_accept_list() local
377 irk = hci_find_irk_by_addr(req->hdev, bdaddr, bdaddr_type); in del_from_accept_list()
378 if (irk) { in del_from_accept_list()
428 struct smp_irk *irk; in add_to_accept_list() local
430 irk = hci_find_irk_by_addr(hdev, &params->addr, in add_to_accept_list()
432 if (irk) { in add_to_accept_list()
437 memcpy(cp.peer_irk, irk->val, 16); in add_to_accept_list()
440 memcpy(cp.local_irk, hdev->irk, 16); in add_to_accept_list()
658 err = smp_generate_rpa(hdev, hdev->irk, &hdev->rpa); in hci_update_random_address()
H A Dhci_core.c1192 struct smp_irk *irk; in hci_find_irk_by_rpa() local
1197 irk_to_return = irk; in hci_find_irk_by_rpa()
1205 irk_to_return = irk; in hci_find_irk_by_rpa()
1227 struct smp_irk *irk; in hci_find_irk_by_addr() local
1335 struct smp_irk *irk; in hci_add_irk() local
1338 if (!irk) { in hci_add_irk()
1339 irk = kzalloc(sizeof(*irk), GFP_KERNEL); in hci_add_irk()
1340 if (!irk) in hci_add_irk()
1352 return irk; in hci_add_irk()
1408 struct smp_irk *irk; in hci_bdaddr_is_paired() local
[all …]
H A Dhci_debugfs.c682 16, hdev->irk, &hdev->rpa); in identity_show()
824 struct smp_irk *irk; in identity_resolving_keys_show() local
827 list_for_each_entry_rcu(irk, &hdev->identity_resolving_keys, list) { in identity_resolving_keys_show()
829 &irk->bdaddr, irk->addr_type, in identity_resolving_keys_show()
830 16, irk->val, &irk->rpa); in identity_resolving_keys_show()
H A Dsmp.c114 u8 irk[16]; member
481 err = smp_e(irk, _res); in smp_ah()
508 bt_dev_dbg(hdev, "RPA %pMR IRK %*phN", bdaddr, 16, irk); in smp_irk_matches()
510 err = smp_ah(irk, &bdaddr->b[3], hash); in smp_irk_matches()
530 err = smp_ah(irk, &rpa->b[3], rpa->b); in smp_generate_rpa()
1322 memcpy(idinfo.irk, hdev->irk, sizeof(idinfo.irk)); in smp_distribute_keys()
2583 info->irk)) { in smp_cmd_ident_info()
2594 memcpy(smp->irk, info->irk, 16); in smp_cmd_ident_info()
2659 smp->id_addr_type, smp->irk, &rpa); in smp_cmd_ident_addr_info()
3495 const u8 irk[16] = { in test_ah() local
[all …]
H A Dhci_conn.c75 struct smp_irk *irk; in hci_connect_le_scan_cleanup() local
83 irk = hci_get_irk(hdev, bdaddr, bdaddr_type); in hci_connect_le_scan_cleanup()
84 if (irk) { in hci_connect_le_scan_cleanup()
85 bdaddr = &irk->bdaddr; in hci_connect_le_scan_cleanup()
86 bdaddr_type = irk->addr_type; in hci_connect_le_scan_cleanup()
1287 struct smp_irk *irk; in hci_connect_le() local
1327 irk = hci_find_irk_by_addr(hdev, dst, dst_type); in hci_connect_le()
1328 if (irk && bacmp(&irk->rpa, BDADDR_ANY)) { in hci_connect_le()
1329 dst = &irk->rpa; in hci_connect_le()
H A Dhci_sync.c1091 err = smp_generate_rpa(hdev, hdev->irk, &hdev->rpa); in hci_update_random_address_sync()
2349 struct smp_irk *irk; in hci_le_add_resolve_list_sync() local
2364 memcpy(cp.peer_irk, hdev->irk, 16); in hci_le_add_resolve_list_sync()
2369 if (!irk) in hci_le_add_resolve_list_sync()
2381 memcpy(cp.peer_irk, irk->val, 16); in hci_le_add_resolve_list_sync()
2398 memcpy(cp.local_irk, hdev->irk, 16); in hci_le_add_resolve_list_sync()
2411 struct smp_irk *irk; in hci_le_set_privacy_mode_sync() local
2425 if (!irk) in hci_le_set_privacy_mode_sync()
2429 cp.bdaddr_type = irk->addr_type; in hci_le_set_privacy_mode_sync()
2430 bacpy(&cp.bdaddr, &irk->bdaddr); in hci_le_set_privacy_mode_sync()
[all …]
H A Dmgmt.c6997 memcpy(hdev->irk, cp->irk, sizeof(hdev->irk)); in set_privacy()
7006 memset(hdev->irk, 0, sizeof(hdev->irk)); in set_privacy()
7026 switch (irk->addr.type) { in irk_is_valid()
7091 irk->val)) { in load_irks()
7093 &irk->addr.bdaddr); in load_irks()
7097 hci_add_irk(hdev, &irk->addr.bdaddr, in load_irks()
7098 le_addr_type(irk->addr.type), irk->val, in load_irks()
9538 bacpy(&ev.rpa, &irk->rpa); in mgmt_new_irk()
9539 bacpy(&ev.irk.addr.bdaddr, &irk->bdaddr); in mgmt_new_irk()
9540 ev.irk.addr.type = link_to_bdaddr(LE_LINK, irk->addr_type); in mgmt_new_irk()
[all …]
H A Dhci_event.c5617 struct smp_irk *irk; in le_conn_complete_evt() local
5689 irk = hci_get_irk(hdev, &conn->dst, conn->dst_type); in le_conn_complete_evt()
5690 if (irk) { in le_conn_complete_evt()
5691 bacpy(&conn->dst, &irk->bdaddr); in le_conn_complete_evt()
5692 conn->dst_type = irk->addr_type; in le_conn_complete_evt()
5999 struct smp_irk *irk; in process_adv_report() local
6065 if (!smp_irk_matches(hdev, hdev->irk, direct_addr)) in process_adv_report()
6070 irk = hci_get_irk(hdev, bdaddr, bdaddr_type); in process_adv_report()
6071 if (irk) { in process_adv_report()
6072 bdaddr = &irk->bdaddr; in process_adv_report()
[all …]
/openbmc/linux/include/net/bluetooth/
H A Dmgmt.h414 __u8 irk[16]; member
1027 struct mgmt_irk_info irk; member
H A Dhci_core.h595 __u8 irk[16]; member
2269 void mgmt_new_irk(struct hci_dev *hdev, struct smp_irk *irk, bool persistent);