DPDK 26.03.0-rc1
Data Structures | Macros | Typedefs | Functions
rte_pmd_iavf.h File Reference
#include <stdio.h>
#include <rte_compat.h>
#include <rte_mbuf.h>
#include <rte_mbuf_dyn.h>

Go to the source code of this file.

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.

EXPERIMENTAL: this API may change, or be removed, without prior notiavf

Definition in file rte_pmd_iavf.h.

Macro Definition Documentation

◆ RTE_PMD_IFD_DYNF_PROTO_XTR_METADATA

#define RTE_PMD_IFD_DYNF_PROTO_XTR_METADATA (   m)
Value:
rte_pmd_ifd_dynfield_proto_xtr_metadata_offs, \
uint32_t *)
#define RTE_MBUF_DYNFIELD(m, offset, type)
Definition: rte_mbuf_dyn.h:228

The mbuf dynamic field pointer for flexible descriptor's extraction metadata.

Definition at line 160 of file rte_pmd_iavf.h.

◆ RTE_IAVF_PKT_RX_DYNF_PROTO_XTR_VLAN

#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, it is valid when dev_args 'proto_xtr' has 'vlan' specified.

Definition at line 169 of file rte_pmd_iavf.h.

◆ RTE_IAVF_PKT_RX_DYNF_PROTO_XTR_IPV4

#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, it is valid when dev_args 'proto_xtr' has 'ipv4' specified.

Definition at line 176 of file rte_pmd_iavf.h.

◆ RTE_IAVF_PKT_RX_DYNF_PROTO_XTR_IPV6

#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, it is valid when dev_args 'proto_xtr' has 'ipv6' specified.

Definition at line 183 of file rte_pmd_iavf.h.

◆ RTE_IAVF_PKT_RX_DYNF_PROTO_XTR_IPV6_FLOW

#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, it is valid when dev_args 'proto_xtr' has 'ipv6_flow' specified.

Definition at line 190 of file rte_pmd_iavf.h.

◆ RTE_IAVF_PKT_RX_DYNF_PROTO_XTR_TCP

#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, it is valid when dev_args 'proto_xtr' has 'tcp' specified.

Definition at line 197 of file rte_pmd_iavf.h.

◆ RTE_IAVF_PKT_RX_DYNF_PROTO_XTR_IP_OFFSET

#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, it is valid when dev_args 'proto_xtr' has 'ip_offset' specified.

Definition at line 204 of file rte_pmd_iavf.h.

Typedef Documentation

◆ iavf_pre_reset_cb_t

typedef void(* iavf_pre_reset_cb_t) (uint16_t port_id, void *arg)

Callback function pointer for pre VF reset event

Definition at line 28 of file rte_pmd_iavf.h.

◆ iavf_post_reset_cb_t

typedef void(* iavf_post_reset_cb_t) (uint16_t port_id, int reset_state, void *arg)

Callback function pointer for post VF reset event

Definition at line 30 of file rte_pmd_iavf.h.

Function Documentation

◆ rte_pmd_iavf_reinit()

__rte_experimental int rte_pmd_iavf_reinit ( uint16_t  port)

Request PF driver to initiate a PF-to-VF RESET and restore the device following the reset by reconfiguring and restarting the device. The port must be started before calling this function.

Parameters
portThe port identifier of the Ethernet device.
Returns
0 if successful, otherwise if a failure occurs

◆ rte_pmd_iavf_register_pre_reset_cb()

__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

Parameters
portThe port identifier of the Ethernet device.
pre_reset_cbThe callback function that will be invoked by the driver prior to a reset. Pass NULL to unregister an existing callback.
pre_reset_cb_argThe 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_pmd_iavf_register_post_reset_cb()

__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

Parameters
portThe port identifier of the Ethernet device.
post_reset_cbThe callback function that will be invoked by the driver after a reset. Pass NULL to unregister an existing callback.
post_reset_cb_argThe 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_pmd_ifd_dynf_proto_xtr_metadata_avail()

static __rte_experimental __rte_always_inline int rte_pmd_ifd_dynf_proto_xtr_metadata_avail ( void  )
static

Check if mbuf dynamic field for flexible descriptor's extraction metadata is registered.

Returns
True if registered, false otherwise.

Definition at line 216 of file rte_pmd_iavf.h.

◆ rte_pmd_ifd_dynf_proto_xtr_metadata_get()

static __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.

Parameters
mThe pointer to the mbuf.
Returns
The saved protocol extraction metadata.

Definition at line 231 of file rte_pmd_iavf.h.

◆ rte_pmd_ifd_dump_proto_xtr_metadata()

static __rte_experimental void rte_pmd_ifd_dump_proto_xtr_metadata ( struct rte_mbuf m)
inlinestatic

Dump the mbuf dynamic field for flexible descriptor's extraction metadata.

Parameters
mThe pointer to the mbuf.

Definition at line 244 of file rte_pmd_iavf.h.