|
DPDK
2.2.0
|
#include <stdint.h>#include <stdio.h>#include <rte_malloc.h>#include <rte_memory.h>#include <rte_ip.h>#include <rte_byteorder.h>Go to the source code of this file.
Data Structures | |
| struct | rte_ip_frag_death_row |
| struct | ip_frag_tbl_stat |
| struct | rte_ip_frag_tbl |
Macros | |
| #define | IP_FRAG_DEATH_ROW_LEN 32 |
| #define | RTE_IPV6_EHDR_MF_SHIFT 0 |
Enumerations | |
| enum | { IP_LAST_FRAG_IDX, IP_FIRST_FRAG_IDX, IP_MIN_FRAG_NUM, IP_MAX_FRAG_NUM = RTE_LIBRTE_IP_FRAG_MAX_FRAG } |
Functions | |
| 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) |
| 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) |
RTE IP Fragmentation and Reassembly
Implementation of IP packet fragmentation and reassembly.
Definition in file rte_ip_frag.h.
| #define IP_FRAG_DEATH_ROW_LEN 32 |
death row size (in packets)
Definition at line 94 of file rte_ip_frag.h.
| #define RTE_IPV6_EHDR_MF_SHIFT 0 |
IPv6 fragment extension header
Definition at line 131 of file rte_ip_frag.h.
| anonymous enum |
| IP_LAST_FRAG_IDX |
index of last fragment |
| IP_FIRST_FRAG_IDX |
index of first fragment |
| IP_MIN_FRAG_NUM |
minimum number of fragments |
| IP_MAX_FRAG_NUM |
maximum number of fragments per packet |
Definition at line 58 of file rte_ip_frag.h.
| 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 | ||
| ) |
This function implements the fragmentation of IPv6 packets.
| pkt_in | The input packet. |
| pkts_out | Array storing the output fragments. |
| nb_pkts_out | Number of fragments. |
| mtu_size | Size in bytes of the Maximum Transfer Unit (MTU) for the outgoing IPv6 datagrams. This value includes the size of the IPv6 header. |
| pool_direct | MBUF pool used for allocating direct buffers for the output fragments. |
| pool_indirect | MBUF pool used for allocating indirect buffers for the output fragments. |
| 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 | ||
| ) |
IPv4 fragmentation.
This function implements the fragmentation of IPv4 packets.
| pkt_in | The input packet. |
| pkts_out | Array storing the output fragments. |
| nb_pkts_out | Number of fragments. |
| mtu_size | Size in bytes of the Maximum Transfer Unit (MTU) for the outgoing IPv4 datagrams. This value includes the size of the IPv4 header. |
| pool_direct | MBUF pool used for allocating direct buffers for the output fragments. |
| pool_indirect | MBUF pool used for allocating indirect buffers for the output fragments. |
1.8.1.2