rte_pmd_iavf.h(3)

πŸ“¦ version 26.03, in nixos 26.05, nixpkgs unstable

πŸ¦‹ 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 NULL to unregister an existing callback.
  • pre_reset_cb_arg β€” The argument passed to the callback function. May be NULL when registering the callback if no argument is needed to the callback. Must be NULL when 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 NULL to unregister an existing callback.
  • post_reset_cb_arg β€” The argument passed to the callback function. May be NULL when registering the callback if no argument is needed to the callback. Must be NULL when 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