batadv_tt_global_add(9)
π batadv_tt_global_add(9) π
okay bestie, welcome to the Kernel API Manual page for batadv_tt_global_add(9) β yes that's the whole name, it's a whole vibe, we love a long descriptive function name in this house π«Ά
β¨ NAME β¨
batadv_tt_global_add β add a new TT global entry or update an existing one π
πΈ SYNOPSIS πΈ
bool batadv_tt_global_add (struct batadv_priv *bat_priv , struct
batadv_orig_node *orig_node , const unsigned char *tt_addr , unsigned
short vid , u16 flags , u8 ttvn );
like literally that's the whole signature, no cap π
π¦ ARGUMENTS π¦
bat_privβ the bat priv with all the mesh interface information (it's giving main character energy, it holds everything)orig_nodeβ the originator announcing the client πtt_addrβ the mac address of the non-mesh client πvidβ VLAN identifierflagsβ TT flags that have to be set for this non-mesh clientttvnβ the tt version number ever announcing this non-mesh client
π DESCRIPTION π
so here's the tea β β this function adds a new TT global entry for the given originator.
if the entry already exists? it adds a new reference to the given originator (and yes, a global entry can have references to multiple originators β it's poly, it's fine π) and adjusts the flags attribute to reflect the function argument. slay.
also, if a TT local entry exists for this non-mesh client, it removes it. bye bestie π
β οΈ important caveat, don't skip this: The caller must hold the orig_node refcount. fr fr, hold it before you call this, no exceptions.
β RETURN β
trueβ if the new entry has been added πfalseβ otherwise π
π SEE ALSO π
Kernel file ./net/batman-adv/translation-table.c and, honestly, 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_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_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 π this little readme of a manpage lives in ./net/batman-adv and it's dated October 2026 β go forth and add those TT global entries, you've got this π§β¨
π¦ 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