UNION IONIC_QOS_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, this is union ionic_qos_config(9) from the Kernel API Manual, and it's literally the QoS configuration structure. no cap, it's a union, and it's about to make your QoS class setup make sense πŸ’–

🌸 NAME 🌸

union ionic_qos_config β€” the QoS configuration structure. that's the whole name, and yes it's giving main character energy for QoS classes ✨

✨ SYNOPSIS ✨

no cap, here's the whole shape, character-for-character:

       union ionic_qos_config {
           struct {
         #define IONIC_QOS_CONFIG_F_ENABLE               BIT(0);
         #define IONIC_QOS_CONFIG_F_NO_DROP              BIT(1);
         #define IONIC_QOS_CONFIG_F_RW_DOT1Q_PCP         BIT(2);
         #define IONIC_QOS_CONFIG_F_RW_IP_DSCP           BIT(3);
         #define IONIC_QOS_CONFIG_F_NON_DISRUPTIVE       BIT(4);
             u8 flags;
             u8 sched_type;
             u8 class_type;
             u8 pause_type;
             char name[IONIC_QOS_CLASS_NAME_SZ];
             __le32 mtu;
             u8 pfc_cos;
             union {
               u8 dwrr_weight;
               __le64 strict_rlmt;
             };
             union {
               u8 rw_dot1q_pcp;
               u8 rw_ip_dscp;
             };
             union {
               u8 dot1q_pcp;
               struct {
                 u8 ndscp;
                 u8 ip_dscp[IONIC_QOS_DSCP_MAX];
               };
             };
           };
           __le32 words[64];
        };

πŸ‘‘ Members πŸ‘‘

okay so here's the member-by-member vibe check, and I am literally not skipping a single one, bestie πŸ’…

  • {unnamed_struct} β€” anonymous. it's an unnamed struct, living its best anonymous life.
  • flags β€” configuration flags, and here's the whole flag family:
    • IONIC_QOS_CONFIG_F_ENABLE β€” enable
    • IONIC_QOS_CONFIG_F_NO_DROP β€” drop/nodrop
    • IONIC_QOS_CONFIG_F_RW_DOT1Q_PCP β€” enable dot1q pcp rewrite
    • IONIC_QOS_CONFIG_F_RW_IP_DSCP β€” enable ip dscp rewrite
    • IONIC_QOS_CONFIG_F_NON_DISRUPTIVE β€” Non-disruptive TC update
  • sched_type β€” QoS class scheduling type (enum ionic_qos_sched_type).
  • class_type β€” QoS class type (enum ionic_qos_class_type).
  • pause_type β€” QoS pause type (enum ionic_qos_pause_type).
  • name β€” QoS class name.
  • mtu β€” MTU of the class.
  • pfc_cos β€” Priority-Flow Control class of service.
  • {unnamed_union} β€” anonymous. another unnamed union, iconic behavior honestly.
  • dwrr_weight β€” QoS class scheduling weight.
  • strict_rlmt β€” Rate limit for strict priority scheduling.
  • {unnamed_union} β€” anonymous. yes, another anonymous union, we love a mysterious queen.
  • rw_dot1q_pcp β€” Rewrite dot1q pcp to value (valid iff F_RW_DOT1Q_PCP). so like, only valid when that flag is set, fr fr.
  • rw_ip_dscp β€” Rewrite ip dscp to value (valid iff F_RW_IP_DSCP). same vibe check: valid iff that flag is set.
  • {unnamed_union} β€” anonymous. unnamed union number three, she's lowkey everywhere.
  • dot1q_pcp β€” Dot1q pcp value.
  • {unnamed_struct} β€” anonymous. unnamed struct, still serving looks.
  • ndscp β€” Number of valid dscp values in the ip_dscp field.
  • ip_dscp β€” IP dscp values.
  • words β€” word access to struct contents.

🌈 SEE ALSO 🌈

