UNPKG

@gavinaiken/netflowv9

Version:

NetFlow Version 1,5,7,9 compatible library (with support for NetFlow v9 options template & data) for Node.JS. It also has experimental support for IPFIX (NetFlow v10).

494 lines (490 loc) 30.4 kB
const { decNumRule, decTimestamp, decTsMs, decTsMcs, decTsNs, decIpv4Rule, decIpv6Rule, decMacRule, decStringRule, decAsciiStringRule, } = require('./fieldRules'); var nfTypes = { 1: {name: 'in_bytes', compileRule: decNumRule}, 2: {name: 'in_pkts', compileRule: decNumRule}, 3: {name: 'flows', compileRule: decNumRule}, 4: {name: 'protocol', compileRule: decNumRule}, 5: {name: 'src_tos', compileRule: decNumRule}, 6: {name: 'tcp_flags', compileRule: decNumRule}, 7: {name: 'l4_src_port', compileRule: decNumRule}, 8: {name: 'ipv4_src_addr', compileRule: decIpv4Rule}, 9: {name: 'src_mask', compileRule: decNumRule}, 10: {name: 'input_snmp', compileRule: decNumRule}, 11: {name: 'l4_dst_port', compileRule: decNumRule}, 12: {name: 'ipv4_dst_addr', compileRule: decIpv4Rule}, 13: {name: 'dst_mask', compileRule: decNumRule}, 14: {name: 'output_snmp', compileRule: decNumRule}, 15: {name: 'ipv4_next_hop', compileRule: decIpv4Rule}, 16: {name: 'src_as', compileRule: decNumRule}, 17: {name: 'dst_as', compileRule: decNumRule}, 18: {name: 'bgp_ipv4_next_hop', compileRule: decIpv4Rule}, 19: {name: 'mul_dst_pkts', compileRule: decNumRule}, 20: {name: 'mul_dst_bytes', compileRule: decNumRule}, 21: {name: 'last_switched', compileRule: decNumRule}, 22: {name: 'first_switched', compileRule: decNumRule}, 23: {name: 'out_bytes', compileRule: decNumRule}, 24: {name: 'out_pkts', compileRule: decNumRule}, 25: {name: 'min_pkt_lngth', compileRule: decNumRule}, 26: {name: 'max_pkt_lngth', compileRule: decNumRule}, 27: {name: 'ipv6_src_addr', compileRule: decIpv6Rule}, 28: {name: 'ipv6_dst_addr', compileRule: decIpv6Rule}, 29: {name: 'ipv6_src_mask', compileRule: decNumRule}, 30: {name: 'ipv6_dst_mask', compileRule: decNumRule}, 31: {name: 'ipv6_flow_label', compileRule: decNumRule}, 32: {name: 'icmp_type', compileRule: decNumRule}, 33: {name: 'mul_igmp_type', compileRule: decNumRule}, 34: {name: 'sampling_interval', compileRule: decNumRule}, 35: {name: 'sampling_algorithm', compileRule: decNumRule}, 36: {name: 'flow_active_timeout', compileRule: decNumRule}, 37: {name: 'flow_inactive_timeout', compileRule: decNumRule}, 38: {name: 'engine_type', compileRule: decNumRule}, 39: {name: 'engine_id', compileRule: decNumRule}, 40: {name: 'total_bytes_exp', compileRule: decNumRule}, 41: {name: 'total_pkts_exp', compileRule: decNumRule}, 42: {name: 'total_flows_exp', compileRule: decNumRule}, 44: {name: 'ipv4_src_prefix', compileRule: decIpv4Rule}, 45: {name: 'ipv4_dst_prefix', compileRule: decIpv4Rule}, 46: {name: 'mpls_top_label_type', compileRule: decIpv4Rule}, 47: {name: 'mpls_top_label_ip_addr', compileRule: decIpv4Rule}, 48: {name: 'flow_sampler_id', compileRule: decNumRule}, 49: {name: 'flow_sampler_mode', compileRule: decNumRule}, 50: {name: 'flow_sampler_random_interval', compileRule: decNumRule}, 52: {name: 'min_ttl', compileRule: decNumRule}, 53: {name: 'max_ttl', compileRule: decNumRule}, 54: {name: 'ipv4_ident', compileRule: decNumRule}, 55: {name: 'dst_tos', compileRule: decNumRule}, 56: {name: 'in_src_mac', compileRule: decMacRule}, 57: {name: 'out_dst_mac', compileRule: decMacRule}, 58: {name: 'src_vlan', compileRule: decNumRule}, 59: {name: 'dst_vlan', compileRule: decNumRule}, 60: {name: 'ip_protocol_version', compileRule: decNumRule}, 61: {name: 'direction', compileRule: decNumRule}, 62: {name: 'ipv6_next_hop', compileRule: decIpv6Rule}, 63: {name: 'bpg_ipv6_next_hop', compileRule: decIpv6Rule}, 64: {name: 'ipv6_option_headers', compileRule: decNumRule}, 70: {name: 'mpls_label_1', compileRule: decNumRule}, 71: {name: 'mpls_label_2', compileRule: decNumRule}, 72: {name: 'mpls_label_3', compileRule: decNumRule}, 73: {name: 'mpls_label_4', compileRule: decNumRule}, 74: {name: 'mpls_label_5', compileRule: decNumRule}, 75: {name: 'mpls_label_6', compileRule: decNumRule}, 76: {name: 'mpls_label_7', compileRule: decNumRule}, 77: {name: 'mpls_label_8', compileRule: decNumRule}, 78: {name: 'mpls_label_9', compileRule: decNumRule}, 79: {name: 'mpls_label_10', compileRule: decNumRule}, 80: {name: 'in_dst_mac', compileRule: decMacRule}, 81: {name: 'out_src_mac', compileRule: decMacRule}, 82: {name: 'if_name', compileRule: decStringRule}, 83: {name: 'if_desc', compileRule: decStringRule}, 84: {name: 'sampler_name', compileRule: decStringRule}, 85: {name: 'in_permanent_bytes', compileRule: decNumRule}, 86: {name: 'in_permanent_pkts', compileRule: decNumRule}, 87: {name: 'flagsAndSamplerId', compileRule: decNumRule}, // Deprecated 88: {name: 'fragment_offset', compileRule: decNumRule}, 89: {name: 'fw_status', compileRule: decNumRule}, 90: {name: 'mpls_pal_rd', compileRule: decNumRule}, 91: {name: 'mpls_prefix_len', compileRule: decNumRule}, 92: {name: 'src_traffic_index', compileRule: decNumRule}, 93: {name: 'dst_traffic_index', compileRule: decNumRule}, 94: {name: 'application_descr', compileRule: decStringRule}, 95: {name: 'application_tag', compileRule: decMacRule}, 96: {name: 'application_name', compileRule: decStringRule}, 98: {name: 'postIpDiffServCodePoint', compileRule: decNumRule}, 99: {name: 'replication_factor', compileRule: decNumRule}, 100: {name: 'className', compileRule: decStringRule}, 101: {name: 'classificationEngineId', compileRule: decNumRule}, 102: {name: 'layer2packetSectionOffset', compileRule: decNumRule}, // Deprecated 103: {name: 'layer2packetSectionSize', compileRule: decNumRule}, // Deprecated 104: {name: 'layer2packetSectionData', compileRule: decMacRule}, //above 127 is in ipfix 128: {name: 'in_as', compileRule: decNumRule}, 129: {name: 'out_as', compileRule: decNumRule}, 130: {name: 'exporterIPv4Address', compileRule: decIpv4Rule}, 131: {name: 'exporterIPv6Address', compileRule: decIpv6Rule}, 132: {name: 'droppedOctetDeltaCount', compileRule: decNumRule}, 133: {name: 'droppedPacketDeltaCount', compileRule: decNumRule}, 134: {name: 'droppedOctetTotalCount', compileRule: decNumRule}, 135: {name: 'droppedPacketTotalCount', compileRule: decNumRule}, 136: {name: 'flowEndReason', compileRule: decNumRule}, 137: {name: 'commonPropertiesId', compileRule: decNumRule}, 138: {name: 'observationPointId', compileRule: decNumRule}, 139: {name: 'icmpTypeCodeIPv6', compileRule: decNumRule}, 140: {name: 'mplsTopLabelIPv6Address', compileRule: decIpv6Rule}, 141: {name: 'lineCardId', compileRule: decNumRule}, 142: {name: 'portId', compileRule: decNumRule}, 143: {name: 'meteringProcessId', compileRule: decNumRule}, 144: {name: 'exportingProcessId', compileRule: decNumRule}, 145: {name: 'templateId', compileRule: decNumRule}, 146: {name: 'wlanChannelId', compileRule: decNumRule}, 147: {name: 'wlanSSID', compileRule: decStringRule}, 148: {name: 'flowId', compileRule: decNumRule}, 149: {name: 'observationDomainId', compileRule: decNumRule}, 150: {name: 'flowStartSeconds', compileRule: decTimestamp}, 151: {name: 'flowEndSeconds', compileRule: decTimestamp}, 152: {name: 'flowStartMilliseconds', compileRule: decTsMs}, 153: {name: 'flowEndMilliseconds', compileRule: decTsMs}, 154: {name: 'flowStartMicroseconds', compileRule: decTsMcs}, 155: {name: 'flowEndMicroseconds', compileRule: decTsMcs}, 156: {name: 'flowStartNanoseconds', compileRule: decTsNs}, 157: {name: 'flowEndNanoseconds', compileRule: decTsNs}, 158: {name: 'flowStartDeltaMicroseconds', compileRule: decNumRule}, 159: {name: 'flowEndDeltaMicroseconds', compileRule: decNumRule}, 160: {name: 'systemInitTimeMilliseconds', compileRule: decTsMs}, 161: {name: 'flowDurationMilliseconds', compileRule: decNumRule}, 162: {name: 'flowDurationMicroseconds', compileRule: decNumRule}, 163: {name: 'observedFlowTotalCount', compileRule: decNumRule}, 164: {name: 'ignoredPacketTotalCount', compileRule: decNumRule}, 165: {name: 'ignoredOctetTotalCount', compileRule: decNumRule}, 166: {name: 'notSentFlowTotalCount', compileRule: decNumRule}, 167: {name: 'notSentPacketTotalCount', compileRule: decNumRule}, 168: {name: 'notSentOctetTotalCount', compileRule: decNumRule}, 169: {name: 'destinationIPv6Prefix', compileRule: decIpv6Rule}, 170: {name: 'sourceIPv6Prefix', compileRule: decIpv6Rule}, 171: {name: 'postOctetTotalCount', compileRule: decNumRule}, 172: {name: 'postPacketTotalCount', compileRule: decNumRule}, 173: {name: 'flowKeyIndicator', compileRule: decNumRule}, 174: {name: 'postMCastPacketTotalCount', compileRule: decNumRule}, 175: {name: 'postMCastOctetTotalCount', compileRule: decNumRule}, 176: {name: 'icmpTypeIPv4', compileRule: decNumRule}, 177: {name: 'icmpCodeIPv4', compileRule: decNumRule}, 178: {name: 'icmpTypeIPv6', compileRule: decNumRule}, 179: {name: 'icmpCodeIPv6', compileRule: decNumRule}, 180: {name: 'udpSourcePort', compileRule: decNumRule}, 181: {name: 'udpDestinationPort', compileRule: decNumRule}, 182: {name: 'tcpSourcePort', compileRule: decNumRule}, 183: {name: 'tcpDestinationPort', compileRule: decNumRule}, 184: {name: 'tcpSequenceNumber', compileRule: decNumRule}, 185: {name: 'tcpAcknowledgementNumber', compileRule: decNumRule}, 186: {name: 'tcpWindowSize', compileRule: decNumRule}, 187: {name: 'tcpUrgentPointer', compileRule: decNumRule}, 188: {name: 'tcpHeaderLength', compileRule: decNumRule}, 189: {name: 'ipHeaderLength', compileRule: decNumRule}, 190: {name: 'totalLengthIPv4', compileRule: decNumRule}, 191: {name: 'payloadLengthIPv6', compileRule: decNumRule}, 192: {name: 'ipTTL', compileRule: decNumRule}, 193: {name: 'nextHeaderIPv6', compileRule: decNumRule}, 194: {name: 'mplsPayloadLength', compileRule: decNumRule}, 195: {name: 'ipDiffServCodePoint', compileRule: decNumRule}, //the following are taken from from http://www.iana.org/assignments/ipfix/ipfix.xhtml 196: {name: 'ipPrecedence', compileRule: decNumRule}, 197: {name: 'fragmentFlags', compileRule: decNumRule}, 198: {name: 'octetDeltaSumOfSquares', compileRule: decNumRule}, 199: {name: 'octetTotalSumOfSquares', compileRule: decNumRule}, 200: {name: 'mplsTopLabelTTL', compileRule: decNumRule}, 201: {name: 'mplsLabelStackLength', compileRule: decNumRule}, 202: {name: 'mplsLabelStackDepth', compileRule: decNumRule}, 203: {name: 'mplsTopLabelExp', compileRule: decNumRule}, 204: {name: 'ipPayloadLength', compileRule: decNumRule}, 205: {name: 'udpMessageLength', compileRule: decNumRule}, 206: {name: 'isMulticast', compileRule: decNumRule}, 207: {name: 'ipv4IHL', compileRule: decNumRule}, 208: {name: 'ipv4Options', compileRule: decNumRule}, 209: {name: 'tcpOptions', compileRule: decNumRule}, 210: {name: 'paddingOctets', compileRule: decMacRule}, 211: {name: 'collectorIPv4Address', compileRule: decIpv4Rule}, 212: {name: 'collectorIPv6Address', compileRule: decIpv6Rule}, 213: {name: 'exportInterface', compileRule: decNumRule}, 214: {name: 'exportProtocolVersion', compileRule: decNumRule}, 215: {name: 'exportTransportProtocol', compileRule: decNumRule}, 216: {name: 'collectorTransportPort', compileRule: decNumRule}, 217: {name: 'exporterTransportPort', compileRule: decNumRule}, 218: {name: 'tcpSynTotalCount', compileRule: decNumRule}, 219: {name: 'tcpFinTotalCount', compileRule: decNumRule}, 220: {name: 'tcpRstTotalCount', compileRule: decNumRule}, 221: {name: 'tcpPshTotalCount', compileRule: decNumRule}, 222: {name: 'tcpAckTotalCount', compileRule: decNumRule}, 223: {name: 'tcpUrgTotalCount', compileRule: decNumRule}, 224: {name: 'ipTotalLength', compileRule: decNumRule}, 225: {name: 'postNATSourceIPv4Address', compileRule: decIpv4Rule}, 226: {name: 'postNATDestinationIPv4Address', compileRule: decIpv4Rule}, 227: {name: 'postNAPTSourceTransportPort', compileRule: decNumRule}, 228: {name: 'postNAPTDestinationTransportPort', compileRule: decNumRule}, 229: {name: 'natOriginatingAddressRealm', compileRule: decNumRule}, 230: {name: 'natEvent', compileRule: decNumRule}, 231: {name: 'initiatorOctets', compileRule: decNumRule}, 232: {name: 'responderOctets', compileRule: decNumRule}, 233: {name: 'firewallEvent', compileRule: decNumRule}, 234: {name: 'ingressVRFID', compileRule: decNumRule}, 235: {name: 'egressVRFID', compileRule: decNumRule}, 236: {name: 'VRFname', compileRule: decStringRule}, 237: {name: 'postMplsTopLabelExp', compileRule: decNumRule}, 238: {name: 'tcpWindowScale', compileRule: decNumRule}, 239: {name: 'biflow_direction', compileRule: decNumRule}, 240: {name: 'ethernetHeaderLength', compileRule: decNumRule}, 241: {name: 'ethernetPayloadLength', compileRule: decNumRule}, 242: {name: 'ethernetTotalLength', compileRule: decNumRule}, 243: {name: 'dot1qVlanId', compileRule: decNumRule}, 244: {name: 'dot1qPriority', compileRule: decNumRule}, 245: {name: 'dot1qCustomerVlanId', compileRule: decNumRule}, 246: {name: 'dot1qCustomerPriority', compileRule: decNumRule}, 247: {name: 'metroEvcId', compileRule: decStringRule}, 248: {name: 'metroEvcType', compileRule: decNumRule}, 249: {name: 'pseudoWireId', compileRule: decNumRule}, 250: {name: 'pseudoWireType', compileRule: decNumRule}, 251: {name: 'pseudoWireControlWord', compileRule: decNumRule}, 252: {name: 'ingressPhysicalInterface', compileRule: decNumRule}, 253: {name: 'egressPhysicalInterface', compileRule: decNumRule}, 254: {name: 'postDot1qVlanId', compileRule: decNumRule}, 255: {name: 'postDot1qCustomerVlanId', compileRule: decNumRule}, 256: {name: 'ethernetType', compileRule: decNumRule}, 257: {name: 'postIpPrecedence', compileRule: decNumRule}, 258: {name: 'collectionTimeMilliseconds', compileRule: decTsMs}, 259: {name: 'exportSctpStreamId', compileRule: decNumRule}, 260: {name: 'maxExportSeconds', compileRule: decTimestamp}, 261: {name: 'maxFlowEndSeconds', compileRule: decTimestamp}, 262: {name: 'messageMD5Checksum', compileRule: decMacRule}, 263: {name: 'messageScope', compileRule: decNumRule}, 264: {name: 'minExportSeconds', compileRule: decTimestamp}, 265: {name: 'minFlowStartSeconds', compileRule: decTimestamp}, 266: {name: 'opaqueOctets', compileRule: decMacRule}, 267: {name: 'sessionScope', compileRule: decNumRule}, 268: {name: 'maxFlowEndMicroseconds', compileRule: decTsMcs}, 269: {name: 'maxFlowEndMilliseconds', compileRule: decTsMs}, 270: {name: 'maxFlowEndNanoseconds', compileRule: decTsNs}, 271: {name: 'minFlowStartMicroseconds', compileRule: decTsMcs}, 272: {name: 'minFlowStartMilliseconds', compileRule: decTsMs}, 273: {name: 'minFlowStartNanoseconds', compileRule: decTsNs}, 274: {name: 'collectorCertificate', compileRule: decMacRule}, 275: {name: 'exporterCertificate', compileRule: decMacRule}, 276: {name: 'dataRecordsReliability', compileRule: decNumRule}, 277: {name: 'observationPointType', compileRule: decNumRule}, 278: {name: 'connectionCountNew', compileRule: decNumRule}, 279: {name: 'connectionSumDuration', compileRule: decNumRule}, 280: {name: 'conn_tx_id',compileRule: decNumRule}, // 281: {name: 'postNATSourceIPv6Address',compileRule: decIpv6Rule}, 282: {name: 'postNATDestinationIPv6Address',compileRule: decIpv6Rule}, 283: {name: 'natPoolId',compileRule: decNumRule}, 284: {name: 'natPoolName',compileRule: decStringRule}, 285: {name: 'anonymizationFlags',compileRule: decNumRule}, 286: {name: 'anonymizationTechnique',compileRule: decNumRule}, 287: {name: 'informationElementIndex',compileRule: decNumRule}, 288: {name: 'p2pTechnology',compileRule: decStringRule}, 289: {name: 'tunnelTechnology',compileRule: decStringRule}, 290: {name: 'encryptedTechnology',compileRule: decStringRule}, // 291: {name: 'basicList',compileRule: decNumRule}, // List type, not yet supported // 292: {name: 'subTemplateList',compileRule: decNumRule}, // 293: {name: 'subTemplateMultiList',compileRule: decNumRule}, 294: {name: 'bgpValidityState',compileRule: decNumRule}, 295: {name: 'IPSecSPI',compileRule: decNumRule}, 296: {name: 'greKey',compileRule: decNumRule}, 297: {name: 'natType',compileRule: decNumRule}, 298: {name: 'initiatorPackets',compileRule: decNumRule}, 299: {name: 'responderPackets',compileRule: decNumRule}, 300: {name: 'observationDomainName',compileRule: decStringRule}, 301: {name: 'selectionSequenceId',compileRule: decNumRule}, 302: {name: 'selectorId',compileRule: decNumRule}, 303: {name: 'informationElementId',compileRule: decNumRule}, 304: {name: 'selectorAlgorithm',compileRule: decNumRule}, 305: {name: 'samplingPacketInterval',compileRule: decNumRule}, 306: {name: 'samplingPacketSpace',compileRule: decNumRule}, 307: {name: 'samplingTimeInterval',compileRule: decNumRule}, 308: {name: 'samplingTimeSpace',compileRule: decNumRule}, 309: {name: 'samplingSize',compileRule: decNumRule}, 310: {name: 'samplingPopulation',compileRule: decNumRule}, // 311: {name: 'samplingProbability',compileRule: decNumRule}, // Float type has to be introduced 312: {name: 'dataLinkFrameSize',compileRule: decNumRule}, 313: {name: 'ipHeaderPacketSection',compileRule: decMacRule}, 314: {name: 'ipPayloadPacketSection',compileRule: decMacRule}, 315: {name: 'dataLinkFrameSection',compileRule: decMacRule}, 316: {name: 'mplsLabelStackSection',compileRule: decMacRule}, 317: {name: 'mplsPayloadPacketSection',compileRule: decMacRule}, 318: {name: 'selectorIdTotalPktsObserved',compileRule: decNumRule}, 319: {name: 'selectorIdTotalPktsSelected',compileRule: decNumRule}, // 320: {name: 'absoluteError',compileRule: decNumRule}, // Float type // 321: {name: 'relativeError',compileRule: decNumRule}, // Float type 322: {name: 'observationTimeSeconds',compileRule: decTimestamp}, 323: {name: 'observationTimeMilliseconds',compileRule: decTsMs}, 324: {name: 'observationTimeMicroseconds',compileRule: decTsMcs}, 325: {name: 'observationTimeNanoseconds',compileRule: decTsNs}, 326: {name: 'digestHashValue',compileRule: decNumRule}, 327: {name: 'hashIPPayloadOffset',compileRule: decNumRule}, 328: {name: 'hashIPPayloadSize',compileRule: decNumRule}, 329: {name: 'hashOutputRangeMin',compileRule: decNumRule}, 330: {name: 'hashOutputRangeMax',compileRule: decNumRule}, 331: {name: 'hashSelectedRangeMin',compileRule: decNumRule}, 332: {name: 'hashSelectedRangeMax',compileRule: decNumRule}, 333: {name: 'hashDigestOutput',compileRule: decNumRule}, 334: {name: 'hashInitialiserValue',compileRule: decNumRule}, 335: {name: 'selectorName',compileRule: decStringRule}, // 336: {name: 'upperCILimit',compileRule: decNumRule}, // Float type // 337: {name: 'lowerCILimit',compileRule: decNumRule}, // Float // 338: {name: 'confidenceLevel',compileRule: decNumRule}, // Float 339: {name: 'informationElementDataType',compileRule: decNumRule}, 340: {name: 'informationElementDescription',compileRule: decStringRule}, 341: {name: 'informationElementName',compileRule: decStringRule}, 342: {name: 'informationElementRangeBegin',compileRule: decNumRule}, 343: {name: 'informationElementRangeEnd',compileRule: decNumRule}, 344: {name: 'informationElementSemantics',compileRule: decNumRule}, 345: {name: 'informationElementUnits',compileRule: decNumRule}, 346: {name: 'privateEnterpriseNumber',compileRule: decNumRule}, 347: {name: 'virtualStationInterfaceId',compileRule: decMacRule}, 348: {name: 'virtualStationInterfaceName',compileRule: decStringRule}, 349: {name: 'virtualStationUUID',compileRule: decMacRule}, 350: {name: 'virtualStationName',compileRule: decStringRule}, 351: {name: 'layer2SegmentId',compileRule: decNumRule}, 352: {name: 'layer2OctetDeltaCount',compileRule: decNumRule}, 353: {name: 'layer2OctetTotalCount',compileRule: decNumRule}, 354: {name: 'ingressUnicastPacketTotalCount',compileRule: decNumRule}, 355: {name: 'ingressMulticastPacketTotalCount',compileRule: decNumRule}, 356: {name: 'ingressBroadcastPacketTotalCount',compileRule: decNumRule}, 357: {name: 'egressUnicastPacketTotalCount',compileRule: decNumRule}, 358: {name: 'egressBroadcastPacketTotalCount',compileRule: decNumRule}, 359: {name: 'monitoringIntervalStartMilliSeconds',compileRule: decTsMs}, 360: {name: 'monitoringIntervalEndMilliSeconds',compileRule: decTsMs}, 361: {name: 'portRangeStart',compileRule: decNumRule}, 362: {name: 'portRangeEnd',compileRule: decNumRule}, 363: {name: 'portRangeStepSize',compileRule: decNumRule}, 364: {name: 'portRangeNumPorts',compileRule: decNumRule}, 365: {name: 'staMacAddress',compileRule: decMacRule}, 366: {name: 'staIPv4Address',compileRule: decIpv4Rule}, 367: {name: 'wtpMacAddress',compileRule: decMacRule}, 368: {name: 'ingressInterfaceType',compileRule: decNumRule}, 369: {name: 'egressInterfaceType',compileRule: decNumRule}, 370: {name: 'rtpSequenceNumber',compileRule: decNumRule}, 371: {name: 'userName',compileRule: decStringRule}, 372: {name: 'applicationCategoryName',compileRule: decStringRule}, 373: {name: 'applicationSubCategoryName',compileRule: decStringRule}, 374: {name: 'applicationGroupName',compileRule: decStringRule}, 375: {name: 'originalFlowsPresent',compileRule: decNumRule}, 376: {name: 'originalFlowsInitiated',compileRule: decNumRule}, 377: {name: 'originalFlowsCompleted',compileRule: decNumRule}, 378: {name: 'distinctCountOfSourceIPAddress',compileRule: decNumRule}, 379: {name: 'distinctCountOfDestinationIPAddress',compileRule: decNumRule}, 380: {name: 'distinctCountOfSourceIPv4Address',compileRule: decNumRule}, 381: {name: 'distinctCountOfDestinationIPv4Address',compileRule: decNumRule}, 382: {name: 'distinctCountOfSourceIPv6Address',compileRule: decNumRule}, 383: {name: 'distinctCountOfDestinationIPv6Address',compileRule: decNumRule}, 384: {name: 'valueDistributionMethod',compileRule: decNumRule}, 385: {name: 'rfc3550JitterMilliseconds',compileRule: decNumRule}, 386: {name: 'rfc3550JitterMicroseconds',compileRule: decNumRule}, 387: {name: 'rfc3550JitterNanoseconds',compileRule: decNumRule}, 388: {name: 'dot1qDEI',compileRule: decNumRule}, 389: {name: 'dot1qCustomerDEI',compileRule: decNumRule}, 390: {name: 'flowSelectorAlgorithm',compileRule: decNumRule}, 391: {name: 'flowSelectedOctetDeltaCount',compileRule: decNumRule}, 392: {name: 'flowSelectedPacketDeltaCount',compileRule: decNumRule}, 393: {name: 'flowSelectedFlowDeltaCount',compileRule: decNumRule}, 394: {name: 'selectorIDTotalFlowsObserved',compileRule: decNumRule}, 395: {name: 'selectorIDTotalFlowsSelected',compileRule: decNumRule}, 396: {name: 'samplingFlowInterval',compileRule: decNumRule}, 397: {name: 'samplingFlowSpacing',compileRule: decNumRule}, 398: {name: 'flowSamplingTimeInterval',compileRule: decNumRule}, 399: {name: 'flowSamplingTimeSpacing',compileRule: decNumRule}, 400: {name: 'hashFlowDomain',compileRule: decNumRule}, 401: {name: 'transportOctetDeltaCount',compileRule: decNumRule}, 402: {name: 'transportPacketDeltaCount',compileRule: decNumRule}, 403: {name: 'originalExporterIPv4Address',compileRule: decIpv4Rule}, 404: {name: 'originalExporterIPv6Address',compileRule: decIpv6Rule}, 405: {name: 'originalObservationDomainId',compileRule: decNumRule}, 406: {name: 'intermediateProcessId',compileRule: decNumRule}, 407: {name: 'ignoredDataRecordTotalCount',compileRule: decNumRule}, 408: {name: 'dataLinkFrameType',compileRule: decNumRule}, 409: {name: 'sectionOffset',compileRule: decNumRule}, 410: {name: 'sectionExportedOctets',compileRule: decNumRule}, 411: {name: 'dot1qServiceInstanceTag',compileRule: decMacRule}, 412: {name: 'dot1qServiceInstanceId',compileRule: decNumRule}, 413: {name: 'dot1qServiceInstancePriority',compileRule: decNumRule}, 414: {name: 'dot1qCustomerSourceMacAddress',compileRule: decMacRule}, 415: {name: 'dot1qCustomerDestinationMacAddress',compileRule: decMacRule}, 417: {name: 'postLayer2OctetDeltaCount',compileRule: decNumRule}, 418: {name: 'postMCastLayer2OctetDeltaCount',compileRule: decNumRule}, 420: {name: 'postLayer2OctetTotalCount',compileRule: decNumRule}, 421: {name: 'postMCastLayer2OctetTotalCount',compileRule: decNumRule}, 422: {name: 'minimumLayer2TotalLength',compileRule: decNumRule}, 423: {name: 'maximumLayer2TotalLength',compileRule: decNumRule}, 424: {name: 'droppedLayer2OctetDeltaCount',compileRule: decNumRule}, 425: {name: 'droppedLayer2OctetTotalCount',compileRule: decNumRule}, 426: {name: 'ignoredLayer2OctetTotalCount',compileRule: decNumRule}, 427: {name: 'notSentLayer2OctetTotalCount',compileRule: decNumRule}, 428: {name: 'layer2OctetDeltaSumOfSquares',compileRule: decNumRule}, 429: {name: 'layer2OctetTotalSumOfSquares',compileRule: decNumRule}, 430: {name: 'layer2FrameDeltaCount',compileRule: decNumRule}, 431: {name: 'layer2FrameTotalCount',compileRule: decNumRule}, 432: {name: 'pseudoWireDestinationIPv4Address',compileRule: decIpv4Rule}, 433: {name: 'ignoredLayer2FrameTotalCount',compileRule: decNumRule}, 434: {name: 'mibObjectValueInteger',compileRule: decNumRule}, 435: {name: 'mibObjectValueOctetString',compileRule: decMacRule}, 436: {name: 'mibObjectValueOID',compileRule: decMacRule}, 437: {name: 'mibObjectValueBits',compileRule: decMacRule}, 438: {name: 'mibObjectValueIPAddress',compileRule: decIpv4Rule}, 439: {name: 'mibObjectValueCounter',compileRule: decNumRule}, 440: {name: 'mibObjectValueGauge',compileRule: decNumRule}, 441: {name: 'mibObjectValueTimeTicks',compileRule: decNumRule}, 442: {name: 'mibObjectValueUnsigned',compileRule: decNumRule}, // 443: {name: 'mibObjectValueTable',compileRule: subTemplateList}, // 444: {name: 'mibObjectValueRow',compileRule: subTemplateList}, 445: {name: 'mibObjectIdentifier',compileRule: decMacRule}, 446: {name: 'mibSubIdentifier',compileRule: decNumRule}, 447: {name: 'mibIndexIndicator',compileRule: decNumRule}, 448: {name: 'mibCaptureTimeSemantics',compileRule: decNumRule}, 449: {name: 'mibContextEngineID',compileRule: decMacRule}, 450: {name: 'mibContextName',compileRule: decStringRule}, 451: {name: 'mibObjectName',compileRule: decStringRule}, 452: {name: 'mibObjectDescription',compileRule: decStringRule}, 453: {name: 'mibObjectSyntax',compileRule: decStringRule}, 454: {name: 'mibModuleName',compileRule: decStringRule}, 455: {name: 'mobileIMSI',compileRule: decStringRule}, 456: {name: 'mobileMSISDN',compileRule: decStringRule}, 457: {name: 'httpStatusCode',compileRule: decNumRule}, 458: {name: 'sourceTransportPortsLimit',compileRule: decNumRule}, 459: {name: 'httpRequestMethod',compileRule: decStringRule}, 460: {name: 'httpRequestHost',compileRule: decStringRule}, 461: {name: 'httpRequestTarget',compileRule: decStringRule}, 462: {name: 'httpMessageVersion',compileRule: decStringRule}, 463: {name: 'natInstanceID',compileRule: decNumRule}, 464: {name: 'internalAddressRealm',compileRule: decMacRule}, 465: {name: 'externalAddressRealm',compileRule: decMacRule}, 466: {name: 'natQuotaExceededEvent',compileRule: decNumRule}, 467: {name: 'natThresholdEvent',compileRule: decNumRule}, 468: {name: 'httpUserAgent',compileRule: decStringRule}, 469: {name: 'httpContentType',compileRule: decStringRule}, 470: {name: 'httpReasonPhrase',compileRule: decStringRule}, 471: {name: 'maxSessionEntries',compileRule: decNumRule}, 472: {name: 'maxBIBEntries',compileRule: decNumRule}, 473: {name: 'maxEntriesPerUser',compileRule: decNumRule}, 474: {name: 'maxSubscribers',compileRule: decNumRule}, 475: {name: 'maxFragmentsPendingReassembly',compileRule: decNumRule}, 476: {name: 'addressPoolHighThreshold',compileRule: decNumRule}, 477: {name: 'addressPoolLowThreshold',compileRule: decNumRule}, 478: {name: 'addressPortMappingHighThreshold',compileRule: decNumRule}, 479: {name: 'addressPortMappingLowThreshold',compileRule: decNumRule}, 480: {name: 'addressPortMappingPerUserHighThreshold',compileRule: decNumRule}, 481: {name: 'globalAddressMappingHighThreshold',compileRule: decNumRule}, 482: {name: 'vpnIdentifier',compileRule: decMacRule}, 483: {name: 'bgpCommunity',compileRule: decNumRule}, // 484: {name: 'bgpSourceCommunityList',compileRule: basicList}, // 485: {name: 'bgpDestinationCommunityList',compileRule: basicList}, 486: {name: 'bgpExtendedCommunity',compileRule: decMacRule}, // 487: {name: 'bgpSourceExtendedCommunityList',compileRule: basicList}, // 488: {name: 'bgpDestinationExtendedCommunityList',compileRule: basicList}, 489: {name: 'bgpLargeCommunity',compileRule: decMacRule}, // 490: {name: 'bgpSourceLargeCommunityList',compileRule: basicList}, // 491: {name: 'bgpDestinationLargeCommunityList',compileRule: basicList}, 33000: {name: 'inputACL', compileRule: decMacRule}, 33001: {name: 'outputACL', compileRule: decMacRule}, 33002: {name: 'firewallExtendedEvent', compileRule: decNumRule}, 40000: {name: 'username', compileRule: decAsciiStringRule} }; var nfScope = { 1: { name: 'scope_system', compileRule: decMacRule }, 2: { name: 'scope_interface', compileRule: decStringRule }, 3: { name: 'scope_linecard', compileRule: decNumRule }, 4: { name: 'scope_netflow_cache', compileRule: decNumRule }, 5: { name: 'scope_template', compileRule: decStringRule } }; module.exports = { nfTypes: nfTypes, nfScope: nfScope };