batadv_hardif_neigh_create(9)
π batadv_hardif_neigh_create(9) β kernel API manual, but make it make sense
okay so bestie, welcome to the kernel API manual for batadv_hardif_neigh_create(9). yes it's a mouthful. no we're not skipping it. this is the originator.c-adjacent lore and it's lowkey iconic. π¦
β¨ NAME β¨
batadv_hardif_neigh_create β create a hardif neighbour node π
like, literally the function that spins up a neighbour node on a hard interface. that's the whole vibe.
πΈ SYNOPSIS πΈ
struct batadv_hardif_neigh_node * batadv_hardif_neigh_create (struct
batadv_hard_iface *hard_iface , const u8 *neigh_addr , struct
batadv_orig_node *orig_node );
it returns a struct batadv_hardif_neigh_node *. yes the asterisk is doing main character work. it always is. π«
π ARGUMENTS π
hard_ifaceβ the interface this neighbour is connected to. like, the hard interface it's literally attached to, no cap.neigh_addrβ the interface address of the neighbour to retrieve. it's aconst u8 *, so hands off, okay? πorig_nodeβ originator object representing the neighbour. the originator in question, fr fr.
π₯ RETURN π₯
the hardif neighbour node if found or created, or NULL otherwise.
so either you get the node (found or freshly created, either way slay) or you get NULL. that's the entire range of outcomes. check it before you dereference it or it's giving undefined behaviour energy. π
π SEE ALSO π
the kernel file is ./net/batman-adv/originator.c β that's the home base bestie π
batadv_orig_hash_find(9)batadv_compare_orig(9)batadv_orig_node_vlan_get(9)batadv_vlan_id_valid(9)batadv_orig_node_vlan_new(9)batadv_orig_node_vlan_release(9)batadv_originator_init(9)batadv_neigh_ifinfo_release(9)batadv_hardif_neigh_release(9)batadv_neigh_node_release(9)batadv_orig_router_get(9)batadv_orig_to_router(9)batadv_orig_ifinfo_get(9)batadv_orig_ifinfo_new(9)batadv_neigh_ifinfo_get(9)batadv_neigh_ifinfo_new(9)batadv_neigh_node_get(9)batadv_hardif_neigh_get_or_create(9)batadv_hardif_neigh_get(9)batadv_neigh_node_create(9)batadv_neigh_node_get_or_create(9)batadv_hardif_neigh_dump(9)batadv_orig_ifinfo_release(9)batadv_orig_node_free_rcu(9)batadv_orig_node_release(9)batadv_originator_free(9)batadv_orig_node_new(9)batadv_purge_neigh_ifinfo(9)batadv_purge_orig_ifinfo(9)batadv_purge_orig_neighbors(9)batadv_find_best_neighbor(9)batadv_purge_orig_node(9)batadv_purge_orig_ref(9)batadv_purge_orig(9)batadv_orig_dump(9)
that's thirty-five cross-references bestie. thirty-five. we read them all. we did not skim. π«Ά
and that's the whole page! sourced from ./net/batman-adv, dated October 2026, and filed under batadv_hardif_neigh_create(9) β go forth and make neighbour nodes, you absolute icon πβ¨π
π¦ 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