bestie, the whole squad is here, all exact:

  • Kernel file β€” ./drivers/net/ethernet/pensando/ionic/ionic_if.h
  • struct ionic_admin_cmd(9)
  • struct ionic_admin_comp(9)
  • struct ionic_nop_cmd(9)
  • struct ionic_nop_comp(9)
  • struct ionic_dev_init_cmd(9)
  • struct ionic_dev_init_comp(9)
  • struct ionic_dev_reset_cmd(9)
  • struct ionic_dev_reset_comp(9)
  • struct ionic_dev_identify_cmd(9)
  • struct ionic_dev_identify_comp(9)
  • union ionic_drv_identity(9)
  • enum ionic_dev_capability(9)
  • union ionic_dev_identity(9)
  • struct ionic_lif_identify_cmd(9)
  • struct ionic_lif_identify_comp(9)
  • enum ionic_lif_capability(9)
  • enum ionic_logical_qtype(9)
  • enum ionic_q_feature(9)
  • enum ionic_rxq_feature(9)
  • enum ionic_txq_feature(9)
  • enum ionic_hwstamp_bits(9)
  • struct ionic_lif_logical_qtype(9)
  • enum ionic_lif_state(9)
  • union ionic_lif_config(9)
  • enum ionic_lif_rdma_cap_stats(9)
  • union ionic_lif_identity(9)
  • struct ionic_lif_init_cmd(9)
  • struct ionic_lif_init_comp(9)
  • struct ionic_q_identify_cmd(9)
  • struct ionic_q_identify_comp(9)
  • union ionic_q_identity(9)
  • struct ionic_q_init_cmd(9)
  • struct ionic_q_init_comp(9)
  • struct ionic_txq_desc(9)
  • struct ionic_txq_sg_elem(9)
  • struct ionic_txq_sg_desc(9)
  • struct ionic_txq_comp(9)
  • struct ionic_rxq_desc(9)
  • struct ionic_rxq_sg_elem(9)
  • struct ionic_rxq_sg_desc(9)
  • struct ionic_rxq_comp(9)
  • enum ionic_pkt_class(9)
  • struct ionic_q_control_cmd(9)
  • enum ionic_phy_type(9)
  • enum ionic_xcvr_state(9)
  • enum ionic_port_type(9)
  • enum ionic_port_admin_state(9)
  • enum ionic_port_oper_status(9)
  • enum ionic_port_fec_type(9)
  • enum ionic_port_pause_type(9)
  • enum ionic_port_loopback_mode(9)
  • struct ionic_xcvr_status(9)
  • union ionic_port_config(9)
  • struct ionic_port_status(9)
  • struct ionic_port_identify_cmd(9)
  • struct ionic_port_identify_comp(9)
  • struct ionic_port_init_cmd(9)
  • struct ionic_port_init_comp(9)
  • struct ionic_port_reset_cmd(9)
  • struct ionic_port_reset_comp(9)
  • enum ionic_stats_ctl_cmd(9)
  • enum ionic_txstamp_mode(9)
  • enum ionic_port_attr(9)
  • struct ionic_port_setattr_cmd(9)
  • struct ionic_port_setattr_comp(9)
  • struct ionic_port_getattr_cmd(9)
  • struct ionic_port_getattr_comp(9)
  • struct ionic_lif_status(9)
  • struct ionic_lif_reset_cmd(9)
  • enum ionic_dev_attr(9)
  • struct ionic_dev_setattr_cmd(9)
  • struct ionic_dev_setattr_comp(9)
  • struct ionic_dev_getattr_cmd(9)
  • struct ionic_dev_getattr_comp(9)
  • enum ionic_lif_attr(9)
  • struct ionic_lif_setattr_cmd(9)
  • struct ionic_lif_setattr_comp(9)
  • struct ionic_lif_getattr_cmd(9)
  • struct ionic_lif_getattr_comp(9)
  • struct ionic_lif_setphc_cmd(9)
  • struct ionic_rx_mode_set_cmd(9)
  • struct ionic_rx_filter_add_cmd(9)
  • struct ionic_rx_filter_add_comp(9)
  • struct ionic_rx_filter_del_cmd(9)
  • enum ionic_vf_link_status(9)
  • struct ionic_vf_setattr_cmd(9)
  • struct ionic_vf_getattr_cmd(9)
  • struct ionic_vf_ctrl_cmd(9)
  • struct ionic_vf_ctrl_comp(9)
  • struct ionic_discover_cmb_cmd(9)
  • struct ionic_discover_cmb_comp(9)
  • union ionic_cmb_region(9)
  • union ionic_discover_cmb_identity(9)
  • struct ionic_qos_identify_cmd(9)
  • struct ionic_qos_identify_comp(9)
  • enum ionic_qos_class_type(9)
  • enum ionic_qos_sched_type(9)
  • union ionic_qos_identity(9)
  • struct ionic_qos_init_cmd(9)
  • struct ionic_qos_reset_cmd(9)
  • struct ionic_qos_clear_stats_cmd(9)
  • struct ionic_fw_download_cmd(9)
  • enum ionic_fw_control_oper(9)
  • struct ionic_fw_control_cmd(9)
  • struct ionic_fw_control_comp(9)
  • struct ionic_rdma_reset_cmd(9)
  • struct ionic_rdma_queue_cmd(9)
  • struct ionic_notifyq_event(9)
  • struct ionic_link_change_event(9)
  • struct ionic_reset_event(9)
  • struct ionic_heartbeat_event(9)
  • struct ionic_log_event(9)
  • struct ionic_xcvr_event(9)
  • union ionic_port_identity(9)
  • struct ionic_port_info(9)
  • struct ionic_lif_info(9)
  • struct ionic_hwstamp_regs(9)
  • union ionic_dev_info_regs(9)
  • union ionic_dev_cmd_regs(9)
  • union ionic_dev_regs(9)
  • struct ionic_doorbell(9)

okay bye bestie 🫢 this was union ionic_qos_config(9) in the Kernel API Manual, source/version ./drivers/net/ethernet/pensand..., dated October 2026. periodt πŸ’…

πŸ“¦ where this page comes from