* Implementation of IP packet fragmentation and reassembly.
*/
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include <stdint.h>
#include <stdio.h>
#include <rte_malloc.h>
-#include <rte_mbuf.h>
+#include <rte_memory.h>
#include <rte_ip.h>
#include <rte_byteorder.h>
+struct rte_mbuf;
+
enum {
IP_LAST_FRAG_IDX, /**< index of last fragment */
IP_FIRST_FRAG_IDX, /**< index of first fragment */
rte_free(tbl);
}
-#ifdef RTE_MBUF_REFCNT
/**
* This function implements the fragmentation of IPv6 packets.
*
uint16_t mtu_size,
struct rte_mempool *pool_direct,
struct rte_mempool *pool_indirect);
-#endif
/*
* This function implements reassembly of fragmented IPv6 packets.
return NULL;
}
-#ifdef RTE_MBUF_REFCNT
/**
* IPv4 fragmentation.
*
uint16_t nb_pkts_out, uint16_t mtu_size,
struct rte_mempool *pool_direct,
struct rte_mempool *pool_indirect);
-#endif
/*
* This function implements reassembly of fragmented IPv4 packets.
void
rte_ip_frag_table_statistics_dump(FILE * f, const struct rte_ip_frag_tbl *tbl);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _RTE_IP_FRAG_H_ */