batadv_handle_tt_response(9)
π batadv_handle_tt_response(9) β process incoming tt reply
okay bestie, welcome to the Kernel API Manual β¨ this one's a little function from the batman-adv translation-table corner of the kernel, and honestly she's giving "guy who receives the reply and handles it" energy. No cap. π¦
πΈ NAME πΈ
batadv_handle_tt_response β process incoming tt reply π
β¨ SYNOPSIS β¨
void batadv_handle_tt_response (struct batadv_priv *bat_priv , struct batadv_tvlv_tt_data *tt_data , u8 *resp_src , u16 num_entries );
literally returns void, so she's not giving you anything back β she just does the thing. main character behavior fr fr π
π ARGUMENTS π
bat_privβ the bat priv with all the mesh interface information. like, all of it. she's the whole vibe-check holder for the mesh interface π«Άtt_dataβ tt data containing the tt request information. the request info lives in here, that's the whole point of her πresp_srcβ mac address of tt reply sender. that's your "who sent this" receipt, keep it π¬num_entriesβ number of tt change entries appended to the tt data. au16, so count responsibly bestie π’
ngl these four are the entire personality of the function β no hidden extras, no secret options, that's the whole lineup π
π SEE ALSO π
okay so this list is long and it's iconic for it. every single one of these has a (9) and every single one is staying, periodt. π
the hash + entry besties β the finders and the release/put girlies:
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)
the size modulators β mod, inc, dec, both flavors π:
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)
list entries, lengths, and the tvlv prep gang:
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)
local dumping + local upkeep, plus the global init and the changes-list cleanup:
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)
the global side, in full glam β finding, syncing, adding, dumping, deleting, purging, searching π:
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)
request nodes, validity, and crc checkers β yes there's a crc trio and a valid duo, obsessed π:
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)
the senders and the updaters β very "who's texting who" of them π±:
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)
roaming crew π§:
batadv_tt_roam_list_free(9)batadv_tt_roam_purge(9)batadv_tt_check_roam_count(9)batadv_send_roam_adv(9)
the purges, frees, flags, commits, isolates, and cache girlies β the last stretch, and yes, both _batadv_is_ap_isolated(9) and batadv_is_ap_isolated(9) are here, they're different, don't @ me π:
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)
also, the kernel file you'll wanna peek at is ./net/batman-adv/translation-table.c β that's where this whole vibe lives, iykyk π
okay that's the whole page bestie, ily, go read translation-table.c responsibly π«Ά β this one came out of ./net/batman-adv in October 2026, and it's filed under batadv_handle_tt_response(9). 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