ksz9477_acl_update_linkage(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ksz9477_acl_update_linkage(9) β€” the Kernel API Manual one

okay so bestie, welcome to the glow-up page for ksz9477_acl_update_linkage, straight out of the Kernel API Manual ✨ this one's a lil function that fixes up your RuleSet linkage after you move an ACL entry around, and honestly it's giving "quiet hero of the ACL table" energy πŸŽ€


✨ NAME ✨

ksz9477_acl_update_linkage β€” Update the RuleSet linkage for an ACL entry after a move operation.

like, you moved the entry, and now somebody's gotta update the linkage bits. that somebody is this function 🫢


🌸 SYNOPSIS 🌸

int ksz9477_acl_update_linkage (struct ksz_device *dev , u8 *entry , u16
old_idx , u16 new_idx );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • dev β€” Pointer to the ksz_device. the whole device situation πŸ’–
  • entry β€” Pointer to the ACL entry array. the actual entry you're shuffling around ✨
  • old_idx β€” The original index of the ACL entry before moving. where it was πŸ‘‹
  • new_idx β€” The new index of the ACL entry after moving. where it's going πŸƒβ€β™€οΈ

πŸ’œ DESCRIPTION πŸ’œ

So this function updates the RuleSet linkage bits for an ACL entry when it gets moved from one position to another in the ACL table. main character move, literally πŸ’…

The RuleSet linkage is represented by two 8-bit registers, which are combined into a 16-bit value for easier manipulation β€” yes, they said "easier manipulation," and honestly slay for that 🌈

The linkage bits are shifted based on the difference between old_idx and new_idx. and if any bits are lost during the shift operation, an error is returned. not me losing bits 😭 no cap, that's the whole vibe check this function does.


πŸ‘‘ NOTE πŸ‘‘

Fragmentation within a RuleSet is not supported. Hence, entries must be moved as complete blocks, maintaining the integrity of the RuleSet.

fr fr, no fragmenting, bestie β€” whole blocks only, keep that RuleSet integrity intact 🧚


⭐ RETURN ⭐

0 on success, or -EINVAL if any RuleSet linkage bits are lost during the move. that's it, that's the tea πŸ“


πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./drivers/net/dsa/microchip/ksz9477_acl.c β€” go read the source, iykyk πŸ’€


okay that's the whole page, bestie β€” this gem lives in ./drivers/net/dsa/microchip and it's dated October 2026, so like, future iconic behavior πŸ’– catch you in the next man page! πŸŒΈπŸŽ€πŸ¦‹

πŸ“¦ where this page comes from