ksz9477_acl_remove_entries(9)
π ksz9477_acl_remove_entries(9) β the Kernel API Manual glow-up β¨
okay so bestie, welcome to the Kernel API Manual entry for ksz9477_acl_remove_entries. yes it's a mouthful, no you don't have to say it out loud at parties. it's a kernel function, it's giving "quietly doing important work in the DSA layer," and we're gonna get into it π
β¨ NAME β¨
ksz9477_acl_remove_entries β removes ACL entries that have a given cookie from a specified ksz9477_acl_entries structure. like, it finds the entries matching your cookie and yeets them. cookie-based deletion, we love a lookup key π
π¦ SYNOPSIS π¦
void ksz9477_acl_remove_entries (struct ksz_device *dev , int port ,
struct ksz9477_acl_entries *acles , unsigned long cookie );
notice the void return β this one doesn't come back with receipts, it just does the thing πΈ
π ARGUMENTS π
devβ theksz_deviceinstance. your main character device struct π«Άportβ the port number on which the ACL entries get removed. yes, port-specific, no cap.aclesβ theksz9477_acl_entriesinstance. the actual list we're editing, icon behavior.cookieβ the cookie value to match for entry removal. this is the β¨vibe checkβ¨ β match it and you're out.
π DESCRIPTION π
k so here's the whole plot: this function iterates through the entries array and removes any entries with a matching cookie value. that's the matchup, that's the criteria, no notes.
and then β because leaving a gap in an array is so not slay β the remaining entries get shifted down to fill the gap. tidy. clean. the array stays compact. it's giving "we don't do holes here" πβ¨
ngl the whole thing is basically: scan β match on cookie β remove β shift the leftovers down. two steps, zero drama π
π§ SEE ALSO π§
the whole friend group is here, fr fr:
- Kernel file
./drivers/net/dsa/microchip/ksz9477_acl.c ksz9477_dump_acl_index(9)ksz9477_dump_acl(9)ksz9477_acl_is_valid_matching_rule(9)ksz9477_acl_get_cont_entr(9)ksz9477_acl_update_linkage(9)ksz9477_validate_and_get_src_count(9)ksz9477_move_entries_downwards(9)ksz9477_move_entries_upwards(9)ksz9477_acl_move_entries(9)ksz9477_get_next_block_start(9)ksz9477_swap_acl_blocks(9)ksz9477_sort_acl_entr_no_back(9)ksz9477_sort_acl_entries(9)ksz9477_acl_wait_ready(9)ksz9477_acl_entry_write(9)ksz9477_acl_port_enable(9)ksz9477_acl_port_disable(9)ksz9477_acl_write_list(9)ksz9477_port_acl_init(9)ksz9477_port_acl_free(9)ksz9477_acl_set_reg(9)ksz9477_acl_matching_rule_cfg_l2(9)ksz9477_acl_action_rule_cfg(9)ksz9477_acl_processing_rule_set_action(9)ksz9477_acl_processing_rule_add_match(9)ksz9477_acl_get_init_entry(9)ksz9477_acl_match_process_l2(9)
like yes that's a lot of ACL functions, they're all besties, iykyk π
and that's the page!! π this iconic little manual lives in ./drivers/net/dsa/microchip, dated October 2026, and it's filed under ksz9477_acl_remove_entries(9) forever and ever. mwah π periodt
π¦ 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