batadv_tt_save_orig_buffer(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ batadv_tt_save_orig_buffer(9) πŸŽ€

okay so you've wandered into the Kernel API Manual and landed on the page for batadv_tt_save_orig_buffer, and honestly? you're in good hands. this is the whole thing, no skips, no skimming. πŸ’…


✨ NAME ✨

batadv_tt_save_orig_buffer β€” cache the latest TT TVLV payload of an originator πŸ¦‹

🌸 SYNOPSIS 🌸

void batadv_tt_save_orig_buffer (struct batadv_priv *bat_priv , struct batadv_orig_node *orig_node , const void *tt_buff , u16 tt_buff_len );

not me showing you the whole signature, periodt. πŸ‘‘

πŸ’– ARGUMENTS πŸ’–

  • bat_priv β€” the bat priv, i.e. the thing holding all the mesh interface information 🫢
  • orig_node β€” the originator for which the buffer should be created, main character energy fr
  • tt_buff β€” a pointer to the TT TVLV payload you wanna cache ✨
  • tt_buff_len β€” length of tt_buff in bytes, yes we're counting πŸ“

πŸ’« DESCRIPTION πŸ’«

so picture this: orig_node already has a TT payload cached, and you're rolling up like "not to be dramatic but we're replacing that." this function does exactly that β€” it replaces the previously cached TT payload of orig_node with a copy of tt_buff. iconic, lowkey simple. πŸ’…

now the part you cannot skip: when tt_buff_len is 0, the buffer is left untouched. literally untouched. and that's on purpose, so that empty OGM updates do not discard the previously cached data. 🫢 no cap, that detail is the whole vibe of this function.

bestie pls don't assume it wipes stuff when the length is zero β€” it does not, and the man page says so explicitly. πŸ™ˆ

πŸ¦‹ SEE ALSO πŸ¦‹

the kernel file for this is ./net/batman-adv/translation-table.c, and the whole squad is here, in order, no one left behind:

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_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)


and that's the whole page, bestie β€” no crumbs left. πŸ“ this one comes from ./net/batman-adv, stamped October 2026, and it's filed under batadv_tt_save_orig_buffer(9) forever and ever. mwah. πŸ’œβœ¨

πŸ“¦ where this page comes from