rte_mbuf - Man Page
Synopsis
#include <rte_mbuf_core.h>
Data Fields
void * buf_addr
struct rte_mbuf * next
uint64_t ol_flags
struct rte_mempool * pool
uint64_t dynfield2
struct rte_mbuf_ext_shared_info * shinfo
uint16_t priv_size
uint16_t timesync
uint32_t dynfield1 [9]
Detailed Description
The generic rte_mbuf, containing a packet mbuf.
Definition at line 467 of file rte_mbuf_core.h.
Field Documentation
void* buf_addr
Virtual address of segment buffer.
Definition at line 468 of file rte_mbuf_core.h.
struct rte_mbuf* next
Next segment of scattered packet. This field is valid when physical address field is undefined. Otherwise next pointer in the second cache line will be used.
Definition at line 485 of file rte_mbuf_core.h.
uint16_t refcnt
Reference counter. Its size should at least equal to the size of port field (16 bits), to support zero-copy broadcast. It should only be accessed using the following functions: rte_mbuf_refcnt_update(), rte_mbuf_refcnt_read(), and rte_mbuf_refcnt_set(). The functionality of these functions (atomic, or non-atomic) is controlled by the RTE_MBUF_REFCNT_ATOMIC flag.
Definition at line 503 of file rte_mbuf_core.h.
uint16_t nb_segs
Number of segments. Only valid for the first segment of an mbuf chain.
Definition at line 509 of file rte_mbuf_core.h.
uint16_t port
Input port (16 bits to support more than 256 virtual ports). The event eth Tx adapter uses this field to specify the output port.
Definition at line 514 of file rte_mbuf_core.h.
uint64_t ol_flags
Offload features.
Definition at line 518 of file rte_mbuf_core.h.
uint32_t packet_type
L2/L3/L4 and tunnel information.
Definition at line 534 of file rte_mbuf_core.h.
uint8_t l2_type
(Outer) L2 type.
Definition at line 537 of file rte_mbuf_core.h.
uint8_t l3_type
(Outer) L3 type.
Definition at line 538 of file rte_mbuf_core.h.
uint8_t l4_type
(Outer) L4 type.
Definition at line 539 of file rte_mbuf_core.h.
uint8_t tun_type
Tunnel type.
Definition at line 540 of file rte_mbuf_core.h.
uint8_t inner_esp_next_proto
ESP next protocol type, valid if RTE_PTYPE_TUNNEL_ESP tunnel type is set on both Tx and Rx.
Definition at line 542 of file rte_mbuf_core.h.
uint8_t inner_l2_type
Inner L2 type.
Definition at line 549 of file rte_mbuf_core.h.
uint8_t inner_l3_type
Inner L3 type.
Definition at line 551 of file rte_mbuf_core.h.
uint8_t inner_l4_type
Inner L4 type.
Definition at line 555 of file rte_mbuf_core.h.
uint32_t pkt_len
Total pkt len: sum of all segments.
Definition at line 559 of file rte_mbuf_core.h.
uint16_t data_len
Amount of data in segment buffer.
Definition at line 560 of file rte_mbuf_core.h.
uint16_t vlan_tci
VLAN TCI (CPU order), valid if RTE_MBUF_F_RX_VLAN is set.
Definition at line 562 of file rte_mbuf_core.h.
uint32_t rss
RSS hash result if RSS enabled
Definition at line 566 of file rte_mbuf_core.h.
uint32_t lo
Second 4 flexible bytes
Definition at line 573 of file rte_mbuf_core.h.
uint32_t hi
First 4 flexible bytes or FD ID, dependent on RTE_MBUF_F_RX_FDIR_* flag in ol_flags.
Definition at line 576 of file rte_mbuf_core.h.
struct { ... } fdir
Filter identifier if FDIR enabled
struct rte_mbuf_sched sched
Hierarchical scheduler : 8 bytes
Definition at line 581 of file rte_mbuf_core.h.
uint16_t txq
The event eth Tx adapter uses this field to store Tx queue id.
- See also
rte_event_eth_tx_adapter_txq_set()
Definition at line 586 of file rte_mbuf_core.h.
struct { ... } txadapter
Eventdev ethdev Tx adapter
uint32_t usr
User defined tags. See rte_distributor_process()
Definition at line 592 of file rte_mbuf_core.h.
union { ... } hash
hash information
uint16_t vlan_tci_outer
Outer VLAN TCI (CPU order), valid if RTE_MBUF_F_RX_QINQ is set.
Definition at line 598 of file rte_mbuf_core.h.
uint16_t buf_len
Length of segment buffer.
Definition at line 600 of file rte_mbuf_core.h.
struct rte_mempool* pool
Pool from which mbuf was allocated.
Definition at line 604 of file rte_mbuf_core.h.
uint64_t dynfield2
Reserved for dynamic fields when the next pointer is in first cache line (i.e. RTE_IOVA_IN_MBUF is 0).
Definition at line 620 of file rte_mbuf_core.h.
uint64_t tx_offload
combined for easy fetch
Definition at line 625 of file rte_mbuf_core.h.
uint64_t l2_len
L2 (MAC) Header Length for non-tunneling pkt. Outer_L4_len + ... + Inner_L2_len for tunneling pkt.
Definition at line 628 of file rte_mbuf_core.h.
uint64_t l3_len
L3 (IP) Header Length.
Definition at line 632 of file rte_mbuf_core.h.
uint64_t l4_len
L4 (TCP/UDP) Header Length.
Definition at line 634 of file rte_mbuf_core.h.
uint64_t tso_segsz
TCP TSO segment size
Definition at line 636 of file rte_mbuf_core.h.
uint64_t outer_l3_len
Outer L3 (IP) Hdr Length.
Definition at line 651 of file rte_mbuf_core.h.
uint64_t outer_l2_len
Outer L2 (MAC) Hdr Length.
Definition at line 653 of file rte_mbuf_core.h.
uint16_t priv_size
Size of the application private data. In case of an indirect mbuf, it stores the direct mbuf private data size.
Definition at line 668 of file rte_mbuf_core.h.
uint16_t timesync
Timesync flags for use with IEEE1588.
Definition at line 671 of file rte_mbuf_core.h.
uint32_t dynfield1[9]
Reserved for dynamic fields.
Definition at line 673 of file rte_mbuf_core.h.
Author
Generated automatically by Doxygen for DPDK from the source code.