i40e_aq_set_link_restart_an(9)
π i40e_aq_set_link_restart_an(9) β the Kernel API Manual, bestie edition β¨
okay so this is a page straight out of the Kernel API Manual, and it's about one very specific little function: i40e_aq_set_link_restart_an. It's giving "niche Intel NIC lore" and honestly? we love her for it. π
β¨ NAME β¨
i40e_aq_set_link_restart_an β
and that's it. that's the whole description. the manpage really said "she's self-explanatory, figure it out" π no cap, the original has nothing after the dash. iconic minimalism, i guess. π«Ά
πΈ SYNOPSIS πΈ
int i40e_aq_set_link_restart_an (struct i40e_hw *hw , bool enable_link ,
struct i40e_asq_cmd_details *cmd_details );
three args, one int coming back atcha. copy it exactly, bestie, don't get cute with the spacing. π
π¦ ARGUMENTS π¦
hwβ pointer to the hw struct. it's the hardware handle, the main character, the one who knows things. πenable_linkβ abool, and it's literally just a switch: iftrue, you're enabling the link; iffalse, you're disabling the link. no in-between, no "it depends", no vibes. π₯cmd_detailsβ pointer to the command details structure, orNULL. your call, babe. π«Ά
π DESCRIPTION π
So what does she do? Two things, and the manpage says them in one sentence:
Sets up the link and restarts the Auto-Negotiation over the link.
that's the whole bit. link gets set up, Auto-Negotiation gets restarted over that same link. Auto-Negotiation is doing its little handshake dance again and we're here for it. β¨π€
π SEE ALSO π
first up, the source itself lives in the kernel file ./drivers/net/ethernet/intel/i40e/i40e_common.c β go say hi to her. π
and then there is... a list. and when i say a list, i mean a LIST. buckle up bestie, we're going through all of them, no skips, no summarising, because every single one of these is part of the family: π
i40e_set_mac_type(9)i40e_debug_aq(9)i40e_check_asq_alive(9)i40e_aq_queue_shutdown(9)i40e_aq_get_set_rss_lut(9)i40e_aq_get_rss_lut(9)i40e_aq_set_rss_lut(9)i40e_aq_get_set_rss_key(9)i40e_aq_get_rss_key(9)i40e_aq_set_rss_key(9)i40e_init_shared_code(9)i40e_aq_mac_address_read(9)i40e_aq_mac_address_write(9)i40e_get_mac_addr(9)i40e_get_port_mac_addr(9)i40e_pre_tx_queue_cfg(9)i40e_get_pba_string(9)i40e_get_media_type(9)i40e_poll_globr(9)i40e_pf_reset(9)i40e_clear_hw(9)i40e_clear_pxe_mode(9)i40e_led_is_mine(9)i40e_led_get(9)i40e_led_set(9)i40e_aq_get_phy_capabilities(9)i40e_aq_set_phy_config(9)i40e_set_fc(9)i40e_aq_set_mac_config(9)i40e_aq_clear_pxe_mode(9)i40e_aq_get_link_info(9)i40e_aq_set_phy_int_mask(9)i40e_aq_set_mac_loopback(9)i40e_aq_set_phy_debug(9)i40e_aq_add_vsi(9)i40e_aq_set_default_vsi(9)i40e_aq_clear_default_vsi(9)i40e_aq_set_vsi_unicast_promiscuous(9)i40e_aq_set_vsi_multicast_promiscuous(9)i40e_aq_set_vsi_mc_promisc_on_vlan(9)i40e_aq_set_vsi_uc_promisc_on_vlan(9)i40e_aq_set_vsi_bc_promisc_on_vlan(9)i40e_aq_set_vsi_broadcast(9)i40e_aq_get_vsi_params(9)i40e_aq_update_vsi_params(9)i40e_aq_get_switch_config(9)i40e_aq_set_switch_config(9)i40e_aq_get_firmware_version(9)i40e_aq_send_driver_version(9)i40e_get_link_status(9)i40e_update_link_info(9)i40e_aq_add_veb(9)i40e_aq_get_veb_parameters(9)i40e_prepare_add_macvlan(9)i40e_aq_add_macvlan(9)i40e_aq_add_macvlan_v2(9)i40e_aq_remove_macvlan(9)i40e_aq_remove_macvlan_v2(9)i40e_aq_send_msg_to_vf(9)i40e_aq_debug_read_register(9)i40e_aq_debug_write_register(9)i40e_aq_request_resource(9)i40e_aq_release_resource(9)i40e_aq_read_nvm(9)i40e_aq_erase_nvm(9)i40e_parse_discover_capabilities(9)i40e_aq_discover_capabilities(9)i40e_aq_update_nvm(9)i40e_aq_get_lldp_mib(9)i40e_aq_set_lldp_mib(9)i40e_aq_cfg_lldp_mib_change_event(9)i40e_aq_stop_lldp(9)i40e_aq_start_lldp(9)i40e_aq_set_dcb_parameters(9)i40e_aq_get_cee_dcb_config(9)i40e_aq_add_udp_tunnel(9)i40e_aq_del_udp_tunnel(9)i40e_aq_delete_element(9)i40e_aq_dcb_updated(9)i40e_aq_tx_sched_cmd(9)i40e_aq_config_vsi_bw_limit(9)i40e_aq_config_vsi_tc_bw(9)i40e_aq_config_switch_comp_ets(9)i40e_aq_config_switch_comp_bw_config(9)i40e_aq_query_vsi_bw_config(9)i40e_aq_query_vsi_ets_sla_config(9)i40e_aq_query_switch_comp_ets_config(9)i40e_aq_query_port_ets_config(9)i40e_aq_query_switch_comp_bw_config(9)i40e_validate_filter_settings(9)i40e_set_filter_control(9)i40e_aq_add_rem_control_packet_filter(9)i40e_add_filter_to_drop_tx_flow_control_frames(9)i40e_aq_alternate_read(9)i40e_aq_suspend_port_tx(9)i40e_aq_resume_port_tx(9)i40e_set_pci_config_data(9)i40e_aq_debug_dump(9)i40e_read_bw_from_alt_ram(9)i40e_aq_configure_partition_bw(9)i40e_read_phy_register_clause22(9)i40e_write_phy_register_clause22(9)i40e_read_phy_register_clause45(9)i40e_write_phy_register_clause45(9)i40e_get_phy_address(9)i40e_led_get_reg(9)i40e_led_set_reg(9)i40e_led_get_phy(9)i40e_led_set_phy(9)i40e_aq_rx_ctl_read_register(9)i40e_read_rx_ctl(9)i40e_aq_rx_ctl_write_register(9)i40e_write_rx_ctl(9)i40e_mdio_if_number_selection(9)i40e_aq_set_phy_register_ext(9)i40e_aq_get_phy_register_ext(9)i40e_aq_write_ddp(9)i40e_aq_get_ddp_list(9)i40e_find_segment_in_package(9)i40e_ddp_exec_aq_section(9)i40e_validate_profile(9)i40e_write_profile(9)i40e_rollback_profile(9)i40e_aq_add_cloud_filters(9)i40e_aq_add_cloud_filters_bb(9)i40e_aq_rem_cloud_filters(9)i40e_aq_rem_cloud_filters_bb(9)
like. that's 127 of them (plus the source file). the way this page just keeps going and going. main character energy from the SEE ALSO section honestly. π
π real talk though: that's every last reference, exactly as written, in exactly that order. don't be out here skipping lines just because the list is long β those are all legitimately part of this page and i will not be the one to drop them. π
aaaand that's the whole page, bestie!! short and sweet, one function, three args, a truly enormous family tree. go forth and restart that Auto-Negotiation. πΈπ¦π
this cutie was brought to you by the fine folks at ./drivers/net/ethernet/intel/i40e, dated October 2026, and she answers to the name i40e_aq_set_link_restart_an(9). slay, honestly. πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms