Changeset 59 for trunk/src/dataFlowSet.c
- Timestamp:
- 10/18/07 11:41:05 (15 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/dataFlowSet.c
r58 r59 132 132 return (-1); 133 133 } 134 #if def IPV4AGG134 #if defined(IPV4AGGIDR) || defined(IPV4AGGIDSNMP) 135 135 agCache.routerAd = myPtrs->pcktPtr->ipH->srcAdd; 136 136 #endif … … 192 192 } 193 193 /* end rule check */ 194 #if def IPV4AGG194 #if defined(IPV4AGGIDR) || defined(IPV4AGGIDSNMP) 195 195 if ((pftmp->fieldType==9)||(pftmp->fieldType==29)){ 196 196 agCache.maskS = *((unsigned char*)&buffer1); … … 221 221 == *((unsigned short*)&buffer2)) 222 222 ((RuleDefPtr)(*(myPtrs->rulesAddressPtr+pos)))->check = 1; 223 #if def IPV4AGG223 #if defined(IPV4AGGIDR) || defined(IPV4AGGIDSNMP) 224 224 if (pftmp->fieldType==10){ 225 225 agCache.inputSnmp = *((unsigned short*)&buffer2); … … 277 277 } 278 278 } 279 #if def IPV4AGG279 #if defined(IPV4AGGIDR) || defined(IPV4AGGIDSNMP) 280 280 if ((pftmp->fieldType==8)){ 281 281 bool = 1; /* very important, test if we have an IPv4 flow for Agg */ … … 448 448 buffer1 = *(myPtrs->ptr_buffer+(*myPtrs->offsetV9Ptr)); 449 449 (*myPtrs->offsetV9Ptr)++; 450 #if def IPV4AGG450 #if defined(IPV4AGGIDR) || defined(IPV4AGGIDSNMP) 451 451 if ((pftmp->fieldType==9)||(pftmp->fieldType==29)){ 452 452 agCache.maskS = *((unsigned char*)&buffer1); … … 474 474 buffer2[0]= *(myPtrs->ptr_buffer+(*myPtrs->offsetV9Ptr)); 475 475 (*myPtrs->offsetV9Ptr)++; 476 #if def IPV4AGG476 #if defined(IPV4AGGIDR) || defined(IPV4AGGIDSNMP) 477 477 if (pftmp->fieldType==10){ 478 478 agCache.inputSnmp = *((unsigned short*)&buffer2); … … 506 506 buffer4[0]= *(myPtrs->ptr_buffer+(*myPtrs->offsetV9Ptr)); 507 507 (*myPtrs->offsetV9Ptr)++; 508 #if def IPV4AGG508 #if defined(IPV4AGGIDR) || defined(IPV4AGGIDSNMP) 509 509 if ((pftmp->fieldType==8)){ 510 510 bool = 1; … … 548 548 /* Aggregation mode must be enable in ./configure options */ 549 549 /* first we must know if the address belong to our prefix */ 550 #if def IPV4AGG550 #if defined(IPV4AGGIDR) || defined(IPV4AGGIDSNMP) 551 551 if ( (bool == 1) && (isMplsFlow == 0) ){ 552 552 prefixKey.beginning = agCache.v4AdS>>(32-agCache.maskS)<<(32-agCache.maskS); … … 554 554 sizeof(struct PrefixV4), prefGlobalCmp); 555 555 if (res!=NULL){ 556 /* if ( myPtrs->routersID[res->routerNb] == agCache.routerAd ) { */ 556 #if defined(IPV4AGGIDR) 557 if ( myPtrs->routersID[res->routerNb] == agCache.routerAd ) { 558 #elif defined(IPV4AGGIDSNMP) 557 559 if ( myPtrs->currentRouterPtr->snmpIndexList[agCache.inputSnmp] == 1 ) { 558 /* OUT ("traffic from the prefix/subnet") */ 559 res->bytesNbOUT += agCache.bytes; 560 res->pktsNbOUT += agCache.pkts; 561 (res->flowNbOUT)++; 562 if (res->sampling == 0) { 560 #endif 561 if (myPtrs->currentRouterPtr->sampled != 0 ){ 562 /* OUT ("traffic from the prefix/subnet") */ 563 res->bytesNbOUT += agCache.bytes; 564 res->pktsNbOUT += agCache.pkts; 565 (res->flowNbOUT)++; 566 } 567 if (res->sampling == 0 568 && myPtrs->currentRouterPtr->sampled != 0){ 563 569 res->sampling = myPtrs->currentRouterPtr->sampled; 564 } else if (res->sampling != myPtrs->currentRouterPtr->sampled) { 565 syslog(LOG_INFO, 566 "2 sampling values for 1 subnet: %lu.%lu.%lu.%lu % from router %lu.%lu.%lu.%lu", 567 agCache.v4AdS>>24, 568 agCache.v4AdS<<8>>24, 569 agCache.v4AdS<<16>>24, 570 agCache.v4AdS<<24>>24, 571 (myPtrs->pcktPtr->ipH->srcAdd>>24), 572 (myPtrs->pcktPtr->ipH->srcAdd<<8>>24), 573 (myPtrs->pcktPtr->ipH->srcAdd<<16>>24), 574 (myPtrs->pcktPtr->ipH->srcAdd<<24>>24)); 575 } 570 } 571 #if defined(MATRIX) && defined(IPV4AGGIDR) 576 572 /* inter-pop matrix Accounting */ 577 573 prefixKey.beginning = agCache.v4AdD>>(32-agCache.maskD)<<(32-agCache.maskD); … … 603 599 } 604 600 /* end interpop matrix accounting */ 601 #endif /* matrix */ 605 602 } else { 606 603 /* doublon or bad reference in prefix list */ … … 612 609 if (res!=NULL){ 613 610 if ( myPtrs->currentRouterPtr->snmpIndexList[agCache.inputSnmp] == 1 ) { 614 /* IN ("traffic to the prefix/subnet") */ 615 res->bytesNbIN += agCache.bytes; 616 res->pktsNbIN += agCache.pkts; 617 (res->flowNbIN)++; 618 /* if ( myPtrs->routersID[res->routerNb] == agCache.routerAd ) { */ 619 /* IN ("traffic to the prefix") */ 620 /* res->bytesNbIN += agCache.bytes; */ 621 /* res->pktsNbIN += agCache.pkts; */ 622 /* (res->flowNbIN)++; */ 623 /* if (res->sampling == 0) { */ 624 /* res->sampling = myPtrs->currentRouterPtr->sampled; */ 625 /* } else if (res->sampling != myPtrs->currentRouterPtr->sampled) { */ 626 /* syslog(LOG_INFO, */ 627 /* "2 sampling values for 1 /: %lu.%lu.%lu.%lu % from router %lu.%lu.%lu.%lu", */ 628 /* agCache.v4AdS>>24, */ 629 /* agCache.v4AdS<<8>>24, */ 630 /* agCache.v4AdS<<16>>24, */ 631 /* agCache.v4AdS<<24>>24, */ 632 /* (myPtrs->pcktPtr->ipH->srcAdd>>24), */ 633 /* (myPtrs->pcktPtr->ipH->srcAdd<<8>>24), */ 634 /* (myPtrs->pcktPtr->ipH->srcAdd<<16>>24), */ 635 /* (myPtrs->pcktPtr->ipH->srcAdd<<24>>24)); */ 636 /* } */ 611 if (myPtrs->currentRouterPtr->sampled != 0 ){ 612 /* IN ("traffic to the prefix/subnet") */ 613 res->bytesNbIN += agCache.bytes; 614 res->pktsNbIN += agCache.pkts; 615 (res->flowNbIN)++; 616 } 617 #if defined(IPV4AGGIDR) 618 if ( myPtrs->routersID[res->routerNb] == agCache.routerAd ) { 619 if (myPtrs->currentRouterPtr->sampled != 0 ){ 620 /* IN ("traffic to the prefix") */ 621 res->bytesNbIN += agCache.bytes; 622 res->pktsNbIN += agCache.pkts; 623 (res->flowNbIN)++; 624 } 625 #endif 626 if (res->sampling == 0 627 && myPtrs->currentRouterPtr->sampled != 0 ){ 628 res->sampling = myPtrs->currentRouterPtr->sampled; 629 } 637 630 /* } else { */ 638 631 /* doublon or bad reference in prefix list */ … … 662 655 (myPtrs->pcktPtr->ipH->srcAdd<<24>>24) 663 656 ); 664 #endif 657 #endif /* PRINTUNKNOWNSUBNET */ 665 658 } 666 659 } … … 668 661 bool = 0; 669 662 isMplsFlow = 0; 670 #endif 663 #endif /* (IPV4AGGIDR) || (IPV4AGGIDSNMP) */ 671 664 /* 672 665 * Redirection if needed … … 831 824 } 832 825 }else{ 833 syslog(LOG_INFO,"Sampling value not standard for router : %lu.%lu.%lu.%lu ",826 syslog(LOG_INFO,"Sampling value not standard for router : %lu.%lu.%lu.%lu, value : %lu", 834 827 (myPtrs->pcktPtr->ipH->srcAdd>>24), 835 828 (myPtrs->pcktPtr->ipH->srcAdd<<8>>24), 836 829 (myPtrs->pcktPtr->ipH->srcAdd<<16>>24), 837 (myPtrs->pcktPtr->ipH->srcAdd<<24>>24) 830 (myPtrs->pcktPtr->ipH->srcAdd<<24>>24), 831 *((unsigned long*)&buffer4) 838 832 ); 839 833 }