velocity_rx_copy(9)
β¨ velocity_rx_copy β¨
Okay so this is the manual page for velocity_rx_copy, bestie β it's giving kernel API realness from the velocity_rx_copy(9) corner of the manual-verse, and we're about to get into it. π
πΈ NAME πΈ
velocity_rx_copy β in place Rx copy for small packets
Like, it copies stuff for received packets but in place and only when they're smol. Iconic behavior honestly.
π¦ SYNOPSIS π¦
int velocity_rx_copy (struct sk_buff **rx_skb , int pkt_size , struct
velocity_info *vptr );
That's the whole vibe right there. Three args, returns an int. Slay.
π ARGUMENTS π
rx_skbβ the network layer packet buffer candidate. It's the skb that's like, in the running to be the one, y'know? The candidate. πpkt_sizeβ the received data size. Literally how much data we received, no cap.vptrβ the velocity adapter. That's our main character struct fr fr.
π DESCRIPTION π
Here's the tea: this function replaces the current skb that is scheduled for Rx processing with a shorter, immediately allocated skb β but only if the received packet is small enough. So it's like a glow-up swap for tiny packets. β¨
And listen, if the received packet is too big? Or if memory is exhausted? This function returns a negative value. So yeah, negative return = something went wrong, bestie. Not the vibe. ππ
π SEE ALSO π
Okay buckle up because this list is long and honestly it ate. First off, check out the kernel file:
./drivers/net/ethernet/via/via-velocity.c
And then we got the whole friend group here β every single one of these, no skips:
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_iph_realign(9), velocity_receive_frame(9), velocity_rx_srv(9), velocity_intr(9), velocity_open(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)
Like I said. The whole squad. π«Άπ₯
And that's the page, bestie! This lil beauty lives in ./drivers/net/ethernet/via, dated October 2026, and honestly? She's serving kernel API realness and we're obsessed. πππ¦
π¦ 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