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_mbuf(3)

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.

   structrte_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_trefcnt
       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_tnb_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_tport
       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_tol_flags
       Offload features.

       Definition at line 518 of file rte_mbuf_core.h.

   uint32_tpacket_type
       L2/L3/L4 and tunnel information.

       Definition at line 534 of file rte_mbuf_core.h.

   uint8_tl2_type
       (Outer) L2 type.

       Definition at line 537 of file rte_mbuf_core.h.

   uint8_tl3_type
       (Outer) L3 type.

       Definition at line 538 of file rte_mbuf_core.h.

   uint8_tl4_type
       (Outer) L4 type.

       Definition at line 539 of file rte_mbuf_core.h.

   uint8_ttun_type
       Tunnel type.

       Definition at line 540 of file rte_mbuf_core.h.

   uint8_tinner_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_tinner_l2_type
       Inner L2 type.

       Definition at line 549 of file rte_mbuf_core.h.

   uint8_tinner_l3_type
       Inner L3 type.

       Definition at line 551 of file rte_mbuf_core.h.

   uint8_tinner_l4_type
       Inner L4 type.

       Definition at line 555 of file rte_mbuf_core.h.

   uint32_tpkt_len
       Total pkt len: sum of all segments.

       Definition at line 559 of file rte_mbuf_core.h.

   uint16_tdata_len
       Amount of data in segment buffer.

       Definition at line 560 of file rte_mbuf_core.h.

   uint16_tvlan_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_trss
       RSS hash result if RSS enabled

       Definition at line 566 of file rte_mbuf_core.h.

   uint32_tlo
       Second 4 flexible bytes

       Definition at line 573 of file rte_mbuf_core.h.

   uint32_thi
       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

   structrte_mbuf_schedsched
       Hierarchical scheduler : 8 bytes

       Definition at line 581 of file rte_mbuf_core.h.

   uint16_ttxq
       The event eth Tx adapter uses this field to store Tx queue id.

       Seealsorte_event_eth_tx_adapter_txq_set()

       Definition at line 586 of file rte_mbuf_core.h.

   struct{...}txadapter
       Eventdev ethdev Tx adapter

   uint32_tusr
       User defined tags. See rte_distributor_process()

       Definition at line 592 of file rte_mbuf_core.h.

   union{...}hash
       hash information

   uint16_tvlan_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_tbuf_len
       Length of segment buffer.

       Definition at line 600 of file rte_mbuf_core.h.

   structrte_mempool*pool
       Pool from which mbuf was allocated.

       Definition at line 604 of file rte_mbuf_core.h.

   uint64_tdynfield2
       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_ttx_offload
       combined for easy fetch

       Definition at line 625 of file rte_mbuf_core.h.

   uint64_tl2_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_tl3_len
       L3 (IP) Header Length.

       Definition at line 632 of file rte_mbuf_core.h.

   uint64_tl4_len
       L4 (TCP/UDP) Header Length.

       Definition at line 634 of file rte_mbuf_core.h.

   uint64_ttso_segsz
       TCP TSO segment size

       Definition at line 636 of file rte_mbuf_core.h.

   uint64_touter_l3_len
       Outer L3 (IP) Hdr Length.

       Definition at line 651 of file rte_mbuf_core.h.

   uint64_touter_l2_len
       Outer L2 (MAC) Hdr Length.

       Definition at line 653 of file rte_mbuf_core.h.

   structrte_mbuf_ext_shared_info*shinfo
       Shared data for external buffer attached to mbuf. See rte_pktmbuf_attach_extbuf().

       Definition at line 663 of file rte_mbuf_core.h.

   uint16_tpriv_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_ttimesync
       Timesync flags for use with IEEE1588.

       Definition at line 671 of file rte_mbuf_core.h.

   uint32_tdynfield1[9]
       Reserved for dynamic fields.

       Definition at line 673 of file rte_mbuf_core.h.

Name

       rte_mbuf

Synopsis

       #include <rte_mbuf_core.h>

   DataFieldsvoid * buf_addr
       struct rte_mbuf * nextuint64_tol_flagsstructrte_mempool * pooluint64_tdynfield2structrte_mbuf_ext_shared_info * shinfouint16_tpriv_sizeuint16_ttimesyncuint32_tdynfield1 [9]

See Also