DPDK  1.7.1
Data Structures | Macros | Typedefs
rte_port.h File Reference
#include <stdint.h>
#include <rte_mbuf.h>

Data Structures

struct  rte_port_in_ops
struct  rte_port_out_ops

Macros

#define RTE_PORT_IN_BURST_SIZE_MAX   64

Typedefs

typedef void *(* rte_port_in_op_create )(void *params, int socket_id)
typedef int(* rte_port_in_op_free )(void *port)
typedef int(* rte_port_in_op_rx )(void *port, struct rte_mbuf **pkts, uint32_t n_pkts)
typedef void *(* rte_port_out_op_create )(void *params, int socket_id)
typedef int(* rte_port_out_op_free )(void *port)
typedef int(* rte_port_out_op_tx )(void *port, struct rte_mbuf *pkt)
typedef int(* rte_port_out_op_tx_bulk )(void *port, struct rte_mbuf **pkt, uint64_t pkts_mask)
typedef int(* rte_port_out_op_flush )(void *port)

Detailed Description

RTE Port

This tool is part of the Intel DPDK Packet Framework tool suite and provides a standard interface to implement different types of packet ports.

Macro Definition Documentation

#define RTE_PORT_IN_BURST_SIZE_MAX   64
Maximum number of packets read from any input port in a single burst.

Cannot be changed.

Typedef Documentation

typedef void*(* rte_port_in_op_create)(void *params, int socket_id)

Input port create

Parameters
paramsParameters for input port creation
socket_idCPU socket ID (e.g. for memory allocation purpose)
Returns
Handle to input port instance
typedef int(* rte_port_in_op_free)(void *port)

Input port free

Parameters
portHandle to input port instance
Returns
0 on success, error code otherwise
typedef int(* rte_port_in_op_rx)(void *port, struct rte_mbuf **pkts, uint32_t n_pkts)

Input port packet burst RX

Parameters
portHandle to input port instance
pktsBurst of input packets
n_pktsNumber of packets in the input burst
Returns
0 on success, error code otherwise
typedef void*(* rte_port_out_op_create)(void *params, int socket_id)

Output port create

Parameters
paramsParameters for output port creation
socket_idCPU socket ID (e.g. for memory allocation purpose)
Returns
Handle to output port instance
typedef int(* rte_port_out_op_flush)(void *port)

Output port flush

Parameters
portHandle to output port instance
Returns
0 on success, error code otherwise
typedef int(* rte_port_out_op_free)(void *port)

Output port free

Parameters
portHandle to output port instance
Returns
0 on success, error code otherwise
typedef int(* rte_port_out_op_tx)(void *port, struct rte_mbuf *pkt)

Output port single packet TX

Parameters
portHandle to output port instance
pktInput packet
Returns
0 on success, error code otherwise
typedef int(* rte_port_out_op_tx_bulk)(void *port, struct rte_mbuf **pkt, uint64_t pkts_mask)

Output port packet burst TX

Parameters
portHandle to output port instance
pktsBurst of input packets specified as array of up to 64 pointers to struct rte_mbuf
pkts_mask64-bit bitmask specifying which packets in the input burst are valid. When pkts_mask bit n is set, then element n of pkts array is pointing to a valid packet. Otherwise, element n of pkts array will not be accessed.
Returns
0 on success, error code otherwise