NDN-DPDK
High-Speed Named Data Networking Forwarder
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
producer.h
Go to the documentation of this file.
1 #ifndef NDNDPDK_TGPRODUCER_PRODUCER_H
2 #define NDNDPDK_TGPRODUCER_PRODUCER_H
3 
6 #include "../dpdk/thread.h"
7 #include "../iface/face.h"
8 #include "../iface/pktqueue.h"
9 #include "../vendor/pcg_basic.h"
10 #include "enum.h"
11 
12 typedef uint8_t TgpReplyID;
13 
14 typedef struct TgpReply {
15  uint64_t nInterests;
17  uint8_t kind;
18  uint8_t nackReason;
20 
22 typedef struct TgpPattern {
23  uint32_t nWeights;
24  uint8_t nReplies;
28 
30 typedef struct Tgp {
35  uint8_t nPatterns;
36 
37  uint64_t nNoMatch;
38  uint64_t nAllocError;
39  pcg32_random_t replyRng;
40 
44 } Tgp;
45 
46 __attribute__((nonnull)) int
47 Tgp_Run(Tgp* p);
48 
49 #endif // NDNDPDK_TGPRODUCER_PRODUCER_H
uint16_t FaceID
Numeric face identifier.
Definition: faceid.h:13
@ NameMaxLength
Definition: enum.h:10
struct Tgp Tgp
Traffic generator producer.
uint8_t TgpReplyID
Definition: producer.h:12
struct TgpPattern TgpPattern
Per-prefix information in traffic generator producer.
int Tgp_Run(Tgp *p)
Definition: producer.c:95
struct TgpReply TgpReply
Data encoder optimized for traffic generator.
Definition: data.h:125
Mempools for packet modification.
Definition: common.h:17
Thread-safe packet queue.
Definition: pktqueue.h:23
Per-prefix information in traffic generator producer.
Definition: producer.h:22
TgpReply reply[TgpMaxReplies]
Definition: producer.h:26
uint8_t nReplies
Definition: producer.h:24
TgpReplyID weight[TgpMaxSumWeight]
Definition: producer.h:25
uint32_t nWeights
Definition: producer.h:23
Definition: producer.h:14
uint8_t kind
Definition: producer.h:17
uint8_t nackReason
Definition: producer.h:18
DataGen dataGen
Definition: producer.h:16
uint64_t nInterests
Definition: producer.h:15
Traffic generator producer.
Definition: producer.h:30
PacketMempools mp
mempools for Data encoding
Definition: producer.h:33
uint8_t prefixV[TgpMaxPatterns *NameMaxLength]
Definition: producer.h:42
uint64_t nNoMatch
Definition: producer.h:37
ThreadCtrl ctrl
Definition: producer.h:31
pcg32_random_t replyRng
Definition: producer.h:39
uint8_t nPatterns
Definition: producer.h:35
uint16_t prefixL[TgpMaxPatterns]
Definition: producer.h:41
FaceID face
Definition: producer.h:34
uint64_t nAllocError
Definition: producer.h:38
TgpPattern pattern[TgpMaxPatterns]
Definition: producer.h:43
PktQueue rxQueue
Definition: producer.h:32
Thread load stats and stop flag.
Definition: thread.h:10
@ TgpMaxReplies
Definition: enum.h:8
@ TgpMaxPatterns
Definition: enum.h:7
@ TgpMaxSumWeight
Definition: enum.h:9