NDN-DPDK
High-Speed Named Data Networking Forwarder
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
reassembler.h
Go to the documentation of this file.
1 #ifndef NDNDPDK_IFACE_REASSEMBLER_H
2 #define NDNDPDK_IFACE_REASSEMBLER_H
3 
6 #include "common.h"
7 
9 typedef struct Reassembler {
10  uint64_t nDeliverPackets;
11  uint64_t nDeliverFragments;
12  uint64_t nDropFragments;
13 
14  struct rte_hash* table;
15  struct cds_list_head list;
16  uint32_t count;
17  uint32_t capacity;
19 
29 __attribute__((nonnull)) bool
30 Reassembler_Init(Reassembler* reass, const char* id, uint32_t capacity, int numaSocket);
31 
33 __attribute__((nonnull)) void
35 
42 __attribute__((nonnull)) Packet*
43 Reassembler_Accept(Reassembler* reass, Packet* fragment);
44 
45 #endif // NDNDPDK_IFACE_REASSEMBLER_H
struct Packet Packet
Definition: common.h:11
bool Reassembler_Init(Reassembler *reass, const char *id, uint32_t capacity, int numaSocket)
Initialize a reassembler.
Definition: reassembler.c:5
Packet * Reassembler_Accept(Reassembler *reass, Packet *fragment)
Accept an incoming fragment.
Definition: reassembler.c:93
void Reassembler_Close(Reassembler *reass)
Release all memory except reass struct.
Definition: reassembler.c:24
struct Reassembler Reassembler
NDNLPv2 reassembler.
NDNLPv2 reassembler.
Definition: reassembler.h:9
uint32_t count
Definition: reassembler.h:16
uint32_t capacity
Definition: reassembler.h:17
uint64_t nDeliverFragments
delivered fragments
Definition: reassembler.h:11
struct rte_hash * table
Definition: reassembler.h:14
uint64_t nDropFragments
dropped fragments
Definition: reassembler.h:12
uint64_t nDeliverPackets
delivered packets
Definition: reassembler.h:10
struct cds_list_head list
Definition: reassembler.h:15