DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
Structs.hpp
Go to the documentation of this file.
1/*
2 * This file is 100% generated. Any manual edits will likely be lost.
3 *
4 * This contains struct and other type definitions for shema in
5 * namespace dunedaq::dpdklibs::nicreader.
6 */
7#ifndef DUNEDAQ_DPDKLIBS_NICREADER_STRUCTS_HPP
8#define DUNEDAQ_DPDKLIBS_NICREADER_STRUCTS_HPP
9
10#include <cstdint>
11
12#include <vector>
13#include <string>
14
16
17 // @brief A count of more things
18 using BigCount = int64_t;
19
20
21 // @brief
22 using Choice = bool;
23
24 // @brief PCIe address string
25 using pci = std::string;
26
27 // @brief mac string
28 using mac = std::string;
29
30 // @brief ipv4 string
31 using ipv4 = std::string;
32
33 // @brief Count of things
34 using Count = uint32_t; // NOLINT
35
36
37 // @brief An ID of a thingy
38 using Identifier = int32_t;
39
40
41 // @brief Source GeoID Information
42 struct SrcGeoInfo
43 {
44
45 // @brief Detector ID
47
48 // @brief Crate ID
50
51 // @brief Slot ID
53 };
54
55 // @brief A stream map
56 struct StreamMap
57 {
58
59 // @brief Source ID
61
62 // @brief Stream ID
64 };
65
66 // @brief A list of streams
67 using SrcStreamsMapping = std::vector<dunedaq::dpdklibs::nicreader::StreamMap>;
68
69 // @brief Source field
70 struct Source
71 {
72
73 // @brief ID of a source
74 Identifier id = 0;
75
76 // @brief Source IP address
77 ipv4 ip_addr = "192.168.0.1";
78
79 // @brief Assigned CPU lcore
81
82 // @brief Assigned RX queue of interface
84
85 // @brief Source information
86 SrcGeoInfo src_info = {0, 0, 0};
87
88 // @brief Source streams mapping
90 };
91
92 // @brief A list of sources
93 using Sources = std::vector<dunedaq::dpdklibs::nicreader::Source>;
94
95 // @brief Source field
97 {
98
99 // @brief Expected sequence ID increase per packet in a stream
101
102 // @brief Expected timestamp increase per packet in a stream
104
105 // @brief Expected packet size
107
108 // @brief Analyze only every (1/analyze_nth_packet) packet
110 };
111
112 // @brief Configuration an Ethernet interface through DPDK RTE
113 struct Interface
114 {
115
116 // @brief PCIe address of the interface
117 pci pci_addr = "0000:00:00.0";
118
119 // @brief MAC address of the interface
120 mac mac_addr = "AA:BB:CC:DD:EE:FF";
121
122 // @brief IP address of interface
123 ipv4 ip_addr = "192.168.0.1";
124
125 // @brief FlowAPI enabled
127
128 // @brief Promiscuous mode enabled
130
131 // @brief MTU of interface
132 Count mtu = 9000;
133
134 // @brief Size of a single RX ring
136
137 // @brief Size of a single TX ring
139
140 // @brief Number of total MBUFs
142
143 // @brief MBUF cache size
145
146 // @brief RX burst size
148
149 // @brief LCore loop sleep in microseconds - 0 to disable
151
152 // @brief A list of expected sources
154
155 // @brief Defines how stats are reported
157 };
158
159 // @brief A list of interfaces to use
160 using IfaceList = std::vector<dunedaq::dpdklibs::nicreader::Interface>;
161
162 // @brief A string field
163 using String = std::string;
164
165 // @brief Generic UIO reader DAQ Module Configuration
166 struct Conf
167 {
168
169 // @brief List of interfaces to configure
171
172 // @brief A string with EAL arguments
173 String eal_arg_list = "daq_application";
174 };
175
176 // @brief A float number
177 using Float = float;
178
179
180} // namespace dunedaq::dpdklibs::nicreader
181
182#endif // DUNEDAQ_DPDKLIBS_NICREADER_STRUCTS_HPP
std::vector< dunedaq::dpdklibs::nicreader::StreamMap > SrcStreamsMapping
Definition Structs.hpp:67
std::vector< dunedaq::dpdklibs::nicreader::Source > Sources
Definition Structs.hpp:93
std::vector< dunedaq::dpdklibs::nicreader::Interface > IfaceList
Definition Structs.hpp:160
SrcStreamsMapping src_streams_mapping
Definition Structs.hpp:89