__ice_vsi_s...er_port_vlan(9)
π NAME π
__ice_vsi_set_outer_port_vlan β okay so this is the one that sets the outer port VLAN and, like, all the related settings that come with it β¨
πΈ SYNOPSIS πΈ
int __ice_vsi_set_outer_port_vlan (struct ice_vsi *vsi , u16 vlan_info , u16 tpid );
π ARGUMENTS π
vsiβ the VSI you're configuring, bestie. That's the one getting the glow-up πvlan_infoβ a packedu16carrying the VLAN prio and the ID together. Two-for-one, we love efficiency π«Άtpidβ the TPID of the port VLAN, no cap π¦
β¨ DESCRIPTION β¨
So the whole vibe of this function is: set the port VLAN prio, the ID, and the TPID. That's the assignment, periodt.
It also enables VLAN pruning, which means the VSI literally will not receive any traffic that doesn't match a VLAN prune rule. Like, if you're not on the list, you're not getting in π The catch? The caller has to handle it β you gotta add a VLAN prune rule that matches the port VLAN ID and the TPID. Don't forget, or it's giving chaos π
Then it tells the hardware to strip outer VLAN tagged packets on receive and not put them in the receive descriptor. And listen β VSI(s) sitting in port VLANs should not even be aware of the port VLAN ID or TPID they've been assigned to. Main character energy but with amnesia, iykyk π
It also tells the hardware to prevent outer VLAN tag insertion on transmit, and to only allow untagged outer packets from the transmit descriptor. No sneaky tags, we see you π
And finally β tell the hardware to insert the port VLAN on transmit. Slay π
π₯ SEE ALSO π₯
Kernel file ./drivers/net/ethernet/intel/ice/ice_vsi_vlan_lib.c
validate_vlan(9)ice_vsi_add_vlan(9)ice_vsi_del_vlan(9)ice_vsi_manage_vlan_insertion(9)ice_vsi_manage_vlan_stripping(9)__ice_vsi_set_inner_port_vlan(9)ice_cfg_vlan_pruning(9)tpid_to_vsi_outer_vlan_type(9)ice_vsi_ena_outer_stripping(9)ice_vsi_dis_outer_stripping(9)ice_vsi_ena_outer_insertion(9)ice_vsi_dis_outer_insertion(9)ice_vsi_set_outer_port_vlan(9)ice_vsi_clear_outer_port_vlan(9)
okay that's the whole page, mwah π this little cutie lives in the Kernel API Manual, sourced straight from ./drivers/net/ethernet/intel/ice, and it's dated October 2026 β so go forth and configure those VLANs, bestie, you're gonna ate π¦πβ¨
π¦ 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