batadv_hardif_no_broadcast(9)
π 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'sNULL? 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 homeBATADV_HARDIF_BCAST_DUPFWDβ just one neighbor, but it is the forwarder π awkwardBATADV_HARDIF_BCAST_DUPORIGβ just one neighbor, but it is the originator π also awkwardBATADV_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
- 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