ENUM VIRTCHNL2_TXQ_SCHED_MODE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 enum virtchnl2_txq_sched_mode(9) 🌸

okay so bestie, welcome to the Kernel API Manual πŸ’– β€” this page is all about enum virtchnl2_txq_sched_mode, aka the Transmit Queue Scheduling Modes. yes that's a mouthful, no I will not be shortening it, it's iconic and we respect it. πŸŽ€


✨ NAME ✨

enum virtchnl2_txq_sched_mode β€” Transmit Queue Scheduling Modes. that's the whole vibe. it decides how your transmit queue schedules stuff. slay.


πŸ¦‹ SYNOPSIS πŸ¦‹

here's literally the whole thing, character for character, because I would never do you dirty like that:

enum virtchnl2_txq_sched_mode {
    VIRTCHNL2_TXQ_SCHED_MODE_QUEUE ,
    VIRTCHNL2_TXQ_SCHED_MODE_FLOW

};

two modes. that's it. two little choices and they change everything. πŸ’…


🌈 CONSTANTS 🌈

bestie this is the part you actually came for, let's go:

  • VIRTCHNL2_TXQ_SCHED_MODE_QUEUE β€” the OG mode, the legacy one πŸ‘‘. it's the inorder completions situation: descriptors and buffers get completed at the same time. everything neat, everything lined up, no surprises. it's giving organized locker energy. πŸŽ€
  • VIRTCHNL2_TXQ_SCHED_MODE_FLOW β€” the glow-up mode ✨. flow scheduling lets packets be processed out of order β€” descriptors still get cleaned up in order, but the buffers can be completed out of order. so like... the line is still a line, but people are leaving through different doors. main character behavior honestly. πŸ¦‹
no cap, the difference is real: QUEUE = everything together, FLOW = descriptors in order, buffers out of order. don't mix them up bestie 😭

πŸ’œ SEE ALSO πŸ’œ

okay this is the long one, grab a snack πŸ“. all of these live in the kernel file ./include/linux/net/intel/virtchnl2.h and they're all enum/struct siblings of this page:

  • enum virtchnl2_vport_type(9)
  • enum virtchnl2_queue_model(9)
  • enum virtchnl2_action_types(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_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)

like I said. long list. but every single one of them is there, not skipping a single one, that's a promise 🫢


🧚 and that's the whole page bestie! go forth and schedule those transmit queues with confidence. iykyk πŸ’–

sign-off time 🌸: this cutie lives in the ./include/linux/net/intel directory, and the page is dated October 2026. periodt. πŸ’…βœ¨

πŸ“¦ where this page comes from