batadv_tt_global_check_crc(9)
π batadv_tt_global_check_crc β the vibe check for CRCs
okay so first things first, bestie: this is a page from the Kernel API Manual, and it's literally all about batadv_tt_global_check_crc. yes the name is a mouthful, no you don't have to say it out loud. π«Ά
β¨ NAME β¨
batadv_tt_global_check_crc β check if all the CRCs are correct
likeβ¦ all of them. every single one. it's giving "paranoid but in a cute way". π
πΈ SYNOPSIS πΈ
bool batadv_tt_global_check_crc (struct batadv_orig_node *orig_node ,
struct batadv_tvlv_tt_vlan_data *tt_vlan , u16 num_vlan );
so it returns a bool, takes three things, and yes that spacing is exactly how it's written, don't come for me. β¨
π ARGUMENTS π
orig_nodeβ the originator for which the CRCs have to be checked. like, whose CRCs are we even questioning here? this one. πtt_vlanβ pointer to the first tvlv VLAN entry. the starting point of the whole little lineup.num_vlanβ number of tvlv VLAN entries. gotta know how many to walk through, obviously. π’
π¦ RETURN π¦
returns true if all the received CRCs match the locally stored ones, and false otherwise. that's it, that's the whole verdict. no cap β a clean little boolean, no drama. π
ngl, "all" is doing a lot of heavy lifting here. if even one CRC doesn't match, you're getting a false and that's that. π
π SEE ALSO π
okay bestie, buckle up, because this is the part where the manpage just lists the entire translation-table extended family. iykyk. the kernel file is ./net/batman-adv/translation-table.c, and here is every icon in the group chat:
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_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)
not me listing literally every single one π but fr, they're all in ./net/batman-adv/translation-table.c and they're all one big happy family. main character energy, honestly. π
that's the whole page, bestie β go forth and validate those CRCs. π§
π sign-off time: this lil slice of kernel lore lives in ./net/batman-adv, and the version stamp on it says October 2026. yes, the future. ate. π
β¨
π¦ 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