- Timestamp:
- 11/22/06 14:04:22 (16 years ago)
- Location:
- trunk/src
- Files:
-
- 16 added
- 7 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/Makefile.am
r4 r20 14 14 renetcolSender_LDADD = -ldl -lc_p 15 15 $(PACKAGE)-$(VERSION).tar.gz: dist 16 AM_CFLAGS = -I/usr/local/include -ansi -Wall -D _SVID_SOURCE \17 -DSIGSETJMP_IS_BROKEN -fno-strict-aliasing \18 -D _XOPEN_SOURCE \19 -pedantic \20 -pg21 16 .PHONY: clean 22 17 clean: -
trunk/src/Makefile.in
r8 r20 1 # Makefile.in generated by automake 1.9. 5from Makefile.am.1 # Makefile.in generated by automake 1.9.6 from Makefile.am. 2 2 # @configure_input@ 3 3 … … 14 14 15 15 @SET_MAKE@ 16 17 SOURCES = $(renetcol_SOURCES) $(renetcolMsgCtl_SOURCES) $(renetcolSender_SOURCES)18 16 19 17 srcdir = @srcdir@ … … 102 100 EGREP = @EGREP@ 103 101 EXEEXT = @EXEEXT@ 102 GREP = @GREP@ 104 103 INSTALL_DATA = @INSTALL_DATA@ 105 104 INSTALL_PROGRAM = @INSTALL_PROGRAM@ … … 124 123 VERSION = @VERSION@ 125 124 ac_ct_CC = @ac_ct_CC@ 126 ac_ct_STRIP = @ac_ct_STRIP@127 125 am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ 128 126 am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ … … 135 133 build_alias = @build_alias@ 136 134 datadir = @datadir@ 135 datarootdir = @datarootdir@ 136 docdir = @docdir@ 137 dvidir = @dvidir@ 137 138 exec_prefix = @exec_prefix@ 138 139 host_alias = @host_alias@ 140 htmldir = @htmldir@ 139 141 includedir = @includedir@ 140 142 infodir = @infodir@ … … 142 144 libdir = @libdir@ 143 145 libexecdir = @libexecdir@ 146 localedir = @localedir@ 144 147 localstatedir = @localstatedir@ 145 148 mandir = @mandir@ 146 149 mkdir_p = @mkdir_p@ 147 150 oldincludedir = @oldincludedir@ 151 pdfdir = @pdfdir@ 148 152 prefix = @prefix@ 149 153 program_transform_name = @program_transform_name@ 154 psdir = @psdir@ 150 155 sbindir = @sbindir@ 151 156 sharedstatedir = @sharedstatedir@ -
trunk/src/dataFlowSet.c
r19 r20 65 65 struct PrefixV4 prefixKey, *res; /* for bsearch */ 66 66 struct AggCache agCache; 67 #ifdef CRIHAN 67 68 struct IPFLowCache ipFirstCache; /* CRI */ 68 69 struct MPLSFlowCache mplsFirstCache; /* CRI */ 69 70 unsigned long firstTime = 0; /* CRI */ 70 71 unsigned long lastTime = 0; /* CRI */ 72 #endif /* CRIHAN */ 71 73 int bool = 0; 72 74 73 /* CRI */ 75 #ifdef CRIHAN 74 76 ipFirstCache.ipProt = 0; 75 77 ipFirstCache.bytes = 0; … … 89 91 mplsFirstCache.v4AdS = 0; 90 92 mplsFirstCache.v4AdD = 0; 91 mplsFirstCache.outSnmp = 0;92 mplsFirstCache.inSnmp = 0;93 93 mplsFirstCache.routerAd = 0; 94 94 mplsFirstCache.mplsLabel1 = 0; 95 96 /* CRI */ 95 #endif /* CRIHAN */ 97 96 98 97 buffer2[1] = *(buf+(*offV9));(*offV9)++; … … 122 121 /* end aggreg */ 123 122 124 /* CRI */ 123 #ifdef CRIHAN 125 124 ipFirstCache.routerAd = pcktPtr->ipH->srcAdd; 126 125 mplsFirstCache.routerAd = pcktPtr->ipH->srcAdd; 127 /* end CRI*/126 #endif /* CRIHAN */ 128 127 129 128 pftmp = tmp->lastField; … … 185 184 /* } */ 186 185 /* end aggregation */ 187 /* CRI */ 186 #ifdef CRIHAN 188 187 if ((pftmp->fieldType==9)||(pftmp->fieldType==29)){ 189 188 ipFirstCache.maskS = *((unsigned char*)&buffer1); … … 199 198 ipFirstCache.tProt = *((unsigned char*)&buffer1); 200 199 } 201 /* if (pftmp->fieldType==46){ */ 202 /* mplsFirstCache.topLabelType = *((unsigned char*)&buffer1); */ 203 /* } */ 204 /* end CRI */ 200 #endif /* CRIHAN */ 205 201 break; 206 202 case 2: … … 215 211 /* } */ 216 212 /* end aggregation */ 217 /* CRI */ 213 #ifdef CRIHAN 218 214 if (pftmp->fieldType==10){ 219 215 ipFirstCache.inSnmp = *((unsigned short*)&buffer2); 220 mplsFirstCache.inSnmp = *((unsigned short*)&buffer2);221 216 } 222 217 if (pftmp->fieldType==14){ 223 218 ipFirstCache.outSnmp = *((unsigned short*)&buffer2); 224 mplsFirstCache.outSnmp = *((unsigned short*)&buffer2);225 219 } 226 220 if (pftmp->fieldType==7){ … … 230 224 ipFirstCache.dPort = *((unsigned short*)&buffer2); 231 225 } 232 /* end CRI*/226 #endif /* CRIHAN */ 233 227 break; 234 228 case 3: … … 242 236 /* aggregation */ 243 237 /* end aggregation */ 244 /* CRI */ 238 #ifdef CRIHAN 245 239 if (pftmp->fieldType==70){ 246 240 mplsFirstCache.mplsLabel1 = (*((unsigned long*)&buffer4))>>4; 247 241 } 248 /* end CRI*/242 #endif /* CRIHAN */ 249 243 break; 250 244 case 4: … … 275 269 /* } */ 276 270 /* end aggregation */ 277 /* CRI */ 271 #ifdef CRIHAN 278 272 if (pftmp->fieldType==8){ 279 273 ipFirstCache.v4AdS = *((unsigned long*)&buffer4); … … 296 290 lastTime = *((unsigned long*)&buffer4); 297 291 } 298 /* end CRI*/292 #endif /* CRIHAN */ 299 293 break; 300 294 case 16: … … 468 462 /* } */ 469 463 /* end aggregation */ 470 /* CRI */ 464 #ifdef CRIHAN 471 465 if ((pftmp->fieldType==9)||(pftmp->fieldType==29)){ 472 466 ipFirstCache.maskS = *((unsigned char*)&buffer1); … … 482 476 ipFirstCache.tProt = *((unsigned char*)&buffer1); 483 477 } 484 /* if (pftmp->fieldType==46){ */ 485 /* mplsFirstCache.topLabelType = *((unsigned char*)&buffer1); */ 486 /* } */ 478 #endif /* CRIHAN */ 487 479 break; 488 480 case 2: … … 494 486 } 495 487 /* end aggregation */ 496 /* CRI */ 488 #ifdef CRIHAN 497 489 if (pftmp->fieldType==10){ 498 490 ipFirstCache.inSnmp = *((unsigned short*)&buffer2); 499 mplsFirstCache.inSnmp = *((unsigned short*)&buffer2);500 491 } 501 492 if (pftmp->fieldType==14){ 502 493 ipFirstCache.outSnmp = *((unsigned short*)&buffer2); 503 mplsFirstCache.outSnmp = *((unsigned short*)&buffer2);504 494 } 505 495 if (pftmp->fieldType==7){ … … 509 499 ipFirstCache.dPort = *((unsigned short*)&buffer2); 510 500 } 511 /* end CRI */ 501 #endif /* CRIHAN */ 512 502 break; 513 503 case 3: … … 518 508 /* aggregation */ 519 509 /* end aggregation */ 520 /* CRI */ 510 #ifdef CRIHAN 521 511 if (pftmp->fieldType==70){ 522 512 mplsFirstCache.mplsLabel1 = (*((unsigned long*)&buffer4))>>4; 523 513 } 524 /* end CRI*/514 #endif /* CRIHAN */ 525 515 break; 526 516 case 4: … … 541 531 /* } */ 542 532 /* end aggregation */ 543 /* CRI */ 533 #ifdef CRIHAN 544 534 if (pftmp->fieldType==8){ 545 535 ipFirstCache.v4AdS = *((unsigned long*)&buffer4); … … 562 552 lastTime = *((unsigned long*)&buffer4); 563 553 } 564 /* end CRI*/554 #endif /* CRIHAN */ 565 555 break; 566 556 case 16: … … 585 575 * end of one flow (not the flowset) 586 576 */ 587 /* CRI */ 577 #ifdef CRIHAN 588 578 if ( mplsFirstCache.mplsLabel1 == 0 ) { 589 579 (ipCache+(*ipCounter))->ipProt = ipFirstCache.ipProt; … … 618 608 (mplsCache+(*mplsCounter))->ipProt = mplsFirstCache.ipProt; 619 609 mplsFirstCache.ipProt = 0; 620 /* (mplsCache+(*mplsCounter))->topLabelType = mplsFirstCache.topLabelType; */621 /* mplsFirstCache.topLabelType = 0; */622 610 (mplsCache+(*mplsCounter))->v4AdS = mplsFirstCache.v4AdS; 623 611 mplsFirstCache.v4AdS = 0; 624 612 (mplsCache+(*mplsCounter))->v4AdD = mplsFirstCache.v4AdD; 625 613 mplsFirstCache.v4AdD = 0; 626 (mplsCache+(*mplsCounter))->inSnmp = mplsFirstCache.inSnmp;627 mplsFirstCache.inSnmp = 0;628 (mplsCache+(*mplsCounter))->outSnmp = mplsFirstCache.outSnmp;629 mplsFirstCache.outSnmp = 0;630 614 (mplsCache+(*mplsCounter))->routerAd = mplsFirstCache.routerAd; 631 615 (mplsCache+(*mplsCounter))->mplsLabel1 = mplsFirstCache.mplsLabel1; … … 633 617 (*mplsCounter)++; 634 618 } 635 /* end CRI*/619 #endif /* CRIHAN */ 636 620 /* put aggregation cache information to tables */ 637 if (bool == 1){ 638 prefixKey.beginning = agCache.v4AdS>>(32-agCache.maskS)<<(32-agCache.maskS); 639 res = bsearch(&prefixKey, V4PTab, nbPV4, 640 sizeof(struct PrefixV4), prefCmp); 641 } 621 /* if (bool == 1){ */ 622 /* prefixKey.beginning = agCache.v4AdS>>(32-agCache.maskS)<<(32-agCache.maskS); */ 623 /* res = bsearch(&prefixKey, V4PTab, nbPV4, */ 624 /* sizeof(struct PrefixV4), prefCmp); */ 625 /* } */ 642 626 bool = 0; 643 627 /* end put */ -
trunk/src/dataFlowSet.h
r19 r20 62 62 unsigned long v4AdS; 63 63 unsigned long v4AdD; 64 unsigned short inSnmp;65 unsigned short outSnmp;66 64 uint32_t tabAdd6S[4]; 67 65 uint32_t tabAdd6D[4]; -
trunk/src/renetcol.c
r19 r20 26 26 #include "renetcol.h" 27 27 28 /* uptade for CRIHAN -> CRI */ 28 #ifdef CRIHAN 29 29 struct IPFLowCache tabIP[MAX_IP_FLOW], *tabIPPtr = tabIP; 30 30 struct MPLSFlowCache tabMPLS[MAX_MPLS_FLOW], *tabMPLSPtr = tabMPLS; … … 39 39 FILE *fIP; 40 40 FILE *fMPLS; 41 /* end*/41 #endif /* CRIHAN */ 42 42 43 43 char *rulesFileName; … … 410 410 } 411 411 412 /* CRI */ 412 #ifdef CRIHAN 413 413 now = time((time_t *)NULL); 414 414 receptionTime = now; … … 475 475 for ( iMPLS = 0; iMPLS < mplsNb; iMPLS++){ 476 476 if ( tabMPLS[iMPLS].ipProt == 0 ) { 477 fprintf(fMPLS, "%lu.%lu.%lu.%lu;%hu;%lu.%lu.%lu.%lu;%lu.%lu.%lu.%lu ;%hu;%hu;%d\n",477 fprintf(fMPLS, "%lu.%lu.%lu.%lu;%hu;%lu.%lu.%lu.%lu;%lu.%lu.%lu.%lu\n", 478 478 tabMPLS[iMPLS].routerAd>>24,tabMPLS[iMPLS].routerAd<<8>>24, 479 479 tabMPLS[iMPLS].routerAd<<16>>24, 480 480 tabMPLS[iMPLS].routerAd<<24>>24, 481 tabMPLS[iMPLS].mplsLabel1, 482 tabMPLS[iMPLS].v4AdS>>24, 481 tabMPLS[iMPLS].mplsLabel1,tabMPLS[iMPLS].v4AdS>>24, 483 482 tabMPLS[iMPLS].v4AdS<<8>>24,tabMPLS[iMPLS].v4AdS<<16>>24, 484 483 tabMPLS[iMPLS].v4AdS<<24>>24,tabMPLS[iMPLS].v4AdD>>24, 485 484 tabMPLS[iMPLS].v4AdD<<8>>24,tabMPLS[iMPLS].v4AdD<<16>>24, 486 tabMPLS[iMPLS].v4AdD<<24>>24, 487 tabMPLS[iMPLS].inSnmp,tabMPLS[iMPLS].outSnmp, 488 receptionTime 485 tabMPLS[iMPLS].v4AdD<<24>>24 489 486 ); 490 487 } … … 495 492 lastMPLSOutput = now; 496 493 } 497 /* end CRI*/494 #endif /* CRIHAN */ 498 495 } while (1); 499 496 } -
trunk/src/renetcol.h
r19 r20 74 74 #define MAX_RULES_PER_FIELD 10 75 75 76 /* CRI */ 76 #ifdef CRIHAN 77 77 #define OUTPUT_IP "/tmp/ipflow" 78 78 #define EXTENSION ".txt" … … 80 80 #define MAX_IP_OUTPUT_FILES 3 81 81 #define MAX_MPLS_OUTPUT_FILES 3 82 #define MAX_IP_FLOW 1000 82 #define MAX_IP_FLOW 10000 83 83 #define MAX_MPLS_FLOW 200 84 84 #define IP_TIME_THRESHOLD 60 /* in sec */ 85 85 #define MPLS_TIME_THRESHOLD 60 /* in sec */ 86 /* end CRI*/86 #endif /* CRIHAN */ 87 87 88 88 void setCache(RulesPtr); -
trunk/src/renetcolSender.c
r14 r20 76 76 buffer[length] = '\0'; 77 77 if (strncmp("DELETE", buffer, 6)==0){ 78 /* DELETE ALL RULES FROM A REMOTE CLIENT */ 78 79 if (!(ruleFile = fopen(rulesFileName, "r"))) { 79 80 syslog (LOG_ERR, "error during %s opening\n", rulesFileName); … … 85 86 ruleToDelete = 0; 86 87 if (sscanf(lineCopy, "%1s %s\n", 87 strTok, 88 strTok, 88 89 strName) != 0) { 89 if (strncmp(strName, host, strlen(host)) != 0){90 strncpy(lines[cpt], lineCopy, strlen(lineCopy));90 if (strncmp(strName, host, strlen(host)) == 0){ 91 ruleToDelete = 1; 91 92 } else { 92 ruleToDelete = 1;93 strncpy(lines[cpt], line, strlen(line)); 93 94 } 94 95 } else { 95 syslog (LOG_ERR, "error in file %s at line %d",96 rulesFileName, cpt);97 96 return 1; 98 97 } … … 103 102 } 104 103 cpt++; 105 } 104 } /* while end */ 106 105 fclose(ruleFile); 107 106 if (!(tmpFile = fopen("rules.tmp", "w"))) { … … 124 123 } 125 124 } else { 125 /* NEW RULE */ 126 126 if (sscanf(buffer, "%s %s %1s %s\n", 127 127 port,