ENUM VIRTCHNL2_MAC_ADDR_TYPE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ enum virtchnl2_mac_addr_type(9) ✨

okay so bestie, welcome to the Kernel API Manual πŸ’– β€” this one's a little enum from the virtchnl2 world and honestly it's giving "small but crucial." Let's get into it πŸŽ€


πŸ¦‹ NAME πŸ¦‹

enum virtchnl2_mac_addr_type β€” the MAC address types. that's it, that's the vibe πŸ’…


🌸 SYNOPSIS 🌸

enum virtchnl2_mac_addr_type {
    VIRTCHNL2_MAC_ADDR_PRIMARY ,
    VIRTCHNL2_MAC_ADDR_EXTRA

};

two constants, no more, no less, and they're both doing their own little job 🫢


πŸ‘‘ Constants πŸ‘‘

πŸ’œ VIRTCHNL2_MAC_ADDR_PRIMARY

ok so real talk: the PF/VF driver should set this type for the primary/device unicast MAC address filter for VIRTCHNL2_OP_ADD_MAC_ADDR and VIRTCHNL2_OP_DEL_MAC_ADDR. why does it matter? because this lets the underlying control plane function accurately track the MAC address, and it also matters for VM/function reset. iykyk ✨

πŸ’œ VIRTCHNL2_MAC_ADDR_EXTRA

this one's for everything else, bestie πŸ’… β€” the PF/VF driver should set this type for any extra unicast and/or multicast filters that are being added/deleted via VIRTCHNL2_OP_ADD_MAC_ADDR or VIRTCHNL2_OP_DEL_MAC_ADDR. no cap, extra filters go here.


🌈 SEE ALSO 🌈

Kernel file ./include/linux/net/intel/virtchnl2.h enum, plus the whole extended fam πŸ‘‘

  • 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)
  • 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_mac_addr_list(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)

πŸ’€ reminder bestie: that's the whole list, don't skip a single one, the manual literally says so.

and that's the whole page, babe πŸ“ it lives at ./include/linux/net/intel, dated October 2026, and it's filed under enum virtchnl...ac_addr_type(9) in the Kernel API Manual β€” slay, go read the virtchnl2 header, periodt πŸ§šπŸ’œ

πŸ“¦ where this page comes from