i40e_set_vsi_promisc(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… i40e_set_vsi_promisc(9) β€” NAME

okay so bestie, welcome to the Kernel API Manual ✨ this page is literally about i40e_set_vsi_promisc and β€” not gonna lie β€” the official one-liner is completely blank 😭 like the NAME section is just a dash and nothing else. So we're all just out here vibing with a mystery function. Slay, I guess πŸ’€


✨ SYNOPSIS ✨

int i40e_set_vsi_promisc (struct i40e_vf *vf , u16 seid , bool
       multi_enable , bool unicast_enable , s16 *vl , u16 num_vlans );

that's the whole vibe. six args, one int coming back at you 🫢


πŸŽ€ ARGUMENTS πŸŽ€

okay this is the part where you actually read, bestie, I believe in you πŸ’–

  • vf β€” pointer to the VF struct 🌸 that's it, that's the whole note.
  • seid β€” the VSI number πŸ¦‹ your very own VSI id, iconic.
  • multi_enable β€” set MAC L2 layer multicast promiscuous enable/disable for a given VLAN πŸ‘‘ yes, both directions with one flag, we love a multitasker.
  • unicast_enable β€” set MAC L2 layer unicast promiscuous enable/disable for a given VLAN 🌈 same deal, another on/off situation.
  • vl β€” List of VLANs β€” apply filter for given VLANs πŸ“ it's a s16 *, so it's a list, not a single lonely VLAN.
  • num_vlans β€” Number of elements in vl ⭐ like, the count. the length. the how-many. don't get these two confused or it's giving undefined chaos πŸ’€
fr fr: vl and num_vlans are a package deal β€” one's the list, one's the length. treat them as a matching set 🫢

πŸ¦‹ SEE ALSO πŸ¦‹

okay this is the longest SEE ALSO I've ever seen and I'm obsessed β€” it's basically the entire i40e virtchnl family tree in one paragraph 😭 here's every single one, no cap, none skipped:

i40e_vc_vf_broadcast(9), i40e_vc_link_speed2mbps(9), i40e_set_vf_link_state(9), i40e_vc_notify_vf_link_state(9), i40e_vc_notify_link_state(9), i40e_vc_notify_reset(9), i40e_vc_notify_vf_reset(9), i40e_vc_reset_vf(9), i40e_vc_isvalid_vsi_id(9), i40e_vc_isvalid_queue_id(9), i40e_vc_isvalid_vector_id(9), i40e_vc_get_pf_queue_id(9), i40e_get_real_pf_qid(9), i40e_config_irq_link_list(9), i40e_release_rdma_qvlist(9), i40e_config_rdma_qvlist(9), i40e_config_vsi_tx_queue(9), i40e_config_vsi_rx_queue(9), i40e_alloc_vsi_res(9), i40e_map_pf_queues_to_vsi(9), i40e_map_pf_to_vf_queues(9), i40e_enable_vf_mappings(9), i40e_disable_vf_mappings(9), i40e_free_vf_res(9), i40e_alloc_vf_res(9), i40e_quiesce_vf_pci(9), __i40e_getnum_vf_vsi_vlan_filters(9), i40e_getnum_vf_vsi_vlan_filters(9), i40e_get_vlan_list_sync(9), i40e_config_vf_promiscuous_mode(9), i40e_sync_vfr_reset(9), i40e_trigger_vf_reset(9), i40e_cleanup_reset_vf(9), i40e_reset_vf(9), i40e_reset_all_vfs(9), i40e_free_vfs(9), i40e_alloc_vfs(9), i40e_pci_sriov_enable(9), i40e_pci_sriov_configure(9), i40e_vc_send_msg_to_vf(9), i40e_vc_send_resp_to_vf(9), i40e_sync_vf_state(9), i40e_vc_get_version_msg(9), i40e_del_qch(9), i40e_vc_get_max_frame_size(9), i40e_vc_get_vf_resources_msg(9), i40e_vc_config_promiscuous_mode_msg(9), i40e_vc_config_queues_msg(9), i40e_validate_queue_map(9), i40e_vc_config_irq_map_msg(9), i40e_ctrl_vf_tx_rings(9), i40e_ctrl_vf_rx_rings(9), i40e_vc_validate_vqs_bitmaps(9), i40e_vc_enable_queues_msg(9), i40e_vc_disable_queues_msg(9), i40e_check_enough_queue(9), i40e_vc_request_queues_msg(9), i40e_vc_get_stats_msg(9), i40e_check_vf_permission(9), i40e_vc_ether_addr_type(9), i40e_is_vc_addr_legacy(9), i40e_is_vc_addr_primary(9), i40e_update_vf_mac_addr(9), i40e_vc_add_mac_addr_msg(9), i40e_vc_del_mac_addr_msg(9), i40e_vc_add_vlan_msg(9), i40e_vc_remove_vlan_msg(9), i40e_vc_rdma_msg(9), i40e_vc_rdma_qvmap_msg(9), i40e_vc_config_rss_key(9), i40e_vc_config_rss_lut(9), i40e_vc_get_rss_hashcfg(9), i40e_vc_set_rss_hashcfg(9), i40e_vc_enable_vlan_stripping(9), i40e_vc_disable_vlan_stripping(9), i40e_validate_cloud_filter(9), i40e_find_vsi_from_seid(9), i40e_del_all_cloud_filters(9), i40e_vc_del_cloud_filter(9), i40e_vc_add_cloud_filter(9), i40e_vc_add_qch_msg(9), i40e_vc_del_qch_msg(9), i40e_vc_process_vf_msg(9), i40e_vc_process_vflr_event(9), i40e_validate_vf(9), i40e_check_vf_init_timeout(9), i40e_ndo_set_vf_mac(9), i40e_ndo_set_vf_port_vlan(9), i40e_ndo_set_vf_bw(9), i40e_ndo_get_vf_config(9), i40e_ndo_set_vf_link_state(9), i40e_ndo_set_vf_spoofchk(9), i40e_setup_vf_trust(9), i40e_ndo_set_vf_trust(9), i40e_get_vf_stats(9)

and the actual source lives here, bestie, go read it πŸ‘€:

Kernel file ./drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c

okay that's the whole page and you ate that πŸ’… this beauty came out of the ./drivers/net/ethernet/intel/i40e directory, dropped in October 2026, and lives proudly in section 9 of the manual β€” go forth and set some promiscuous filters, queen πŸ‘‘πŸ’–

πŸ“¦ where this page comes from