velocity_open(9)
π velocity_open(9) β Kernel API Manual πΈ
okay bestie, welcome to the velocity_open(9) page, straight out of the Kernel API Manual β¨ this is the lil' activation callback for the via-velocity driver and honestly? she's lowkey iconic for doing all her setup work only when someone actually needs her π«Ά
π NAME
velocity_open β the interface activation callback π« (yes that's her whole job title, and she ate)
π SYNOPSIS
int velocity_open (struct net_device *dev );
β¨ ARGUMENTS
devβ the network layer device that's getting opened π¦ literally the thing being brought to life, no cap
π DESCRIPTION
So here's the vibe: this gets called when the network layer brings the interface up β¬οΈ like, the moment your NIC gets woken from its little nap and told to be a main character π€
Return value check, bestie, because it matters:
- returns a negative posix error code on failure π (something went wrong, deal with it)
- returns zero on success π (we slayed, we're up)
And here's the part I'm obsessed with: all the ring allocation and set up is done on open for this adapter β like, all of it, right here, at open time π and the reason is honestly so smart: it's to minimise memory usage when inactive π so when the interface is just chillin' doing nothing, it's not hogging RAM it doesn't need. frugal queen behavior fr fr π
π¦ SEE ALSO
the whole extended friend group π:
- Kernel file
./drivers/net/ethernet/via/via-velocity.c mac_get_cam_mask(9)mac_set_cam_mask(9)mac_set_cam(9)mac_wol_reset(9)get_chip_name(9)velocity_set_int_opt(9)velocity_set_bool_opt(9)velocity_get_options(9)velocity_init_cam_filter(9)velocity_rx_reset(9)velocity_get_opt_media_mode(9)safe_disable_mii_autopoll(9)enable_mii_autopoll(9)velocity_mii_read(9)mii_check_media_mode(9)velocity_mii_write(9)set_mii_flow_control(9)mii_set_auto_on(9)velocity_set_media_mode(9)velocity_print_link_status(9)enable_flow_control_ability(9)velocity_soft_reset(9)velocity_set_multi(9)mii_init(9)setup_queue_timers(9)setup_adaptive_interrupts(9)velocity_init_registers(9)velocity_init_dma_rings(9)velocity_alloc_rx_buf(9)velocity_free_rd_ring(9)velocity_init_rd_ring(9)velocity_init_td_ring(9)velocity_free_dma_rings(9)velocity_free_tx_buf(9)velocity_free_td_ring(9)velocity_error(9)velocity_tx_srv(9)velocity_rx_csum(9)velocity_rx_copy(9)velocity_iph_realign(9)velocity_receive_frame(9)velocity_rx_srv(9)velocity_intr(9)velocity_shutdown(9)velocity_change_mtu(9)velocity_poll_controller(9)velocity_mii_ioctl(9)velocity_ioctl(9)velocity_get_stats(9)velocity_close(9)velocity_xmit(9)velocity_init_info(9)velocity_get_pci_info(9)velocity_get_platform_info(9)velocity_print_info(9)velocity_probe(9)velocity_remove(9)wol_calc_crc(9)velocity_set_wol(9)velocity_save_context(9)velocity_restore_context(9)velocity_ethtool_up(9)velocity_ethtool_down(9)velocity_init_module(9)velocity_cleanup_module(9)
that's the whole page, bestie π«Ά tysm for reading, and remember: this lil' beauty lives over at ./drivers/net/ethernet/via, the page is dated October 2026, and she goes by velocity_open(9) π mwah, go open some interfaces β¨π
π¦ 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