Lines Matching refs:flow_registration

741     struct necp_client_flow_registration *flow_registration, struct necp_stats_bufreq *bufreq);
793 struct necp_client_flow_registration *flow_registration = NULL; in necp_client_has_unread_flows() local
794 RB_FOREACH(flow_registration, _necp_client_flow_tree, &client->flow_registrations) { in necp_client_has_unread_flows()
795 if (!flow_registration->flow_result_read) { in necp_client_has_unread_flows()
1098 necp_flow_save_current_interface_details(struct necp_client_flow_registration *flow_registration) in necp_flow_save_current_interface_details() argument
1101 LIST_FOREACH(flow, &flow_registration->flow_list, flow_chain) { in necp_flow_save_current_interface_details()
1104 atomic_set_64(&flow_registration->last_interface_details, combined_details); in necp_flow_save_current_interface_details()
1111 necp_client_collect_interface_stats(struct necp_client_flow_registration *flow_registration, struct… in necp_client_collect_interface_stats() argument
1122 LIST_FOREACH(flow, &flow_registration->flow_list, flow_chain) { in necp_client_collect_interface_stats()
1139 necp_client_collect_stats(struct necp_client_flow_registration *flow_registration) in necp_client_collect_stats() argument
1141 struct necp_all_kstats *kstats = (struct necp_all_kstats *)flow_registration->kstats_kaddr; in necp_client_collect_stats()
1175 NECP_CLIENT_ROUTE_LOCK(flow_registration->client); in necp_client_collect_stats()
1176 struct rtentry *route = flow_registration->client->current_route; in necp_client_collect_stats()
1181 NECP_CLIENT_ROUTE_UNLOCK(flow_registration->client); in necp_client_collect_stats()
1188 struct necp_client_flow_registration *flow_registration, in necp_destroy_flow_stats() argument
1194 struct necp_client *client = flow_registration->client; in necp_destroy_flow_stats()
1205 necp_client_collect_interface_stats(flow_registration, flow_ifnet_stats); in necp_destroy_flow_stats()
1208 if (flow_registration->kstats_kaddr != NULL) { in necp_destroy_flow_stats()
1210 necp_client_collect_stats(flow_registration); in necp_destroy_flow_stats()
1214 LIST_REMOVE(flow_registration, collect_stats_chain); in necp_destroy_flow_stats()
1216 if (flow_registration->stats_handler_context != NULL) { in necp_destroy_flow_stats()
1217 ntstat_userland_stats_close(flow_registration->stats_handler_context); in necp_destroy_flow_stats()
1218 flow_registration->stats_handler_context = NULL; in necp_destroy_flow_stats()
1220 …ecp_arena_stats_obj_free(fd_data, flow_registration->stats_arena, &flow_registration->kstats_kaddr… in necp_destroy_flow_stats()
1221 ASSERT(flow_registration->kstats_kaddr == NULL); in necp_destroy_flow_stats()
1222 ASSERT(flow_registration->ustats_uaddr == 0); in necp_destroy_flow_stats()
1225 if (flow_registration->nexus_stats != NULL) { in necp_destroy_flow_stats()
1226 flow_stats_release(flow_registration->nexus_stats); in necp_destroy_flow_stats()
1227 flow_registration->nexus_stats = NULL; in necp_destroy_flow_stats()
1256 struct necp_client_flow_registration *flow_registration; in necp_collect_stats_client_callout() local
1264 LIST_FOREACH(flow_registration, &necp_collect_stats_flow_list, collect_stats_chain) { in necp_collect_stats_client_callout()
1268 necp_client_collect_stats(flow_registration); in necp_collect_stats_client_callout()
1279 struct necp_client_flow_registration *flow_registration, in necp_defunct_flow_registration() argument
1284 if (!flow_registration->defunct) { in necp_defunct_flow_registration()
1287 LIST_FOREACH(search_flow, &flow_registration->flow_list, flow_chain) { in necp_defunct_flow_registration()
1296 …uuid_copy(flow_defunct->flow_id, ((flow_registration->flags & NECP_CLIENT_FLOW_FLAGS_USE_CLIENT_ID… in necp_defunct_flow_registration()
1298 flow_registration->registration_id)); in necp_defunct_flow_registration()
1301 flow_defunct->flags = flow_registration->flags; in necp_defunct_flow_registration()
1303 if (flow_registration->kstats_kaddr != NULL) { in necp_defunct_flow_registration()
1304 …struct necp_all_stats *ustats_kaddr = ((struct necp_all_kstats *)flow_registration->kstats_kaddr)-… in necp_defunct_flow_registration()
1323 if (flow_registration->stats_handler_context != NULL) { in necp_defunct_flow_registration()
1324 ntstat_userland_stats_event(flow_registration->stats_handler_context, in necp_defunct_flow_registration()
1330 flow_registration->defunct = true; in necp_defunct_flow_registration()
1341 struct necp_client_flow_registration *flow_registration = NULL; in necp_defunct_client_for_policy() local
1342 RB_FOREACH(flow_registration, _necp_client_flow_tree, &client->flow_registrations) { in necp_defunct_client_for_policy()
1343 necp_defunct_flow_registration(client, flow_registration, defunct_list); in necp_defunct_client_for_policy()
1568 struct necp_client_flow_registration *flow_registration, in necp_destroy_client_flow_registration() argument
1577 if (flow_registration->kstats_kaddr != NULL) { in necp_destroy_client_flow_registration()
1578 …struct necp_all_stats *ustats_kaddr = ((struct necp_all_kstats *)flow_registration->kstats_kaddr)-… in necp_destroy_client_flow_registration()
1588 if (flow_registration->stats_arena != NULL) { in necp_destroy_client_flow_registration()
1589 necp_arena_info_release(flow_registration->stats_arena); in necp_destroy_client_flow_registration()
1590 flow_registration->stats_arena = NULL; in necp_destroy_client_flow_registration()
1596 LIST_FOREACH_SAFE(search_flow, &flow_registration->flow_list, flow_chain, temp_flow) { in necp_destroy_client_flow_registration()
1600 if (!flow_registration->defunct) { in necp_destroy_client_flow_registration()
1603 if (((flow_registration->flags & NECP_CLIENT_FLOW_FLAGS_BROWSE) || in necp_destroy_client_flow_registration()
1604 (flow_registration->flags & NECP_CLIENT_FLOW_FLAGS_RESOLVE)) && in necp_destroy_client_flow_registration()
1605 !(flow_registration->flags & NECP_CLIENT_FLOW_FLAGS_ALLOW_NEXUS)) { in necp_destroy_client_flow_registration()
1609 ((flow_registration->flags & NECP_CLIENT_FLOW_FLAGS_USE_CLIENT_ID) ? in necp_destroy_client_flow_registration()
1611 flow_registration->registration_id), in necp_destroy_client_flow_registration()
1640 RB_REMOVE(_necp_client_flow_tree, &client->flow_registrations, flow_registration); in necp_destroy_client_flow_registration()
1641 flow_registration->client = NULL; in necp_destroy_client_flow_registration()
1643 kfree_type(struct necp_client_flow_registration, flow_registration); in necp_destroy_client_flow_registration()
1675 struct necp_client_flow_registration *flow_registration = NULL; in necp_destroy_client() local
1677 …RB_FOREACH_SAFE(flow_registration, _necp_client_flow_tree, &client->flow_registrations, temp_flow_… in necp_destroy_client()
1678 necp_destroy_client_flow_registration(client, flow_registration, pid, abort); in necp_destroy_client()
1782 struct necp_client_flow_registration *flow_registration = NULL; in necpop_close() local
1784 RB_FOREACH_SAFE(flow_registration, _necp_fd_flow_tree, &fd_data->flows, temp_flow_registration) { in necpop_close()
1786 necp_destroy_flow_stats(fd_data, flow_registration, NULL, TRUE); in necpop_close()
1789 RB_REMOVE(_necp_client_flow_global_tree, &necp_client_flow_global_tree, flow_registration); in necpop_close()
1791 RB_REMOVE(_necp_fd_flow_tree, &fd_data->flows, flow_registration); in necpop_close()
1879 necp_client_add_nexus_flow(struct necp_client_flow_registration *flow_registration, in necp_client_add_nexus_flow() argument
1896 LIST_INSERT_HEAD(&flow_registration->flow_list, new_flow, flow_chain); in necp_client_add_nexus_flow()
1899 necp_flow_save_current_interface_details(flow_registration); in necp_client_add_nexus_flow()
1904 necp_client_add_nexus_flow_if_needed(struct necp_client_flow_registration *flow_registration, in necp_client_add_nexus_flow_if_needed() argument
1909 LIST_FOREACH(flow, &flow_registration->flow_list, flow_chain) { in necp_client_add_nexus_flow_if_needed()
1928 necp_client_add_nexus_flow(flow_registration, nexus_agent, interface_index, interface_flags); in necp_client_add_nexus_flow_if_needed()
1932 necp_client_add_interface_flow(struct necp_client_flow_registration *flow_registration, in necp_client_add_interface_flow() argument
1939 new_flow->u.socket_handle = flow_registration->interface_handle; in necp_client_add_interface_flow()
1940 new_flow->u.cb = flow_registration->interface_cb; in necp_client_add_interface_flow()
1944 LIST_INSERT_HEAD(&flow_registration->flow_list, new_flow, flow_chain); in necp_client_add_interface_flow()
1951 struct necp_client_flow_registration *flow_registration, in necp_client_add_interface_flow_if_needed() argument
1961 LIST_FOREACH(flow, &flow_registration->flow_list, flow_chain) { in necp_client_add_interface_flow_if_needed()
1965 flow->u.socket_handle = flow_registration->interface_handle; in necp_client_add_interface_flow_if_needed()
1966 flow->u.cb = flow_registration->interface_cb; in necp_client_add_interface_flow_if_needed()
1970 return necp_client_add_interface_flow(flow_registration, interface_index); in necp_client_add_interface_flow_if_needed()
2112 struct necp_client_flow_registration *flow_registration, in necp_flow_add_interface_flows() argument
2119 …lient_flow *flow = necp_client_add_interface_flow_if_needed(client, flow_registration, option->int… in necp_flow_add_interface_flows()
2124 …flow->u.cb(flow_registration->interface_handle, NECP_CLIENT_CBACTION_INITIAL, flow->interface_inde… in necp_flow_add_interface_flows()
2130 …lient_flow *flow = necp_client_add_interface_flow_if_needed(client, flow_registration, option->int… in necp_flow_add_interface_flows()
2135 …flow->u.cb(flow_registration->interface_handle, NECP_CLIENT_CBACTION_INITIAL, flow->interface_inde… in necp_flow_add_interface_flows()
2153 struct necp_client_flow_registration *flow_registration = NULL; in necp_client_update_flows() local
2154 RB_FOREACH(flow_registration, _necp_client_flow_tree, &client->flow_registrations) { in necp_client_update_flows()
2155 if (flow_registration->interface_cb != NULL) { in necp_client_update_flows()
2157 necp_flow_add_interface_flows(proc, client, flow_registration, false); in necp_client_update_flows()
2160 LIST_FOREACH_SAFE(flow, &flow_registration->flow_list, flow_chain, temp_flow) { in necp_client_update_flows()
2209 necp_defunct_flow_registration(client, flow_registration, defunct_list); in necp_client_update_flows()
2245 necp_flow_save_current_interface_details(flow_registration); in necp_client_update_flows()
2255 struct necp_client_flow_registration *flow_registration = NULL; in necp_client_mark_all_nonsocket_flows_as_invalid() local
2257 RB_FOREACH(flow_registration, _necp_client_flow_tree, &client->flow_registrations) { in necp_client_mark_all_nonsocket_flows_as_invalid()
2258 LIST_FOREACH(flow, &flow_registration->flow_list, flow_chain) { in necp_client_mark_all_nonsocket_flows_as_invalid()
3336 necp_client_add_socket_flow(struct necp_client_flow_registration *flow_registration, in necp_client_add_socket_flow() argument
3347 LIST_INSERT_HEAD(&flow_registration->flow_list, new_flow, flow_chain); in necp_client_add_socket_flow()
3373 …struct necp_client_flow_registration *flow_registration = necp_client_find_flow(client, client_id); in necp_client_register_socket_inner() local
3374 if (flow_registration != NULL) { in necp_client_register_socket_inner()
3377 necp_client_add_socket_flow(flow_registration, inp); in necp_client_register_socket_inner()
3380 flow_registration = necp_client_create_flow_registration(client_fd, client); in necp_client_register_socket_inner()
3381 if (flow_registration == NULL) { in necp_client_register_socket_inner()
3386 necp_client_add_socket_flow(flow_registration, inp); in necp_client_register_socket_inner()
3467 necp_client_add_multipath_interface_flows(struct necp_client_flow_registration *flow_registration, in necp_client_add_multipath_interface_flows() argument
3471 flow_registration->interface_handle = mpp; in necp_client_add_multipath_interface_flows()
3472 flow_registration->interface_cb = mpp->necp_cb; in necp_client_add_multipath_interface_flows()
3480 necp_flow_add_interface_flows(proc, client, flow_registration, true); in necp_client_add_multipath_interface_flows()
3499 …struct necp_client_flow_registration *flow_registration = necp_client_find_flow(client, client_id); in necp_client_register_multipath_cb() local
3500 if (flow_registration != NULL) { in necp_client_register_multipath_cb()
3503 necp_client_add_multipath_interface_flows(flow_registration, client, mpp); in necp_client_register_multipath_cb()
3506 flow_registration = necp_client_create_flow_registration(client_fd, client); in necp_client_register_multipath_cb()
3507 if (flow_registration == NULL) { in necp_client_register_multipath_cb()
3512 necp_client_add_multipath_interface_flows(flow_registration, client, mpp); in necp_client_register_multipath_cb()
3667 …struct necp_client_flow_registration *flow_registration = necp_client_find_flow(client, client_id); in necp_client_unregister_socket_flow() local
3668 if (flow_registration != NULL) { in necp_client_unregister_socket_flow()
3675 LIST_FOREACH_SAFE(search_flow, &flow_registration->flow_list, flow_chain, temp_flow) { in necp_client_unregister_socket_flow()
3682 flow_registration->flow_result_read = FALSE; in necp_client_unregister_socket_flow()
3721 …struct necp_client_flow_registration *flow_registration = necp_client_find_flow(client, client_id); in necp_client_unregister_multipath_cb() local
3722 if (flow_registration != NULL) { in necp_client_unregister_multipath_cb()
3729 LIST_FOREACH_SAFE(search_flow, &flow_registration->flow_list, flow_chain, temp_flow) { in necp_client_unregister_multipath_cb()
3737 flow_registration->interface_handle = NULL; in necp_client_unregister_multipath_cb()
3738 flow_registration->interface_cb = NULL; in necp_client_unregister_multipath_cb()
3776 …struct necp_client_flow_registration *flow_registration = necp_client_find_flow(client, client_id); in necp_client_assign_from_socket() local
3777 …if (flow_registration == NULL && RB_EMPTY(&client->flow_registrations) && !necp_client_id_is_flow(… in necp_client_assign_from_socket()
3779 flow_registration = necp_client_create_flow_registration(client_fd, client); in necp_client_assign_from_socket()
3780 if (flow_registration == NULL) { in necp_client_assign_from_socket()
3784 if (flow_registration != NULL) { in necp_client_assign_from_socket()
3789 LIST_FOREACH(flow, &flow_registration->flow_list, flow_chain) { in necp_client_assign_from_socket()
3834 flow_registration->flow_result_read = FALSE; in necp_client_assign_from_socket()
3939 …struct necp_client_flow_registration *flow_registration = necp_client_find_flow(client, client_id); in necp_update_flow_protoctl_event() local
3940 if (flow_registration != NULL) { in necp_update_flow_protoctl_event()
3945 LIST_FOREACH(flow, &flow_registration->flow_list, flow_chain) { in necp_update_flow_protoctl_event()
3953 flow_registration->flow_result_read = FALSE; in necp_update_flow_protoctl_event()
3989 struct necp_client_flow_registration *flow_registration, in necp_assign_client_result_locked() argument
4002 LIST_FOREACH(flow, &flow_registration->flow_list, flow_chain) { in necp_assign_client_result_locked()
4025 flow_registration->flow_result_read = FALSE; in necp_assign_client_result_locked()
4028 if (flow_registration->nexus_stats != NULL) { in necp_assign_client_result_locked()
4029 flow_stats_release(flow_registration->nexus_stats); in necp_assign_client_result_locked()
4031 flow_registration->nexus_stats = nexus_stats; in necp_assign_client_result_locked()
4067 …struct necp_client_flow_registration *flow_registration = necp_client_find_flow(client, client_id); in necp_assign_client_result() local
4068 if (flow_registration != NULL) { in necp_assign_client_result()
4071 if (necp_assign_client_result_locked(proc, client_fd, client, flow_registration, netagent_uuid, in necp_assign_client_result()
4540 struct necp_client_flow_registration *flow_registration = NULL; in necp_update_client_result() local
4542 RB_FOREACH(flow_registration, _necp_client_flow_tree, &client->flow_registrations) { in necp_update_client_result()
4543 LIST_FOREACH(search_flow, &flow_registration->flow_list, flow_chain) { in necp_update_client_result()
4903 struct necp_client_flow_registration *flow_registration = NULL; in necp_defunct_client_fd_locked_inner() local
4909 RB_FOREACH(flow_registration, _necp_client_flow_tree, &client->flow_registrations) { in necp_defunct_client_fd_locked_inner()
4910 LIST_FOREACH(search_flow, &flow_registration->flow_list, flow_chain) { in necp_defunct_client_fd_locked_inner()
4916 …uuid_copy(flow_defunct->flow_id, ((flow_registration->flags & NECP_CLIENT_FLOW_FLAGS_USE_CLIENT_ID… in necp_defunct_client_fd_locked_inner()
4918 flow_registration->registration_id)); in necp_defunct_client_fd_locked_inner()
4921 flow_defunct->flags = flow_registration->flags; in necp_defunct_client_fd_locked_inner()
4923 if (flow_registration->kstats_kaddr != NULL) { in necp_defunct_client_fd_locked_inner()
4924 …struct necp_all_stats *ustats_kaddr = ((struct necp_all_kstats *)flow_registration->kstats_kaddr)-… in necp_defunct_client_fd_locked_inner()
4936 flow_registration->defunct = true; in necp_defunct_client_fd_locked_inner()
4937 flow_registration->flow_result_read = false; in necp_defunct_client_fd_locked_inner()
4947 RB_FOREACH(flow_registration, _necp_client_flow_tree, &client->flow_registrations) { in necp_defunct_client_fd_locked_inner()
4948 necp_destroy_flow_stats(client_fd, flow_registration, NULL, FALSE); in necp_defunct_client_fd_locked_inner()
5304 …struct necp_client_flow_registration *flow_registration = necp_client_find_flow(client, client_id); in necp_client_early_close() local
5305 if (flow_registration != NULL) { in necp_client_early_close()
5307 if (flow_registration->stats_handler_context != NULL) { in necp_client_early_close()
5308 ntstat_userland_stats_event(flow_registration->stats_handler_context, in necp_client_early_close()
5888 struct necp_client_flow_registration *flow_registration, /* For logging purposes only */ in necp_find_domain_info_common() argument
5905 NECP_CLIENT_FLOW_LOG(client, flow_registration, "Collecting stats"); in necp_find_domain_info_common()
5999 NECP_CLIENT_FLOW_LOG(client, flow_registration, in necp_find_domain_info_common()
6082 …struct necp_client_flow_registration *flow_registration = (struct necp_client_flow_registration *)… in necp_find_extension_info() local
6083 struct necp_client *client = flow_registration->client; in necp_find_extension_info()
6093 …_info_common(client, client->parameters, client->parameters_length, flow_registration, (nstat_doma… in necp_find_extension_info()
6112 uuid_copy(buf, flow_registration->registration_id); in necp_find_extension_info()
6207 …struct necp_client_flow_registration *flow_registration = (struct necp_client_flow_registration *)… in necp_request_tcp_netstats() local
6208 struct necp_client *client = flow_registration->client; in necp_request_tcp_netstats()
6209 …struct necp_all_stats *ustats_kaddr = ((struct necp_all_kstats *)flow_registration->kstats_kaddr)-… in necp_request_tcp_netstats()
6220 atomic_get_64(combined_interface_details, &flow_registration->last_interface_details); in necp_request_tcp_netstats()
6263 const struct sk_stats_flow *sf = &flow_registration->nexus_stats->fs_stats; in necp_request_tcp_netstats()
6309 uuid_copy(desc->fuuid, flow_registration->registration_id); in necp_request_tcp_netstats()
6319 LIST_FOREACH(flow, &flow_registration->flow_list, flow_chain) { in necp_request_tcp_netstats()
6377 …struct necp_client_flow_registration *flow_registration = (struct necp_client_flow_registration *)… in necp_request_udp_netstats() local
6378 struct necp_client *client = flow_registration->client; in necp_request_udp_netstats()
6379 …struct necp_all_stats *ustats_kaddr = ((struct necp_all_kstats *)flow_registration->kstats_kaddr)-… in necp_request_udp_netstats()
6390 atomic_get_64(combined_interface_details, &flow_registration->last_interface_details); in necp_request_udp_netstats()
6407 const struct sk_stats_flow *sf = &flow_registration->nexus_stats->fs_stats; in necp_request_udp_netstats()
6450 uuid_copy(desc->fuuid, flow_registration->registration_id); in necp_request_udp_netstats()
6460 LIST_FOREACH(flow, &flow_registration->flow_list, flow_chain) { in necp_request_udp_netstats()
6496 …struct necp_client_flow_registration *flow_registration = (struct necp_client_flow_registration *)… in necp_request_quic_netstats() local
6497 struct necp_client *client = flow_registration->client; in necp_request_quic_netstats()
6498 …struct necp_all_stats *ustats_kaddr = ((struct necp_all_kstats *)flow_registration->kstats_kaddr)-… in necp_request_quic_netstats()
6509 atomic_get_64(combined_interface_details, &flow_registration->last_interface_details); in necp_request_quic_netstats()
6545 const struct sk_stats_flow *sf = &flow_registration->nexus_stats->fs_stats; in necp_request_quic_netstats()
6589 uuid_copy(desc->fuuid, flow_registration->registration_id); in necp_request_quic_netstats()
6599 LIST_FOREACH(flow, &flow_registration->flow_list, flow_chain) { in necp_request_quic_netstats()
7059 struct necp_client_flow_registration *flow_registration = NULL; in necp_client_add() local
7060 RB_FOREACH(flow_registration, _necp_client_flow_tree, &parent->flow_registrations) { in necp_client_add()
7273 struct necp_client_flow_registration *flow_registration = NULL; in necp_client_remove() local
7275 RB_FOREACH_SAFE(flow_registration, _necp_fd_flow_tree, &fd_data->flows, temp_flow_registration) { in necp_client_remove()
7276 if (flow_registration->client == client) { in necp_client_remove()
7278 necp_destroy_flow_stats(fd_data, flow_registration, NULL, TRUE); in necp_client_remove()
7281 RB_REMOVE(_necp_client_flow_global_tree, &necp_client_flow_global_tree, flow_registration); in necp_client_remove()
7283 RB_REMOVE(_necp_fd_flow_tree, &fd_data->flows, flow_registration); in necp_client_remove()
7381 …struct necp_client_flow_registration *flow_registration = necp_client_fd_find_flow(fd_data, flow_i… in necp_client_remove_flow() local
7382 if (flow_registration != NULL) { in necp_client_remove_flow()
7385 necp_destroy_flow_stats(fd_data, flow_registration, &flow_ifnet_stats, TRUE); in necp_client_remove_flow()
7388 RB_REMOVE(_necp_client_flow_global_tree, &necp_client_flow_global_tree, flow_registration); in necp_client_remove_flow()
7390 RB_REMOVE(_necp_fd_flow_tree, &fd_data->flows, flow_registration); in necp_client_remove_flow()
7392 client = flow_registration->client; in necp_client_remove_flow()
7399 NECP_CLIENT_FLOW_LOG(client, flow_registration, "removing flow"); in necp_client_remove_flow()
7401 if (flow_registration != NULL && client != NULL) { in necp_client_remove_flow()
7403 if (flow_registration->client == client) { in necp_client_remove_flow()
7404 necp_destroy_client_flow_registration(client, flow_registration, fd_data->proc_pid, false); in necp_client_remove_flow()
7505 necp_client_calculate_flow_tlv_size(struct necp_client_flow_registration *flow_registration) in necp_client_calculate_flow_tlv_size() argument
7509 LIST_FOREACH(flow, &flow_registration->flow_list, flow_chain) { in necp_client_calculate_flow_tlv_size()
7530 struct necp_client_flow_registration *flow_registration, in necp_client_fillout_flow_tlvs() argument
7536 LIST_FOREACH(flow, &flow_registration->flow_list, flow_chain) { in necp_client_fillout_flow_tlvs()
7549 uuid_copy(header.flow_header.flow_id, flow_registration->registration_id); in necp_client_fillout_flow_tlvs()
7594 if (flow_registration->defunct) { in necp_client_fillout_flow_tlvs()
7679 flow_registration->flow_result_read = TRUE; in necp_client_fillout_flow_tlvs()
7718 struct necp_client_flow_registration *flow_registration = NULL; in necp_client_copy_internal() local
7719 RB_FOREACH(flow_registration, _necp_client_flow_tree, &client->flow_registrations) { in necp_client_copy_internal()
7720 if (flow_registration->defunct) { in necp_client_copy_internal()
7723 assigned_results_size += necp_client_calculate_flow_tlv_size(flow_registration); in necp_client_copy_internal()
7779 struct necp_client_flow_registration *flow_registration = NULL; in necp_client_copy_internal() local
7780 RB_FOREACH(flow_registration, _necp_client_flow_tree, &client->flow_registrations) { in necp_client_copy_internal()
7781 …error = necp_client_fillout_flow_tlvs(client, client_is_observed, flow_registration, uap, &assigne… in necp_client_copy_internal()
9562 struct necp_client_flow_registration *flow_registration, in necp_client_stats_bufreq() argument
9580 if (flow_registration->ustats_uaddr == 0) { in necp_client_stats_bufreq()
9582 ASSERT(flow_registration->stats_arena == NULL); in necp_client_stats_bufreq()
9583 ASSERT(flow_registration->kstats_kaddr == NULL); in necp_client_stats_bufreq()
9584 ASSERT(flow_registration->ustats_uaddr == 0); in necp_client_stats_bufreq()
9585 …error = necp_arena_stats_obj_alloc(fd_data, &off, &flow_registration->stats_arena, &flow_registrat… in necp_client_stats_bufreq()
9588 ASSERT(flow_registration->stats_arena != NULL); in necp_client_stats_bufreq()
9589 necp_arena_info_retain(flow_registration->stats_arena); in necp_client_stats_bufreq()
9592 flow_registration->ustats_uaddr = flow_registration->stats_arena->nai_mmap.ami_mapaddr + off; in necp_client_stats_bufreq()
9597 LIST_INSERT_HEAD(&necp_collect_stats_flow_list, flow_registration, collect_stats_chain); in necp_client_stats_bufreq()
9601 ASSERT(flow_registration->stats_arena == NULL); in necp_client_stats_bufreq()
9602 ASSERT(flow_registration->kstats_kaddr == NULL); in necp_client_stats_bufreq()
9605 if (flow_registration->ustats_uaddr != 0) { in necp_client_stats_bufreq()
9607 ASSERT(flow_registration->stats_arena != NULL); in necp_client_stats_bufreq()
9608 ASSERT(flow_registration->kstats_kaddr != NULL); in necp_client_stats_bufreq()
9610 struct necp_all_kstats *kstats = (struct necp_all_kstats *)flow_registration->kstats_kaddr; in necp_client_stats_bufreq()
9619 bufreq->necp_stats_bufreq_uaddr = flow_registration->ustats_uaddr; in necp_client_stats_bufreq()
9629 necp_client_stats_initial(struct necp_client_flow_registration *flow_registration, uint32_t stats_t… in necp_client_stats_initial() argument
9632 assert(flow_registration->stats_handler_context == NULL); in necp_client_stats_initial()
9633 assert(flow_registration->stats_arena); in necp_client_stats_initial()
9634 assert(flow_registration->ustats_uaddr); in necp_client_stats_initial()
9635 assert(flow_registration->kstats_kaddr); in necp_client_stats_initial()
9642flow_registration->stats_handler_context = ntstat_userland_stats_open((userland_stats_provider_con… in necp_client_stats_initial()
9644 if (flow_registration->stats_handler_context == NULL) { in necp_client_stats_initial()
9654flow_registration->stats_handler_context = ntstat_userland_stats_open((userland_stats_provider_con… in necp_client_stats_initial()
9656 if (flow_registration->stats_handler_context == NULL) { in necp_client_stats_initial()
9665 …if (stats_ver == NECP_CLIENT_STATISTICS_TYPE_QUIC_VER_1 && flow_registration->flags & NECP_CLIENT_… in necp_client_stats_initial()
9666flow_registration->stats_handler_context = ntstat_userland_stats_open((userland_stats_provider_con… in necp_client_stats_initial()
9668 if (flow_registration->stats_handler_context == NULL) { in necp_client_stats_initial()
9687 struct necp_client_flow_registration *flow_registration, in necp_stats_initialize() argument
9704 error = necp_client_stats_bufreq(fd_data, client, flow_registration, bufreq, &stats_hdr); in necp_stats_initialize()
9709 if (flow_registration->stats_handler_context == NULL) { in necp_stats_initialize()
9710 …error = necp_client_stats_initial(flow_registration, stats_hdr.necp_stats_type, stats_hdr.necp_sta… in necp_stats_initialize()
9711 if (flow_registration->stats_handler_context != NULL) { in necp_stats_initialize()
9712 …ntstat_userland_stats_event(flow_registration->stats_handler_context, NECP_CLIENT_STATISTICS_EVENT… in necp_stats_initialize()
9714 NECP_CLIENT_FLOW_LOG(client, flow_registration, "Initialized stats <error %d>", error); in necp_stats_initialize()
9850 struct necp_client_flow_registration *flow_registration = necp_client_find_flow(client, client_id); in necp_client_update_cache() local
9851 if (flow_registration == NULL) { in necp_client_update_cache()
9860 struct necp_client_flow *flow = LIST_FIRST(&flow_registration->flow_list); in necp_client_update_cache()