ice_vc_ena_vlan_offload(9)
π ice_vc_ena_vlan_offload(9) β the kernel API manual, bestie edition π
okay so real talk, this page lives in the Kernel API Manual, and the function's whole name is ice_vc_ena_vlan_offload. Say it three times fast, I dare you. It's the little helper that turns VLAN offload on, and it decides what to turn on based on the ethertype_setting you hand it. Slay.
β¨ NAME β¨
ice_vc_ena_vlan_offload β enable VLAN offload based on the ethertype_setting π
Like⦠that's literally the job. It enables VLAN offload, and the flavor of offload is chosen by ethertype_setting. No cap.
πΈ SYNOPSIS πΈ
int ice_vc_ena_vlan_offload (struct ice_vsi *vsi , int
(*ena_offload)(struct ice_vsi *vsi, u16 tpid) , u32 ethertype_setting );
Look at that signature. Three arguments, one int coming back at you. Iconic.
π¦ ARGUMENTS π¦
vsiβ the VF's VSI, and it's the thing we use to enable the VLAN offload. Your main character struct, basically πena_offloadβ the function used to enable the VLAN offload. It's a function pointer, bestie:int (*ena_offload)(struct ice_vsi *vsi, u16 tpid). So you're passing in the enabler. Very meta of you π«Άethertype_settingβ au32stuffed withVIRTCHNL_VLAN_ETHERTYPE_*values, which say which offloads to enable. Like a lil menu of offloads and you're picking off it π
π₯ SEE ALSO π₯
The whole friend group, fr fr. Go say hi:
ice_vc_vf_broadcast(9)ice_set_pfe_link(9)ice_vc_notify_vf_link_state(9)ice_vc_notify_link_state(9)ice_vc_notify_reset(9)ice_vc_send_msg_to_vf(9)ice_vc_get_ver_msg(9)ice_vc_get_vlan_caps(9)ice_vc_get_vf_res_msg(9)ice_vc_reset_vf_msg(9)ice_vc_isvalid_vsi_id(9)ice_vc_get_qos_caps(9)ice_vc_cfg_promiscuous_mode_msg(9)ice_vc_get_stats_msg(9)ice_can_vf_change_mac(9)ice_vc_ether_addr_type(9)ice_is_vc_addr_legacy(9)ice_is_vc_addr_primary(9)ice_vfhw_mac_add(9)ice_is_mc_lldp_eth_addr(9)ice_vc_can_add_mac(9)ice_vc_add_mac_addr(9)ice_is_legacy_umac_expired(9)ice_update_legacy_cached_mac(9)ice_vfhw_mac_del(9)ice_vc_del_mac_addr(9)ice_vc_handle_mac_addr_msg(9)ice_vc_add_mac_addr_msg(9)ice_vc_del_mac_addr_msg(9)ice_vf_vlan_offload_ena(9)ice_is_vlan_promisc_allowed(9)ice_vf_ena_vlan_promisc(9)ice_vf_dis_vlan_promisc(9)ice_vf_has_max_vlans(9)ice_vc_process_vlan_msg(9)ice_vc_add_vlan_msg(9)ice_vc_remove_vlan_msg(9)ice_vsi_is_rxq_crc_strip_dis(9)ice_vc_ena_vlan_stripping(9)ice_vc_dis_vlan_stripping(9)ice_vc_query_rxdid(9)ice_vf_init_vlan_stripping(9)ice_vf_outer_vlan_not_allowed(9)ice_vc_set_dvm_caps(9)ice_vc_set_svm_caps(9)ice_vc_get_offload_vlan_v2_caps(9)ice_vc_validate_vlan_tpid(9)ice_vc_is_valid_vlan(9)ice_vc_validate_vlan_filter_list(9)ice_vc_to_vlan(9)ice_vc_vlan_action(9)ice_vc_del_vlans(9)ice_vc_remove_vlan_v2_msg(9)ice_vc_add_vlans(9)ice_vc_validate_add_vlan_filter_list(9)ice_vc_add_vlan_v2_msg(9)ice_vc_valid_vlan_setting(9)ice_vc_valid_vlan_setting_msg(9)ice_vc_get_tpid(9)ice_vc_ena_vlan_stripping_v2_msg(9)ice_vc_dis_vlan_stripping_v2_msg(9)ice_vc_ena_vlan_insertion_v2_msg(9)ice_vc_dis_vlan_insertion_v2_msg(9)ice_virtchnl_set_dflt_ops(9)ice_vc_repr_add_mac(9)ice_vc_repr_del_mac(9)ice_virtchnl_set_repr_ops(9)ice_is_malicious_vf(9)ice_vc_process_vf_msg(9)
Also the source file it actually lives in, no biggie:
Kernel file ./drivers/net/ethernet/intel/ice/virt/virtchnl.c
ngl bestie, that SEE ALSO list is a whole friend group chat and you're expected to know every single one of them. iykyk π
and that's the page!! π source is ./drivers/net/ethernet/intel/i... (the path got cut off in the footer, we don't gatekeep, we just vibe), dated October 2026, and this whole thing is ice_vc_ena_vlan_offload(9). go enable some offloads, periodt β¨ππ¦
π¦ 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