eth_hw_addr_inherit(9)
π eth_hw_addr_inherit(9) β Kernel API Manual π
okay so bestie. you opened a page from the Kernel API Manual and it is literally called eth_hw_addr_inherit(9). yes the (9) means kernel API β iykyk. this one is short, it's sweet, and it is giving "small function, big responsibility" energy. let's get into it π«Ά
β¨ NAME β¨
eth_hw_addr_inherit β copy dev_addr from another net_device, no cap π
πΈ SYNOPSIS πΈ
void eth_hw_addr_inherit (struct net_device *dst , struct net_device *src );
literally just two pointers and it returns nothing. void. iconic minimalism π
π¦ ARGUMENTS π¦
dstβ pointer to thenet_deviceyou're copyingdev_addrto. the destination. the one receiving the glow-up β¨srcβ pointer to thenet_deviceyou're copyingdev_addrfrom. the source. the one sharing its address π
two structs, one address, zero drama. periodt.
π DESCRIPTION π
so here's the whole vibe: you take the Ethernet address from one net_device and you copy it over to another one. copy-paste, but for hardware addresses π«
and bestie, it's not just the address β it also brings along the address attributes, aka addr_assign_type. so the address and its little "where did I come from" tag move together, as a unit. the way that they're a package deal ππ«Ά
that's genuinely it. that's the whole function. short queen behavior, and honestly? we love a function that knows exactly what it does and doesn't over-explain itself π
π SEE ALSO π
okay this is the part where the page goes full main character and name-drops the entire friend group. the kernel file here is ./include/linux/etherdevice.h, and every single one of these is a (9) page bestie:
is_link_local_ether_addr(9)is_zero_ether_addr(9)is_multicast_ether_addr(9)is_local_ether_addr(9)is_broadcast_ether_addr(9)is_unicast_ether_addr(9)is_valid_ether_addr(9)eth_proto_is_802_3(9)eth_random_addr(9)eth_broadcast_addr(9)eth_zero_addr(9)eth_hw_addr_random(9)eth_hw_addr_crc(9)ether_addr_copy(9)eth_hw_addr_set(9)ether_addr_equal(9)ether_addr_equal_64bits(9)ether_addr_equal_unaligned(9)ether_addr_equal_masked(9)ether_addr_to_u64(9)u64_to_ether_addr(9)eth_addr_dec(9)eth_addr_inc(9)eth_addr_add(9)is_etherdev_addr(9)compare_ether_header(9)eth_hw_addr_gen(9)eth_skb_pkt_type(9)eth_skb_pad(9)
like, that's twenty-nine pages. whole squad, fully assembled, all living in etherdevice.h. go read them if you want the full lore π§β
π real talk:eth_hw_addr_inheritdoesn't have a return value, so don't go checking one.voidmeansvoid, bestie. no notes.
and that's the page!! source file ./include/linux, dated October 2026, from the Kernel API Manual. mwah, go inherit some addresses responsibly π
ππ
π¦ 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