logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Author

       Generated automatically by Doxygen for DPDK from the source code.

DPDK                                             Version 24.11.2                                   rte_port.h(3)

Detailed Description

       RTE Port

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

       Definition in file rte_port.h.

Macro Definition Documentation

#defineRTE_MBUF_METADATA_UINT8_PTR(mbuf,offset)(&((uint8_t*)(mbuf))[offset])
       Macros to allow accessing metadata stored in the mbuf headroom just beyond the end of the mbuf data
       structure returned by a port

       Definition at line 23 of file rte_port.h.

   #defineRTE_MBUF_METADATA_UINT16_PTR(mbuf,offset)((uint16_t*)RTE_MBUF_METADATA_UINT8_PTR(mbuf,offset))
       Macros to allow accessing metadata stored in the mbuf headroom just beyond the end of the mbuf data
       structure returned by a port

       Definition at line 25 of file rte_port.h.

   #defineRTE_MBUF_METADATA_UINT32_PTR(mbuf,offset)((uint32_t*)RTE_MBUF_METADATA_UINT8_PTR(mbuf,offset))
       Macros to allow accessing metadata stored in the mbuf headroom just beyond the end of the mbuf data
       structure returned by a port

       Definition at line 27 of file rte_port.h.

   #defineRTE_MBUF_METADATA_UINT64_PTR(mbuf,offset)((uint64_t*)RTE_MBUF_METADATA_UINT8_PTR(mbuf,offset))
       Macros to allow accessing metadata stored in the mbuf headroom just beyond the end of the mbuf data
       structure returned by a port

       Definition at line 29 of file rte_port.h.

   #defineRTE_MBUF_METADATA_UINT8(mbuf,offset)(*RTE_MBUF_METADATA_UINT8_PTR(mbuf,offset))
       Macros to allow accessing metadata stored in the mbuf headroom just beyond the end of the mbuf data
       structure returned by a port

       Definition at line 32 of file rte_port.h.

   #defineRTE_MBUF_METADATA_UINT16(mbuf,offset)(*RTE_MBUF_METADATA_UINT16_PTR(mbuf,offset))
       Macros to allow accessing metadata stored in the mbuf headroom just beyond the end of the mbuf data
       structure returned by a port

       Definition at line 34 of file rte_port.h.

   #defineRTE_MBUF_METADATA_UINT32(mbuf,offset)(*RTE_MBUF_METADATA_UINT32_PTR(mbuf,offset))
       Macros to allow accessing metadata stored in the mbuf headroom just beyond the end of the mbuf data
       structure returned by a port

       Definition at line 36 of file rte_port.h.

   #defineRTE_MBUF_METADATA_UINT64(mbuf,offset)(*RTE_MBUF_METADATA_UINT64_PTR(mbuf,offset))
       Macros to allow accessing metadata stored in the mbuf headroom just beyond the end of the mbuf data
       structure returned by a port

       Definition at line 38 of file rte_port.h.

   #defineRTE_PORT_IN_BURST_SIZE_MAX64
       Maximum number of packets read from any input port in a single burst. Cannot be changed.

       Definition at line 47 of file rte_port.h.

Name

       rte_port.h

Synopsis

       #include <stdint.h>
       #include <rte_mbuf.h>

   DataStructures
       struct rte_port_in_stats
       struct rte_port_in_ops
       struct rte_port_out_stats
       struct rte_port_out_opsMacros
       #define RTE_PORT_IN_BURST_SIZE_MAX   64

   Typedefstypedef 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 int(* rte_port_in_op_stats_read) (void *port, struct rte_port_in_stats *stats, int clear)
       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 **pkts, uint64_t pkts_mask)
       typedef int(* rte_port_out_op_flush) (void *port)
       typedef int(* rte_port_out_op_stats_read) (void *port, struct rte_port_out_stats *stats, int clear)

Typedef Documentation

typedefvoid*(*rte_port_in_op_create)(void*params,intsocket_id)
       Input port create

       Parametersparams Parameters for input port creation
           socket_id CPU socket ID (e.g. for memory allocation purpose)

       Returns
           Handle to input port instance

       Definition at line 65 of file rte_port.h.

   typedefint(*rte_port_in_op_free)(void*port)
       Input port free

       Parametersport Handle to input port instance

       Returns
           0 on success, error code otherwise

       Definition at line 75 of file rte_port.h.

   typedefint(*rte_port_in_op_rx)(void*port,structrte_mbuf**pkts,uint32_tn_pkts)
       Input port packet burst RX

       Parametersport Handle to input port instance
           pkts Burst of input packets
           n_pkts Number of packets in the input burst

       Returns
           0 on success, error code otherwise

       Definition at line 89 of file rte_port.h.

   typedefint(*rte_port_in_op_stats_read)(void*port,structrte_port_in_stats*stats,intclear)
       Input port stats get

       Parametersport Handle to output port instance
           stats Handle to port_in stats struct to copy data
           clear Flag indicating that stats should be cleared after read

       Returns
           Error code or 0 on success.

       Definition at line 107 of file rte_port.h.

   typedefvoid*(*rte_port_out_op_create)(void*params,intsocket_id)
       Output port create

       Parametersparams Parameters for output port creation
           socket_id CPU socket ID (e.g. for memory allocation purpose)

       Returns
           Handle to output port instance

       Definition at line 139 of file rte_port.h.

   typedefint(*rte_port_out_op_free)(void*port)
       Output port free

       Parametersport Handle to output port instance

       Returns
           0 on success, error code otherwise

       Definition at line 149 of file rte_port.h.

   typedefint(*rte_port_out_op_tx)(void*port,structrte_mbuf*pkt)
       Output port single packet TX

       Parametersport Handle to output port instance
           pkt Input packet

       Returns
           0 on success, error code otherwise

       Definition at line 161 of file rte_port.h.

   typedefint(*rte_port_out_op_tx_bulk)(void*port,structrte_mbuf**pkts,uint64_tpkts_mask)
       Output port packet burst TX

       Parametersport Handle to output port instance
           pkts Burst of input packets specified as array of up to 64 pointers to struct rte_mbufpkts_mask 64-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

       Definition at line 180 of file rte_port.h.

   typedefint(*rte_port_out_op_flush)(void*port)
       Output port flush

       Parametersport Handle to output port instance

       Returns
           0 on success, error code otherwise

       Definition at line 193 of file rte_port.h.

   typedefint(*rte_port_out_op_stats_read)(void*port,structrte_port_out_stats*stats,intclear)
       Output port stats read

       Parametersport Handle to output port instance
           stats Handle to port_out stats struct to copy data
           clear Flag indicating that stats should be cleared after read

       Returns
           Error code or 0 on success.

       Definition at line 208 of file rte_port.h.

See Also