1 /* 2 * Argus Software 3 * Copyright (c) 2000-2016 QoSient, LLC 4 * All rights reserved. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2, or (at your option) 9 * any later version. 10 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 16 * You should have received a copy of the GNU General Public License 17 * along with this program; if not, write to the Free Software 18 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 19 * 20 */ 21 22 /* 23 * $Id: //depot/argus/clients/include/argus_cluster.h#38 $ 24 * $DateTime: 2016/06/01 15:17:28 $ 25 * $Change: 3148 $ 26 */ 27 28 #ifndef ArgusCluster_h 29 #define ArgusCluster_h 30 31 #ifdef __cplusplus 32 extern "C" { 33 #endif 34 35 #if defined(ARGUS_PCRE) 36 #include "pcreposix.h" 37 #else 38 #include <regex.h> 39 #endif 40 41 struct RaFlowModelStruct { 42 char *desc; 43 int pindex, mindex; 44 int preserve, report, autocorrect; 45 int *histotimevalues; 46 int histostart, histoend, histobins; 47 int histotimeseries; 48 49 struct RaPolicyStruct **policy; 50 struct RaPolicyStruct **model; 51 }; 52 53 struct RaPolicyStruct { 54 u_int RaEntryType, RaPolicyId; 55 u_int RaModelId, ArgusTimeout, ArgusIdleTimeout; 56 struct ArgusFlow flow; 57 char *str; 58 }; 59 60 struct ArgusIPAddrStruct { 61 union { 62 u_int ipv4; 63 u_int ipv6[4]; 64 } addr_un; 65 }; 66 67 #define ARGUS_AGGREGATOR_DIRTY 1 68 #define ARGUS_CREATE_AUTOID 2 69 70 #define ARGUS_RECORD_AGGREGATOR 1 71 #define ARGUS_OBJ_AGGREGATOR 2 72 73 struct ArgusAggregatorStruct { 74 struct ArgusAggregatorStruct *nxt; 75 char *name, *pres, *report, *correct; 76 int status, statusint, idleint; 77 int AbsoluteValue; 78 79 char *modeStr; 80 81 long long ArgusTotalNewFlows; 82 long long ArgusTotalClosedFlows; 83 long long ArgusTotalSends; 84 long long ArgusTotalBadSends; 85 long long ArgusTotalUpdates; 86 long long ArgusTotalCacheHits; 87 88 struct ArgusRecordStruct *argus; 89 90 long long mask, cont; 91 int saddrlen, daddrlen, iaddrlen; 92 struct ArgusIPAddrStruct smask, dmask, imask; 93 94 struct RaPolicyStruct *drap, *rap; 95 struct RaFlowModelStruct *fmodel; 96 struct ArgusModeStruct *ArgusModeList, *ArgusMaskList; 97 struct ArgusMaskStruct *ArgusMaskDefs; 98 struct ArgusQueueStruct *queue; 99 struct ArgusHashTable *htable; 100 struct ArgusHashStruct hstruct; 101 struct ArgusSystemFlow fstruct; 102 103 char *filterstr; 104 struct nff_program filter; 105 106 char *modelstr; 107 char *grepstr; 108 char *labelstr; 109 regex_t lpreg; 110 111 char *estr; 112 regex_t upreg; 113 114 double (*RaMetricFetchAlgorithm)(struct ArgusRecordStruct *); 115 unsigned char ArgusMetricIndex, ArgusMatrixMode, ArgusRmonMode, ArgusAgMode; 116 }; 117 118 119 #define NLI -1 120 121 #define ARGUS_MAX_MASK_LIST 37 122 123 #define ARGUS_MASK_SRCID 0 124 125 #define ARGUS_MASK_SMPLS 1 126 #define ARGUS_MASK_DMPLS 2 127 #define ARGUS_MASK_SVLAN 3 128 #define ARGUS_MASK_DVLAN 4 129 130 #define ARGUS_MASK_PROTO 5 131 #define ARGUS_MASK_SADDR 6 132 #define ARGUS_MASK_SPORT 7 133 #define ARGUS_MASK_DADDR 8 134 #define ARGUS_MASK_DPORT 9 135 136 #define ARGUS_MASK_SNET 10 137 #define ARGUS_MASK_DNET 11 138 139 #define ARGUS_MASK_STOS 12 140 #define ARGUS_MASK_DTOS 13 141 #define ARGUS_MASK_STTL 14 142 #define ARGUS_MASK_DTTL 15 143 #define ARGUS_MASK_SIPID 16 144 #define ARGUS_MASK_DIPID 17 145 146 #define ARGUS_MASK_STCPB 18 147 #define ARGUS_MASK_DTCPB 19 148 149 #define ARGUS_MASK_SMAC 20 150 #define ARGUS_MASK_DMAC 21 151 152 #define ARGUS_MASK_SVID 22 153 #define ARGUS_MASK_DVID 23 154 #define ARGUS_MASK_SVPRI 24 155 #define ARGUS_MASK_DVPRI 25 156 #define ARGUS_MASK_SVC 26 157 158 #define ARGUS_MASK_INODE 27 159 160 #define ARGUS_MASK_SDSB 28 161 #define ARGUS_MASK_DDSB 29 162 #define ARGUS_MASK_SCO 30 163 #define ARGUS_MASK_DCO 31 164 #define ARGUS_MASK_SAS 32 165 #define ARGUS_MASK_DAS 33 166 #define ARGUS_MASK_IAS 34 167 #define ARGUS_MASK_SOUI 35 168 #define ARGUS_MASK_DOUI 36 169 170 171 #define ARGUS_MASK_SRCID_INDEX (0x1 << ARGUS_MASK_SRCID) 172 173 #define ARGUS_MASK_SMPLS_INDEX (0x1 << ARGUS_MASK_SMPLS) 174 #define ARGUS_MASK_DMPLS_INDEX (0x1 << ARGUS_MASK_DMPLS) 175 #define ARGUS_MASK_SVLAN_INDEX (0x1 << ARGUS_MASK_SVLAN) 176 #define ARGUS_MASK_DVLAN_INDEX (0x1 << ARGUS_MASK_DVLAN) 177 178 #define ARGUS_MASK_PROTO_INDEX (0x1 << ARGUS_MASK_PROTO) 179 #define ARGUS_MASK_SADDR_INDEX (0x1 << ARGUS_MASK_SADDR) 180 #define ARGUS_MASK_SPORT_INDEX (0x1 << ARGUS_MASK_SPORT) 181 #define ARGUS_MASK_DADDR_INDEX (0x1 << ARGUS_MASK_DADDR) 182 #define ARGUS_MASK_DPORT_INDEX (0x1 << ARGUS_MASK_DPORT) 183 184 #define ARGUS_MASK_SNET_INDEX (0x1 << ARGUS_MASK_SNET) 185 #define ARGUS_MASK_DNET_INDEX (0x1 << ARGUS_MASK_DNET) 186 187 #define ARGUS_MASK_STOS_INDEX (0x1 << ARGUS_MASK_STOS) 188 #define ARGUS_MASK_DTOS_INDEX (0x1 << ARGUS_MASK_DTOS) 189 #define ARGUS_MASK_STTL_INDEX (0x1 << ARGUS_MASK_STTL) 190 #define ARGUS_MASK_DTTL_INDEX (0x1 << ARGUS_MASK_DTTL) 191 #define ARGUS_MASK_SIPID_INDEX (0x1 << ARGUS_MASK_SIPID) 192 #define ARGUS_MASK_DIPID_INDEX (0x1 << ARGUS_MASK_DIPID) 193 194 #define ARGUS_MASK_STCPB_INDEX (0x1 << ARGUS_MASK_STCPB) 195 #define ARGUS_MASK_DTCPB_INDEX (0x1 << ARGUS_MASK_DTCPB) 196 197 #define ARGUS_MASK_SDSB_INDEX (0x1 << ARGUS_MASK_SDSB) 198 #define ARGUS_MASK_DDSB_INDEX (0x1 << ARGUS_MASK_DDSB) 199 200 #define ARGUS_MASK_SVC_INDEX (0x1 << ARGUS_MASK_SVC) 201 #define ARGUS_MASK_INODE_INDEX (0x1 << ARGUS_MASK_INODE) 202 203 #define ARGUS_MASK_SCO_INDEX (0x1 << ARGUS_MASK_SCO) 204 #define ARGUS_MASK_DCO_INDEX (0x1 << ARGUS_MASK_DCO) 205 206 #define ARGUS_MASK_SAS_INDEX (0x1 << ARGUS_MASK_SAS) 207 #define ARGUS_MASK_DAS_INDEX (0x1 << ARGUS_MASK_DAS) 208 209 #define ARGUS_MASK_SOUI_INDEX (0x1 << ARGUS_MASK_SOUI) 210 #define ARGUS_MASK_DOUI_INDEX (0x1 << ARGUS_MASK_DOUI) 211 212 213 struct ArgusMaskStruct { 214 char *name, slen; 215 int dsr, offset, len, index; 216 }; 217 218 #if defined(ARGUS_MAIN) 219 struct ArgusMaskStruct ArgusIpV4MaskDefs[ARGUS_MAX_MASK_LIST] = { 220 {"srcid", 5, ARGUS_TRANSPORT_INDEX, 4, 4, 1}, 221 {"smpls", 5, ARGUS_MPLS_INDEX, 4, 4, 1}, 222 {"dmpls", 5, ARGUS_MPLS_INDEX, 8, 4, 1}, 223 {"svlan", 5, ARGUS_VLAN_INDEX, 4, 2, 1}, 224 {"dvlan", 5, ARGUS_VLAN_INDEX, 6, 2, 1}, 225 {"proto", 5, ARGUS_FLOW_INDEX, 12, 1, 1}, 226 {"saddr", 5, ARGUS_FLOW_INDEX, 4, 4, 1}, 227 {"sport", 5, ARGUS_FLOW_INDEX, 14, 2, 1}, 228 {"daddr", 5, ARGUS_FLOW_INDEX, 8, 4, 1}, 229 {"dport", 5, ARGUS_FLOW_INDEX, 16, 2, 1}, 230 {"snet", 4, ARGUS_FLOW_INDEX, 4, 4, 1}, 231 {"dnet", 4, ARGUS_FLOW_INDEX, 8, 4, 1}, 232 {"stos", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 233 {"dtos", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 234 {"sttl", 4, ARGUS_IPATTR_INDEX, 4, 1, 1}, 235 {"dttl", 4, ARGUS_IPATTR_INDEX, 12, 1, 1}, 236 {"sipid", 4, ARGUS_IPATTR_INDEX, 6, 2, 1}, 237 {"dipid", 4, ARGUS_IPATTR_INDEX, 14, 2, 1}, 238 {"stcpb", 5, ARGUS_NETWORK_INDEX, 252, 4, 1}, 239 {"dtcpb", 5, ARGUS_NETWORK_INDEX, 300, 4, 1}, 240 {"smac", 4, ARGUS_MAC_INDEX, 4, 6, 1}, 241 {"dmac", 4, ARGUS_MAC_INDEX, 10, 6, 1}, 242 {"svid", 4, ARGUS_VLAN_INDEX, 4, 2, 1}, 243 {"dvid", 4, ARGUS_VLAN_INDEX, 6, 2, 1}, 244 {"svpri", 5, ARGUS_VLAN_INDEX, 4, 1, 1}, 245 {"dvpri", 5, ARGUS_VLAN_INDEX, 6, 1, 1}, 246 {"svc", 3, ARGUS_LABEL_INDEX, 4, 16, 1}, 247 {"inode", 5, ARGUS_ICMP_INDEX, 8, 4, 1}, 248 {"sdsb", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 249 {"ddsb", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 250 {"sco", 3, ARGUS_COCODE_INDEX, 4, 2, 1}, 251 {"dco", 3, ARGUS_COCODE_INDEX, 6, 2, 1}, 252 {"sas", 3, ARGUS_ASN_INDEX, 4, 4, 1}, 253 {"das", 3, ARGUS_ASN_INDEX, 8, 4, 1}, 254 {"ias", 3, ARGUS_ASN_INDEX, 12, 4, 1}, 255 {"soui", 3, ARGUS_MAC_INDEX, 10, 3, 1}, 256 {"doui", 3, ARGUS_MAC_INDEX, 4, 3, 1}, 257 }; 258 259 struct ArgusMaskStruct ArgusIpV4RevMaskDefs[ARGUS_MAX_MASK_LIST] = { 260 {"srcid", 5, ARGUS_TRANSPORT_INDEX, 4, 4, 1}, 261 {"smpls", 5, ARGUS_MPLS_INDEX, 8, 4, 1}, 262 {"dmpls", 5, ARGUS_MPLS_INDEX, 4, 4, 1}, 263 {"svlan", 5, ARGUS_VLAN_INDEX, 6, 2, 1}, 264 {"dvlan", 5, ARGUS_VLAN_INDEX, 4, 2, 1}, 265 {"proto", 5, ARGUS_FLOW_INDEX, 12, 1, 1}, 266 {"saddr", 5, ARGUS_FLOW_INDEX, 8, 4, 1}, 267 {"sport", 5, ARGUS_FLOW_INDEX, 16, 2, 1}, 268 {"daddr", 5, ARGUS_FLOW_INDEX, 4, 4, 1}, 269 {"dport", 5, ARGUS_FLOW_INDEX, 14, 2, 1}, 270 {"snet", 4, ARGUS_FLOW_INDEX, 8, 4, 1}, 271 {"dnet", 4, ARGUS_FLOW_INDEX, 4, 4, 1}, 272 {"stos", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 273 {"dtos", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 274 {"sttl", 4, ARGUS_IPATTR_INDEX, 12, 1, 1}, 275 {"dttl", 4, ARGUS_IPATTR_INDEX, 4, 1, 1}, 276 {"sipid", 4, ARGUS_IPATTR_INDEX, 14, 2, 1}, 277 {"dipid", 4, ARGUS_IPATTR_INDEX, 6, 2, 1}, 278 {"stcpb", 5, ARGUS_NETWORK_INDEX, 252, 4, 1}, 279 {"dtcpb", 5, ARGUS_NETWORK_INDEX, 300, 4, 1}, 280 {"smac", 4, ARGUS_MAC_INDEX, 10, 6, 1}, 281 {"dmac", 4, ARGUS_MAC_INDEX, 4, 6, 1}, 282 {"svid", 4, ARGUS_VLAN_INDEX, 6, 2, 1}, 283 {"dvid", 4, ARGUS_VLAN_INDEX, 4, 2, 1}, 284 {"svpri", 5, ARGUS_VLAN_INDEX, 6, 1, 1}, 285 {"dvpri", 5, ARGUS_VLAN_INDEX, 4, 1, 1}, 286 {"svc", 3, ARGUS_LABEL_INDEX, 4, 16, 1}, 287 {"inode", 5, ARGUS_ICMP_INDEX, 8, 4, 1}, 288 {"sdsb", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 289 {"ddsb", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 290 {"sco", 3, ARGUS_COCODE_INDEX, 6, 2, 1}, 291 {"dco", 3, ARGUS_COCODE_INDEX, 4, 2, 1}, 292 {"sas", 3, ARGUS_ASN_INDEX, 8, 2, 1}, 293 {"das", 3, ARGUS_ASN_INDEX, 4, 4, 1}, 294 {"ias", 3, ARGUS_ASN_INDEX, 12, 4, 1}, 295 {"soui", 3, ARGUS_MAC_INDEX, 4, 3, 1}, 296 {"doui", 3, ARGUS_MAC_INDEX, 10, 3, 1}, 297 }; 298 299 struct ArgusMaskStruct ArgusIpV6MaskDefs[ARGUS_MAX_MASK_LIST] = { 300 {"srcid", 5, ARGUS_TRANSPORT_INDEX, 4, 4, 1}, 301 {"smpls", 5, ARGUS_MPLS_INDEX, 4, 4, 1}, 302 {"dmpls", 5, ARGUS_MPLS_INDEX, 8, 4, 1}, 303 {"svlan", 5, ARGUS_VLAN_INDEX, 4, 2, 1}, 304 {"dvlan", 5, ARGUS_VLAN_INDEX, 6, 2, 1}, 305 {"proto", 5, ARGUS_FLOW_INDEX, 12, 1, 1}, 306 {"saddr", 5, ARGUS_FLOW_INDEX, 4, 16, 1}, 307 {"sport", 5, ARGUS_FLOW_INDEX, 40, 2, 1}, 308 {"daddr", 5, ARGUS_FLOW_INDEX, 20, 16, 1}, 309 {"dport", 5, ARGUS_FLOW_INDEX, 42, 2, 1}, 310 {"snet", 4, ARGUS_FLOW_INDEX, 4, 4, 1}, 311 {"dnet", 4, ARGUS_FLOW_INDEX, 8, 4, 1}, 312 {"stos", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 313 {"dtos", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 314 {"sttl", 4, ARGUS_IPATTR_INDEX, 4, 1, 1}, 315 {"dttl", 4, ARGUS_IPATTR_INDEX, 12, 1, 1}, 316 {"sipid", 4, ARGUS_IPATTR_INDEX, 6, 2, 1}, 317 {"dipid", 4, ARGUS_IPATTR_INDEX, 14, 2, 1}, 318 {"stcpb", 5, ARGUS_NETWORK_INDEX, 252, 4, 1}, 319 {"dtcpb", 5, ARGUS_NETWORK_INDEX, 300, 4, 1}, 320 {"smac", 4, ARGUS_MAC_INDEX, 4, 6, 1}, 321 {"dmac", 4, ARGUS_MAC_INDEX, 10, 6, 1}, 322 {"svid", 4, ARGUS_VLAN_INDEX, 4, 2, 1}, 323 {"dvid", 4, ARGUS_VLAN_INDEX, 6, 2, 1}, 324 {"svpri", 5, ARGUS_VLAN_INDEX, 4, 1, 1}, 325 {"dvpri", 5, ARGUS_VLAN_INDEX, 6, 1, 1}, 326 {"svc", 3, ARGUS_LABEL_INDEX, 4, 16, 1}, 327 {"inode", 5, ARGUS_ICMP_INDEX, 8, 4, 1}, 328 {"sdsb", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 329 {"ddsb", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 330 {"sco", 3, ARGUS_COCODE_INDEX, 4, 2, 1}, 331 {"dco", 3, ARGUS_COCODE_INDEX, 6, 2, 1}, 332 {"sas", 3, ARGUS_ASN_INDEX, 4, 4, 1}, 333 {"das", 3, ARGUS_ASN_INDEX, 8, 4, 1}, 334 {"ias", 3, ARGUS_ASN_INDEX, 12, 4, 1}, 335 {"soui", 3, ARGUS_MAC_INDEX, 10, 3, 1}, 336 {"doui", 3, ARGUS_MAC_INDEX, 4, 3, 1}, 337 }; 338 339 struct ArgusMaskStruct ArgusIpV6RevMaskDefs[ARGUS_MAX_MASK_LIST] = { 340 {"srcid", 5, ARGUS_TRANSPORT_INDEX, 4, 4, 1}, 341 {"smpls", 5, ARGUS_MPLS_INDEX, 8, 4, 1}, 342 {"dmpls", 5, ARGUS_MPLS_INDEX, 4, 4, 1}, 343 {"svlan", 5, ARGUS_VLAN_INDEX, 6, 2, 1}, 344 {"dvlan", 5, ARGUS_VLAN_INDEX, 4, 2, 1}, 345 {"proto", 5, ARGUS_FLOW_INDEX, 12, 1, 1}, 346 {"saddr", 5, ARGUS_FLOW_INDEX, 4, 16, 1}, 347 {"sport", 5, ARGUS_FLOW_INDEX, 40, 2, 1}, 348 {"daddr", 5, ARGUS_FLOW_INDEX, 20, 16, 1}, 349 {"dport", 5, ARGUS_FLOW_INDEX, 42, 2, 1}, 350 {"snet", 4, ARGUS_FLOW_INDEX, 8, 4, 1}, 351 {"dnet", 4, ARGUS_FLOW_INDEX, 4, 4, 1}, 352 {"stos", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 353 {"dtos", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 354 {"sttl", 4, ARGUS_IPATTR_INDEX, 12, 1, 1}, 355 {"dttl", 4, ARGUS_IPATTR_INDEX, 4, 1, 1}, 356 {"sipid", 4, ARGUS_IPATTR_INDEX, 6, 2, 1}, 357 {"dipid", 4, ARGUS_IPATTR_INDEX, 14, 2, 1}, 358 {"stcpb", 5, ARGUS_NETWORK_INDEX, 300, 4, 1}, 359 {"dtcpb", 5, ARGUS_NETWORK_INDEX, 252, 4, 1}, 360 {"smac", 4, ARGUS_MAC_INDEX, 10, 6, 1}, 361 {"dmac", 4, ARGUS_MAC_INDEX, 4, 6, 1}, 362 {"svid", 4, ARGUS_VLAN_INDEX, 6, 2, 1}, 363 {"dvid", 4, ARGUS_VLAN_INDEX, 4, 2, 1}, 364 {"svpri", 5, ARGUS_VLAN_INDEX, 6, 1, 1}, 365 {"dvpri", 5, ARGUS_VLAN_INDEX, 4, 1, 1}, 366 {"svc", 3, ARGUS_LABEL_INDEX, 4, 16, 1}, 367 {"inode", 5, ARGUS_ICMP_INDEX, 8, 4, 1}, 368 {"sdsb", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 369 {"ddsb", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 370 {"sco", 3, ARGUS_COCODE_INDEX, 6, 2, 1}, 371 {"dco", 3, ARGUS_COCODE_INDEX, 4, 2, 1}, 372 {"sas", 3, ARGUS_ASN_INDEX, 8, 4, 1}, 373 {"das", 3, ARGUS_ASN_INDEX, 4, 4, 1}, 374 {"ias", 3, ARGUS_ASN_INDEX, 12, 4, 1}, 375 {"soui", 3, ARGUS_MAC_INDEX, 4, 3, 1}, 376 {"doui", 3, ARGUS_MAC_INDEX, 10, 3, 1}, 377 }; 378 379 380 struct ArgusMaskStruct ArgusIBLocalMaskDefs[ARGUS_MAX_MASK_LIST] = { 381 {"srcid", 5, ARGUS_TRANSPORT_INDEX, 4, 4, 1}, 382 {"smpls", 5, ARGUS_MPLS_INDEX, 4, 4, 1}, 383 {"dmpls", 5, ARGUS_MPLS_INDEX, 8, 4, 1}, 384 {"svlan", 5, ARGUS_VLAN_INDEX, 4, 2, 1}, 385 {"dvlan", 5, ARGUS_VLAN_INDEX, 6, 2, 1}, 386 {"proto", 5, ARGUS_FLOW_INDEX, 12, 1, 1}, 387 {"saddr", 5, ARGUS_FLOW_INDEX, 4, 4, 1}, 388 {"sport", 5, ARGUS_FLOW_INDEX, 14, 2, 1}, 389 {"daddr", 5, ARGUS_FLOW_INDEX, 8, 4, 1}, 390 {"dport", 5, ARGUS_FLOW_INDEX, 16, 2, 1}, 391 {"snet", 4, ARGUS_FLOW_INDEX, 4, 4, 1}, 392 {"dnet", 4, ARGUS_FLOW_INDEX, 8, 4, 1}, 393 {"stos", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 394 {"dtos", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 395 {"sttl", 4, ARGUS_IPATTR_INDEX, 4, 1, 1}, 396 {"dttl", 4, ARGUS_IPATTR_INDEX, 12, 1, 1}, 397 {"sipid", 4, ARGUS_IPATTR_INDEX, 6, 2, 1}, 398 {"dipid", 4, ARGUS_IPATTR_INDEX, 14, 2, 1}, 399 {"stcpb", 5, ARGUS_NETWORK_INDEX, 252, 4, 1}, 400 {"dtcpb", 5, ARGUS_NETWORK_INDEX, 300, 4, 1}, 401 {"smac", 4, ARGUS_MAC_INDEX, 4, 6, 1}, 402 {"dmac", 4, ARGUS_MAC_INDEX, 10, 6, 1}, 403 {"svid", 4, ARGUS_VLAN_INDEX, 4, 2, 1}, 404 {"dvid", 4, ARGUS_VLAN_INDEX, 6, 2, 1}, 405 {"svpri", 5, ARGUS_VLAN_INDEX, 4, 1, 1}, 406 {"dvpri", 5, ARGUS_VLAN_INDEX, 6, 1, 1}, 407 {"svc", 3, ARGUS_LABEL_INDEX, 4, 16, 1}, 408 {"inode", 5, ARGUS_ICMP_INDEX, 8, 4, 1}, 409 {"sdsb", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 410 {"ddsb", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 411 {"sco", 3, ARGUS_COCODE_INDEX, 4, 2, 1}, 412 {"dco", 3, ARGUS_COCODE_INDEX, 6, 2, 1}, 413 {"sas", 3, ARGUS_ASN_INDEX, 4, 4, 1}, 414 {"das", 3, ARGUS_ASN_INDEX, 8, 4, 1}, 415 {"ias", 3, ARGUS_ASN_INDEX, 12, 4, 1}, 416 {"soui", 3, ARGUS_MAC_INDEX, 4, 3, 1}, 417 {"doui", 3, ARGUS_MAC_INDEX, 10, 3, 1}, 418 }; 419 420 421 struct ArgusMaskStruct ArgusIBGlobalMaskDefs[ARGUS_MAX_MASK_LIST] = { 422 {"srcid", 5, ARGUS_TRANSPORT_INDEX, 4, 4, 1}, 423 {"smpls", 5, ARGUS_MPLS_INDEX, 4, 4, 1}, 424 {"dmpls", 5, ARGUS_MPLS_INDEX, 8, 4, 1}, 425 {"svlan", 5, ARGUS_VLAN_INDEX, 4, 2, 1}, 426 {"dvlan", 5, ARGUS_VLAN_INDEX, 6, 2, 1}, 427 {"proto", 5, ARGUS_FLOW_INDEX, 12, 1, 1}, 428 {"saddr", 5, ARGUS_FLOW_INDEX, 4, 4, 1}, 429 {"sport", 5, ARGUS_FLOW_INDEX, 14, 2, 1}, 430 {"daddr", 5, ARGUS_FLOW_INDEX, 8, 4, 1}, 431 {"dport", 5, ARGUS_FLOW_INDEX, 16, 2, 1}, 432 {"snet", 4, ARGUS_FLOW_INDEX, 4, 4, 1}, 433 {"dnet", 4, ARGUS_FLOW_INDEX, 8, 4, 1}, 434 {"stos", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 435 {"dtos", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 436 {"sttl", 4, ARGUS_IPATTR_INDEX, 4, 1, 1}, 437 {"dttl", 4, ARGUS_IPATTR_INDEX, 12, 1, 1}, 438 {"sipid", 4, ARGUS_IPATTR_INDEX, 6, 2, 1}, 439 {"dipid", 4, ARGUS_IPATTR_INDEX, 14, 2, 1}, 440 {"stcpb", 5, ARGUS_NETWORK_INDEX, 252, 4, 1}, 441 {"dtcpb", 5, ARGUS_NETWORK_INDEX, 300, 4, 1}, 442 {"smac", 4, ARGUS_MAC_INDEX, 4, 6, 1}, 443 {"dmac", 4, ARGUS_MAC_INDEX, 10, 6, 1}, 444 {"svid", 4, ARGUS_VLAN_INDEX, 4, 2, 1}, 445 {"dvid", 4, ARGUS_VLAN_INDEX, 6, 2, 1}, 446 {"svpri", 5, ARGUS_VLAN_INDEX, 4, 1, 1}, 447 {"dvpri", 5, ARGUS_VLAN_INDEX, 6, 1, 1}, 448 {"svc", 3, ARGUS_LABEL_INDEX, 4, 16, 1}, 449 {"inode", 5, ARGUS_ICMP_INDEX, 8, 4, 1}, 450 {"sdsb", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 451 {"ddsb", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 452 {"sco", 3, ARGUS_COCODE_INDEX, 4, 2, 1}, 453 {"dco", 3, ARGUS_COCODE_INDEX, 6, 2, 1}, 454 {"sas", 3, ARGUS_ASN_INDEX, 4, 4, 1}, 455 {"das", 3, ARGUS_ASN_INDEX, 8, 4, 1}, 456 {"ias", 3, ARGUS_ASN_INDEX, 12, 4, 1}, 457 {"soui", 3, ARGUS_MAC_INDEX, 10, 3, 1}, 458 {"doui", 3, ARGUS_MAC_INDEX, 4, 3, 1}, 459 }; 460 461 462 struct ArgusMaskStruct ArgusIBGlobalRevMaskDefs[ARGUS_MAX_MASK_LIST] = { 463 {"srcid", 5, ARGUS_TRANSPORT_INDEX, 4, 4, 1}, 464 {"smpls", 5, ARGUS_MPLS_INDEX, 4, 4, 1}, 465 {"dmpls", 5, ARGUS_MPLS_INDEX, 8, 4, 1}, 466 {"svlan", 5, ARGUS_VLAN_INDEX, 4, 2, 1}, 467 {"dvlan", 5, ARGUS_VLAN_INDEX, 6, 2, 1}, 468 {"proto", 5, ARGUS_FLOW_INDEX, 12, 1, 1}, 469 {"saddr", 5, ARGUS_FLOW_INDEX, 4, 4, 1}, 470 {"sport", 5, ARGUS_FLOW_INDEX, 14, 2, 1}, 471 {"daddr", 5, ARGUS_FLOW_INDEX, 8, 4, 1}, 472 {"dport", 5, ARGUS_FLOW_INDEX, 16, 2, 1}, 473 {"snet", 4, ARGUS_FLOW_INDEX, 4, 4, 1}, 474 {"dnet", 4, ARGUS_FLOW_INDEX, 8, 4, 1}, 475 {"stos", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 476 {"dtos", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 477 {"sttl", 4, ARGUS_IPATTR_INDEX, 4, 1, 1}, 478 {"dttl", 4, ARGUS_IPATTR_INDEX, 12, 1, 1}, 479 {"sipid", 4, ARGUS_IPATTR_INDEX, 6, 2, 1}, 480 {"dipid", 4, ARGUS_IPATTR_INDEX, 14, 2, 1}, 481 {"stcpb", 5, ARGUS_NETWORK_INDEX, 252, 4, 1}, 482 {"dtcpb", 5, ARGUS_NETWORK_INDEX, 300, 4, 1}, 483 {"smac", 4, ARGUS_MAC_INDEX, 4, 6, 1}, 484 {"dmac", 4, ARGUS_MAC_INDEX, 10, 6, 1}, 485 {"svid", 4, ARGUS_VLAN_INDEX, 4, 2, 1}, 486 {"dvid", 4, ARGUS_VLAN_INDEX, 6, 2, 1}, 487 {"svpri", 5, ARGUS_VLAN_INDEX, 4, 1, 1}, 488 {"dvpri", 5, ARGUS_VLAN_INDEX, 6, 1, 1}, 489 {"svc", 3, ARGUS_LABEL_INDEX, 4, 16, 1}, 490 {"inode", 5, ARGUS_ICMP_INDEX, 8, 4, 1}, 491 {"sdsb", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 492 {"ddsb", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 493 {"sco", 3, ARGUS_COCODE_INDEX, 4, 2, 1}, 494 {"dco", 3, ARGUS_COCODE_INDEX, 6, 2, 1}, 495 {"sas", 3, ARGUS_ASN_INDEX, 4, 4, 1}, 496 {"das", 3, ARGUS_ASN_INDEX, 8, 4, 1}, 497 {"ias", 3, ARGUS_ASN_INDEX, 12, 4, 1}, 498 }; 499 500 501 struct ArgusMaskStruct ArgusArpMaskDefs[ARGUS_MAX_MASK_LIST] = { 502 {"srcid", 5, ARGUS_TRANSPORT_INDEX, 4, 4, 1}, 503 {"smpls", 5, ARGUS_MPLS_INDEX, 8, 4, 1}, 504 {"dmpls", 5, ARGUS_MPLS_INDEX, 4, 4, 1}, 505 {"svlan", 5, ARGUS_VLAN_INDEX, 6, 2, 1}, 506 {"dvlan", 5, ARGUS_VLAN_INDEX, 4, 2, 1}, 507 {"proto", 5, ARGUS_FLOW_INDEX, 2, 2, 1}, 508 {"saddr", 5, ARGUS_FLOW_INDEX, 12, 4, 1}, 509 {"sport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 510 {"daddr", 5, ARGUS_FLOW_INDEX, 16, 4, 1}, 511 {"dport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 512 {"snet", 4, ARGUS_FLOW_INDEX, 8, 4, 1}, 513 {"dnet", 4, ARGUS_FLOW_INDEX, 4, 4, 1}, 514 {"stos", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 515 {"dtos", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 516 {"sttl", 4, ARGUS_IPATTR_INDEX, 12, 1, 1}, 517 {"dttl", 4, ARGUS_IPATTR_INDEX, 4, 1, 1}, 518 {"sipid", 4, ARGUS_IPATTR_INDEX, 14, 2, 1}, 519 {"dipid", 4, ARGUS_IPATTR_INDEX, 6, 2, 1}, 520 {"stcpb", 5, ARGUS_NETWORK_INDEX, 252, 4, 1}, 521 {"dtcpb", 5, ARGUS_NETWORK_INDEX, 300, 4, 1}, 522 {"smac", 4, ARGUS_MAC_INDEX, 10, 6, 1}, 523 {"dmac", 4, ARGUS_MAC_INDEX, 4, 6, 1}, 524 {"svid", 4, ARGUS_VLAN_INDEX, 6, 2, 1}, 525 {"dvid", 4, ARGUS_VLAN_INDEX, 4, 2, 1}, 526 {"svpri", 5, ARGUS_VLAN_INDEX, 6, 1, 1}, 527 {"dvpri", 5, ARGUS_VLAN_INDEX, 4, 1, 1}, 528 {"svc", 3, ARGUS_LABEL_INDEX, 4, 16, 1}, 529 {"inode", 5, ARGUS_ICMP_INDEX, 8, 4, 1}, 530 {"sdsb", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 531 {"ddsb", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 532 {"sco", 3, ARGUS_COCODE_INDEX, 6, 2, 1}, 533 {"dco", 3, ARGUS_COCODE_INDEX, 4, 2, 1}, 534 {"sas", 3, ARGUS_ASN_INDEX, 8, 4, 1}, 535 {"das", 3, ARGUS_ASN_INDEX, 4, 4, 1}, 536 {"ias", 3, ARGUS_ASN_INDEX, 12, 4, 1}, 537 {"soui", 3, ARGUS_MAC_INDEX, 10, 3, 1}, 538 {"doui", 3, ARGUS_MAC_INDEX, 4, 3, 1}, 539 }; 540 541 542 543 struct ArgusMaskStruct ArgusArpRevMaskDefs[ARGUS_MAX_MASK_LIST] = { 544 {"srcid", 5, ARGUS_TRANSPORT_INDEX, 4, 4, 1}, 545 {"smpls", 5, ARGUS_MPLS_INDEX, 8, 4, 1}, 546 {"dmpls", 5, ARGUS_MPLS_INDEX, 4, 4, 1}, 547 {"svlan", 5, ARGUS_VLAN_INDEX, 6, 2, 1}, 548 {"dvlan", 5, ARGUS_VLAN_INDEX, 4, 2, 1}, 549 {"proto", 5, ARGUS_FLOW_INDEX, 2, 2, 1}, 550 {"saddr", 5, ARGUS_FLOW_INDEX, 12, 4, 1}, 551 {"sport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 552 {"daddr", 5, ARGUS_FLOW_INDEX, 16, 4, 1}, 553 {"dport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 554 {"snet", 4, ARGUS_FLOW_INDEX, 8, 4, 1}, 555 {"dnet", 4, ARGUS_FLOW_INDEX, 4, 4, 1}, 556 {"stos", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 557 {"dtos", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 558 {"sttl", 4, ARGUS_IPATTR_INDEX, 12, 1, 1}, 559 {"dttl", 4, ARGUS_IPATTR_INDEX, 4, 1, 1}, 560 {"sipid", 4, ARGUS_IPATTR_INDEX, 14, 2, 1}, 561 {"dipid", 4, ARGUS_IPATTR_INDEX, 6, 2, 1}, 562 {"stcpb", 5, ARGUS_NETWORK_INDEX, 252, 4, 1}, 563 {"dtcpb", 5, ARGUS_NETWORK_INDEX, 300, 4, 1}, 564 {"smac", 4, ARGUS_MAC_INDEX, 10, 6, 1}, 565 {"dmac", 4, ARGUS_MAC_INDEX, 4, 6, 1}, 566 {"svid", 4, ARGUS_VLAN_INDEX, 6, 2, 1}, 567 {"dvid", 4, ARGUS_VLAN_INDEX, 4, 2, 1}, 568 {"svpri", 5, ARGUS_VLAN_INDEX, 6, 1, 1}, 569 {"dvpri", 5, ARGUS_VLAN_INDEX, 4, 1, 1}, 570 {"svc", 3, ARGUS_LABEL_INDEX, 4, 16, 1}, 571 {"inode", 5, ARGUS_ICMP_INDEX, 24, 4, 1}, 572 {"sdsb", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 573 {"ddsb", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 574 {"sco", 3, ARGUS_COCODE_INDEX, 6, 2, 1}, 575 {"dco", 3, ARGUS_COCODE_INDEX, 4, 2, 1}, 576 {"sas", 3, ARGUS_ASN_INDEX, 8, 4, 1}, 577 {"das", 3, ARGUS_ASN_INDEX, 4, 2, 1}, 578 {"ias", 3, ARGUS_ASN_INDEX, 12, 4, 1}, 579 {"soui", 3, ARGUS_MAC_INDEX, 4, 3, 1}, 580 {"doui", 3, ARGUS_MAC_INDEX, 10, 3, 1}, 581 }; 582 583 584 struct ArgusMaskStruct ArgusRarpMaskDefs[ARGUS_MAX_MASK_LIST] = { 585 {"srcid", 5, ARGUS_TRANSPORT_INDEX, 4, 4, 1}, 586 {"smpls", 5, ARGUS_MPLS_INDEX, 8, 4, 1}, 587 {"dmpls", 5, ARGUS_MPLS_INDEX, 4, 4, 1}, 588 {"svlan", 5, ARGUS_VLAN_INDEX, 6, 2, 1}, 589 {"dvlan", 5, ARGUS_VLAN_INDEX, 4, 2, 1}, 590 {"proto", 5, ARGUS_FLOW_INDEX, 4, 2, 1}, 591 {"saddr", 5, ARGUS_FLOW_INDEX, 12, 4, 1}, 592 {"sport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 593 {"daddr", 5, ARGUS_FLOW_INDEX, 16, 4, 1}, 594 {"dport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 595 {"snet", 4, ARGUS_FLOW_INDEX, 8, 4, 1}, 596 {"dnet", 4, ARGUS_FLOW_INDEX, 4, 4, 1}, 597 {"stos", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 598 {"dtos", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 599 {"sttl", 4, ARGUS_IPATTR_INDEX, 12, 1, 1}, 600 {"dttl", 4, ARGUS_IPATTR_INDEX, 4, 1, 1}, 601 {"sipid", 4, ARGUS_IPATTR_INDEX, 14, 2, 1}, 602 {"dipid", 4, ARGUS_IPATTR_INDEX, 6, 2, 1}, 603 {"stcpb", 5, ARGUS_NETWORK_INDEX, 252, 4, 1}, 604 {"dtcpb", 5, ARGUS_NETWORK_INDEX, 300, 4, 1}, 605 {"smac", 4, ARGUS_MAC_INDEX, 10, 6, 1}, 606 {"dmac", 4, ARGUS_MAC_INDEX, 4, 6, 1}, 607 {"svid", 4, ARGUS_VLAN_INDEX, 6, 2, 1}, 608 {"dvid", 4, ARGUS_VLAN_INDEX, 4, 2, 1}, 609 {"svpri", 5, ARGUS_VLAN_INDEX, 6, 1, 1}, 610 {"dvpri", 5, ARGUS_VLAN_INDEX, 4, 1, 1}, 611 {"svc", 3, ARGUS_LABEL_INDEX, 4, 16, 1}, 612 {"inode", 5, ARGUS_ICMP_INDEX, 24, 4, 1}, 613 {"sdsb", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 614 {"ddsb", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 615 {"sco", 3, ARGUS_COCODE_INDEX, 6, 2, 1}, 616 {"dco", 3, ARGUS_COCODE_INDEX, 4, 2, 1}, 617 {"sas", 3, ARGUS_ASN_INDEX, 8, 4, 1}, 618 {"das", 3, ARGUS_ASN_INDEX, 4, 4, 1}, 619 {"ias", 3, ARGUS_ASN_INDEX, 12, 4, 1}, 620 {"soui", 3, ARGUS_MAC_INDEX, 10, 3, 1}, 621 {"doui", 3, ARGUS_MAC_INDEX, 4, 3, 1}, 622 }; 623 624 625 struct ArgusMaskStruct ArgusRarpRevMaskDefs[ARGUS_MAX_MASK_LIST] = { 626 {"srcid", 5, ARGUS_TRANSPORT_INDEX, 4, 4, 1}, 627 {"smpls", 5, ARGUS_MPLS_INDEX, 8, 4, 1}, 628 {"dmpls", 5, ARGUS_MPLS_INDEX, 4, 4, 1}, 629 {"svlan", 5, ARGUS_VLAN_INDEX, 6, 2, 1}, 630 {"dvlan", 5, ARGUS_VLAN_INDEX, 4, 2, 1}, 631 {"proto", 5, ARGUS_FLOW_INDEX, 4, 2, 1}, 632 {"saddr", 5, ARGUS_FLOW_INDEX, 12, 4, 1}, 633 {"sport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 634 {"daddr", 5, ARGUS_FLOW_INDEX, 16, 4, 1}, 635 {"dport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 636 {"snet", 4, ARGUS_FLOW_INDEX, 8, 4, 1}, 637 {"dnet", 4, ARGUS_FLOW_INDEX, 4, 4, 1}, 638 {"stos", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 639 {"dtos", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 640 {"sttl", 4, ARGUS_IPATTR_INDEX, 12, 1, 1}, 641 {"dttl", 4, ARGUS_IPATTR_INDEX, 4, 1, 1}, 642 {"sipid", 4, ARGUS_IPATTR_INDEX, 14, 2, 1}, 643 {"dipid", 4, ARGUS_IPATTR_INDEX, 6, 2, 1}, 644 {"stcpb", 5, ARGUS_NETWORK_INDEX, 252, 4, 1}, 645 {"dtcpb", 5, ARGUS_NETWORK_INDEX, 300, 4, 1}, 646 {"smac", 4, ARGUS_MAC_INDEX, 10, 6, 1}, 647 {"dmac", 4, ARGUS_MAC_INDEX, 4, 6, 1}, 648 {"svid", 4, ARGUS_VLAN_INDEX, 6, 2, 1}, 649 {"dvid", 4, ARGUS_VLAN_INDEX, 4, 2, 1}, 650 {"svpri", 5, ARGUS_VLAN_INDEX, 6, 1, 1}, 651 {"dvpri", 5, ARGUS_VLAN_INDEX, 4, 1, 1}, 652 {"svc", 3, ARGUS_LABEL_INDEX, 4, 16, 1}, 653 {"inode", 5, ARGUS_ICMP_INDEX, 24, 4, 1}, 654 {"sdsb", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 655 {"ddsb", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 656 {"sco", 3, ARGUS_COCODE_INDEX, 6, 2, 1}, 657 {"dco", 3, ARGUS_COCODE_INDEX, 4, 2, 1}, 658 {"sas", 3, ARGUS_ASN_INDEX, 8, 4, 1}, 659 {"das", 3, ARGUS_ASN_INDEX, 4, 4, 1}, 660 {"ias", 3, ARGUS_ASN_INDEX, 12, 4, 1}, 661 {"soui", 3, ARGUS_MAC_INDEX, 4, 3, 1}, 662 {"doui", 3, ARGUS_MAC_INDEX, 10, 3, 1}, 663 }; 664 665 666 struct ArgusMaskStruct ArgusEtherMaskDefs[ARGUS_MAX_MASK_LIST] = { 667 {"srcid", 5, ARGUS_TRANSPORT_INDEX, 4, 4, 1}, 668 {"smpls", 5, ARGUS_MPLS_INDEX, 8, 4, 1}, 669 {"dmpls", 5, ARGUS_MPLS_INDEX, 4, 4, 1}, 670 {"svlan", 5, ARGUS_VLAN_INDEX, 6, 2, 1}, 671 {"dvlan", 5, ARGUS_VLAN_INDEX, 4, 2, 1}, 672 {"proto", 5, ARGUS_FLOW_INDEX, 4, 2, 1}, 673 {"saddr", 5, ARGUS_FLOW_INDEX, 12, 6, 1}, 674 {"sport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 675 {"daddr", 5, ARGUS_FLOW_INDEX, 16, 6, 1}, 676 {"dport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 677 {"snet", 4, ARGUS_FLOW_INDEX, 8, 6, 1}, 678 {"dnet", 4, ARGUS_FLOW_INDEX, 4, 6, 1}, 679 {"stos", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 680 {"dtos", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 681 {"sttl", 4, ARGUS_IPATTR_INDEX, 12, 1, 1}, 682 {"dttl", 4, ARGUS_IPATTR_INDEX, 4, 1, 1}, 683 {"sipid", 4, ARGUS_IPATTR_INDEX, 14, 2, 1}, 684 {"dipid", 4, ARGUS_IPATTR_INDEX, 6, 2, 1}, 685 {"stcpb", 5, ARGUS_NETWORK_INDEX, 252, 4, 1}, 686 {"dtcpb", 5, ARGUS_NETWORK_INDEX, 300, 4, 1}, 687 {"smac", 4, ARGUS_MAC_INDEX, 10, 6, 1}, 688 {"dmac", 4, ARGUS_MAC_INDEX, 4, 6, 1}, 689 {"svid", 4, ARGUS_VLAN_INDEX, 6, 2, 1}, 690 {"dvid", 4, ARGUS_VLAN_INDEX, 4, 2, 1}, 691 {"svpri", 5, ARGUS_VLAN_INDEX, 6, 1, 1}, 692 {"dvpri", 5, ARGUS_VLAN_INDEX, 4, 1, 1}, 693 {"svc", 3, ARGUS_LABEL_INDEX, 4, 16, 1}, 694 {"inode", 5, ARGUS_ICMP_INDEX, 24, 4, 1}, 695 {"sdsb", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 696 {"ddsb", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 697 {"sco", 3, ARGUS_COCODE_INDEX, 6, 2, 1}, 698 {"dco", 3, ARGUS_COCODE_INDEX, 4, 2, 1}, 699 {"sas", 3, ARGUS_ASN_INDEX, 8, 4, 1}, 700 {"das", 3, ARGUS_ASN_INDEX, 4, 4, 1}, 701 {"ias", 3, ARGUS_ASN_INDEX, 12, 4, 1}, 702 {"soui", 3, ARGUS_MAC_INDEX, 10, 3, 1}, 703 {"doui", 3, ARGUS_MAC_INDEX, 4, 3, 1}, 704 }; 705 706 struct ArgusMaskStruct ArgusEtherRevMaskDefs[ARGUS_MAX_MASK_LIST] = { 707 {"srcid", 5, ARGUS_TRANSPORT_INDEX, 4, 4, 1}, 708 {"smpls", 5, ARGUS_MPLS_INDEX, 8, 4, 1}, 709 {"dmpls", 5, ARGUS_MPLS_INDEX, 4, 4, 1}, 710 {"svlan", 5, ARGUS_VLAN_INDEX, 6, 2, 1}, 711 {"dvlan", 5, ARGUS_VLAN_INDEX, 4, 2, 1}, 712 {"proto", 5, ARGUS_FLOW_INDEX, 4, 2, 1}, 713 {"saddr", 5, ARGUS_FLOW_INDEX, 12, 6, 1}, 714 {"sport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 715 {"daddr", 5, ARGUS_FLOW_INDEX, 16, 6, 1}, 716 {"dport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 717 {"snet", 4, ARGUS_FLOW_INDEX, 8, 4, 1}, 718 {"dnet", 4, ARGUS_FLOW_INDEX, 4, 4, 1}, 719 {"stos", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 720 {"dtos", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 721 {"sttl", 4, ARGUS_IPATTR_INDEX, 12, 1, 1}, 722 {"dttl", 4, ARGUS_IPATTR_INDEX, 4, 1, 1}, 723 {"sipid", 4, ARGUS_IPATTR_INDEX, 14, 2, 1}, 724 {"dipid", 4, ARGUS_IPATTR_INDEX, 6, 2, 1}, 725 {"stcpb", 5, ARGUS_NETWORK_INDEX, 252, 4, 1}, 726 {"dtcpb", 5, ARGUS_NETWORK_INDEX, 300, 4, 1}, 727 {"smac", 4, ARGUS_MAC_INDEX, 10, 6, 1}, 728 {"dmac", 4, ARGUS_MAC_INDEX, 4, 6, 1}, 729 {"svid", 4, ARGUS_VLAN_INDEX, 6, 2, 1}, 730 {"dvid", 4, ARGUS_VLAN_INDEX, 4, 2, 1}, 731 {"svpri", 5, ARGUS_VLAN_INDEX, 6, 1, 1}, 732 {"dvpri", 5, ARGUS_VLAN_INDEX, 4, 1, 1}, 733 {"svc", 3, ARGUS_LABEL_INDEX, 4, 16, 1}, 734 {"inode", 5, ARGUS_ICMP_INDEX, 24, 4, 1}, 735 {"sdsb", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 736 {"ddsb", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 737 {"sco", 3, ARGUS_COCODE_INDEX, 6, 2, 1}, 738 {"dco", 3, ARGUS_COCODE_INDEX, 4, 2, 1}, 739 {"sas", 3, ARGUS_ASN_INDEX, 8, 4, 1}, 740 {"das", 3, ARGUS_ASN_INDEX, 4, 4, 1}, 741 {"ias", 3, ARGUS_ASN_INDEX, 12, 4, 1}, 742 {"soui", 3, ARGUS_MAC_INDEX, 4, 3, 1}, 743 {"doui", 3, ARGUS_MAC_INDEX, 10, 3, 1}, 744 }; 745 746 747 struct ArgusMaskStruct ArgusWlanMaskDefs[ARGUS_MAX_MASK_LIST] = { 748 {"srcid", 5, ARGUS_TRANSPORT_INDEX, 4, 4, 1}, 749 {"smpls", 5, ARGUS_MPLS_INDEX, 8, 4, 1}, 750 {"dmpls", 5, ARGUS_MPLS_INDEX, 4, 4, 1}, 751 {"svlan", 5, ARGUS_VLAN_INDEX, 6, 2, 1}, 752 {"dvlan", 5, ARGUS_VLAN_INDEX, 4, 2, 1}, 753 {"proto", 5, ARGUS_FLOW_INDEX, 4, 2, 1}, 754 {"saddr", 5, ARGUS_FLOW_INDEX, 12, 6, 1}, 755 {"sport", 5, ARGUS_FLOW_INDEX, 32, 32, 1}, 756 {"daddr", 5, ARGUS_FLOW_INDEX, 16, 6, 1}, 757 {"dport", 5, ARGUS_FLOW_INDEX, 24, 6, 1}, 758 {"snet", 4, ARGUS_FLOW_INDEX, 8, 4, 1}, 759 {"dnet", 4, ARGUS_FLOW_INDEX, 4, 4, 1}, 760 {"stos", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 761 {"dtos", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 762 {"sttl", 4, ARGUS_IPATTR_INDEX, 12, 1, 1}, 763 {"dttl", 4, ARGUS_IPATTR_INDEX, 4, 1, 1}, 764 {"sipid", 4, ARGUS_IPATTR_INDEX, 14, 2, 1}, 765 {"dipid", 4, ARGUS_IPATTR_INDEX, 6, 2, 1}, 766 {"stcpb", 5, ARGUS_NETWORK_INDEX, 252, 4, 1}, 767 {"dtcpb", 5, ARGUS_NETWORK_INDEX, 300, 4, 1}, 768 {"smac", 4, ARGUS_MAC_INDEX, 10, 6, 1}, 769 {"dmac", 4, ARGUS_MAC_INDEX, 4, 6, 1}, 770 {"svid", 4, ARGUS_VLAN_INDEX, 6, 2, 1}, 771 {"dvid", 4, ARGUS_VLAN_INDEX, 4, 2, 1}, 772 {"svpri", 5, ARGUS_VLAN_INDEX, 6, 1, 1}, 773 {"dvpri", 5, ARGUS_VLAN_INDEX, 4, 1, 1}, 774 {"svc", 3, ARGUS_LABEL_INDEX, 4, 16, 1}, 775 {"inode", 5, ARGUS_ICMP_INDEX, 24, 4, 1}, 776 {"sdsb", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 777 {"ddsb", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 778 {"sco", 3, ARGUS_COCODE_INDEX, 6, 2, 1}, 779 {"dco", 3, ARGUS_COCODE_INDEX, 4, 2, 1}, 780 {"sas", 3, ARGUS_ASN_INDEX, 8, 4, 1}, 781 {"das", 3, ARGUS_ASN_INDEX, 4, 4, 1}, 782 {"ias", 3, ARGUS_ASN_INDEX, 12, 4, 1}, 783 }; 784 785 struct ArgusMaskStruct ArgusWlanRevMaskDefs[ARGUS_MAX_MASK_LIST] = { 786 {"srcid", 5, ARGUS_TRANSPORT_INDEX, 4, 4, 1}, 787 {"smpls", 5, ARGUS_MPLS_INDEX, 8, 4, 1}, 788 {"dmpls", 5, ARGUS_MPLS_INDEX, 4, 4, 1}, 789 {"svlan", 5, ARGUS_VLAN_INDEX, 6, 2, 1}, 790 {"dvlan", 5, ARGUS_VLAN_INDEX, 4, 2, 1}, 791 {"proto", 5, ARGUS_FLOW_INDEX, 4, 2, 1}, 792 {"saddr", 5, ARGUS_FLOW_INDEX, 12, 4, 1}, 793 {"sport", 5, ARGUS_FLOW_INDEX, 32, 32, 1}, 794 {"daddr", 5, ARGUS_FLOW_INDEX, 16, 4, 1}, 795 {"dport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 796 {"snet", 4, ARGUS_FLOW_INDEX, 8, 4, 1}, 797 {"dnet", 4, ARGUS_FLOW_INDEX, 4, 4, 1}, 798 {"stos", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 799 {"dtos", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 800 {"sttl", 4, ARGUS_IPATTR_INDEX, 12, 1, 1}, 801 {"dttl", 4, ARGUS_IPATTR_INDEX, 4, 1, 1}, 802 {"sipid", 4, ARGUS_IPATTR_INDEX, 14, 2, 1}, 803 {"dipid", 4, ARGUS_IPATTR_INDEX, 6, 2, 1}, 804 {"stcpb", 5, ARGUS_NETWORK_INDEX, 252, 4, 1}, 805 {"dtcpb", 5, ARGUS_NETWORK_INDEX, 300, 4, 1}, 806 {"smac", 4, ARGUS_MAC_INDEX, 10, 6, 1}, 807 {"dmac", 4, ARGUS_MAC_INDEX, 4, 6, 1}, 808 {"svid", 4, ARGUS_VLAN_INDEX, 6, 2, 1}, 809 {"dvid", 4, ARGUS_VLAN_INDEX, 4, 2, 1}, 810 {"svpri", 5, ARGUS_VLAN_INDEX, 6, 1, 1}, 811 {"dvpri", 5, ARGUS_VLAN_INDEX, 4, 1, 1}, 812 {"svc", 3, ARGUS_LABEL_INDEX, 4, 16, 1}, 813 {"inode", 5, ARGUS_ICMP_INDEX, 24, 4, 1}, 814 {"sdsb", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 815 {"ddsb", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 816 {"sco", 3, ARGUS_COCODE_INDEX, 6, 2, 1}, 817 {"dco", 3, ARGUS_COCODE_INDEX, 4, 2, 1}, 818 {"sas", 3, ARGUS_ASN_INDEX, 8, 4, 1}, 819 {"das", 3, ARGUS_ASN_INDEX, 4, 4, 1}, 820 {"ias", 3, ARGUS_ASN_INDEX, 12, 4, 1}, 821 {"soui", 3, ARGUS_MAC_INDEX, 10, 3, 1}, 822 {"doui", 3, ARGUS_MAC_INDEX, 4, 3, 1}, 823 }; 824 825 struct ArgusMaskStruct ArgusIsisMaskDefs[ARGUS_MAX_MASK_LIST] = { 826 {"srcid", 5, ARGUS_TRANSPORT_INDEX, 4, 4, 1}, 827 {"smpls", 5, ARGUS_MPLS_INDEX, 8, 4, 1}, 828 {"dmpls", 5, ARGUS_MPLS_INDEX, 4, 4, 1}, 829 {"svlan", 5, ARGUS_VLAN_INDEX, 6, 2, 1}, 830 {"dvlan", 5, ARGUS_VLAN_INDEX, 4, 2, 1}, 831 {"proto", 5, ARGUS_FLOW_INDEX, 4, 2, 1}, 832 {"saddr", 5, ARGUS_FLOW_INDEX, 12, 4, 1}, 833 {"sport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 834 {"daddr", 5, ARGUS_FLOW_INDEX, 16, 4, 1}, 835 {"dport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 836 {"snet", 4, ARGUS_FLOW_INDEX, 8, 4, 1}, 837 {"dnet", 4, ARGUS_FLOW_INDEX, 4, 4, 1}, 838 {"stos", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 839 {"dtos", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 840 {"sttl", 4, ARGUS_IPATTR_INDEX, 12, 1, 1}, 841 {"dttl", 4, ARGUS_IPATTR_INDEX, 4, 1, 1}, 842 {"sipid", 4, ARGUS_IPATTR_INDEX, 14, 2, 1}, 843 {"dipid", 4, ARGUS_IPATTR_INDEX, 6, 2, 1}, 844 {"stcpb", 5, ARGUS_NETWORK_INDEX, 252, 4, 1}, 845 {"dtcpb", 5, ARGUS_NETWORK_INDEX, 300, 4, 1}, 846 {"smac", 4, ARGUS_MAC_INDEX, 10, 6, 1}, 847 {"dmac", 4, ARGUS_MAC_INDEX, 4, 6, 1}, 848 {"svid", 4, ARGUS_VLAN_INDEX, 6, 2, 1}, 849 {"dvid", 4, ARGUS_VLAN_INDEX, 4, 2, 1}, 850 {"svpri", 5, ARGUS_VLAN_INDEX, 6, 1, 1}, 851 {"dvpri", 5, ARGUS_VLAN_INDEX, 4, 1, 1}, 852 {"svc", 3, ARGUS_LABEL_INDEX, 4, 16, 1}, 853 {"inode", 5, ARGUS_ICMP_INDEX, 24, 4, 1}, 854 {"sdsb", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 855 {"ddsb", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 856 {"sco", 3, ARGUS_COCODE_INDEX, 6, 2, 1}, 857 {"dco", 3, ARGUS_COCODE_INDEX, 4, 2, 1}, 858 {"sas", 3, ARGUS_ASN_INDEX, 8, 4, 1}, 859 {"das", 3, ARGUS_ASN_INDEX, 4, 4, 1}, 860 {"ias", 3, ARGUS_ASN_INDEX, 12, 4, 1}, 861 {"soui", 3, ARGUS_MAC_INDEX, 10, 3, 1}, 862 {"doui", 3, ARGUS_MAC_INDEX, 4, 3, 1}, 863 }; 864 865 866 struct ArgusMaskStruct ArgusIsisRevMaskDefs[ARGUS_MAX_MASK_LIST] = { 867 {"srcid", 5, ARGUS_TRANSPORT_INDEX, 4, 4, 1}, 868 {"smpls", 5, ARGUS_MPLS_INDEX, 8, 4, 1}, 869 {"dmpls", 5, ARGUS_MPLS_INDEX, 4, 4, 1}, 870 {"svlan", 5, ARGUS_VLAN_INDEX, 6, 2, 1}, 871 {"dvlan", 5, ARGUS_VLAN_INDEX, 4, 2, 1}, 872 {"proto", 5, ARGUS_FLOW_INDEX, 4, 2, 1}, 873 {"saddr", 5, ARGUS_FLOW_INDEX, 12, 4, 1}, 874 {"sport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 875 {"daddr", 5, ARGUS_FLOW_INDEX, 16, 4, 1}, 876 {"dport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 877 {"snet", 4, ARGUS_FLOW_INDEX, 8, 4, 1}, 878 {"dnet", 4, ARGUS_FLOW_INDEX, 4, 4, 1}, 879 {"stos", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 880 {"dtos", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 881 {"sttl", 4, ARGUS_IPATTR_INDEX, 12, 1, 1}, 882 {"dttl", 4, ARGUS_IPATTR_INDEX, 4, 1, 1}, 883 {"sipid", 4, ARGUS_IPATTR_INDEX, 14, 2, 1}, 884 {"dipid", 4, ARGUS_IPATTR_INDEX, 6, 2, 1}, 885 {"stcpb", 5, ARGUS_NETWORK_INDEX, 252, 4, 1}, 886 {"dtcpb", 5, ARGUS_NETWORK_INDEX, 300, 4, 1}, 887 {"smac", 4, ARGUS_MAC_INDEX, 10, 6, 1}, 888 {"dmac", 4, ARGUS_MAC_INDEX, 4, 6, 1}, 889 {"svid", 4, ARGUS_VLAN_INDEX, 6, 2, 1}, 890 {"dvid", 4, ARGUS_VLAN_INDEX, 4, 2, 1}, 891 {"svpri", 5, ARGUS_VLAN_INDEX, 6, 1, 1}, 892 {"dvpri", 5, ARGUS_VLAN_INDEX, 4, 1, 1}, 893 {"svc", 3, ARGUS_LABEL_INDEX, 4, 16, 1}, 894 {"inode", 5, ARGUS_ICMP_INDEX, 24, 4, 1}, 895 {"sdsb", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 896 {"ddsb", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 897 {"sco", 3, ARGUS_COCODE_INDEX, 6, 2, 1}, 898 {"dco", 3, ARGUS_COCODE_INDEX, 4, 2, 1}, 899 {"sas", 3, ARGUS_ASN_INDEX, 8, 4, 1}, 900 {"das", 3, ARGUS_ASN_INDEX, 4, 4, 1}, 901 {"ias", 3, ARGUS_ASN_INDEX, 12, 4, 1}, 902 {"soui", 3, ARGUS_MAC_INDEX, 4, 3, 1}, 903 {"doui", 3, ARGUS_MAC_INDEX, 10, 3, 1}, 904 }; 905 906 907 struct ArgusMaskStruct ArgusIsisHelloMaskDefs[ARGUS_MAX_MASK_LIST] = { 908 {"srcid", 5, ARGUS_TRANSPORT_INDEX, 4, 4, 1}, 909 {"smpls", 5, ARGUS_MPLS_INDEX, 8, 4, 1}, 910 {"dmpls", 5, ARGUS_MPLS_INDEX, 4, 4, 1}, 911 {"svlan", 5, ARGUS_VLAN_INDEX, 6, 2, 1}, 912 {"dvlan", 5, ARGUS_VLAN_INDEX, 4, 2, 1}, 913 {"proto", 5, ARGUS_FLOW_INDEX, 4, 2, 1}, 914 {"saddr", 5, ARGUS_FLOW_INDEX, 12, 4, 1}, 915 {"sport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 916 {"daddr", 5, ARGUS_FLOW_INDEX, 16, 4, 1}, 917 {"dport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 918 {"snet", 4, ARGUS_FLOW_INDEX, 8, 4, 1}, 919 {"dnet", 4, ARGUS_FLOW_INDEX, 4, 4, 1}, 920 {"stos", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 921 {"dtos", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 922 {"sttl", 4, ARGUS_IPATTR_INDEX, 12, 1, 1}, 923 {"dttl", 4, ARGUS_IPATTR_INDEX, 4, 1, 1}, 924 {"sipid", 4, ARGUS_IPATTR_INDEX, 14, 2, 1}, 925 {"dipid", 4, ARGUS_IPATTR_INDEX, 6, 2, 1}, 926 {"stcpb", 5, ARGUS_NETWORK_INDEX, 252, 4, 1}, 927 {"dtcpb", 5, ARGUS_NETWORK_INDEX, 300, 4, 1}, 928 {"smac", 4, ARGUS_MAC_INDEX, 10, 6, 1}, 929 {"dmac", 4, ARGUS_MAC_INDEX, 4, 6, 1}, 930 {"svid", 4, ARGUS_VLAN_INDEX, 6, 2, 1}, 931 {"dvid", 4, ARGUS_VLAN_INDEX, 4, 2, 1}, 932 {"svpri", 5, ARGUS_VLAN_INDEX, 6, 1, 1}, 933 {"dvpri", 5, ARGUS_VLAN_INDEX, 4, 1, 1}, 934 {"svc", 3, ARGUS_LABEL_INDEX, 4, 16, 1}, 935 {"inode", 5, ARGUS_ICMP_INDEX, 24, 4, 1}, 936 {"sdsb", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 937 {"ddsb", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 938 {"sco", 3, ARGUS_COCODE_INDEX, 6, 2, 1}, 939 {"dco", 3, ARGUS_COCODE_INDEX, 4, 2, 1}, 940 {"sas", 3, ARGUS_ASN_INDEX, 8, 4, 1}, 941 {"das", 3, ARGUS_ASN_INDEX, 4, 4, 1}, 942 {"ias", 3, ARGUS_ASN_INDEX, 12, 4, 1}, 943 {"soui", 3, ARGUS_MAC_INDEX, 10, 3, 1}, 944 {"doui", 3, ARGUS_MAC_INDEX, 4, 3, 1}, 945 }; 946 947 struct ArgusMaskStruct ArgusIsisLspMaskDefs[ARGUS_MAX_MASK_LIST] = { 948 {"srcid", 5, ARGUS_TRANSPORT_INDEX, 4, 4, 1}, 949 {"smpls", 5, ARGUS_MPLS_INDEX, 8, 4, 1}, 950 {"dmpls", 5, ARGUS_MPLS_INDEX, 4, 4, 1}, 951 {"svlan", 5, ARGUS_VLAN_INDEX, 6, 2, 1}, 952 {"dvlan", 5, ARGUS_VLAN_INDEX, 4, 2, 1}, 953 {"proto", 5, ARGUS_FLOW_INDEX, 4, 2, 1}, 954 {"saddr", 5, ARGUS_FLOW_INDEX, 12, 4, 1}, 955 {"sport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 956 {"daddr", 5, ARGUS_FLOW_INDEX, 16, 4, 1}, 957 {"dport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 958 {"snet", 4, ARGUS_FLOW_INDEX, 8, 4, 1}, 959 {"dnet", 4, ARGUS_FLOW_INDEX, 4, 4, 1}, 960 {"stos", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 961 {"dtos", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 962 {"sttl", 4, ARGUS_IPATTR_INDEX, 12, 1, 1}, 963 {"dttl", 4, ARGUS_IPATTR_INDEX, 4, 1, 1}, 964 {"sipid", 4, ARGUS_IPATTR_INDEX, 14, 2, 1}, 965 {"dipid", 4, ARGUS_IPATTR_INDEX, 6, 2, 1}, 966 {"stcpb", 5, ARGUS_NETWORK_INDEX, 252, 4, 1}, 967 {"dtcpb", 5, ARGUS_NETWORK_INDEX, 300, 4, 1}, 968 {"smac", 4, ARGUS_MAC_INDEX, 10, 6, 1}, 969 {"dmac", 4, ARGUS_MAC_INDEX, 4, 6, 1}, 970 {"svid", 4, ARGUS_VLAN_INDEX, 6, 2, 1}, 971 {"dvid", 4, ARGUS_VLAN_INDEX, 4, 2, 1}, 972 {"svpri", 5, ARGUS_VLAN_INDEX, 6, 1, 1}, 973 {"dvpri", 5, ARGUS_VLAN_INDEX, 4, 1, 1}, 974 {"svc", 3, ARGUS_LABEL_INDEX, 4, 16, 1}, 975 {"inode", 5, ARGUS_ICMP_INDEX, 24, 4, 1}, 976 {"sdsb", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 977 {"ddsb", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 978 {"sco", 3, ARGUS_COCODE_INDEX, 6, 2, 1}, 979 {"dco", 3, ARGUS_COCODE_INDEX, 4, 2, 1}, 980 {"sas", 3, ARGUS_ASN_INDEX, 8, 4, 1}, 981 {"das", 3, ARGUS_ASN_INDEX, 4, 4, 1}, 982 {"ias", 3, ARGUS_ASN_INDEX, 12, 4, 1}, 983 {"soui", 3, ARGUS_MAC_INDEX, 10, 3, 1}, 984 {"doui", 3, ARGUS_MAC_INDEX, 4, 3, 1}, 985 }; 986 987 988 struct ArgusMaskStruct ArgusIsisCsnpMaskDefs[ARGUS_MAX_MASK_LIST] = { 989 {"srcid", 5, ARGUS_TRANSPORT_INDEX, 4, 4, 1}, 990 {"smpls", 5, ARGUS_MPLS_INDEX, 8, 4, 1}, 991 {"dmpls", 5, ARGUS_MPLS_INDEX, 4, 4, 1}, 992 {"svlan", 5, ARGUS_VLAN_INDEX, 6, 2, 1}, 993 {"dvlan", 5, ARGUS_VLAN_INDEX, 4, 2, 1}, 994 {"proto", 5, ARGUS_FLOW_INDEX, 4, 2, 1}, 995 {"saddr", 5, ARGUS_FLOW_INDEX, 12, 4, 1}, 996 {"sport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 997 {"daddr", 5, ARGUS_FLOW_INDEX, 16, 4, 1}, 998 {"dport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 999 {"snet", 4, ARGUS_FLOW_INDEX, 8, 4, 1}, 1000 {"dnet", 4, ARGUS_FLOW_INDEX, 4, 4, 1}, 1001 {"stos", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 1002 {"dtos", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 1003 {"sttl", 4, ARGUS_IPATTR_INDEX, 12, 1, 1}, 1004 {"dttl", 4, ARGUS_IPATTR_INDEX, 4, 1, 1}, 1005 {"sipid", 4, ARGUS_IPATTR_INDEX, 14, 2, 1}, 1006 {"dipid", 4, ARGUS_IPATTR_INDEX, 6, 2, 1}, 1007 {"stcpb", 5, ARGUS_NETWORK_INDEX, 252, 4, 1}, 1008 {"dtcpb", 5, ARGUS_NETWORK_INDEX, 300, 4, 1}, 1009 {"smac", 4, ARGUS_MAC_INDEX, 10, 6, 1}, 1010 {"dmac", 4, ARGUS_MAC_INDEX, 4, 6, 1}, 1011 {"svid", 4, ARGUS_VLAN_INDEX, 6, 2, 1}, 1012 {"dvid", 4, ARGUS_VLAN_INDEX, 4, 2, 1}, 1013 {"svpri", 5, ARGUS_VLAN_INDEX, 6, 1, 1}, 1014 {"dvpri", 5, ARGUS_VLAN_INDEX, 4, 1, 1}, 1015 {"svc", 3, ARGUS_LABEL_INDEX, 4, 16, 1}, 1016 {"inode", 5, ARGUS_ICMP_INDEX, 24, 4, 1}, 1017 {"sdsb", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 1018 {"ddsb", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 1019 {"sco", 3, ARGUS_COCODE_INDEX, 6, 2, 1}, 1020 {"dco", 3, ARGUS_COCODE_INDEX, 4, 2, 1}, 1021 {"sas", 3, ARGUS_ASN_INDEX, 8, 4, 1}, 1022 {"das", 3, ARGUS_ASN_INDEX, 4, 4, 1}, 1023 {"ias", 3, ARGUS_ASN_INDEX, 12, 4, 1}, 1024 {"soui", 3, ARGUS_MAC_INDEX, 10, 3, 1}, 1025 {"doui", 3, ARGUS_MAC_INDEX, 4, 3, 1}, 1026 }; 1027 1028 1029 struct ArgusMaskStruct ArgusIsisPsnpMaskDefs[ARGUS_MAX_MASK_LIST] = { 1030 {"srcid", 5, ARGUS_TRANSPORT_INDEX, 4, 4, 1}, 1031 {"smpls", 5, ARGUS_MPLS_INDEX, 8, 4, 1}, 1032 {"dmpls", 5, ARGUS_MPLS_INDEX, 4, 4, 1}, 1033 {"svlan", 5, ARGUS_VLAN_INDEX, 6, 2, 1}, 1034 {"dvlan", 5, ARGUS_VLAN_INDEX, 4, 2, 1}, 1035 {"proto", 5, ARGUS_FLOW_INDEX, 4, 2, 1}, 1036 {"saddr", 5, ARGUS_FLOW_INDEX, 12, 4, 1}, 1037 {"sport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 1038 {"daddr", 5, ARGUS_FLOW_INDEX, 16, 4, 1}, 1039 {"dport", 5, ARGUS_FLOW_INDEX, 0, 0, 1}, 1040 {"snet", 4, ARGUS_FLOW_INDEX, 8, 4, 1}, 1041 {"dnet", 4, ARGUS_FLOW_INDEX, 4, 4, 1}, 1042 {"stos", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 1043 {"dtos", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 1044 {"sttl", 4, ARGUS_IPATTR_INDEX, 12, 1, 1}, 1045 {"dttl", 4, ARGUS_IPATTR_INDEX, 4, 1, 1}, 1046 {"sipid", 4, ARGUS_IPATTR_INDEX, 14, 2, 1}, 1047 {"dipid", 4, ARGUS_IPATTR_INDEX, 6, 2, 1}, 1048 {"stcpb", 5, ARGUS_NETWORK_INDEX, 252, 4, 1}, 1049 {"dtcpb", 5, ARGUS_NETWORK_INDEX, 300, 4, 1}, 1050 {"smac", 4, ARGUS_MAC_INDEX, 10, 6, 1}, 1051 {"dmac", 4, ARGUS_MAC_INDEX, 4, 6, 1}, 1052 {"svid", 4, ARGUS_VLAN_INDEX, 6, 2, 1}, 1053 {"dvid", 4, ARGUS_VLAN_INDEX, 4, 2, 1}, 1054 {"svpri", 5, ARGUS_VLAN_INDEX, 6, 1, 1}, 1055 {"dvpri", 5, ARGUS_VLAN_INDEX, 4, 1, 1}, 1056 {"svc", 3, ARGUS_LABEL_INDEX, 4, 16, 1}, 1057 {"inode", 5, ARGUS_ICMP_INDEX, 24, 4, 1}, 1058 {"sdsb", 4, ARGUS_IPATTR_INDEX, 13, 1, 1}, 1059 {"ddsb", 4, ARGUS_IPATTR_INDEX, 5, 1, 1}, 1060 {"sco", 3, ARGUS_COCODE_INDEX, 6, 2, 1}, 1061 {"dco", 3, ARGUS_COCODE_INDEX, 4, 2, 1}, 1062 {"sas", 3, ARGUS_ASN_INDEX, 8, 4, 1}, 1063 {"das", 3, ARGUS_ASN_INDEX, 4, 4, 1}, 1064 {"ias", 3, ARGUS_ASN_INDEX, 12, 4, 1}, 1065 {"soui", 3, ARGUS_MAC_INDEX, 10, 3, 1}, 1066 {"doui", 3, ARGUS_MAC_INDEX, 4, 3, 1}, 1067 }; 1068 1069 struct ArgusAggregatorStruct *ArgusNewAggregator (struct ArgusParserStruct *, char *, int type); 1070 struct ArgusAggregatorStruct *ArgusCopyAggregator (struct ArgusAggregatorStruct *); 1071 void ArgusDeleteAggregator (struct ArgusParserStruct *, struct ArgusAggregatorStruct *); 1072 struct RaPolicyStruct *RaFlowModelOverRides(struct ArgusAggregatorStruct *, struct ArgusRecordStruct *); 1073 void ArgusGenerateNewFlow(struct ArgusAggregatorStruct *, struct ArgusRecordStruct *); 1074 1075 unsigned int ArgusMergeAddress(unsigned int *, unsigned int *, int, int, unsigned char *); 1076 void ArgusMergeRecords (struct ArgusAggregatorStruct *, struct ArgusRecordStruct *, struct ArgusRecordStruct *); 1077 void ArgusIntersectRecords (struct ArgusAggregatorStruct *, struct ArgusRecordStruct *, struct ArgusRecordStruct *); 1078 1079 #else 1080 extern struct ArgusMaskStruct ArgusIpV4MaskDefs[ARGUS_MAX_MASK_LIST]; 1081 extern struct ArgusMaskStruct ArgusIpV6MaskDefs[ARGUS_MAX_MASK_LIST]; 1082 extern struct ArgusMaskStruct ArgusEtherMaskDefs[ARGUS_MAX_MASK_LIST]; 1083 extern struct ArgusMaskStruct ArgusArpMaskDefs[ARGUS_MAX_MASK_LIST]; 1084 1085 extern struct ArgusMaskStruct ArgusIpV4RevMaskDefs[ARGUS_MAX_MASK_LIST]; 1086 extern struct ArgusMaskStruct ArgusIpV6RevMaskDefs[ARGUS_MAX_MASK_LIST]; 1087 extern struct ArgusMaskStruct ArgusEtherRevMaskDefs[ARGUS_MAX_MASK_LIST]; 1088 extern struct ArgusMaskStruct ArgusArpRevMaskDefs[ARGUS_MAX_MASK_LIST]; 1089 1090 extern struct ArgusAggregatorStruct *ArgusNewAggregator (struct ArgusParserStruct *, char *, int type); 1091 extern struct ArgusAggregatorStruct *ArgusCopyAggregator (struct ArgusAggregatorStruct *); 1092 extern void ArgusDeleteAggregator (struct ArgusParserStruct *, struct ArgusAggregatorStruct *); 1093 extern struct RaPolicyStruct *RaFlowModelOverRides(struct ArgusAggregatorStruct *, struct ArgusRecordStruct *); 1094 extern void ArgusGenerateNewFlow(struct ArgusAggregatorStruct *, struct ArgusRecordStruct *); 1095 1096 extern unsigned int ArgusMergeAddress(unsigned int *, unsigned int *, int, int, unsigned char *); 1097 extern void ArgusMergeRecords (struct ArgusAggregatorStruct *, struct ArgusRecordStruct *, struct ArgusRecordStruct *); 1098 extern void ArgusIntersectRecords (struct ArgusAggregatorStruct *, struct ArgusRecordStruct *, struct ArgusRecordStruct *); 1099 1100 #endif 1101 #ifdef __cplusplus 1102 } 1103 #endif 1104 #endif 1105 1106 1107