i40e_program_fdir_filter(9)
π i40e_program_fdir_filter β from the Kernel API Manual (kernel land's own little bible) π
okay so bestie, gather round, because this one is a whole function and she does exactly one (1) job: programming a Flow Director filter. that's it, that's the vibe. no cap. π
β¨ NAME β¨
i40e_program_fdir_filter β literally programs a Flow Director filter. that's the whole personality. π
πΈ SYNOPSIS πΈ
int i40e_program_fdir_filter (struct i40e_fdir_filter *fdir_data , u8 *raw_packet , struct i40e_pf *pf , bool add );
like, she returns an int, she takes four things, and she is serving. π₯
π¦ ARGUMENTS π¦
fdir_dataβ the packet data that's gonna become your filter parameters. this is the main character of the operation, honestly. πraw_packetβ the pre-allocated packet buffer for FDir. it's already sitting there waiting for you, no allocations needed, we love a prepared queen. β¨pfβ The PF pointer. yes, capital T capital P capital F, respect her. π«ΆaddβTruefor add/update,Falsefor remove. binary queen, two moods only: put it in or take it out. π
π SEE ALSO π
okay this next part is long, so buckle up, bestie β she has a LOT of friends and she wants you to meet every single one of them. no skipping, we're doing the full roll call. π§
first up, the actual source file, living its best life at ./drivers/net/ethernet/intel/i40e/i40e_txrx.c, plus:
i40e_fdir(9)i40e_create_dummy_packet(9)i40e_create_dummy_udp_packet(9)i40e_create_dummy_tcp_packet(9)i40e_create_dummy_sctp_packet(9)i40e_prepare_fdir_filter(9)i40e_change_filter_num(9)i40e_add_del_fdir_udp(9)i40e_add_del_fdir_tcp(9)i40e_add_del_fdir_sctp(9)i40e_add_del_fdir_ip(9)i40e_add_del_fdir(9)i40e_fd_handle_status(9)i40e_unmap_and_free_tx_resource(9)i40e_clean_tx_ring(9)i40e_free_tx_resources(9)i40e_get_tx_pending(9)i40e_detect_recover_hung(9)i40e_clean_tx_irq(9)i40e_enable_wb_on_itr(9)i40e_force_wb(9)i40e_update_itr(9)i40e_reuse_rx_page(9)i40e_clean_programming_status(9)i40e_setup_tx_descriptors(9)i40e_clean_rx_ring(9)i40e_free_rx_resources(9)i40e_setup_rx_descriptors(9)i40e_release_rx_desc(9)i40e_alloc_mapped_page(9)i40e_alloc_rx_buffers(9)i40e_rx_checksum(9)i40e_rx_hash(9)i40e_process_skb_fields(9)i40e_cleanup_headers(9)i40e_can_reuse_rx_page(9)i40e_rx_buffer_flip(9)i40e_get_rx_buffer(9)i40e_put_rx_buffer(9)i40e_process_rx_buffs(9)i40e_construct_skb(9)i40e_build_skb(9)i40e_is_non_eop(9)i40e_run_xdp(9)i40e_xdp_ring_update_tail(9)i40e_update_rx_stats(9)i40e_finalize_xdp_rx(9)i40e_inc_ntp(9)i40e_add_xdp_frag(9)i40e_consume_xdp_buff(9)i40e_clean_rx_irq(9)i40e_buildreg_itr(9)i40e_update_enable_itr(9)i40e_napi_poll(9)i40e_atr(9)i40e_tx_prepare_vlan_flags(9)i40e_tso(9)i40e_tsyn(9)i40e_tx_enable_csum(9)i40e_create_tx_ctx(9)__i40e_maybe_stop_tx(9)__i40e_chk_linearize(9)i40e_tx_map(9)i40e_xmit_xdp_ring(9)i40e_xmit_frame_ring(9)i40e_lan_xmit_frame(9)i40e_xdp_xmit(9)
that's the whole crew. every single one. don't leave anyone on read. ππ
mwah, that's the page! π«Ά this lil beauty comes from ./drivers/net/ethernet/intel/i40e, stamped October 2026, and she answers to the manual name Kernel API Manual. go forth and program those filters, bestie β periodt. π
β¨
π¦ 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