dpni_get_primary_mac_addr(9)
π dpni_get_primary_mac_addr(9) β kernel API manual, but make it make sense
okay bestie, so we're deep in the kernel API manual today (section 9, the fancy kernel-doc one, not the "type man ls" one) and the function we're vibing with is dpni_get_primary_mac_addr. Yes that's a mouthful. Yes it's iconic. Let's get into it π
β¨ NAME β¨
dpni_get_primary_mac_addr β get the primary MAC address π
That's it. That's the whole name section. It does exactly what it says on the tin, no cap.
β¨ SYNOPSIS β¨
int dpni_get_primary_mac_addr (struct fsl_mc_io *mc_io , u32 cmd_flags ,
u16 token , u8 mac_addr[6] );
look at her. four arguments, returns an int, living her best life π₯
β¨ ARGUMENTS β¨
mc_ioβ pointer to the MC portal's I/O object π like, this is your portal handle, the whole connection vibe.cmd_flagsβ command flags; one or more of'MC_CMD_FLAG_'π© (yes, plural girlies, you can stack 'em)tokenβ token of the DPNI object π« your little ticket that says "yes, this DPNI, the one right here"mac_addrβ returned MAC address π note the[6]β six whole bytes of MAC-address goodness get written back into this array, so have it ready, okay?
π«Ά quick reminder: mac_addr is the returned value, it's an output, so don't be out here expecting your old contents to survive. It's giving "makeover" π
β¨ RETURN β¨
okay soβ¦ the original page literally has nothing under RETURN ππ like the heading is there, the section is there, and then it's just vibes and empty space. So we're not gonna invent a return value for you β the docs said nothing and I'm not about to make something up. If you need to know what the int means, go read the source, bestie, that's the assignment π
β¨ SEE ALSO β¨
first up, the actual code lives here β go thank her:
- Kernel file
./drivers/net/ethernet/freescale/dpaa2/dpni.cπ
and now the whole entire friend group π every single one of these, in order, no skips:
dpni_prepare_key_cfg(9)dpni_open(9)dpni_close(9)dpni_set_pools(9)dpni_enable(9)dpni_disable(9)dpni_is_enabled(9)dpni_reset(9)dpni_set_irq_enable(9)dpni_get_irq_enable(9)dpni_set_irq_mask(9)dpni_get_irq_mask(9)dpni_get_irq_status(9)dpni_clear_irq_status(9)dpni_get_attributes(9)dpni_set_errors_behavior(9)dpni_get_buffer_layout(9)dpni_set_buffer_layout(9)dpni_set_offload(9)dpni_get_qdid(9)dpni_get_tx_data_offset(9)dpni_set_link_cfg(9)dpni_get_link_cfg(9)dpni_get_link_state(9)dpni_set_max_frame_length(9)dpni_get_max_frame_length(9)dpni_set_multicast_promisc(9)dpni_get_multicast_promisc(9)dpni_set_unicast_promisc(9)dpni_get_unicast_promisc(9)dpni_set_primary_mac_addr(9)β her evil twin / counterpart, go read both π―dpni_get_port_mac_addr(9)dpni_enable_vlan_filter(9)dpni_add_vlan_id(9)dpni_remove_vlan_id(9)dpni_add_mac_addr(9)dpni_remove_mac_addr(9)dpni_clear_mac_filters(9)dpni_set_rx_tc_dist(9)dpni_set_congestion_notification(9)dpni_set_queue(9)dpni_get_queue(9)dpni_get_statistics(9)dpni_set_taildrop(9)dpni_get_taildrop(9)dpni_get_api_version(9)dpni_set_rx_fs_dist(9)dpni_set_rx_hash_dist(9)dpni_add_fs_entry(9)dpni_remove_fs_entry(9)dpni_set_qos_table(9)dpni_add_qos_entry(9)dpni_remove_qos_entry(9)dpni_clear_qos_table(9)dpni_set_tx_shaping(9)dpni_get_single_step_cfg(9)dpni_set_single_step_cfg(9)
like, that's the whole extended universe, iykyk π
π¦ and that's the page!! shoutout to the source/version line, which reads./drivers/net/ethernet/freesca...(yes it's truncated in the original, we don't fix what we didn't break π), dated October 2026, all wrapped up under the titledpni_get_primary_mac_addr(9). mwah, go get that MAC address 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