__vlan_hwaccel_copy_tag(9)
πΈ __vlan_hwaccel_copy_tag (9) β from the Kernel API Manual, bestie π
Okay so picture this: you got two skbs and one of them has hardware-accelerated VLAN info and the other oneβ¦ doesn't. Tragic. This little function is the fix. It literally copies that hardware accelerated VLAN info from another skb. Iconic behavior, no notes. π
β¨ NAME β¨
__vlan_hwaccel_copy_tag β copy hardware accelerated VLAN info from another skb
π¦ SYNOPSIS π¦
void __vlan_hwaccel_copy_tag (struct sk_buff *dst , const struct sk_buff *src );
π ARGUMENTS π
dstβ the skbuff you're copying to, aka the glow-up recipient β¨srcβ the skbuff you're copying from, aka the one with the goods π«Ά
π DESCRIPTION π
It copies the VLAN information from src into dst. That's the whole vibe. And the reason it exists as its own little function? For branchless code, bestie β no cap, that's literally the stated purpose. π
π SEE ALSO π
If you're obsessed (and you should be), go read the kernel file ./include/linux/if_vlan.h and then go feral on these:
struct vlan_ethhdr(9)struct vlan_pcpu_stats(9)struct vlan_priority_tci_mapping(9)struct vlan_dev_priv(9)eth_type_vlan(9)__vlan_insert_inner_tag(9)__vlan_insert_tag(9)vlan_insert_inner_tag(9)vlan_insert_tag(9)vlan_insert_tag_set_proto(9)__vlan_hwaccel_clear_tag(9)__vlan_hwaccel_put_tag(9)__vlan_get_tag(9)__vlan_hwaccel_get_tag(9)vlan_get_tag(9)vlan_get_protocol_offset_inline(9)vlan_get_protocol(9)vlan_remove_tag(9)skb_vlan_tagged(9)skb_vlan_tagged_multi(9)vlan_features_check(9)compare_vlan_header(9)
fr fr, that's a whole reading list β but iykyk, every single one of them eats π π₯
And that's the page, bestie!! π§ This one lives in ./include/linux and it's dated October 2026 π β go forth and copy those tags, you absolute main character. βπ
π¦ 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