rte_pmd_iavf.h(3)
π¦ rte_pmd_iavf.h β the DPDK library functions manual, bestie edition π¦
okay so this is rte_pmd_iavf.h(3), straight out of the DPDK Library Functions Manual, and it's literally the iavf PMD's little bag of tricks. come learn with me π
β¨ NAME β¨
rte_pmd_iavf.h β that's the whole name, no cap, that's it π
πΈ SYNOPSIS πΈ
#include <stdio.h>
#include <rte_compat.h>
#include <rte_mbuf.h>
#include <rte_mbuf_dyn.h>
π«Ά Data Structures
union rte_pmd_ifd_proto_xtr_metadata
β Macros
#define RTE_PMD_IFD_DYNF_PROTO_XTR_METADATA(m)
#define RTE_IAVF_PKT_RX_DYNF_PROTO_XTR_VLAN
(rte_pmd_ifd_dynflag_proto_xtr_vlan_mask)
#define RTE_IAVF_PKT_RX_DYNF_PROTO_XTR_IPV4
(rte_pmd_ifd_dynflag_proto_xtr_ipv4_mask)
#define RTE_IAVF_PKT_RX_DYNF_PROTO_XTR_IPV6
(rte_pmd_ifd_dynflag_proto_xtr_ipv6_mask)
#define RTE_IAVF_PKT_RX_DYNF_PROTO_XTR_IPV6_FLOW
(rte_pmd_ifd_dynflag_proto_xtr_ipv6_flow_mask)
#define RTE_IAVF_PKT_RX_DYNF_PROTO_XTR_TCP
(rte_pmd_ifd_dynflag_proto_xtr_tcp_mask)
#define RTE_IAVF_PKT_RX_DYNF_PROTO_XTR_IP_OFFSET
(rte_pmd_ifd_dynflag_proto_xtr_ip_offset_mask)
π§ Typedefs
typedef void(* iavf_pre_reset_cb_t) (uint16_t port_id, void *arg)
typedef void(* iavf_post_reset_cb_t) (uint16_t port_id, int reset_state,
void *arg)
π Functions
__rte_experimental int rte_pmd_iavf_reinit (uint16_t port)
__rte_experimental int rte_pmd_iavf_register_pre_reset_cb (uint16_t
port, iavf_pre_reset_cb_t pre_reset_cb, void *pre_reset_cb_arg)
__rte_experimental int rte_pmd_iavf_register_post_reset_cb (uint16_t
port, iavf_post_reset_cb_t post_reset_cb, void *post_reset_cb_arg)
static __rte_experimental __rte_always_inline int
rte_pmd_ifd_dynf_proto_xtr_metadata_avail (void)
static __rte_experimental __rte_always_inline uint32_t
rte_pmd_ifd_dynf_proto_xtr_metadata_get (struct rte_mbuf *m)
static __rte_experimental void rte_pmd_ifd_dump_proto_xtr_metadata
(struct rte_mbuf *m)
π Detailed Description π
iavf PMD specific functions. that's the whole vibe β¨
EXPERIMENTAL: this API may change, or be removed, without prior notiavf
(yes bestie, it really says notiavf β that's how it's written in the source, we don't touch it, we just note it π)
Definition in file rte_pmd_iavf.h.
π₯ Macro Definition Documentation π₯
π
#define RTE_PMD_IFD_DYNF_PROTO_XTR_METADATA( m)
Value:
RTE_MBUF_DYNFIELD((m), \
rte_pmd_ifd_dynfield_proto_xtr_metadata_offs, \
uint32_t *)
The mbuf dynamic field pointer for flexible descriptor's extraction metadata. it's giving "pointer to the metadata, slay" π
Definition at line 160 of file rte_pmd_iavf.h.
π
#define RTE_IAVF_PKT_RX_DYNF_PROTO_XTR_VLAN (rte_pmd_ifd_dynflag_proto_xtr_vlan_mask)
The mbuf dynamic flag for VLAN protocol extraction metadata, and it is valid when dev_args 'proto_xtr' has 'vlan' specified. iykyk πΈ
Definition at line 169 of file rte_pmd_iavf.h.
π
#define RTE_IAVF_PKT_RX_DYNF_PROTO_XTR_IPV4 (rte_pmd_ifd_dynflag_proto_xtr_ipv4_mask)
The mbuf dynamic flag for IPv4 protocol extraction metadata, valid when dev_args 'proto_xtr' has 'ipv4' specified. periodt β
Definition at line 176 of file rte_pmd_iavf.h.
π
#define RTE_IAVF_PKT_RX_DYNF_PROTO_XTR_IPV6 (rte_pmd_ifd_dynflag_proto_xtr_ipv6_mask)
The mbuf dynamic flag for IPv6 protocol extraction metadata, valid when dev_args 'proto_xtr' has 'ipv6' specified. iconic π¦
Definition at line 183 of file rte_pmd_iavf.h.
π
#define RTE_IAVF_PKT_RX_DYNF_PROTO_XTR_IPV6_FLOW (rte_pmd_ifd_dynflag_proto_xtr_ipv6_flow_mask)
The mbuf dynamic flag for IPv6 with flow protocol extraction metadata, valid when dev_args 'proto_xtr' has 'ipv6_flow' specified. lowkey fancy π
Definition at line 190 of file rte_pmd_iavf.h.
π
#define RTE_IAVF_PKT_RX_DYNF_PROTO_XTR_TCP (rte_pmd_ifd_dynflag_proto_xtr_tcp_mask)
The mbuf dynamic flag for TCP protocol extraction metadata, valid when dev_args 'proto_xtr' has 'tcp' specified. we love a reliable transport π«Ά
Definition at line 197 of file rte_pmd_iavf.h.
π
#define RTE_IAVF_PKT_RX_DYNF_PROTO_XTR_IP_OFFSET (rte_pmd_ifd_dynflag_proto_xtr_ip_offset_mask)
The mbuf dynamic flag for IP_OFFSET extraction metadata, valid when dev_args 'proto_xtr' has 'ip_offset' specified. offsets are main character energy fr fr β¨
Definition at line 204 of file rte_pmd_iavf.h.
π§ Typedef Documentation π§
π typedef void(* iavf_pre_reset_cb_t) (uint16_t port_id, void *arg)
Callback function pointer for pre VF reset event. it fires before the reset, so you can get your affairs in order bestie π
Definition at line 28 of file rte_pmd_iavf.h.
π typedef void(* iavf_post_reset_cb_t) (uint16_t port_id, int reset_state, void *arg)
Callback function pointer for post VF reset event. this one runs after the reset, and it even gets told the reset_state π
Definition at line 30 of file rte_pmd_iavf.h.
π Function Documentation π
π __rte_experimental int rte_pmd_iavf_reinit (uint16_t port)
Ask the PF driver to kick off a PF-to-VF RESET, then restore the device after the reset by reconfiguring and restarting it. π«
heads up bestie: the port must be started before calling this function. no starting, no reinit β that's the rule π
Parameters
- port β The port identifier of the Ethernet device.
Returns
0 if successful, otherwise if a failure occurs.
π __rte_experimental int rte_pmd_iavf_register_pre_reset_cb (uint16_t port, iavf_pre_reset_cb_t pre_reset_cb, void * pre_reset_cb_arg)
Register or unregister a pre reset event callback. both directions, one function, versatile queen π
Parameters
- port β The port identifier of the Ethernet device.
- pre_reset_cb β The callback function that will be invoked by the driver prior to a reset. Pass
NULLto unregister an existing callback. - pre_reset_cb_arg β The argument passed to the callback function. May be
NULLwhen registering the callback if no argument is needed to the callback. Must beNULLwhen unregistering the callback.
Returns
0 if successful, otherwise if a failure occurs.
π __rte_experimental int rte_pmd_iavf_register_post_reset_cb (uint16_t port, iavf_post_reset_cb_t post_reset_cb, void * post_reset_cb_arg)
Register or unregister a post reset event callback. same deal, but after the reset π
Parameters
- port β The port identifier of the Ethernet device.
- post_reset_cb β The callback function that will be invoked by the driver after a reset. Pass
NULLto unregister an existing callback. - post_reset_cb_arg β The argument passed to the callback function. May be
NULLwhen registering the callback if no argument is needed to the callback. Must beNULLwhen unregistering the callback.
Returns
0 if successful, otherwise if a failure occurs.
π __rte_experimental __rte_always_inline int rte_pmd_ifd_dynf_proto_xtr_metadata_avail (void ) [static]
Check if the mbuf dynamic field for flexible descriptor's extraction metadata is registered. a little vibe check, if you will π΅οΈββοΈ
Returns
True if registered, false otherwise.
Definition at line 216 of file rte_pmd_iavf.h.
π __rte_experimental __rte_always_inline uint32_t rte_pmd_ifd_dynf_proto_xtr_metadata_get (struct rte_mbuf * m) [static]
Get the mbuf dynamic field for flexible descriptor's extraction metadata. gimme the goods π
Parameters
- m β The pointer to the mbuf.
Returns
The saved protocol extraction metadata.
Definition at line 231 of file rte_pmd_iavf.h.
π __rte_experimental void rte_pmd_ifd_dump_proto_xtr_metadata (struct rte_mbuf * m) [inline], [static]
Dump the mbuf dynamic field for flexible descriptor's extraction metadata. just. dump it. let it all out bestie π
Parameters
- m β The pointer to the mbuf.
Definition at line 244 of file rte_pmd_iavf.h.
π Author π
Generated automatically by Doxygen for DPDK from the source code. not me being a Doxygen girlie πβ¨
okay that's the whole page, mwah π β signed, sealed, delivered by DPDK Version 26.03.0, dated right there with rte_pmd_iavf.h(3) on the footer, and yes we read the whole thing top to bottom, no skimming, periodt π«Άπ
π¦ where this page comes from
- nixos 26.05: dpdk 26.03
- nixpkgs unstable: dpdk 26.03
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms