batadv_tvlv_call_handler(9)
π batadv_tvlv_call_handler(9) π
okay so we're deep in the kernel docs rn β this one lives in the Kernel API Manual, and it's literally the function that takes your tvlv buffer and goes "bestie, let me find the right handler for you" π«Ά
β¨ NAME β¨
batadv_tvlv_call_handler β parse the given tvlv buffer to call the appropriate handlers
the way this one function just runs the whole group chat of handlersβ¦ main character energy fr fr π
πΈ SYNOPSIS πΈ
int batadv_tvlv_call_handler (struct batadv_priv *bat_priv , struct
batadv_tvlv_handler *tvlv_handler , u8 packet_type , struct
batadv_orig_node *orig_node , struct sk_buff *skb , void *tvlv_value ,
u16 tvlv_value_len );
seven args, no cap. she's got a lot going on and we love her for it π
π ARGUMENTS π
bat_privβ the bat priv with all the mesh interface information β¨ like, all of it. every last mesh interface detail is in here.tvlv_handlerβ the tvlv callback function handling the tvlv content. this is the lil bestie that actually does the work π«Άpacket_typeβ indicates for which packet type the TVLV handler is called π so she knows what kind of packet we're dealing with.orig_nodeβ orig node emitting the ogm packet π‘ yup, the origin node, the one sending the ogm.skbβ the skb the TVLV handler is called for π¦ the socket buffer in question, periodt.tvlv_valueβ tvlv content. the actual goods πtvlv_value_lenβ tvlv content length π gotta know how long the content is, obviously.
β RETURN β
so what do you get back? glad you asked π
NET_RX_SUCCESS if the handler was not found β yeah, not found still gets you a success, iconic β or the return value of the handler callback. and that latter one is NET_RX_SUCCESS or NET_RX_DROP for the unicast handler, and additionally a negative errno code for the mcast handler π
ngl the mcast handler has extra range β she can hit you with an errno too. keep an eye on it π
π¦ SEE ALSO π¦
Kernel file ./net/batman-adv/tvlv.c β and literally the whole tvlv extended family, we're doing a reunion π
batadv_tvlv_handler_release(9)batadv_tvlv_handler_put(9)batadv_tvlv_handler_get(9)batadv_tvlv_container_release(9)batadv_tvlv_container_put(9)batadv_tvlv_container_get(9)batadv_tvlv_container_list_size(9)batadv_tvlv_container_remove(9)batadv_tvlv_container_unregister(9)batadv_tvlv_container_register(9)batadv_tvlv_realloc_packet_buff(9)batadv_tvlv_container_ogm_append(9)batadv_tvlv_hdr_next(9)batadv_tvlv_containers_contain(9)batadv_tvlv_containers_process(9)batadv_tvlv_ogm_receive(9)batadv_tvlv_handler_register(9)batadv_tvlv_handler_unregister(9)batadv_tvlv_unicast_send(9)
and that's the whole thing bestie, go forth and call your handlers πΈπ§π
π lil sign-off: this page came from ./net/batman-adv and it's dated October 2026 β so yeah, she's from the future, slay. mwah π
π¦ 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