UNION IONIC_PORT_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… union ionic_port_config β€” Port configuration ✨

okay so bestie, this is a Kernel API Manual page, section 9 β€” ionic_port_config(9) if you're being formal about it πŸŽ€ β€” and it's literally just the one union that holds a port's config. That's it. That's the whole vibe. Let's get into it πŸ¦‹


✨ SYNOPSIS ✨

union ionic_port_config {
    struct {
  #define IONIC_SPEED_400G        400000  ;
  #define IONIC_SPEED_200G        200000  ;
  #define IONIC_SPEED_100G        100000  ;
  #define IONIC_SPEED_50G         50000   ;
  #define IONIC_SPEED_40G         40000   ;
  #define IONIC_SPEED_25G         25000   ;
  #define IONIC_SPEED_10G         10000   ;
  #define IONIC_SPEED_1G          1000    ;
      __le32 speed;
      __le32 mtu;
      u8 state;
      u8 an_enable;
      u8 fec_type;
  #define IONIC_PAUSE_TYPE_MASK           0x0f;
  #define IONIC_PAUSE_FLAGS_MASK          0xf0;
  #define IONIC_PAUSE_F_TX                0x10;
  #define IONIC_PAUSE_F_RX                0x20;
      u8 pause_type;
      u8 loopback_mode;
    };
    __le32 words[64];
 };

yes the #defines really do have semicolons on the end, no cap, that's just how it's written here 😭 copy it exactly and don't come for me πŸ’€


🌸 Members 🌸

  • {unnamed_struct} β€” anonymous 🫢 like, it has no name, it just is
  • speed β€” port speed (in Mbps) πŸ’¨
  • mtu β€” mtu
  • state β€” port admin state (enum ionic_port_admin_state) πŸ‘‘
  • an_enable β€” autoneg enable
  • fec_type β€” fec type (enum ionic_port_fec_type) 🧚
  • pause_type β€” pause type (enum ionic_port_pause_type) βœ‹
  • loopback_mode β€” loopback mode (enum ionic_port_loopback_mode) πŸ”
  • words β€” word access to struct contents, it's giving backstage pass 🎟️

πŸ¦‹ SEE ALSO πŸ¦‹

this list is a whole moment, bestie β€” like 100+ siblings, all iconique, all in section 9 🌈

Kernel file ./drivers/net/ethernet/pensando/ionic/ionic_if.h, plus: 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), 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_config(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)

go read them all, i'll wait πŸ’œ


no warnings on this one bestie β€” it's just a definition, so no danger zone πŸŽ€ but like, still copy the fields exactly, iykyk πŸ™ˆ

and that's the page!! 🫢 it came from ./drivers/net/ethernet/pensand... (yes it's literally truncated like that in the original, not me being lazy πŸ’€) and it's dated October 2026. this has been union ionic_port_config(9), Kernel API Manual β€” mwah, slay, periodt βœ¨πŸ’…πŸ“

πŸ“¦ where this page comes from