_batadv_is_ap_isolated(9)
π
_batadv_is_ap_isolated(9) β Kernel API Manual, bestie edition β¨
okay so this is a page straight out of the Kernel API Manual, and it's about the one function that decides whether two clients are allowed to talk to each other on your AP. yes, that AP. the isolation one. let's get into it π«Ά
πΈ NAME πΈ
_batadv_is_ap_isolated β check whether two clients are AP-isolated from each other π
like, literally: are these two ghosting each other at the access-point level or not.
β¨ SYNOPSIS β¨
bool _batadv_is_ap_isolated (struct batadv_tt_local_entry
*tt_local_entry , struct batadv_tt_global_entry *tt_global_entry );
it returns a bool, it takes two TT entries, and yes the formatting is cursed. copy it exactly, don't @ me π
π ARGUMENTS π
tt_local_entryβ the local TT entry of the sending client. this is the one doing the talking πtt_global_entryβ the global TT entry of the destination client. this is the one on the receiving end π¦
β RETURN β
returns true if traffic between the two clients should be dropped, because either:
- both of them are WiFi clients πΆ, or
- both of them carry the
ISOLATIONflag π©
and false otherwise. that's it. that's the whole vibe check. no cap.
π SEE ALSO π
okay this list is long long, but we do not skip. every single one, bestie, in order, exactly as written. it's giving "translation-table.c said let me introduce my whole extended family" π
batadv_compare_tt(9)batadv_choose_tt(9)batadv_tt_hash_find(9)batadv_tt_local_hash_find(9)batadv_tt_global_hash_find(9)batadv_tt_local_entry_release(9)batadv_tt_local_entry_put(9)batadv_tt_global_entry_release(9)batadv_tt_global_hash_count(9)batadv_tt_local_size_mod(9)batadv_tt_local_size_inc(9)batadv_tt_local_size_dec(9)batadv_tt_global_size_mod(9)batadv_tt_global_size_inc(9)batadv_tt_global_size_dec(9)batadv_tt_orig_list_entry_release(9)batadv_tt_orig_list_entry_put(9)batadv_tt_local_event(9)batadv_tt_len(9)batadv_tt_entries(9)batadv_tt_local_table_transmit_size(9)batadv_tt_local_init(9)batadv_tt_global_free(9)batadv_tt_local_add(9)batadv_tt_prepare_tvlv_global_data(9)batadv_tt_prepare_tvlv_local_data(9)batadv_tt_tvlv_container_update(9)batadv_tt_local_dump_entry(9)batadv_tt_local_dump_bucket(9)batadv_tt_local_dump(9)batadv_tt_local_set_pending(9)batadv_tt_local_remove(9)batadv_tt_local_purge_list(9)batadv_tt_local_purge(9)batadv_tt_local_table_free(9)batadv_tt_global_init(9)batadv_tt_changes_list_free(9)batadv_tt_global_orig_entry_find(9)batadv_tt_global_entry_has_orig(9)batadv_tt_global_sync_flags(9)batadv_tt_global_orig_entry_add(9)batadv_tt_global_add(9)batadv_transtable_best_orig(9)batadv_tt_global_dump_subentry(9)batadv_tt_global_dump_entry(9)batadv_tt_global_dump_bucket(9)batadv_tt_global_dump(9)_batadv_tt_global_del_orig_entry(9)batadv_tt_global_del_orig_list(9)batadv_tt_global_del_orig_node(9)batadv_tt_global_del_roaming(9)batadv_tt_global_del(9)batadv_tt_global_del_orig(9)batadv_tt_global_to_purge(9)batadv_tt_global_purge(9)batadv_tt_global_table_free(9)batadv_transtable_search(9)batadv_tt_global_crc(9)batadv_tt_local_crc(9)batadv_tt_req_node_release(9)batadv_tt_req_node_put(9)batadv_tt_req_list_free(9)batadv_tt_save_orig_buffer(9)batadv_tt_req_purge(9)batadv_tt_req_node_new(9)batadv_tt_local_valid(9)batadv_tt_global_valid(9)batadv_tt_tvlv_generate(9)batadv_tt_global_check_crc(9)batadv_tt_local_update_crc(9)batadv_tt_global_update_crc(9)batadv_send_tt_request(9)batadv_send_other_tt_response(9)batadv_send_my_tt_response(9)batadv_send_tt_response(9)_batadv_tt_update_changes(9)batadv_tt_fill_gtable(9)batadv_tt_update_changes(9)batadv_is_my_client(9)batadv_handle_tt_response(9)batadv_tt_roam_list_free(9)batadv_tt_roam_purge(9)batadv_tt_check_roam_count(9)batadv_send_roam_adv(9)batadv_tt_purge(9)batadv_tt_free(9)batadv_tt_local_set_flags(9)batadv_tt_local_purge_pending_clients(9)batadv_tt_local_commit_changes_nolock(9)batadv_tt_local_commit_changes(9)batadv_is_ap_isolated(9)batadv_tt_update_orig(9)batadv_tt_global_client_is_roaming(9)batadv_tt_local_client_is_roaming(9)batadv_tt_add_temporary_global_entry(9)batadv_tt_local_resize_to_mtu(9)batadv_tt_tvlv_ogm_handler_v1(9)batadv_tt_tvlv_unicast_handler_v1(9)batadv_roam_tvlv_unicast_handler_v1(9)batadv_tt_init(9)batadv_tt_global_is_isolated(9)batadv_tt_cache_init(9)batadv_tt_cache_destroy(9)
side note: yeah, batadv_is_ap_isolated(9) (no underscore) shows up in there too. that's a different function, bestie. do not conflate them, i'm begging π
and the whole thing lives in the kernel file ./net/batman-adv/translation-table.c, so that's your reading assignment π
β¨ that's the page! β¨ mwah π this one shipped as part of ./net/batman-adv, dated October 2026 β go forth and isolate those APs, you're gonna slay ππ¦π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms