FD.io VPP  v17.01.1-3-gc6833f8
Vector Packet Processing
ipfix_info_elements.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015 Cisco and/or its affiliates.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at:
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 #ifndef __included_ipfix_info_elements_h__
16 #define __included_ipfix_info_elements_h__
17 
18 #define foreach_ipfix_info_element_t \
19 _(octetDeltaCount, 1, u64) \
20 _(packetDeltaCount, 2, u64) \
21 _(deltaFlowCount, 3, u64) \
22 _(protocolIdentifier, 4, u8) \
23 _(ipClassOfService, 5, u8) \
24 _(tcpControlBits, 6, u16) \
25 _(sourceTransportPort, 7, u16) \
26 _(sourceIPv4Address, 8, ip4_address_t) \
27 _(sourceIPv4PrefixLength, 9, u8) \
28 _(ingressInterface, 10, u32) \
29 _(destinationTransportPort, 11, u16) \
30 _(destinationIPv4Address, 12, ip4_address_t) \
31 _(destinationIPv4PrefixLength, 13, u8) \
32 _(egressInterface, 14, u32) \
33 _(ipNextHopIPv4Address, 15, ip4_address_t) \
34 _(bgpSourceAsNumber, 16, u32) \
35 _(bgpDestinationAsNumber, 17, u32) \
36 _(bgpNextHopIPv4Address, 18, ip4_address_t) \
37 _(postMCastPacketDeltaCount, 19, u64) \
38 _(postMCastOctetDeltaCount, 20, u64) \
39 _(flowEndSysUpTime, 21, u32) \
40 _(flowStartSysUpTime, 22, u32) \
41 _(postOctetDeltaCount, 23, u64) \
42 _(postPacketDeltaCount, 24, u64) \
43 _(minimumIpTotalLength, 25, u64) \
44 _(maximumIpTotalLength, 26, u64) \
45 _(sourceIPv6Address, 27, ip6_address_t) \
46 _(destinationIPv6Address, 28, ip6_address_t) \
47 _(sourceIPv6PrefixLength, 29, u8) \
48 _(destinationIPv6PrefixLength, 30, u8) \
49 _(flowLabelIPv6, 31, u32) \
50 _(icmpTypeCodeIPv4, 32, u16) \
51 _(igmpType, 33, u8) \
52 _(samplingInterval, 34, u32) \
53 _(samplingAlgorithm, 35, u8) \
54 _(flowActiveTimeout, 36, u16) \
55 _(flowIdleTimeout, 37, u16) \
56 _(engineType, 38, u8) \
57 _(engineId, 39, u8) \
58 _(exportedOctetTotalCount, 40, u64) \
59 _(exportedMessageTotalCount, 41, u64) \
60 _(exportedFlowRecordTotalCount, 42, u64) \
61 _(ipv4RouterSc, 43, ip4_address_t) \
62 _(sourceIPv4Prefix, 44, ip4_address_t) \
63 _(destinationIPv4Prefix, 45, ip4_address_t) \
64 _(mplsTopLabelType, 46, u8) \
65 _(mplsTopLabelIPv4Address, 47, ip4_address_t) \
66 _(samplerId, 48, u8) \
67 _(samplerMode, 49, u8) \
68 _(samplerRandomInterval, 50, u32) \
69 _(classId, 51, u8) \
70 _(minimumTTL, 52, u8) \
71 _(maximumTTL, 53, u8) \
72 _(fragmentIdentification, 54, u32) \
73 _(postIpClassOfService, 55, u8) \
74 _(sourceMacAddress, 56, macAddress) \
75 _(postDestinationMacAddress, 57, macAddress) \
76 _(vlanId, 58, u16) \
77 _(postVlanId, 59, u16) \
78 _(ipVersion, 60, u8) \
79 _(flowDirection, 61, u8) \
80 _(ipNextHopIPv6Address, 62, ip6_address_t) \
81 _(bgpNextHopIPv6Address, 63, ip6_address_t) \
82 _(ipv6ExtensionHeaders, 64, u32) \
83 _(mplsTopLabelStackSection, 70, octetArray) \
84 _(mplsLabelStackSection2, 71, octetArray) \
85 _(mplsLabelStackSection3, 72, octetArray) \
86 _(mplsLabelStackSection4, 73, octetArray) \
87 _(mplsLabelStackSection5, 74, octetArray) \
88 _(mplsLabelStackSection6, 75, octetArray) \
89 _(mplsLabelStackSection7, 76, octetArray) \
90 _(mplsLabelStackSection8, 77, octetArray) \
91 _(mplsLabelStackSection9, 78, octetArray) \
92 _(mplsLabelStackSection10, 79, octetArray) \
93 _(destinationMacAddress, 80, macAddress) \
94 _(postSourceMacAddress, 81, macAddress) \
95 _(interfaceName, 82, string) \
96 _(interfaceDescription, 83, string) \
97 _(samplerName, 84, string) \
98 _(octetTotalCount, 85, u64) \
99 _(packetTotalCount, 86, u64) \
100 _(flagsAndSamplerId, 87, u32) \
101 _(fragmentOffset, 88, u16) \
102 _(forwardingStatus, 89, u32) \
103 _(mplsVpnRouteDistinguisher, 90, octetArray) \
104 _(mplsTopLabelPrefixLength, 91, u8) \
105 _(srcTrafficIndex, 92, u32) \
106 _(dstTrafficIndex, 93, u32) \
107 _(applicationDescription, 94, string) \
108 _(applicationId, 95, octetArray) \
109 _(applicationName, 96, string) \
110 _(Assigned, 97, for NetFlow v9 compatibility ) \
111 _(postIpDiffServCodePoint, 98, u8) \
112 _(multicastReplicationFactor, 99, u32) \
113 _(className, 100, string) \
114 _(classificationEngineId, 101, u8) \
115 _(layer2packetSectionOffset, 102, u16) \
116 _(layer2packetSectionSize, 103, u16) \
117 _(layer2packetSectionData, 104, octetArray) \
118 _(bgpNextAdjacentAsNumber, 128, u32) \
119 _(bgpPrevAdjacentAsNumber, 129, u32) \
120 _(exporterIPv4Address, 130, ip4_address_t) \
121 _(exporterIPv6Address, 131, ip6_address_t) \
122 _(droppedOctetDeltaCount, 132, u64) \
123 _(droppedPacketDeltaCount, 133, u64) \
124 _(droppedOctetTotalCount, 134, u64) \
125 _(droppedPacketTotalCount, 135, u64) \
126 _(flowEndReason, 136, u8) \
127 _(commonPropertiesId, 137, u64) \
128 _(observationPointId, 138, u64) \
129 _(icmpTypeCodeIPv6, 139, u16) \
130 _(mplsTopLabelIPv6Address, 140, ip6_address_t) \
131 _(lineCardId, 141, u32) \
132 _(portId, 142, u32) \
133 _(meteringProcessId, 143, u32) \
134 _(exportingProcessId, 144, u32) \
135 _(templateId, 145, u16) \
136 _(wlanChannelId, 146, u8) \
137 _(wlanSSID, 147, string) \
138 _(flowId, 148, u64) \
139 _(observationDomainId, 149, u32) \
140 _(flowStartSeconds, 150, dateTimeSeconds) \
141 _(flowEndSeconds, 151, dateTimeSeconds) \
142 _(flowStartMilliseconds, 152, dateTimeMilliseconds) \
143 _(flowEndMilliseconds, 153, dateTimeMilliseconds) \
144 _(flowStartMicroseconds, 154, dateTimeMicroseconds) \
145 _(flowEndMicroseconds, 155, dateTimeMicroseconds) \
146 _(flowStartNanoseconds, 156, dateTimeNanoseconds) \
147 _(flowEndNanoseconds, 157, dateTimeNanoseconds) \
148 _(flowStartDeltaMicroseconds, 158, u32) \
149 _(flowEndDeltaMicroseconds, 159, u32) \
150 _(systemInitTimeMilliseconds, 160, dateTimeMilliseconds) \
151 _(flowDurationMilliseconds, 161, u32) \
152 _(flowDurationMicroseconds, 162, u32) \
153 _(observedFlowTotalCount, 163, u64) \
154 _(ignoredPacketTotalCount, 164, u64) \
155 _(ignoredOctetTotalCount, 165, u64) \
156 _(notSentFlowTotalCount, 166, u64) \
157 _(notSentPacketTotalCount, 167, u64) \
158 _(notSentOctetTotalCount, 168, u64) \
159 _(destinationIPv6Prefix, 169, ip6_address_t) \
160 _(sourceIPv6Prefix, 170, ip6_address_t) \
161 _(postOctetTotalCount, 171, u64) \
162 _(postPacketTotalCount, 172, u64) \
163 _(flowKeyIndicator, 173, u64) \
164 _(postMCastPacketTotalCount, 174, u64) \
165 _(postMCastOctetTotalCount, 175, u64) \
166 _(icmpTypeIPv4, 176, u8) \
167 _(icmpCodeIPv4, 177, u8) \
168 _(icmpTypeIPv6, 178, u8) \
169 _(icmpCodeIPv6, 179, u8) \
170 _(udpSourcePort, 180, u16) \
171 _(udpDestinationPort, 181, u16) \
172 _(tcpSourcePort, 182, u16) \
173 _(tcpDestinationPort, 183, u16) \
174 _(tcpSequenceNumber, 184, u32) \
175 _(tcpAcknowledgementNumber, 185, u32) \
176 _(tcpWindowSize, 186, u16) \
177 _(tcpUrgentPointer, 187, u16) \
178 _(tcpHeaderLength, 188, u8) \
179 _(ipHeaderLength, 189, u8) \
180 _(totalLengthIPv4, 190, u16) \
181 _(payloadLengthIPv6, 191, u16) \
182 _(ipTTL, 192, u8) \
183 _(nextHeaderIPv6, 193, u8) \
184 _(mplsPayloadLength, 194, u32) \
185 _(ipDiffServCodePoint, 195, u8) \
186 _(ipPrecedence, 196, u8) \
187 _(fragmentFlags, 197, u8) \
188 _(octetDeltaSumOfSquares, 198, u64) \
189 _(octetTotalSumOfSquares, 199, u64) \
190 _(mplsTopLabelTTL, 200, u8) \
191 _(mplsLabelStackLength, 201, u32) \
192 _(mplsLabelStackDepth, 202, u32) \
193 _(mplsTopLabelExp, 203, u8) \
194 _(ipPayloadLength, 204, u32) \
195 _(udpMessageLength, 205, u16) \
196 _(isMulticast, 206, u8) \
197 _(ipv4IHL, 207, u8) \
198 _(ipv4Options, 208, u32) \
199 _(tcpOptions, 209, u64) \
200 _(paddingOctets, 210, octetArray) \
201 _(collectorIPv4Address, 211, ip4_address_t) \
202 _(collectorIPv6Address, 212, ip6_address_t) \
203 _(exportInterface, 213, u32) \
204 _(exportProtocolVersion, 214, u8) \
205 _(exportTransportProtocol, 215, u8) \
206 _(collectorTransportPort, 216, u16) \
207 _(exporterTransportPort, 217, u16) \
208 _(tcpSynTotalCount, 218, u64) \
209 _(tcpFinTotalCount, 219, u64) \
210 _(tcpRstTotalCount, 220, u64) \
211 _(tcpPshTotalCount, 221, u64) \
212 _(tcpAckTotalCount, 222, u64) \
213 _(tcpUrgTotalCount, 223, u64) \
214 _(ipTotalLength, 224, u64) \
215 _(postNATSourceIPv4Address, 225, ip4_address_t) \
216 _(postNATDestinationIPv4Address, 226, ip4_address_t) \
217 _(postNAPTSourceTransportPort, 227, u16) \
218 _(postNAPTDestinationTransportPort, 228, u16) \
219 _(natOriginatingAddressRealm, 229, u8) \
220 _(natEvent, 230, u8) \
221 _(initiatorOctets, 231, u64) \
222 _(responderOctets, 232, u64) \
223 _(firewallEvent, 233, u8) \
224 _(ingressVRFID, 234, u32) \
225 _(egressVRFID, 235, u32) \
226 _(VRFname, 236, string) \
227 _(postMplsTopLabelExp, 237, u8) \
228 _(tcpWindowScale, 238, u16) \
229 _(biflowDirection, 239, u8) \
230 _(ethernetHeaderLength, 240, u8) \
231 _(ethernetPayloadLength, 241, u16) \
232 _(ethernetTotalLength, 242, u16) \
233 _(dot1qVlanId, 243, u16) \
234 _(dot1qPriority, 244, u8) \
235 _(dot1qCustomerVlanId, 245, u16) \
236 _(dot1qCustomerPriority, 246, u8) \
237 _(metroEvcId, 247, string) \
238 _(metroEvcType, 248, u8) \
239 _(pseudoWireId, 249, u32) \
240 _(pseudoWireType, 250, u16) \
241 _(pseudoWireControlWord, 251, u32) \
242 _(ingressPhysicalInterface, 252, u32) \
243 _(egressPhysicalInterface, 253, u32) \
244 _(postDot1qVlanId, 254, u16) \
245 _(postDot1qCustomerVlanId, 255, u16) \
246 _(ethernetType, 256, u16) \
247 _(postIpPrecedence, 257, u8) \
248 _(collectionTimeMilliseconds, 258, dateTimeMilliseconds) \
249 _(exportSctpStreamId, 259, u16) \
250 _(maxExportSeconds, 260, dateTimeSeconds) \
251 _(maxFlowEndSeconds, 261, dateTimeSeconds) \
252 _(messageMD5Checksum, 262, octetArray) \
253 _(messageScope, 263, u8) \
254 _(minExportSeconds, 264, dateTimeSeconds) \
255 _(minFlowStartSeconds, 265, dateTimeSeconds) \
256 _(opaqueOctets, 266, octetArray) \
257 _(sessionScope, 267, u8) \
258 _(maxFlowEndMicroseconds, 268, dateTimeMicroseconds) \
259 _(maxFlowEndMilliseconds, 269, dateTimeMilliseconds) \
260 _(maxFlowEndNanoseconds, 270, dateTimeNanoseconds) \
261 _(minFlowStartMicroseconds, 271, dateTimeMicroseconds) \
262 _(minFlowStartMilliseconds, 272, dateTimeMilliseconds) \
263 _(minFlowStartNanoseconds, 273, dateTimeNanoseconds) \
264 _(collectorCertificate, 274, octetArray) \
265 _(exporterCertificate, 275, octetArray) \
266 _(dataRecordsReliability, 276, boolean) \
267 _(observationPointType, 277, u8) \
268 _(newConnectionDeltaCount, 278, u32) \
269 _(connectionSumDurationSeconds, 279, u64) \
270 _(connectionTransactionId, 280, u64) \
271 _(postNATSourceIPv6Address, 281, ip6_address_t) \
272 _(postNATDestinationIPv6Address, 282, ip6_address_t) \
273 _(natPoolId, 283, u32) \
274 _(natPoolName, 284, string) \
275 _(anonymizationFlags, 285, u16) \
276 _(anonymizationTechnique, 286, u16) \
277 _(informationElementIndex, 287, u16) \
278 _(p2pTechnology, 288, string) \
279 _(tunnelTechnology, 289, string) \
280 _(encryptedTechnology, 290, string) \
281 _(basicList, 291, basicList) \
282 _(subTemplateList, 292, subTemplateList) \
283 _(subTemplateMultiList, 293, subTemplateMultiList) \
284 _(bgpValidityState, 294, u8) \
285 _(IPSecSPI, 295, u32) \
286 _(greKey, 296, u32) \
287 _(natType, 297, u8) \
288 _(initiatorPackets, 298, u64) \
289 _(responderPackets, 299, u64) \
290 _(observationDomainName, 300, string) \
291 _(selectionSequenceId, 301, u64) \
292 _(selectorId, 302, u64) \
293 _(informationElementId, 303, u16) \
294 _(selectorAlgorithm, 304, u16) \
295 _(samplingPacketInterval, 305, u32) \
296 _(samplingPacketSpace, 306, u32) \
297 _(samplingTimeInterval, 307, u32) \
298 _(samplingTimeSpace, 308, u32) \
299 _(samplingSize, 309, u32) \
300 _(samplingPopulation, 310, u32) \
301 _(samplingProbability, 311, float64) \
302 _(dataLinkFrameSize, 312, u16) \
303 _(ipHeaderPacketSection, 313, octetArray) \
304 _(ipPayloadPacketSection, 314, octetArray) \
305 _(dataLinkFrameSection, 315, octetArray) \
306 _(mplsLabelStackSection, 316, octetArray) \
307 _(mplsPayloadPacketSection, 317, octetArray) \
308 _(selectorIdTotalPktsObserved, 318, u64) \
309 _(selectorIdTotalPktsSelected, 319, u64) \
310 _(absoluteError, 320, float64) \
311 _(relativeError, 321, float64) \
312 _(observationTimeSeconds, 322, dateTimeSeconds) \
313 _(observationTimeMilliseconds, 323, dateTimeMilliseconds) \
314 _(observationTimeMicroseconds, 324, dateTimeMicroseconds) \
315 _(observationTimeNanoseconds, 325, dateTimeNanoseconds) \
316 _(digestHashValue, 326, u64) \
317 _(hashIPPayloadOffset, 327, u64) \
318 _(hashIPPayloadSize, 328, u64) \
319 _(hashOutputRangeMin, 329, u64) \
320 _(hashOutputRangeMax, 330, u64) \
321 _(hashSelectedRangeMin, 331, u64) \
322 _(hashSelectedRangeMax, 332, u64) \
323 _(hashDigestOutput, 333, boolean) \
324 _(hashInitialiserValue, 334, u64) \
325 _(selectorName, 335, string) \
326 _(upperCILimit, 336, float64) \
327 _(lowerCILimit, 337, float64) \
328 _(confidenceLevel, 338, float64) \
329 _(informationElementDataType, 339, u8) \
330 _(informationElementDescription, 340, string) \
331 _(informationElementName, 341, string) \
332 _(informationElementRangeBegin, 342, u64) \
333 _(informationElementRangeEnd, 343, u64) \
334 _(informationElementSemantics, 344, u8) \
335 _(informationElementUnits, 345, u16) \
336 _(privateEnterpriseNumber, 346, u32) \
337 _(virtualStationInterfaceId, 347, octetArray) \
338 _(virtualStationInterfaceName, 348, string) \
339 _(virtualStationUUID, 349, octetArray) \
340 _(virtualStationName, 350, string) \
341 _(layer2SegmentId, 351, u64) \
342 _(layer2OctetDeltaCount, 352, u64) \
343 _(layer2OctetTotalCount, 353, u64) \
344 _(ingressUnicastPacketTotalCount, 354, u64) \
345 _(ingressMulticastPacketTotalCount, 355, u64) \
346 _(ingressBroadcastPacketTotalCount, 356, u64) \
347 _(egressUnicastPacketTotalCount, 357, u64) \
348 _(egressBroadcastPacketTotalCount, 358, u64) \
349 _(monitoringIntervalStartMilliSeconds, 359, dateTimeMilliseconds) \
350 _(monitoringIntervalEndMilliSeconds, 360, dateTimeMilliseconds) \
351 _(portRangeStart, 361, u16) \
352 _(portRangeEnd, 362, u16) \
353 _(portRangeStepSize, 363, u16) \
354 _(portRangeNumPorts, 364, u16) \
355 _(staMacAddress, 365, macAddress) \
356 _(staIPv4Address, 366, ip4_address_t) \
357 _(wtpMacAddress, 367, macAddress ) \
358 _(ingressInterfaceType, 368, u32) \
359 _(egressInterfaceType, 369, u32) \
360 _(rtpSequenceNumber, 370, u16) \
361 _(userName, 371, string) \
362 _(applicationCategoryName, 372, string) \
363 _(applicationSubCategoryName, 373, string) \
364 _(applicationGroupName, 374, string) \
365 _(originalFlowsPresent, 375, u64) \
366 _(originalFlowsInitiated, 376, u64) \
367 _(originalFlowsCompleted, 377, u64) \
368 _(distinctCountOfSourceIPAddress, 378, u64) \
369 _(distinctCountOfDestinationIPAddress, 379, u64) \
370 _(distinctCountOfSourceIPv4Address, 380, u32) \
371 _(distinctCountOfDestinationIPv4Address, 381, u32) \
372 _(distinctCountOfSourceIPv6Address, 382, u64) \
373 _(distinctCountOfDestinationIPv6Address, 383, u64) \
374 _(valueDistributionMethod, 384, u8) \
375 _(rfc3550JitterMilliseconds, 385, u32) \
376 _(rfc3550JitterMicroseconds, 386, u32) \
377 _(rfc3550JitterNanoseconds, 387, u32) \
378 _(dot1qDEI, 388, boolean) \
379 _(dot1qCustomerDEI, 389, boolean) \
380 _(flowSelectorAlgorithm, 390, u16) \
381 _(flowSelectedOctetDeltaCount, 391, u64) \
382 _(flowSelectedPacketDeltaCount, 392, u64) \
383 _(flowSelectedFlowDeltaCount, 393, u64) \
384 _(selectorIDTotalFlowsObserved, 394, u64) \
385 _(selectorIDTotalFlowsSelected, 395, u64) \
386 _(samplingFlowInterval, 396, u64) \
387 _(samplingFlowSpacing, 397, u64) \
388 _(flowSamplingTimeInterval, 398, u64) \
389 _(flowSamplingTimeSpacing, 399, u64) \
390 _(hashFlowDomain, 400, u16) \
391 _(transportOctetDeltaCount, 401, u64) \
392 _(transportPacketDeltaCount, 402, u64) \
393 _(originalExporterIPv4Address, 403, ip4_address_t) \
394 _(originalExporterIPv6Address, 404, ip6_address_t) \
395 _(originalObservationDomainId, 405, u32) \
396 _(intermediateProcessId, 406, u32) \
397 _(ignoredDataRecordTotalCount, 407, u64) \
398 _(dataLinkFrameType, 408, u16) \
399 _(sectionOffset, 409, u16) \
400 _(sectionExportedOctets, 410, u16) \
401 _(dot1qServiceInstanceTag, 411, octetArray) \
402 _(dot1qServiceInstanceId, 412, u32) \
403 _(dot1qServiceInstancePriority, 413, u8) \
404 _(dot1qCustomerSourceMacAddress, 414, macAddress) \
405 _(dot1qCustomerDestinationMacAddress, 415, macAddress) \
406 _(postLayer2OctetDeltaCount, 417, u64) \
407 _(postMCastLayer2OctetDeltaCount, 418, u64) \
408 _(postLayer2OctetTotalCount, 420, u64) \
409 _(postMCastLayer2OctetTotalCount, 421, u64) \
410 _(minimumLayer2TotalLength, 422, u64) \
411 _(maximumLayer2TotalLength, 423, u64) \
412 _(droppedLayer2OctetDeltaCount, 424, u64) \
413 _(droppedLayer2OctetTotalCount, 425, u64) \
414 _(ignoredLayer2OctetTotalCount, 426, u64) \
415 _(notSentLayer2OctetTotalCount, 427, u64) \
416 _(layer2OctetDeltaSumOfSquares, 428, u64) \
417 _(layer2OctetTotalSumOfSquares, 429, u64) \
418 _(layer2FrameDeltaCount, 430, u64) \
419 _(layer2FrameTotalCount, 431, u64) \
420 _(pseudoWireDestinationIPv4Address, 432, ip4_address_t) \
421 _(ignoredLayer2FrameTotalCount, 433, u64)
422 
423 typedef enum {
424 #define _(n,v,t) n = v,
426 #undef _
428 
429 #endif /* __included_ipfix_info_elements_h__ */
#define foreach_ipfix_info_element_t
ipfix_info_element_id_t