batadv_tt_global_valid(9)
π batadv_tt_global_valid(9) β bestie edition
okay so this is a page straight out of the Kernel API Manual (yes, that's the whole manual name, we're fancy like that β¨), and it's about one little function that does a vibe check on global TT entries. it's short, it's sweet, let's go π«Ά
πΈ NAME πΈ
batadv_tt_global_valid β verify global tt entry and get flags π
like, the whole job is: is this entry valid or not, and while we're here, lemme hand you the flags.
β¨ SYNOPSIS β¨
bool batadv_tt_global_valid (const void *entry_ptr , const void
*data_ptr , u8 *flags );
note the return type bestie: it's a bool. true or false, no in-between, no "it's complicated" π
π ARGUMENTS π
entry_ptrβ the global tt entry that's about to get checked, aka the main character of this whole page πdata_ptrβ anorig_nodeobject, and lowkey it may beNULL. that's not a typo, that's allowed, keep up π₯flagsβ a pointer where we're gonna store the TT flags for this client. you hand it over, we fill it in π
π¦ DESCRIPTION π¦
so basically: it checks the validity of the given global TT entry. that's the whole first step, no cap.
and if it's valid? then the flags pointer you so kindly provided gets updated. and here's the fork in the road iykyk:
- if
data_ptrisNULLβ you get the common (summed) TT flags π - otherwise β you get the specific, per originator TT flags for that one originator π§
the way that it just picks the flavour based on whether data_ptr is NULLβ¦ iconic behaviour honestly π
β RETURN β
true if the entry is a valid, false otherwise. π―
(yes, that's exactly how the original words it β "if the entry is a valid" β we're not fixing it, we're respecting it, periodt π)
π SEE ALSO π
brought to you by ./net/batman-adv/translation-table.c β the whole translation-table friend group showed up and honestly? obsessed. πΈπ
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_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)
fr fr that's the entire list, every single one, we did not skip a single (9) because that would be disrespectful ππ«Ά
π cute little sign-off π
this lil page lives in ./net/batman-adv and it's dated October 2026 β so yeah, it's giving future icon, main character energy from day one πβ¨
slay, go read some translation-table code, and remember: check your entries, store your flags, and never pass a bad pointer bestie ππ§π
π¦ 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