Lines Matching refs:id

117 		if (!test_bit(entry->addr.id, msk->pm.id_avail_bitmap))  in select_local_address()
145 if (!test_bit(entry->addr.id, msk->pm.id_avail_bitmap)) in select_signal_address()
200 if (READ_ONCE(subflow->local_id) == local->id) in fill_remote_addresses_vec()
206 addrs[i].id = READ_ONCE(subflow->remote_id); in fill_remote_addresses_vec()
207 if (deny_id0 && !addrs[i].id) in fill_remote_addresses_vec()
210 if (test_bit(addrs[i].id, unavail_id)) in fill_remote_addresses_vec()
220 __set_bit(addrs[i].id, unavail_id); in fill_remote_addresses_vec()
231 __lookup_addr_by_id(struct pm_nl_pernet *pernet, unsigned int id) in __lookup_addr_by_id() argument
237 if (entry->addr.id == id) in __lookup_addr_by_id()
283 __clear_bit(entry->addr.id, msk->pm.id_avail_bitmap); in mptcp_pm_create_subflow_or_signal_addr()
284 msk->mpc_endpoint_id = entry->addr.id; in mptcp_pm_create_subflow_or_signal_addr()
321 __clear_bit(local.addr.id, msk->pm.id_avail_bitmap); in mptcp_pm_create_subflow_or_signal_addr()
325 if (local.addr.id == msk->mpc_endpoint_id) in mptcp_pm_create_subflow_or_signal_addr()
326 local.addr.id = 0; in mptcp_pm_create_subflow_or_signal_addr()
350 __clear_bit(local.addr.id, msk->pm.id_avail_bitmap); in mptcp_pm_create_subflow_or_signal_addr()
353 if (local.addr.id == msk->mpc_endpoint_id) in mptcp_pm_create_subflow_or_signal_addr()
354 local.addr.id = 0; in mptcp_pm_create_subflow_or_signal_addr()
414 locals[i].addr.id = 0; in fill_local_addresses_vec()
487 if (remote.id) in mptcp_pm_nl_add_addr_received()
539 if (test_bit(entry->addr.id, pernet->id_bitmap)) { in mptcp_pm_nl_append_new_local_addr()
560 if (entry->addr.id) in mptcp_pm_nl_append_new_local_addr()
570 ret = cur->addr.id; in mptcp_pm_nl_append_new_local_addr()
575 entry->addr.id = cur->addr.id; in mptcp_pm_nl_append_new_local_addr()
582 if (!entry->addr.id && needs_id) { in mptcp_pm_nl_append_new_local_addr()
584 entry->addr.id = find_next_zero_bit(pernet->id_bitmap, in mptcp_pm_nl_append_new_local_addr()
587 if (!entry->addr.id && pernet->next_id != 1) { in mptcp_pm_nl_append_new_local_addr()
593 if (!entry->addr.id && needs_id) in mptcp_pm_nl_append_new_local_addr()
596 __set_bit(entry->addr.id, pernet->id_bitmap); in mptcp_pm_nl_append_new_local_addr()
597 if (entry->addr.id > pernet->next_id) in mptcp_pm_nl_append_new_local_addr()
598 pernet->next_id = entry->addr.id; in mptcp_pm_nl_append_new_local_addr()
614 ret = entry->addr.id; in mptcp_pm_nl_append_new_local_addr()
707 ret = entry ? entry->addr.id : -1; in mptcp_pm_nl_get_local_id()
759 msk->mpc_endpoint_id = addr->id; in mptcp_nl_add_subflow_or_signal_addr()
851 return msk->mpc_endpoint_id == addr->id ? 0 : addr->id; in mptcp_endp_get_local_id()
867 __set_bit(addr->id, msk->pm.id_avail_bitmap); in mptcp_pm_remove_anno_addr()
876 static void __mark_subflow_endp_available(struct mptcp_sock *msk, u8 id) in __mark_subflow_endp_available() argument
879 if (!__test_and_set_bit(id ? : msk->mpc_endpoint_id, msk->pm.id_avail_bitmap) && in __mark_subflow_endp_available()
880 id && !WARN_ON_ONCE(msk->pm.local_addr_used == 0)) in __mark_subflow_endp_available()
892 pr_debug("remove_id=%d\n", addr->id); in mptcp_nl_remove_subflow_and_signal_addr()
919 if (msk->mpc_endpoint_id == entry->addr.id) in mptcp_nl_remove_subflow_and_signal_addr()
989 if (addr.addr.id == 0) in mptcp_pm_nl_del_addr_doit()
993 entry = __lookup_addr_by_id(pernet, addr.addr.id); in mptcp_pm_nl_del_addr_doit()
1010 __clear_bit(entry->addr.id, pernet->id_bitmap); in mptcp_pm_nl_del_addr_doit()
1110 int mptcp_pm_nl_get_addr(u8 id, struct mptcp_pm_addr_entry *addr, in mptcp_pm_nl_get_addr() argument
1118 entry = __lookup_addr_by_id(pernet, id); in mptcp_pm_nl_get_addr()
1134 int id = cb->args[0]; in mptcp_pm_nl_dump_addr() local
1140 for (i = id; i < MPTCP_PM_MAX_ADDR_ID + 1; i++) { in mptcp_pm_nl_dump_addr()
1146 if (entry->addr.id <= id) in mptcp_pm_nl_dump_addr()
1152 id = entry->addr.id; in mptcp_pm_nl_dump_addr()
1157 cb->args[0] = id; in mptcp_pm_nl_dump_addr()
1161 static int parse_limit(struct genl_info *info, int id, unsigned int *limit) in parse_limit() argument
1163 struct nlattr *attr = info->attrs[id]; in parse_limit()
1296 if (!local->addr.id) { in mptcp_pm_nl_set_flags()
1304 entry = lookup_by_id ? __lookup_addr_by_id(pernet, local->addr.id) : in mptcp_pm_nl_set_flags()
1397 .id = &pm_nl_pernet_id,