t3_set_vlan_accel(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

t3_set_vlan_accel β€” control HW VLAN extraction πŸ’…

okay so bestie, this one's from the Kernel API Manual (section 9, kernel-space girlies only, no userland shenanigans) and it's literally the little switch that turns hardware VLAN tag extraction on or off. tiny function, big main character energy. πŸŽ€


πŸŽ€ SYNOPSIS πŸŽ€

void t3_set_vlan_accel (struct adapter *adapter , unsigned int ports ,
       int on );

like, that's the whole signature. she's not subtle. not one return value, not one error code β€” she just does the thing. πŸ’€


🌸 ARGUMENTS 🌸

  • adapter β€” the adapter. that's the description. it's the adapter. 🫢 (it's the NIC you're poking at, obvi.)
  • ports β€” bitmap of adapter ports to operate on πŸ—ΊοΈ so like, you pick which ports get the treatment with a bitmask β€” yes it's a bitmap, yes you have to think in binary, no you can't skip it.
  • on β€” enable (1) or disable (0) HW VLAN extraction ⚑ those are the only two moods: 1 (on, slay) or 0 (off, not slaying).

πŸ’– DESCRIPTION πŸ’–

Enables or disables HW extraction of VLAN tags for the given port. πŸ¦‹

that's it. that's the function. flip it on and the hardware starts pulling VLAN tags out for you; flip it off and it stops. no cap, no hidden lore, no extra options to memorize. honestly? refreshing. ✨

ngl the given port part matters β€” the port selection comes from that ports bitmap up in ARGUMENTS, so don't come crying to me if you set the wrong bit. πŸ™ˆ

πŸ¦‹ SEE ALSO πŸ¦‹

the source file herself lives right here, in the kernel tree:

./drivers/net/ethernet/chelsio/cxgb3/t3_hw.c

and because this is a kernel API page, the whole cxgb3 friend group is tagged in. all 59 of them, i counted, we're listing every single one πŸ’œ

registers, memory & friends β€” t3_wait_op_done_val(9), t3_write_regs(9), t3_set_reg_field(9), t3_read_indirect(9), t3_mc7_bd_read(9), mc7_calc_size(9), t3_cim_ctl_blk_read(9)

MDIO & PHY girlies β€” t3_mdio_change_bits(9), t3_phy_reset(9), t3_phy_advertise(9), t3_phy_advertise_fiber(9), t3_set_phy_speed_duplex(9)

EEPROM, flash & firmware β€” t3_seeprom_wp(9), get_vpd_params(9), sf1_read(9), sf1_write(9), flash_wait_op(9), t3_read_flash(9), t3_write_flash(9), t3_flash_erase_sectors(9), t3_load_fw(9)

version checks (the vibe check squad) β€” t3_get_tp_version(9), t3_check_tpsram_version(9), t3_check_tpsram(9), t3_get_fw_version(9), t3_check_fw_version(9)

link & interrupts β€” t3_link_changed(9), t3_link_start(9), init_link_config(9), t3_handle_intr_status(9), t3_intr_enable(9), t3_intr_disable(9), t3_intr_clear(9), t3_port_intr_enable(9), t3_port_intr_disable(9), t3_port_intr_clear(9)

SGE, the whole crew β€” t3_sge_write_context(9), clear_sge_ctxt(9), t3_sge_init_ecntxt(9), t3_sge_init_flcntxt(9), t3_sge_init_rspcntxt(9), t3_sge_init_cqcntxt(9), t3_sge_enable_ecntxt(9), t3_sge_disable_fl(9), t3_sge_disable_rspcntxt(9), t3_sge_disable_cqcntxt(9), t3_sge_cqcntxt_op(9)

TP, RSS, timers & config β€” t3_config_rss(9), t3_tp_set_offload_mode(9), pm_num_pages(9), partition_mem(9), tp_set_timers(9), t3_tp_set_coalescing_size(9), t3_tp_set_max_rxsize(9), t3_load_mtus(9), t3_tp_get_mib_stats(9), t3_set_proto_sram(9), t3_config_sched(9), get_pci_mode(9)


okay that's the whole page, you're free, go toggle a VLAN bit πŸ’…βœ¨

cute little sign-off bestie: this one's stamped from the path ./drivers/net/ethernet/chelsio... and dated October 2026 β€” so yeah, she's a period piece, an icon, a legend, and she's out here explaining herself in exactly one sentence. obsessed. πŸŽ€πŸ’–πŸ¦‹

πŸ“¦ where this page comes from