phylink_stop(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, you know phylink_create? Yeah? Great. This is the other end of that relationship. The breakup. The "we're done here" text. Let's get into it 🫢


✨ NAME ✨

phylink_stop β€” stop a phylink instance. That's it. That's the whole vibe. We're shutting it down, not destroying it, bestie, don't panic πŸ’€


πŸ¦‹ SYNOPSIS πŸ¦‹

void phylink_stop (struct phylink *pl );

returns nothing, takes one pointer, no drama. periodt.


πŸŽ€ ARGUMENTS πŸŽ€

  • pl β€” a pointer to a struct phylink returned from phylink_create. like, the same pl you got handed back when you created it. not a random one. please. 😭

πŸ‘‘ DESCRIPTION πŸ‘‘

Stop the phylink instance specified by pl. slay.

This is the one you call from your network device driver's struct net_device_ops ndo_stop method. That's literally its whole job description β€” it lives in ndo_stop, it eats in ndo_stop, it breathes in ndo_stop. ✨

🚨 important caveat, no cap: the network device's carrier state should not be changed prior to calling this function. Leave the carrier alone before you call it. Hands off. Don't touch. πŸ™ˆ

This will synchronously bring down the link if the link is not already down. Read that again β€” synchronously, meaning it happens right then, not "eventually, whenever the scheduler feels like it," not "in a callback later," now.

In other words (iykyk): it will trigger a mac_link_down method call. That's the whole mechanism. That's the tea. πŸ“


🌈 SEE ALSO 🌈

Kernel file ./drivers/net/phy/phylink.c β€” and honestly, the entire phylink cinematic universe, which is extensive:

(yes, that's all of them. I counted. twice. you're welcome πŸ’œ)


that's the whole page bestie β€” go forth and stop some links responsibly πŸ’–

signed off with love from ./drivers/net/phy, dated October 2026 β€” this manual page ate and left no crumbs βœ¨πŸŽ€

πŸ“¦ where this page comes from