batadv_tt_tvlv_generate(9)
π batadv_tt_tvlv_generate β the kernel API manual flex β¨
okay so bestie, welcome to the Kernel API Manual page for batadv_tt_tvlv_generate(9) β yes that's a whole mouthful, we're gonna get through it together π«Ά
πΈ NAME πΈ
batadv_tt_tvlv_generate β fills the tvlv buffer with the tt entries from the specified tt hash π (that's literally the whole vibe, no cap)
β¨ SYNOPSIS β¨
u16 batadv_tt_tvlv_generate (struct batadv_priv *bat_priv , struct
batadv_hashtable *hash , void *tvlv_buff , u16 tt_len , bool
(*valid_cb)(const void *, const void *, u8 *flags) , void *cb_data );
π ARGUMENTS π
bat_privβ the bat priv holding all the mesh interface information, the whole group chat of the mesh basically πhashβ the hash table containing the tt entries, i.e. where all the lore livestvlv_buffβ pointer to the buffer you're filling with the TT data, the little container you're packing πtt_lenβ the expected tvlv tt data buffer length, measured in number of bytes (bytes, bestie, not vibes)valid_cbβ function to filter tt change entries and to return TT flags; it's the bouncer at the door πͺcb_dataβ data passed to the filter function as argument, snacks for the bouncer fr fr
π¦ DESCRIPTION π¦
Fills the tvlv buff with the tt entries from the specified hash π«
and if valid_cb is not provided?? it literally becomes a no-op. nothing happens. it's giving main character who didn't show up π so like, make sure you pass it.
π RETURN π
Remaining unused length in tvlv_buff β the leftover bytes, the crumbs at the bottom of the bag π
π SEE ALSO π
Kernel file ./net/batman-adv/translation-table.c and all these iconic siblings:
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_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)π
and that's the page bestie!! this one ships out of the source tree ./net/batman-adv, dated October 2026 β jot that down, it's giving vintage but make it future π°οΈβ¨ tysm for reading, go fill some buffers, ily, bye π
ππ«Ά
π¦ 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