ksz9477_acl_get_init_entry(9)
π ksz9477_acl_get_init_entry β Kernel API Manual (section 9, bestie)
okay so this is ksz9477_acl_get_init_entry(9), straight out of the Kernel API Manual, and honestly? it's giving "little helper function that carries the whole ACL squad on its back." let's get into it π«Ά
β¨ NAME β¨
ksz9477_acl_get_init_entry β grab a brand-new uninitialized entry for a specific port on a ksz_device. that's the whole vibe. no cap. π
πΈ SYNOPSIS πΈ
struct ksz9477_acl_entry * ksz9477_acl_get_init_entry (struct ksz_device
*dev , int port , unsigned long cookie , u32 prio );
like, that's the signature, copy it exactly please, it's not a vibe-based thing π
π¦ ARGUMENTS π¦
devβ theksz_deviceinstance. your main character device, the one everything happens on πportβ the port number you want the uninitialized entry for. be specific, bestie, ports matter π₯cookieβ the cookie to associate with the entry. yes, a cookie, it's real, it goes in there πprioβ the priority to associate with the entry, as au32. priorities are iconic, don't skip them π
π DESCRIPTION π
so what it does is: this function retrieves the next available ACL entry for the specified port, clears all the access flags on it (all of them, every last one, bye π), and then associates it with the current cookie. that's it, that's the function, lowkey elegant π
no guessing, no extra lore β that's literally what the manual says and we're not adding to it π§
β RETURN β
a pointer to the new uninitialized ACL entry. struct ksz9477_acl_entry *. slay β¨
π SEE ALSO π
the kernel file lives right here: ./drivers/net/dsa/microchip/ksz9477_acl.c β and here's the whole friend group, no one gets left out:
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_acl_remove_entries(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_match_process_l2(9)
pro tip from your girl: this one hands you an uninitialized entry β the flags are cleared and the cookie's attached, but don't go assuming it's ready to fly, okay? read the docs, stay safe π
and that's the page!! π«Ά source path is ./drivers/net/dsa/microchip, dated October 2026, still filed under ksz9477_acl_get_init_entry(9) β periodt, go touch some registers bestie ππΈ
π¦ 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