batadv_hardif_no_broadcast(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… batadv_hardif_no_broadcast(9)

okay so this is a page from the Kernel API Manual and it's literally about checking whether a packet needs to be (re)broadcast on an interface β€” no cap, that's the whole vibe. bestie, let's get into it πŸŽ€


✨ SYNOPSIS ✨

int batadv_hardif_no_broadcast (struct batadv_hard_iface *if_outgoing ,
u8 *orig_addr , u8 *orig_neigh );

that's the signature, copy it exactly bestie, don't be creative with it πŸ™ˆ


🌸 ARGUMENTS 🌸

  • if_outgoing β€” the outgoing interface that's getting checked and considered for (re)broadcast πŸ‘€ like, this is the one under the microscope.
  • orig_addr β€” the originator of this packet. yes, that one πŸ’«
  • orig_neigh β€” the originator address of the forwarder we just got the packet from. and if it's NULL? that means we originated it. main character energy fr 🫢

πŸ¦‹ DESCRIPTION πŸ¦‹

so what does it do? it checks whether a packet needs to be (re)broadcasted on the given interface. that's it, that's the whole job. lowkey simple, highkey important ✨


πŸ”₯ RETURN πŸ”₯

the return value is giving "here's exactly which situation we're in", and honestly? obsessed. it's one of these:

  • BATADV_HARDIF_BCAST_NORECIPIENT β€” no neighbor on interface 😭 nobody's home
  • BATADV_HARDIF_BCAST_DUPFWD β€” just one neighbor, but it is the forwarder πŸ’€ awkward
  • BATADV_HARDIF_BCAST_DUPORIG β€” just one neighbor, but it is the originator πŸ™ˆ also awkward
  • BATADV_HARDIF_BCAST_OK β€” several neighbors, must broadcast πŸŽ‰ slay, we're doing this

πŸ‘‘ SEE ALSO πŸ‘‘

kernel file ./net/batman-adv/hard-interface.c β€” and here's the whole friend group, every single one, no skipping:

batadv_hardif_release(9), batadv_hardif_get_by_netdev(9), batadv_getlink_net(9), batadv_mutual_parents(9), batadv_is_on_batman_iface(9), batadv_is_valid_iface(9), __batadv_get_real_netdev(9), batadv_get_real_netdev(9), batadv_is_wext_netdev(9), batadv_is_cfg80211_netdev(9), batadv_wifi_flags_evaluate(9), batadv_netdev_get_wifi_flags(9), batadv_hardif_get_wifi_flags(9), batadv_is_wifi_hardif(9), batadv_hardif_get_active(9), batadv_primary_if_update_addr(9), batadv_primary_if_select(9), batadv_hardif_is_iface_up(9), batadv_check_known_mac_addr(9), batadv_hardif_recalc_extra_skbroom(9), batadv_hardif_min_mtu(9), batadv_update_min_mtu(9), batadv_hardif_activate_interface(9), batadv_hardif_deactivate_interface(9), batadv_hardif_enable_interface(9), batadv_hardif_disable_interface(9), batadv_hard_if_event_meshif(9), batadv_wifi_net_device_insert(9), batadv_wifi_net_device_remove(9), batadv_wifi_net_device_update(9), batadv_wifi_net_device_unregister(9), batadv_wifi_net_device_event(9), batadv_hard_if_event(9), batadv_wifi_net_devices_init(9), batadv_wifi_net_devices_deinit(9)


ngl that's a lot of cross-references, but that's the whole list, don't @ me πŸ’…

okay that's the page!! πŸ’– it lives in ./net/batman-adv, dated October 2026, and it's literally the batadv_hardif_no_broadcast(9) kernel API manual page β€” hope that cleared it up bestie, mwah πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from