batadv_iv_ogm_update_seqnos(9)
π batadv_iv_ogm_update_seqnos(9) π
okay bestie, welcome to the Kernel API Manual β yes, that's the manual name, we're being fancy today π β and today's main character is batadv_iv_ogm_update_seqnos. She's a whole vibe.
β¨ NAME β¨
batadv_iv_ogm_update_seqnos β process a batman packet for all interfaces, adjust the sequence number and find out whether it is a duplicate π¦
like, she takes the packet, she runs it past every interface, she tweaks that sequence number, and then she's the one who goes "hmmβ¦ have i seen you before?" π
πΈ SYNOPSIS πΈ
enum batadv_dup_status batadv_iv_ogm_update_seqnos (const struct ethhdr
*ethhdr , const struct batadv_ogm_packet *batadv_ogm_packet , const
struct batadv_hard_iface *if_incoming , struct batadv_hard_iface
*if_outgoing );
not me dropping the entire signature on you, but yes, that's her in all her glory β copy it exactly, no freestyling π
π ARGUMENTS π
ethhdrβ the ethernet header of the packet. yep, the preamble situation πbatadv_ogm_packetβ the OGM packet we're actually considering here. the one under the microscope πif_incomingβ the interface on which the OGM packet was received. where she came in at πif_outgoingβ the interface for which the retransmission should be considered. where she might be headed next π«
β RETURN β
she gives you back a duplicate status, as enum batadv_dup_status π
like β that's literally the entire answer. is it a dupe or not. iconic behaviour, no notes.
π¦ SEE ALSO π¦
first up, the kernel file where all this lives: ./net/batman-adv/bat_iv_ogm.c π§
and thenβ¦ the whole friend group. everyone's invited, nobody gets left out π«Ά
enum batadv_dup_status(9)batadv_ring_buffer_set(9)batadv_ring_buffer_avg(9)batadv_iv_ogm_orig_get(9)batadv_iv_ogm_neigh_new(9)batadv_iv_ogm_iface_enable(9)batadv_iv_ogm_iface_disable(9)batadv_iv_ogm_iface_update_mac(9)batadv_iv_ogm_primary_iface_set(9)batadv_iv_ogm_emit_send_time(9)batadv_iv_ogm_fwd_send_time(9)batadv_hop_penalty(9)batadv_iv_ogm_aggr_packet(9)batadv_iv_ogm_send_to_if(9)batadv_iv_ogm_emit(9)batadv_iv_ogm_can_aggregate(9)batadv_iv_ogm_aggregate_new(9)batadv_iv_ogm_aggregate(9)batadv_iv_ogm_queue_add(9)batadv_iv_ogm_forward(9)batadv_iv_ogm_slide_own_bcast_window(9)batadv_iv_ogm_schedule_buff(9)batadv_iv_ogm_schedule(9)batadv_iv_ogm_reschedule(9)batadv_iv_orig_ifinfo_sum(9)batadv_iv_ogm_neigh_ifinfo_sum(9)batadv_iv_ogm_orig_update(9)batadv_iv_ogm_calc_tq(9)batadv_orig_to_direct_router(9)batadv_iv_ogm_process_per_outif(9)batadv_iv_ogm_process_reply(9)batadv_iv_ogm_process(9)batadv_iv_send_outstanding_bat_ogm_packet(9)batadv_iv_ogm_receive(9)batadv_iv_ogm_neigh_get_tq_avg(9)batadv_iv_ogm_orig_dump_subentry(9)batadv_iv_ogm_orig_dump_entry(9)batadv_iv_ogm_orig_dump_bucket(9)batadv_iv_ogm_orig_dump(9)batadv_iv_ogm_neigh_diff(9)batadv_iv_ogm_neigh_dump_neigh(9)batadv_iv_ogm_neigh_dump_hardif(9)batadv_iv_ogm_neigh_dump(9)batadv_iv_ogm_neigh_cmp(9)batadv_iv_ogm_neigh_is_sob(9)batadv_iv_iface_enabled(9)batadv_iv_init_sel_class(9)batadv_iv_gw_get_best_gw_node(9)batadv_iv_gw_is_eligible(9)batadv_iv_gw_dump_entry(9)batadv_iv_gw_dump(9)batadv_iv_init(9)batadv_iv_deinit(9)
ngl, that's a long list. but every single one of them is on here for a reason, so don't skip a single soul π
π the sign-off π
this whole thing lives over in ./net/batman-adv, and it's dated October 2026 β and the page itself goes by batadv_iv_ogm_update_seqnos(9), in case you forgot who the moment belonged to πβ¨
k bye, go read your kernel source, ily ππ¦
π¦ 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