blob: 1403db4393b19185e905ea30adbf9779f6e58c56 [file] [log] [blame]
Ed Warnickecb9cada2015-12-08 15:45:58 -07001/*
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) \
Matus Fabian2f2db1c2017-04-18 05:29:59 -0700421_(ignoredLayer2FrameTotalCount, 433, u64) \
422_(natQuotaExceededEvent, 466, u32)
Ed Warnickecb9cada2015-12-08 15:45:58 -0700423
424typedef enum {
425#define _(n,v,t) n = v,
426 foreach_ipfix_info_element_t
427#undef _
428} ipfix_info_element_id_t;
429
430#endif /* __included_ipfix_info_elements_h__ */