ice_set_link_ksettings(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

Okay so picture this: you're deep in the Kernel API Manual, section 9, and you've stumbled onto ice_set_link_ksettings. Bestie. This is the one that sets your Speed and Duplex. Let's get into it, no cap. 🫢


✨ NAME ✨

ice_set_link_ksettings β€” literally just Set Speed and Duplex. That's the whole vibe. πŸŽ€


🌸 SYNOPSIS 🌸

int ice_set_link_ksettings (struct net_device *netdev , const struct
       ethtool_link_ksettings *ks );

She returns an int, she takes two things, and she's on her main character grind. ✨


πŸ¦‹ ARGUMENTS πŸ¦‹

  • netdev β€” the network interface device structure. The whole device, the icon, the moment. πŸ‘‘
  • ks β€” the ethtool ksettings. Your settings bestie, arriving with opinions. πŸŽ€

πŸ’– DESCRIPTION πŸ’–

So what does she actually do? She sets speed/duplex per the media_types that are advertised/forced. That's it, that's the whole assignment, and she ate. πŸ”₯

Not me being obsessed with how short this description is β€” honestly? Iconic. Short and correct is a vibe. πŸ’…

🌈 SEE ALSO 🌈

First up, the kernel file where this queen lives irl:

Kernel file ./drivers/net/ethernet/intel/ice/ice_ethtool.c

And now the extended friend group β€” they all pull up together, so nobody gets left out. Say hi to: ice_ethtool_get_maxspeed(9), ice_is_serdes_muxed(9), ice_get_port_topology(9), ice_get_tx_rx_equa(9), ice_get_extended_regs(9), ice_active_vfs(9), ice_link_test(9), ice_eeprom_test(9), ice_reg_pattern_test(9), ice_reg_test(9), ice_lbtest_prepare_rings(9), ice_lbtest_disable_rings(9), ice_lbtest_create_frame(9), ice_lbtest_check_frame(9), ice_diag_send(9), ice_lbtest_receive_frames(9), ice_loopback_test(9), ice_intr_test(9), ice_self_test(9).

More of the squad: ice_set_fec_cfg(9), ice_set_fecparam(9), ice_get_fecparam(9), ice_nway_reset(9), ice_get_priv_flags(9), ice_set_priv_flags(9), ice_mask_min_supported_speeds(9), ice_linkmode_set_bit(9), ice_phy_type_to_ethtool(9), ice_get_settings_link_up(9), ice_get_settings_link_down(9), ice_get_link_ksettings(9), ice_speed_to_aq_link(9), ice_ksettings_find_adv_link_speed(9), ice_setup_autoneg(9), ice_set_phy_type_from_speed(9), ice_set_rxnfc(9), ice_get_rx_ring_count(9), ice_get_rxnfc(9), ice_get_pauseparam(9), ice_set_pauseparam(9), ice_get_rxfh_key_size(9), ice_get_rxfh_indir_size(9), ice_get_rxfh(9), ice_set_rxfh(9), ice_get_combined_cnt(9), ice_get_channels(9), ice_get_valid_rss_size(9), ice_vsi_set_dflt_rss_lut(9), ice_set_channels(9).

Still going, because the guest list is long and everyone's invited: ice_get_wol(9), ice_set_wol(9), ice_get_rc_coalesce(9), ice_get_q_coalesce(9), __ice_get_coalesce(9), ice_set_rc_coalesce(9), ice_set_q_coalesce(9), ice_print_if_odd_usecs(9), __ice_set_coalesce(9), ice_get_module_info(9), ice_get_module_eeprom(9), ice_get_port_fec_stats(9), ice_get_fec_stats(9), ice_ethtool_reset(9), ice_repr_ethtool_reset(9), ice_set_ethtool_safe_mode_ops(9), ice_set_ethtool_repr_ops(9), ice_set_ethtool_ops(9).

Like I said. Whole friend group. πŸ«ΆπŸ’œ


πŸ’€ Real talk though: this page is from the ./drivers/net/ethernet/intel/ice directory, dated October 2026, and it's ice_set_link_ksettings(9) all the way down. Go set some speed and duplex, bestie. Slay. πŸ‘‘βœ¨
πŸ“¦ where this page comes from