slave_set_ns_maddrs(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’« slave_set_ns_maddrs(9) πŸ’«

okay so real talk, this is a page from the Kernel API Manual, and it's literally all about slave_set_ns_maddrs β€” the glow-up function that handles all the NS mac addresses for a slave. she's niche, she's networking, she's iconic. let's get into it bestie πŸŽ€


🌸 NAME 🌸

slave_set_ns_maddrs β€” add/del all NS mac addresses for slave, no cap ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

void slave_set_ns_maddrs (struct bonding *bond , struct slave *slave ,
bool add );

like, that's the whole signature. she takes three things. periodt. πŸ’…


πŸ’– ARGUMENTS πŸ’–

  • bond β€” the bond device 🫢 like the main character of this whole operation
  • slave β€” the slave device, doing the actual work behind the scenes
  • add β€” a bool that says whether we're adding or removing all the NS mac addresses. yes ma'am, add or remove, pick a lane ✨

πŸ”₯ DESCRIPTION πŸ”₯

so what does she actually do? this function tries to add or delete all the NS mac addresses on the slave. that's the whole vibe check. πŸ’€

πŸ“Œ important note bestie, don't skip this: the IPv6 NS target address is the unicast address in the Neighbor Solicitation (NS) message. the dest address of the NS message should be the solicited-node multicast address of the target. and the dest mac of the NS message is converted from the solicited-node multicast address. iykyk 🧚

and when does this function get called? great question, so glad you asked:

  • when arp_validate changes πŸ”„
  • when enslaving or releasing new slaves β€” yeah, the whole roster shuffle πŸ‘‘

πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./drivers/net/bonding/bond_options.c plus her whole friend group:

go read them, they all ate πŸ’…βœ¨


πŸ“ and that's the page fr fr!! this little beauty lives at ./drivers/net/bonding and the doc girlies stamped it October 2026. ty for coming to my ted talk, mwah πŸ’–πŸ¦‹πŸŒΈ
πŸ“¦ where this page comes from