hns_dsaf_tcam_mc_cfg(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… hns_dsaf_tcam_mc_cfg β€” the tcam config girlie for multicast

okay so bestie, welcome to hns_dsaf_tcam_mc_cfg(9), a kernel API manual page, and honestly? she's giving "niche but essential." this one lives in the Kernel API Manual section (that's section 9, iykyk) and she does exactly one thing, but she does it well.

the whole vibe: you're configuring the tcam for mc. that's it. that's the function. no cap. πŸŽ€


✨ SYNOPSIS ✨

void hns_dsaf_tcam_mc_cfg (struct dsaf_device *dsaf_dev , u32 address ,
       struct dsaf_tbl_tcam_data *ptbl_tcam_data , struct dsaf_tbl_tcam_data
       *ptbl_tcam_mask , struct dsaf_tbl_tcam_mcast_cfg *ptbl_tcam_mcast );

she returns void, so like… no exit status drama. no return value to obsess over. she just does the thing and dips. πŸ¦‹


🫢 ARGUMENTS 🫢

five (5) besties walk into a function. let me introduce you:

  • dsaf_dev β€” dsa fabric device struct pointer. this is the main character, the device you're working on. literally the whole context.
  • address β€” tcam index. that's the slot you're pointing at, bestie. know your index, love your index.
  • ptbl_tcam_data β€” tcam data struct pointer. the actual data payload, the moment, the content.
  • ptbl_tcam_mask β€” tcam mask struct pointer. ⚠️ huge caveat coming: it must be null for HNSv1. like, not "probably should be," not "if you feel like it" β€” must. NULL. periodt. don't test her. πŸ’€
  • ptbl_tcam_mcast β€” tcam data struct pointer. yes, the original calls it "tcam data struct pointer" too β€” that's the label she came with, and we're keeping it exactly as-is. it's the multicast cfg struct, and it's the whole reason we're here. mcast girlie things. 🌈
quick vibe check: ptbl_tcam_mask being NULL on HNSv1 is a real, hard requirement β€” not a suggestion. respect the mask rule or the hardware will not be slaying. 😭

πŸ‘‘ SEE ALSO πŸ‘‘

she does not exist in a vacuum, okay? this function is part of a whole ecosystem of hisilicon hns friends, and they're all linked below, full cast list, no cuts:

Kernel file ./drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c

hns_dsaf_sbm_link_sram_init_en(9), hns_dsaf_reg_cnt_clr_ce(9), hns_dsaf_ppe_qid_cfg(9), hns_dsaf_sw_port_type_cfg(9), hns_dsaf_stp_port_type_cfg(9), hns_dsaf_sbm_cfg(9), hns_dsaf_sbm_cfg_mib_en(9), hns_dsaf_sbm_bp_wl_cfg(9), hns_dsaf_voq_bp_all_thrd_cfg(9), hns_dsaf_tbl_tcam_data_cfg(9), hns_dsaf_tbl_tcam_mcast_cfg(9), hns_dsaf_tbl_tcam_ucast_cfg(9), hns_dsaf_tbl_line_cfg(9), hns_dsaf_tbl_tcam_mcast_pul(9), hns_dsaf_tbl_line_pul(9), hns_dsaf_tbl_tcam_data_mcast_pul(9), hns_dsaf_tbl_tcam_data_ucast_pul(9), hns_dsaf_tbl_stat_en(9), hns_dsaf_rocee_bp_en(9), hns_dsaf_single_line_tbl_cfg(9), hns_dsaf_tcam_uc_cfg(9), hns_dsaf_tcam_uc_cfg_vague(9), hns_dsaf_tcam_mc_cfg_vague(9), hns_dsaf_tcam_mc_invld(9), hns_dsaf_tcam_uc_get(9), hns_dsaf_tcam_mc_get(9), hns_dsaf_tbl_line_init(9), hns_dsaf_tbl_tcam_init(9), hns_dsaf_pfc_en_cfg(9), hns_dsaf_comm_init(9), hns_dsaf_inode_init(9), hns_dsaf_sbm_init(9), hns_dsaf_tbl_init(9), hns_dsaf_voq_init(9), hns_dsaf_init_hw(9), hns_dsaf_remove_hw(9), hns_dsaf_init(9), hns_dsaf_free(9), hns_dsaf_find_soft_mac_entry(9), hns_dsaf_find_empty_mac_entry(9), hns_dsaf_find_empty_mac_entry_reverse(9), hns_dsaf_set_mac_key(9), hns_dsaf_set_mac_uc_entry(9), hns_dsaf_add_mac_mc_port(9), hns_dsaf_del_mac_entry(9), hns_dsaf_del_mac_mc_port(9), hns_dsaf_free_dev(9), hns_dsaf_pfc_unit_cnt(9), hns_dsaf_port_work_rate_cfg(9), hns_dsaf_fix_mac_mode(9), hns_dsaf_get_regs(9), hns_dsaf_get_stats(9), hns_dsaf_get_sset_count(9), hns_dsaf_get_strings(9), hns_dsaf_get_regs_count(9), hns_dsaf_probe(9), hns_dsaf_remove(9)

like, that's the whole group chat. read them, love them, cross-reference them. πŸ’–


🌸 and that's the page! source/version footer said ./drivers/net/ethernet/hisilic... with a date of October 2026 β€” so yeah, she's from the future, she's slightly truncated in the source path (the compiler said "that's enough"), and she's still out here configuring tcam for mc. iconic behavior, honestly. mwah. πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from