| rte_ip_frag.h(3) | Library Functions Manual | rte_ip_frag.h(3) |
rte_ip_frag.h
#include <stdint.h>
#include <stdio.h>
#include <rte_config.h>
#include <rte_malloc.h>
#include <rte_memory.h>
#include <rte_ip.h>
#include <rte_byteorder.h>
struct rte_ip_frag_death_row
#define RTE_IP_FRAG_DEATH_ROW_LEN 32
#define RTE_IP_FRAG_DEATH_ROW_MBUF_LEN
(RTE_IP_FRAG_DEATH_ROW_LEN * (RTE_LIBRTE_IP_FRAG_MAX_FRAG + 1))
Obsolete macros, kept here for compatibility reasons.
Will be deprecated/removed in future DPDK releases.
#define IP_FRAG_DEATH_ROW_LEN RTE_IP_FRAG_DEATH_ROW_LEN
#define IP_FRAG_DEATH_ROW_MBUF_LEN
RTE_IP_FRAG_DEATH_ROW_MBUF_LEN
#define ipv6_extension_fragment rte_ipv6_fragment_ext
struct rte_ip_frag_tbl * rte_ip_frag_table_create (uint32_t
bucket_num, uint32_t bucket_entries, uint32_t max_entries, uint64_t
max_cycles, int socket_id)
void rte_ip_frag_table_destroy (struct rte_ip_frag_tbl *tbl)
int32_t rte_ipv6_fragment_packet (struct rte_mbuf *pkt_in,
struct rte_mbuf **pkts_out, uint16_t nb_pkts_out, uint16_t mtu_size,
struct rte_mempool *pool_direct, struct rte_mempool
*pool_indirect)
struct rte_mbuf * rte_ipv6_frag_reassemble_packet (struct
rte_ip_frag_tbl *tbl, struct rte_ip_frag_death_row *dr, struct
rte_mbuf *mb, uint64_t tms, struct rte_ipv6_hdr *ip_hdr, struct
rte_ipv6_fragment_ext *frag_hdr)
static struct rte_ipv6_fragment_ext *
rte_ipv6_frag_get_ipv6_fragment_header (struct rte_ipv6_hdr *hdr)
int32_t rte_ipv4_fragment_packet (struct rte_mbuf *pkt_in,
struct rte_mbuf **pkts_out, uint16_t nb_pkts_out, uint16_t mtu_size,
struct rte_mempool *pool_direct, struct rte_mempool
*pool_indirect)
int32_t rte_ipv4_fragment_copy_nonseg_packet (struct rte_mbuf
*pkt_in, struct rte_mbuf **pkts_out, uint16_t nb_pkts_out, uint16_t
mtu_size, struct rte_mempool *pool_direct)
struct rte_mbuf * rte_ipv4_frag_reassemble_packet (struct
rte_ip_frag_tbl *tbl, struct rte_ip_frag_death_row *dr, struct
rte_mbuf *mb, uint64_t tms, struct rte_ipv4_hdr *ip_hdr)
static int rte_ipv4_frag_pkt_is_fragmented (const struct rte_ipv4_hdr
*hdr)
void rte_ip_frag_free_death_row (struct rte_ip_frag_death_row
*dr, uint32_t prefetch)
void rte_ip_frag_table_statistics_dump (FILE *f, const struct
rte_ip_frag_tbl *tbl)
void rte_ip_frag_table_del_expired_entries (struct rte_ip_frag_tbl
*tbl, struct rte_ip_frag_death_row *dr, uint64_t tms)
RTE IP Fragmentation and Reassembly
Implementation of IP packet fragmentation and reassembly.
Definition in file rte_ip_frag.h.
death row size (in packets)
Definition at line 31 of file rte_ip_frag.h.
death row size in mbufs
Definition at line 34 of file rte_ip_frag.h.
Obsolete
Definition at line 298 of file rte_ip_frag.h.
Obsolete
Definition at line 300 of file rte_ip_frag.h.
Obsolete
Definition at line 302 of file rte_ip_frag.h.
Create a new IP fragmentation table.
Parameters
Returns
Free allocated IP fragmentation table.
Parameters
This function implements the fragmentation of IPv6 packets.
Parameters
Returns
This function implements reassembly of fragmented IPv6 packets. Incoming mbuf should have its l2_len/l3_len fields setup correctly.
Parameters
Returns
Return a pointer to the packet's fragment header, if found. It only looks at the extension header that's right after the fixed IPv6 header, and doesn't follow the whole chain of extension headers.
Parameters
Returns
Definition at line 143 of file rte_ip_frag.h.
IPv4 fragmentation.
This function implements the fragmentation of IPv4 packets.
Parameters
Returns
IPv4 fragmentation by copy.
This function implements the fragmentation of IPv4 packets by copy non-segmented mbuf. This function is mainly used to adapt Tx MBUF_FAST_FREE offload. MBUF_FAST_FREE: Device supports optimization for fast release of mbufs. When set, application must guarantee that per-queue all mbufs comes from the same mempool, has refcnt = 1, direct and non-segmented.
Parameters
Returns
This function implements reassembly of fragmented IPv4 packets. Incoming mbufs should have its l2_len/l3_len fields setup correctly.
Parameters
Returns
Check if the IPv4 packet is fragmented
Parameters
Returns
Definition at line 246 of file rte_ip_frag.h.
Free mbufs on a given death row.
Parameters
Dump fragmentation table statistics to file.
Parameters
Delete expired fragments
Parameters
Generated automatically by Doxygen for DPDK from the source code.
| Version 24.11.3 | DPDK |