batadv_send_tt_request(9)
π batadv_send_tt_request β the Kernel API Manual, bestie edition π«Ά
Okay so this one is from the batadv_send_tt_request(9) manual page, and literally all it does is: send a TT Request message to a given node. That's it. That's the whole vibe. But let's get into it, because the details are everything β¨
πΈ NAME πΈ
batadv_send_tt_request β send a TT Request message to a given node
Like, you're the source of the message, you want translation table info from somebody, and this is the function that goes "hey bestie, send me your table" π
β¨ SYNOPSIS β¨
bool batadv_send_tt_request (struct batadv_priv *bat_priv , struct
batadv_orig_node *dst_orig_node , u8 ttvn , struct
batadv_tvlv_tt_vlan_data *tt_vlan , u16 num_vlan , bool full_table );
Returns a bool, so like⦠true or false. Iconic of it, honestly.
π¦ ARGUMENTS π¦
bat_privβ the bat priv with all the mesh interface information. It's giving "main character struct," it knows everything about the mesh interface πdst_orig_nodeβ the destination of the message. Like, who you're sending this to. iykyk.ttvnβ the version number that the source of the message is looking for. Obsessed with versioning, ngl.tt_vlanβ pointer to the first tvlv VLAN object to request. First one only, periodt. πnum_vlanβ number of tvlv VLAN entries.full_tableβ ask for the entire translation table if true, while only for the last TT diff otherwise. Sotrue= give me everything,false= just the recent diff. Choose wisely, bestie π
β RETURN β
true if the TT Request was sent, false otherwise.
That's it. No dramatic twist, no undefined behaviour horror story. Just a little boolean truth-telling π
π§ SEE ALSO π§
Kernel file ./net/batman-adv/translation-table.c β and like, the entire extended friend group:
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_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), 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 page, bestie β go send some TT requests π
Cute little sign-off: this one lives in ./net/batman-adv, the manual's dated October 2026, and it's the batadv_send_tt_request(9) page from the Kernel API Manual set ππ
π¦ 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