STRUCT VIRTCHNL2_MAC_ADDR_LIST(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ struct virtchnl2_mac_addr_list(9) πŸ¦‹

okay so bestie, welcome to the Kernel API Manual β€” yes it's a real manual, yes it's giving ✨documentation✨, and yes we're gonna get through it together. This one's about a lil struct that carries a whole list of MAC addresses around. Cute, right? Let's go πŸ’…


🌸 NAME 🌸

struct virtchnl2_mac_addr_list β€” literally just a list of MAC addresses, no cap πŸŽ€


✨ SYNOPSIS ✨

struct virtchnl2_mac_addr_list {
    __le32 vport_id;
    __le16 num_mac_addr;
    u8 pad[2];
    struct virtchnl2_mac_addr mac_addr_list[];
 };

bestie look at that last field β€” it's a flexible array member, she's got main character energy and no fixed size πŸ‘‘


πŸ’– Members πŸ’–

  • vport_id β€” the vport id. which vport? that vport. the one this list belongs to 🫢
  • num_mac_addr β€” the number of MAC addresses chillin' in the list. the count, the headcount, the vibe check total 🌈
  • pad β€” padding. it's just there for alignment reasons, doing absolutely nothing and thriving 😌
  • mac_addr_list β€” the actual list, with all the MAC address info inside it. this is the icon, the moment, the reason we're all here πŸ’…

πŸ”₯ Description πŸ”₯

so the PF/VF driver uses this struct to send a list of MAC addresses β€” the ones to be added or deleted β€” over to the CP. and then the CP does the actual action and sends back the status. teamwork, fr fr 🀝✨

it's associated with VIRTCHNL2_OP_ADD_MAC_ADDR and VIRTCHNL2_OP_DEL_MAC_ADDR, so if you see those two ops, just know this struct isn't far behind πŸ‘€


🧚 SEE ALSO 🧚

okay there is a whole squad of related structs and enums, and we are NOT skipping a single one, because every one of them deserves her flowers 🌸:

  • Kernel file ./include/linux/net/intel/virtchnl2.h
  • enum virtchnl2_vport_type(9)
  • enum virtchnl2_queue_model(9)
  • enum virtchnl2_action_types(9)
  • enum virtchnl2_txq_sched_mode(9)
  • enum virtchnl2_rxq_flags(9)
  • enum virtchnl2_mac_addr_type(9)
  • struct virtchnl2_edt_caps(9)
  • struct virtchnl2_version_info(9)
  • struct virtchnl2_get_capabilities(9)
  • struct virtchnl2_queue_reg_chunk(9)
  • struct virtchnl2_queue_reg_chunks(9)
  • enum virtchnl2_vport_flags(9)
  • struct virtchnl2_create_vport(9)
  • struct virtchnl2_vport(9)
  • struct virtchnl2_txq_info(9)
  • struct virtchnl2_config_tx_queues(9)
  • struct virtchnl2_rxq_info(9)
  • struct virtchnl2_config_rx_queues(9)
  • struct virtchnl2_add_queues(9)
  • struct virtchnl2_vector_chunk(9)
  • struct virtchnl2_vector_chunks(9)
  • struct virtchnl2_alloc_vectors(9)
  • struct virtchnl2_rss_lut(9)
  • struct virtchnl2_rss_hash(9)
  • struct virtchnl2_sriov_vfs_info(9)
  • struct virtchnl2_ptype(9)
  • struct virtchnl2_get_ptype_info(9)
  • struct virtchnl2_vport_stats(9)
  • struct virtchnl2_event(9)
  • struct virtchnl2_rss_key(9)
  • struct virtchnl2_queue_chunk(9)
  • struct virtchnl2_del_ena_dis_queues(9)
  • struct virtchnl2_queue_vector(9)
  • struct virtchnl2_queue_vector_maps(9)
  • struct virtchnl2_loopback(9)
  • struct virtchnl2_promisc_info(9)
  • enum virtchnl2_ptp_caps(9)
  • struct virtchnl2_ptp_clk_reg_offsets(9)
  • struct virtchnl2_ptp_cross_time_reg_offsets(9)
  • struct virtchnl2_ptp_clk_adj_reg_offsets(9)
  • struct virtchnl2_ptp_tx_tstamp_latch_caps(9)
  • struct virtchnl2_ptp_get_vport_tx_tstamp_caps(9)
  • struct virtchnl2_ptp_get_caps(9)
  • struct virtchnl2_ptp_tx_tstamp_latch(9)
  • struct virtchnl2_ptp_get_vport_tx_tstamp_latches(9)
  • struct virtchnl2_ptp_get_dev_clk_time(9)
  • struct virtchnl2_ptp_get_cross_time(9)
  • struct virtchnl2_ptp_set_dev_clk_time(9)
  • struct virtchnl2_ptp_adj_dev_clk_fine(9)
  • struct virtchnl2_ptp_adj_dev_clk_time(9)
  • struct virtchnl2_mem_region(9)
  • struct virtchnl2_get_lan_memory_regions(9)
  • struct virtchnl2_proto_hdr(9)
  • struct virtchnl2_proto_hdrs(9)
  • struct virtchnl2_rule_action(9)
  • struct virtchnl2_rule_action_set(9)
  • struct virtchnl2_flow_rule(9)
  • struct virtchnl2_flow_rule_info(9)
  • struct virtchnl2_flow_rule_add_del(9)
like I said β€” the whole squad. no one gets left behind πŸ’€πŸ«Ά

aaand that's the page bestie!! πŸŽ‰ this little gift came from ./include/linux/net/intel, dated October 2026, and she is so valid for that. mwah πŸ’‹βœ¨ slay, and see you in the next manpage πŸŒΈπŸ¦‹πŸ’œ

πŸ“¦ where this page comes from