ksz9477_port_acl_init(9)
π ksz9477_port_acl_init(9) β Kernel API Manual π
okay bestie, so this one is a <pink>Kernel API Manual</pink> page and honestly it's giving "small function, big responsibilities." Strap in π¦
β¨ NAME β¨
ksz9477_port_acl_init β literally the function that initializes the ACL for a specified port on a ksz device. that's it, that's the whole vibe π
πΈ SYNOPSIS πΈ
int ksz9477_port_acl_init (struct ksz_device *dev , int port );
π ARGUMENTS π
devβ theksz_deviceinstance. yes, that one, the device struct, hand it over π«Άportβ the port number you wanna initialize the ACL for. like, this port specifically π
π DESCRIPTION π
so here's the tea β β this function allocates memory for an acl structure, associates it with the specified port, and initializes the ACL entries to a default state. three steps, one little function, main character energy for real π₯
the entries then get written out using the ksz9477_acl_write_list function β which is the whole point, because that's what ensures the ACL has a predictable initial hardware state. no chaos, no surprises, just a clean starting line β¨ ngl that's kind of iconic of it.
β RETURN β
0 on success, or an error code on failure. so like, 0 = slay, anything else = go check what went wrong π
π SEE ALSO π
the kernel file lives at ./drivers/net/dsa/microchip/ksz9477_acl.c β that's the source of truth bestie, go read it π§
and the whole friend group of related functions:
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_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)
that's the whole page, bestie β go forth and initialize those ACLs responsibly π
signing off from ./drivers/net/dsa/microchip, dated October 2026, living that ksz9477_port_acl_init(9) lifestyle πβ¨π
π¦ 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