i40e_vc_get_max_frame_size(9)
π NAME
i40e_vc_get_max_frame_size β okay so bestie, the original page literally leaves this blank π like the kernel devs wrote the dash and then just... nothing. No description. Iconic of them, honestly. It's a kernel API manual page, and the function does what the title says: it gets the max frame size (for a VF), but the NAME line itself is just i40e_vc_get_max_frame_size - and then silence. We love a mysterious queen π
β¨ SYNOPSIS
u16 i40e_vc_get_max_frame_size (struct i40e_vf *vf );
So it takes one thing and it gives back a u16. That's the whole vibe π
π«Ά ARGUMENTS
vfβ pointer to the VF. That's it, that's the argument, she's a pointer to astruct i40e_vfand she's the main character of this function πΈ
πΈ DESCRIPTION
Okay so here's the tea π΅ β the max frame size is determined based on two things: the current port's max frame size, and whether a port VLAN is configured on this VF. Both of those, together, decide the answer.
And here's the messy part π β the VF is not aware whether it's in a port VLAN. Like, the VF genuinely does not know. So the PF has to account for this in max frame size checks and when it's sending the max frame size to the VF. The PF is doing the emotional labor of remembering the VLAN situation on the VF's behalf, fr fr π«Ά
Not me feeling bad for the PF carrying all that context alone π
π¦ SEE ALSO
The kernel file this lives in: ./drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c β go read it, iykyk π
And now the extended family, all of them, every single one (no gatekeeping here bestie π):
i40e_vc_vf_broadcast(9),i40e_vc_link_speed2mbps(9)i40e_set_vf_link_state(9),i40e_vc_notify_vf_link_state(9)i40e_vc_notify_link_state(9),i40e_vc_notify_reset(9)i40e_vc_notify_vf_reset(9),i40e_vc_reset_vf(9)i40e_vc_isvalid_vsi_id(9),i40e_vc_isvalid_queue_id(9)i40e_vc_isvalid_vector_id(9),i40e_vc_get_pf_queue_id(9)i40e_get_real_pf_qid(9),i40e_config_irq_link_list(9)i40e_release_rdma_qvlist(9),i40e_config_rdma_qvlist(9)i40e_config_vsi_tx_queue(9),i40e_config_vsi_rx_queue(9)i40e_alloc_vsi_res(9),i40e_map_pf_queues_to_vsi(9)i40e_map_pf_to_vf_queues(9),i40e_enable_vf_mappings(9)i40e_disable_vf_mappings(9),i40e_free_vf_res(9),i40e_alloc_vf_res(9)i40e_quiesce_vf_pci(9),__i40e_getnum_vf_vsi_vlan_filters(9)i40e_getnum_vf_vsi_vlan_filters(9),i40e_get_vlan_list_sync(9)i40e_set_vsi_promisc(9),i40e_config_vf_promiscuous_mode(9)i40e_sync_vfr_reset(9),i40e_trigger_vf_reset(9)i40e_cleanup_reset_vf(9),i40e_reset_vf(9),i40e_reset_all_vfs(9)i40e_free_vfs(9),i40e_alloc_vfs(9),i40e_pci_sriov_enable(9)i40e_pci_sriov_configure(9),i40e_vc_send_msg_to_vf(9)i40e_vc_send_resp_to_vf(9),i40e_sync_vf_state(9)i40e_vc_get_version_msg(9),i40e_del_qch(9)i40e_vc_get_vf_resources_msg(9),i40e_vc_config_promiscuous_mode_msg(9)i40e_vc_config_queues_msg(9),i40e_validate_queue_map(9)i40e_vc_config_irq_map_msg(9),i40e_ctrl_vf_tx_rings(9)i40e_ctrl_vf_rx_rings(9),i40e_vc_validate_vqs_bitmaps(9)i40e_vc_enable_queues_msg(9),i40e_vc_disable_queues_msg(9)i40e_check_enough_queue(9),i40e_vc_request_queues_msg(9)i40e_vc_get_stats_msg(9),i40e_check_vf_permission(9)i40e_vc_ether_addr_type(9),i40e_is_vc_addr_legacy(9)i40e_is_vc_addr_primary(9),i40e_update_vf_mac_addr(9)i40e_vc_add_mac_addr_msg(9),i40e_vc_del_mac_addr_msg(9)i40e_vc_add_vlan_msg(9),i40e_vc_remove_vlan_msg(9)i40e_vc_rdma_msg(9),i40e_vc_rdma_qvmap_msg(9)i40e_vc_config_rss_key(9),i40e_vc_config_rss_lut(9)i40e_vc_get_rss_hashcfg(9),i40e_vc_set_rss_hashcfg(9)i40e_vc_enable_vlan_stripping(9),i40e_vc_disable_vlan_stripping(9)i40e_validate_cloud_filter(9),i40e_find_vsi_from_seid(9)i40e_del_all_cloud_filters(9),i40e_vc_del_cloud_filter(9)i40e_vc_add_cloud_filter(9),i40e_vc_add_qch_msg(9)i40e_vc_del_qch_msg(9),i40e_vc_process_vf_msg(9)i40e_vc_process_vflr_event(9),i40e_validate_vf(9)i40e_check_vf_init_timeout(9),i40e_ndo_set_vf_mac(9)i40e_ndo_set_vf_port_vlan(9),i40e_ndo_set_vf_bw(9)i40e_ndo_get_vf_config(9),i40e_ndo_set_vf_link_state(9)i40e_ndo_set_vf_spoofchk(9),i40e_setup_vf_trust(9)i40e_ndo_set_vf_trust(9),i40e_get_vf_stats(9)
β¨ that's the whole page, bestie β¨ sourced from ./drivers/net/ethernet/intel/i40e, dated October 2026, and the page we just read is i40e_vc_get_max_frame_size(9). mwah π go read some kernel source, it's giving scholar energy ππ¦
π¦ 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