batadv_tt_local_purge_list(9)
π batadv_tt_local_purge_list β kernel API manual, section 9
okay so this is batadv_tt_local_purge_list(9), straight out of the Kernel API Manual, and it's genuinely one of those little cleanup gremlins that keeps the mesh from drowning in its own history. Bestie, it purges inactive tt local entries. That's the whole vibe. It's the "girl, you haven't been active in a minute, bye" of the batman-adv translation table. π§Ήβ¨
β¨ NAME β¨
batadv_tt_local_purge_list β purge inactive tt local entries
Like, literally the name. No plot twist. π
πΈ SYNOPSIS πΈ
void batadv_tt_local_purge_list (struct batadv_priv *bat_priv , struct
hlist_head *head , int timeout );
Three args, void return, no drama. She goes in, she cleans up, she leaves. main character energy fr fr. π
π ARGUMENTS π
bat_privβ the bat priv with all the mesh interface information. it's the big one, the whole context, the girl who knows everything about every mesh interface. do not lose her. π«Άheadβ pointer to the list containing the local tt entries. yes, this is the list you're about to go through. the one getting the vibe check. πΈtimeoutβ parameter deciding whether a given tt local entry is considered inactive or not. so it's not a timer that fires, it's the threshold β the "how stale is too stale" number. each entry gets judged against it, one by one, no cap. π
π SEE ALSO π
Kernel file ./net/batman-adv/translation-table.c β and okay the extended family is huge, so buckle up bestie, here's the whole group chat:
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(9), batadv_tt_local_table_free(9), batadv_tt_global_init(9), batadv_tt_changes_list_free(9).
More. There's always more. π
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_is_ap_isolated(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).
Still going, we're committed now. π₯
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).
that's the whole list, i counted, we ate. π
ngl, the classic move isbatadv_tt_local_purge(9)for the whole table, and this one when you've already got a specificheadin hand and just need that one list swept. iykyk. π
and that's the page, bestie β drop a π¦ for the tt local purge, because she keeps your mesh table from becoming a graveyard of ghost clients.
source: ./net/batman-adv Β· dated October 2026 β¨
signed off with love from the kernel API manual, section 9 β mwah π
π¦ 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