- Timestamp:
- 02/12/09 17:54:45 (14 years ago)
- Location:
- trunk/src
- Files:
-
- 8 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/dataFlowSet.c
r95 r96 1087 1087 #ifdef IPV6LINKAGG 1088 1088 if ( ( isIPv6 == 1 ) && (isMplsFlow == 0) ){ 1089 for (i=0; i<MAX_INDEX_BY_ROUTER; i++){ /* FIXME : to optimized */1090 if (agCache.inputSnmp == myPtrs->currentRouterPtr->snmpIndexID[i] ) {1091 break;1092 }1093 }1094 /* FIXME : here we need to make two case switch sampling values !!! */1095 1089 ((struct IndexV6 *)((myPtrs->currentV6IndexTab) 1096 1090 +((myPtrs->currentRouterPtr->ID)*ROUTER_INDEX_MAX) 1097 +(agCache.inputSnmp)))->bytesNbIN = agCache.bytes; 1098 for (i=0; i<MAX_INDEX_BY_ROUTER; i++){ /* FIXME : to optimized */ 1099 if (agCache.outputSnmp == myPtrs->currentRouterPtr->snmpIndexID[i] ) { 1100 break; 1101 } 1102 } 1091 +(agCache.inputSnmp)))->routerIPAddress = myPtrs->currentRouterPtr->IpAddress; 1103 1092 ((struct IndexV6 *)((myPtrs->currentV6IndexTab) 1104 1093 +((myPtrs->currentRouterPtr->ID)*ROUTER_INDEX_MAX) 1105 +(agCache.outputSnmp)))->bytesNbOUT = agCache.bytes; 1094 +(agCache.inputSnmp)))->indexSNMP = agCache.inputSnmp; 1095 ((struct IndexV6 *)((myPtrs->currentV6IndexTab) 1096 +((myPtrs->currentRouterPtr->ID)*ROUTER_INDEX_MAX) 1097 +(agCache.outputSnmp)))->indexSNMP = agCache.outputSnmp; 1098 /* FIXME, error or warning if (indexSNMP != agCache.outputSnmp) */ 1099 ((struct IndexV6 *)((myPtrs->currentV6IndexTab) 1100 +((myPtrs->currentRouterPtr->ID)*ROUTER_INDEX_MAX) 1101 +(agCache.inputSnmp)))->hasStats = 1; 1102 ((struct IndexV6 *)((myPtrs->currentV6IndexTab) 1103 +((myPtrs->currentRouterPtr->ID)*ROUTER_INDEX_MAX) 1104 +(agCache.outputSnmp)))->hasStats = 1; 1105 ((struct IndexV6 *)((myPtrs->currentV6IndexTab) 1106 +((myPtrs->currentRouterPtr->ID)*ROUTER_INDEX_MAX) 1107 +(agCache.inputSnmp)))->bytesNbIN += agCache.bytes; 1108 ((struct IndexV6 *)((myPtrs->currentV6IndexTab) 1109 +((myPtrs->currentRouterPtr->ID)*ROUTER_INDEX_MAX) 1110 +(agCache.outputSnmp)))->bytesNbOUT += agCache.bytes; 1111 ((struct IndexV6 *)((myPtrs->currentV6IndexTab) 1112 +((myPtrs->currentRouterPtr->ID)*ROUTER_INDEX_MAX) 1113 +(agCache.inputSnmp)))->pktsNbIN += agCache.pkts; 1114 ((struct IndexV6 *)((myPtrs->currentV6IndexTab) 1115 +((myPtrs->currentRouterPtr->ID)*ROUTER_INDEX_MAX) 1116 +(agCache.outputSnmp)))->pktsNbOUT += agCache.pkts; 1117 ((struct IndexV6 *)((myPtrs->currentV6IndexTab) 1118 +((myPtrs->currentRouterPtr->ID)*ROUTER_INDEX_MAX) 1119 +(agCache.inputSnmp)))->flowNbIN++; 1120 ((struct IndexV6 *)((myPtrs->currentV6IndexTab) 1121 +((myPtrs->currentRouterPtr->ID)*ROUTER_INDEX_MAX) 1122 +(agCache.outputSnmp)))->flowNbOUT++; 1106 1123 isIPv6 = 0; 1107 fprintf(stderr,"IPV6LINKAGG .%hu -> .%hu , router : %lu\n", 1108 agCache.inputSnmp, 1109 agCache.outputSnmp, 1110 myPtrs->currentRouterPtr->IpAddress 1111 ); 1124 /* fprintf(stderr,"IPV6LINKAGG;IN;%hu;OUT;%hu;router;%lu;bytes;%lu\n", */ 1125 /* agCache.inputSnmp, */ 1126 /* agCache.outputSnmp, */ 1127 /* myPtrs->currentRouterPtr->IpAddress, */ 1128 /* agCache.bytes */ 1129 /* ); */ 1112 1130 } 1113 1131 #endif /* IPV6LINKAGG */ -
trunk/src/get_conf.h
r95 r96 78 78 struct IndexV6{ 79 79 unsigned long routerIPAddress; 80 unsigned short hasStats; 80 81 unsigned short indexSNMP; 82 unsigned long sampling; 81 83 unsigned long long flowNbIN; /* WARNING !!! */ 82 84 unsigned long long bytesNbIN; /* Here, IN means "IN the equipement" */ -
trunk/src/renetcol.c
r95 r96 101 101 102 102 #if defined(IPV4AGGIDR) 103 fprintf(stderr, "renetcol compilation and execution with IPv4 Aggregation feature enable based on routers ID in %s file.\n", ROUTERS_LIST);103 fprintf(stderr, "renetcol compilation and execution with IPv4 Prefixes Aggregation feature enable based on routers ID in %s file.\n", ROUTERS_LIST); 104 104 #endif 105 105 106 106 #if defined(IPV4AGGIDSNMP) 107 fprintf(stderr, "renetcol compilation and execution with IPv4 Aggregation feature enable based on SNMP ID in %s file.\n", INTERFACES_TYPE_LIST);107 fprintf(stderr, "renetcol compilation and execution with IPv4 Prefixes Aggregation feature enable based on SNMP ID in %s file.\n", INTERFACES_TYPE_LIST); 108 108 #endif 109 109 #if defined(IPV6AGGIDSNMP) 110 fprintf(stderr, "renetcol compilation and execution with IPv6 Aggregation feature enable based on SNMP ID in %s file.\n", INTERFACES_TYPE_LIST);110 fprintf(stderr, "renetcol compilation and execution with IPv6 Prefixes Aggregation feature enable based on SNMP ID in %s file.\n", INTERFACES_TYPE_LIST); 111 111 #endif 112 112 #if defined(IPV6LINKAGG) … … 166 166 } 167 167 #if defined(IPV6AGGIDSNMP) 168 fprintf(stderr, "ci0\n");169 168 if ( (shmForAgg->v6PrefixNb = 170 169 getPrefixV6(SUBNETS_V6_LIST, … … 184 183 exit(1); 185 184 } 186 fprintf(stderr, "ci00\n");187 185 #endif 188 186 … … 236 234 exit(4); 237 235 } 238 fprintf(stderr, " handler, SIGUSR1 from renetcolSender\n");239 236 /* handler, SIGUSR1 from renetcolSender */ 240 237 myAction.sa_handler = sigusr1Mgmt; … … 244 241 sigaction (SIGUSR1, &myAction, NULL); 245 242 246 fprintf(stderr, " Cache for fast rules access\n");247 243 /* Cache for fast rules access */ 248 244 setCache(myPtrs.rulesListPtr); 249 245 myPtrs.rulesAddressPtr = (RuleDefPtr *)rulesAddress; 250 fprintf(stderr, "IPC messages queue init\n");251 246 /* IPC messages queue init */ 252 247 myKey = createKey(argv[0]); 253 248 myQueue = createQueue(myKey); 254 249 sendMyPid(myQueue); 255 fprintf(stderr, "get SNMP index information\n");256 250 /* get SNMP index information */ 257 251 #ifdef IPV4AGGIDSNMP … … 272 266 myPtrs.secondV4Tab = shmForAgg->prefixV4Tab[shmForAgg->secondTable]; 273 267 #ifdef IPV6AGGIDSNMP 274 fprintf(stderr, "ci1\n");275 268 myPtrs.currentV6Tab = shmForAgg->prefixV6Tab[shmForAgg->currentTable]; 276 269 myPtrs.secondV6Tab = shmForAgg->prefixV6Tab[shmForAgg->secondTable]; 277 270 #endif 278 271 #ifdef IPV6LINKAGG 279 fprintf(stderr, "ci2\n");280 272 myPtrs.currentV6IndexTab = shmForAgg->indexV6Tab[shmForAgg->currentTable]; 281 273 myPtrs.secondV6IndexTab = shmForAgg->indexV6Tab[shmForAgg->secondTable]; 282 fprintf(stderr, "ci3\n");283 274 #endif 284 275 #ifdef ASACC … … 306 297 /* INIT IPV6 index TABLES */ 307 298 #ifdef IPV6LINKAGG 308 fprintf(stderr, "ci\n");309 299 for (i=0; i<ROUTER_INDEX_MAX; i++){ 310 300 for (j=0; j<MAX_INDEX_BY_ROUTER; j++) { 301 shmForAgg->indexV6Tab[0][i][j].hasStats = 0; 302 shmForAgg->indexV6Tab[0][i][j].sampling = 0; 311 303 shmForAgg->indexV6Tab[0][i][j].bytesNbIN = 0; 312 304 shmForAgg->indexV6Tab[0][i][j].pktsNbIN = 0; 313 305 shmForAgg->indexV6Tab[0][i][j].flowNbIN = 0; 306 shmForAgg->indexV6Tab[0][i][j].bytesNbOUT = 0; 307 shmForAgg->indexV6Tab[0][i][j].pktsNbOUT = 0; 308 shmForAgg->indexV6Tab[0][i][j].flowNbOUT = 0; 309 shmForAgg->indexV6Tab[1][i][j].hasStats = 0; 310 shmForAgg->indexV6Tab[1][i][j].sampling = 0; 311 shmForAgg->indexV6Tab[1][i][j].bytesNbIN = 0; 312 shmForAgg->indexV6Tab[1][i][j].pktsNbIN = 0; 313 shmForAgg->indexV6Tab[1][i][j].flowNbIN = 0; 314 314 shmForAgg->indexV6Tab[1][i][j].bytesNbOUT = 0; 315 315 shmForAgg->indexV6Tab[1][i][j].pktsNbOUT = 0; … … 317 317 } 318 318 } 319 fprintf(stderr, "icci\n");320 319 #endif 321 320 … … 508 507 int gardeFou = 0; 509 508 time_t lastIPOutput, lastMPLSOutput; 509 RouterPtr tmp = routersListPtr; 510 int dd = 0; 511 FILE *TPLFILE; 510 512 511 513 now = time((time_t *)NULL); … … 533 535 #ifdef MATRIX 534 536 myPtrs.matrixPOP = &(shmForAgg->matrixPOP[shmForAgg->currentTable][0][0]); 537 #endif 538 #ifdef IPV6LINKAGG 539 myPtrs.currentV6IndexTab = &(shmForAgg->indexV6Tab[shmForAgg->currentTable][0][0]); 540 myPtrs.secondV6IndexTab = &(shmForAgg->indexV6Tab[shmForAgg->secondTable][0][0]); 541 if (!(TPLFILE = fopen("/tmp/IPV6LINKAGG.txt", "w"))) { 542 syslog (LOG_ERR, "error during %s opening", "/tmp/IPV6LINKAGG.txt"); 543 } 544 tmp = routersListPtr; 545 for (; tmp; tmp=tmp->next) { 546 for (dd=0;dd<MAX_INDEX_BY_ROUTER;dd++) { 547 if ( tmp->snmpIndexType[dd] != 2) { 548 fprintf(TPLFILE, 549 "router: %lu.%lu.%lu.%lu dd: %hu , indexSNMP : %hu , type : %hu ,total bytes IN : %llu, OUT : %llu\n", 550 (tmp->IpAddress>>24), 551 (tmp->IpAddress<<8>>24), 552 (tmp->IpAddress<<16>>24), 553 (tmp->IpAddress<<24>>24), 554 dd, 555 tmp->snmpIndexID[dd], 556 tmp->snmpIndexType[dd], 557 ((struct IndexV6 *)((myPtrs.secondV6IndexTab) 558 +((tmp->ID)*ROUTER_INDEX_MAX) 559 +(tmp->snmpIndexID[dd])))->bytesNbIN, 560 ((struct IndexV6 *)((myPtrs.secondV6IndexTab) 561 +((tmp->ID)*ROUTER_INDEX_MAX) 562 +(tmp->snmpIndexID[dd])))->bytesNbOUT 563 ); 564 } 565 } 566 } 567 fclose(TPLFILE); 535 568 #endif 536 569 } -
trunk/src/renetcolAgg.c
r75 r96 4 4 * Authors: ANDREU Francois-Xavier 5 5 * 6 * Copyright (C) 2007 GIP RENATER6 * Copyright (C) 2007 - 2009 GIP RENATER 7 7 */ 8 8 … … 53 53 static char name[2048]; 54 54 static char ipStr[24]; 55 #ifdef IPV6LINKAGG 56 static char ipv6LinkStr[40]; /* 10_0_0_1_20_136 <router address> + <sampling> + <SNMP index> */ 57 #endif 55 58 #if defined(MATRIX) && defined(IPV4AGGIDR) 56 59 static char indexStr[24]; … … 596 599 } 597 600 } 601 #ifdef IPV6LINKAGG 602 /* 603 * 604 * IPv6 Links ACCOUNTING 605 * 606 */ 607 for (i=0; i<ROUTER_INDEX_MAX; i++){ 608 for (j=0; j<MAX_INDEX_BY_ROUTER; j++) { 609 /* HERE create or update RRD FILE for IPV6 LINKs AGGregation */ 610 if (shmForAgg->indexV6Tab[index][i][j].hasStats == 1) { 611 for (k=0; k<strlen(name); k++) {name[k] = '\0';} 612 for (k=0; k<strlen(createstr); k++) {createstr[k] = '\0';} 613 for (k=0; k<strlen(ipv6LinkStr); k++) {ipv6LinkStr[k] = '\0';} 614 for (k=0; k<strlen(buf); k++) {buf[k] = '\0';} 615 strcat(name, SNMP_INDEX_RRD_LOCATION); 616 sprintf(ipv6LinkStr, "%lu_%lu_%lu_%lu_%hu_%hu", 617 shmForAgg->indexV6Tab[index][i][j].routerIPAddress>>24, 618 shmForAgg->indexV6Tab[index][i][j].routerIPAddress<<8>>24, 619 shmForAgg->indexV6Tab[index][i][j].routerIPAddress<<16>>24, 620 shmForAgg->indexV6Tab[index][i][j].routerIPAddress<<24>>24, 621 (unsigned short) 1, 622 shmForAgg->indexV6Tab[index][i][j].indexSNMP 623 ); 624 strcat(name, ipv6LinkStr); 625 strcat(name, RRD_EXTENSION); 626 if ( (fp=fopen(name,"r")) == NULL ){ 627 opt[0]= (char *) malloc((strlen(RRD_PARAM_INDEX_0) + 1) * sizeof(char)); 628 strcpy(opt[0], RRD_PARAM_INDEX_0); 629 opt[1]= (char *) malloc((strlen(name) + 1) * sizeof(char)); 630 strcpy(opt[1], name); 631 opt[2]= (char *) malloc((strlen(RRD_PARAM_INDEX_1) + 1) * sizeof(char)); 632 strcpy(opt[2], RRD_PARAM_INDEX_1); 633 opt[3]= (char *) malloc((strlen(RRD_PARAM_INDEX_2) + 1) * sizeof(char)); 634 strcpy(opt[3], RRD_PARAM_INDEX_2); 635 opt[4]= (char *) malloc((strlen(RRD_PARAM_INDEX_3) + 1) * sizeof(char)); 636 strcpy(opt[4], RRD_PARAM_INDEX_3); 637 opt[5]= (char *) malloc((strlen(RRD_PARAM_INDEX_4) + 1) * sizeof(char)); 638 strcpy(opt[5], RRD_PARAM_INDEX_4); 639 opt[6]= (char *) malloc((strlen(RRD_PARAM_INDEX_5) + 1) * sizeof(char)); 640 strcpy(opt[6], RRD_PARAM_INDEX_5); 641 opt[7]= (char *) malloc((strlen(RRD_PARAM_INDEX_6) + 1) * sizeof(char)); 642 strcpy(opt[7], RRD_PARAM_INDEX_6); 643 opt[8]= (char *) malloc((strlen(RRD_PARAM_INDEX_7) + 1) * sizeof(char)); 644 strcpy(opt[8], RRD_PARAM_INDEX_7); 645 opt[9]= (char *) malloc((strlen(RRD_PARAM_INDEX_8) + 1) * sizeof(char)); 646 strcpy(opt[9], RRD_PARAM_INDEX_8); 647 opt[10]= (char *) malloc((strlen(RRD_PARAM_INDEX_9) + 1) * sizeof(char)); 648 strcpy(opt[10], RRD_PARAM_INDEX_9); 649 opt[11]= (char *) malloc((strlen(RRD_PARAM_INDEX_10) + 1) * sizeof(char)); 650 strcpy(opt[11], RRD_PARAM_INDEX_10); 651 opt[12]= (char *) malloc((strlen(RRD_PARAM_INDEX_11) + 1) * sizeof(char)); 652 strcpy(opt[12], RRD_PARAM_INDEX_11); 653 opt[13]= (char *) malloc((strlen(RRD_PARAM_INDEX_12) + 1) * sizeof(char)); 654 strcpy(opt[13], RRD_PARAM_INDEX_12); 655 opt[14]= (char *) malloc((strlen(RRD_PARAM_INDEX_13) + 1) * sizeof(char)); 656 strcpy(opt[14], RRD_PARAM_INDEX_13); 657 opt[15]= (char *) malloc((strlen(RRD_PARAM_INDEX_14) + 1) * sizeof(char)); 658 strcpy(opt[15], RRD_PARAM_INDEX_14); 659 opt[16]= (char *) malloc((strlen(RRD_PARAM_INDEX_15) + 1) * sizeof(char)); 660 strcpy(opt[16], RRD_PARAM_INDEX_15); 661 opt[17]= (char *) malloc((strlen(RRD_PARAM_INDEX_16) + 1) * sizeof(char)); 662 strcpy(opt[17], RRD_PARAM_INDEX_16); 663 opt[18]= (char *) malloc((strlen(RRD_PARAM_INDEX_17) + 1) * sizeof(char)); 664 strcpy(opt[18], RRD_PARAM_INDEX_17); 665 optind = opterr = 0; 666 rrd_clear_error(); 667 if ( rrd_create(19,opt) < 0) { 668 syslog(LOG_ERR, "RRD create file %s, error: %s\n", name, rrd_get_error()); 669 rrd_create_er_ct++; 670 } else { 671 rrd_create_ok_ct++; 672 } 673 for ( k=0; k<19; k++) { 674 free(opt[k]); 675 opt[k] = NULL; 676 } 677 }else{ 678 fclose(fp); 679 rrd_already_created_ct++; 680 snprintf(buf, 681 2048, 682 "%lu:%llu:%llu:%llu:%llu:%llu:%llu", 683 now-300, /* or ctime(&now) with %s */ 684 shmForAgg->indexV6Tab[index][i][j].flowNbIN, /* 1 */ 685 shmForAgg->indexV6Tab[index][i][j].flowNbOUT, 686 shmForAgg->indexV6Tab[index][i][j].bytesNbIN, 687 shmForAgg->indexV6Tab[index][i][j].bytesNbOUT, 688 shmForAgg->indexV6Tab[index][i][j].pktsNbIN, /* 5 */ 689 shmForAgg->indexV6Tab[index][i][j].pktsNbOUT 690 ); 691 optUpdate[0]= (char *) malloc((strlen(RRD_UPDATE_0) + 1) * sizeof(char)); 692 strcpy(optUpdate[0], RRD_UPDATE_0); 693 optUpdate[1]= (char *) malloc((strlen(name) + 1) * sizeof(char)); 694 strcpy(optUpdate[1], name); 695 optUpdate[2]= (char *) malloc((strlen(buf) + 1) * sizeof(char)); 696 strcpy(optUpdate[2], buf); 697 optind = opterr = 0; 698 rrd_clear_error(); 699 if ( rrd_update(3, optUpdate) < 0 ) { 700 syslog(LOG_ERR, "RRD update file %s, error: %s\n", name, rrd_get_error()); 701 rrd_update_er_ct++; 702 } else { 703 rrd_update_ok_ct++; 704 } 705 for ( k=0; k<3; k++) { 706 free(optUpdate[k]); 707 optUpdate[k] = NULL; 708 } 709 } 710 shmForAgg->indexV6Tab[index][i][j].bytesNbIN = 0; 711 shmForAgg->indexV6Tab[index][i][j].pktsNbIN = 0; 712 shmForAgg->indexV6Tab[index][i][j].flowNbIN = 0; 713 shmForAgg->indexV6Tab[index][i][j].bytesNbOUT = 0; 714 shmForAgg->indexV6Tab[index][i][j].pktsNbOUT = 0; 715 shmForAgg->indexV6Tab[index][i][j].flowNbOUT = 0; 716 } 717 } 718 } 719 #endif 598 720 #endif /* AS */ 599 721 now2 = time((time_t *)NULL); … … 669 791 } 670 792 #endif 793 #ifdef IPV6LINKAGG 794 for (i=0; i<ROUTER_INDEX_MAX; i++){ 795 for (j=0; j<MAX_INDEX_BY_ROUTER; j++) { 796 shmForAgg->indexV6Tab[index][i][j].bytesNbIN = 0; 797 shmForAgg->indexV6Tab[index][i][j].pktsNbIN = 0; 798 shmForAgg->indexV6Tab[index][i][j].flowNbIN = 0; 799 shmForAgg->indexV6Tab[index][i][j].bytesNbOUT = 0; 800 shmForAgg->indexV6Tab[index][i][j].pktsNbOUT = 0; 801 shmForAgg->indexV6Tab[index][i][j].flowNbOUT = 0; 802 } 803 } 804 #endif 671 805 } /* end is first update */ 672 806 } /* end read ok */ -
trunk/src/renetcolAgg.h
r95 r96 61 61 #endif 62 62 struct PrefixV6 prefixV6Tab[2][MAX_IPV6_PREFIX]; 63 #if def IPV6LINKAGG && IPV6AGGIDSNMP63 #if defined(IPV6LINKAGG) && defined(IPV6AGGIDSNMP) 64 64 struct IndexV6 indexV6Tab[2][ROUTER_INDEX_MAX][MAX_INDEX_BY_ROUTER]; 65 65 #endif -
trunk/src/renetcolParam.h
r95 r96 100 100 #define MATRIX_RRD_LOCATION "/mnt/data/RRD/RENATER/MATRIX/" 101 101 #define AS_RRD_LOCATION "/mnt/data/RRD/RENATER/AS/" 102 #define SNMP_INDEX_RRD_LOCATION "/mnt/data/RRD/RENATER/SNMP_INDEX/" 102 103 103 104 /* … … 178 179 #define RRD_PARAM_AS_16 "RRA:MAX:0.5:24:1550" 179 180 #define RRD_PARAM_AS_17 "RRA:MAX:0.5:288:1594" 181 #define RRD_PARAM_INDEX_0 "rrdcreate" 182 #define RRD_PARAM_INDEX_1 "--start" 183 #define RRD_PARAM_INDEX_2 "1106560200" 184 #define RRD_PARAM_INDEX_3 "--step" 185 #define RRD_PARAM_INDEX_4 "300" 186 #define RRD_PARAM_INDEX_5 "DS:inFlows:GAUGE:600:U:U" 187 #define RRD_PARAM_INDEX_6 "DS:outFlows:GAUGE:600:U:U" 188 #define RRD_PARAM_INDEX_7 "DS:inBytes:GAUGE:600:U:U" 189 #define RRD_PARAM_INDEX_8 "DS:outBytes:GAUGE:600:U:U" 190 #define RRD_PARAM_INDEX_9 "DS:inPkts:GAUGE:600:U:U" 191 #define RRD_PARAM_INDEX_10 "DS:outPkts:GAUGE:600:U:U" 192 #define RRD_PARAM_INDEX_11 "RRA:AVERAGE:0.5:1:2100" 193 #define RRD_PARAM_INDEX_12 "RRA:AVERAGE:0.5:24:1550" 194 #define RRD_PARAM_INDEX_13 "RRA:AVERAGE:0.5:288:1594" 195 #define RRD_PARAM_INDEX_14 "RRA:AVERAGE:0.5:2016:1040" 196 #define RRD_PARAM_INDEX_15 "RRA:MAX:0.5:1:2100" 197 #define RRD_PARAM_INDEX_16 "RRA:MAX:0.5:24:1550" 198 #define RRD_PARAM_INDEX_17 "RRA:MAX:0.5:288:1594" 180 199 #define RRD_UPDATE_0 "rrdupdate" 181 200 #define RECEPT_PORT "52571" -
trunk/src/routers_mgmt.c
r95 r96 164 164 char tad[16]; 165 165 int index = 0; 166 int i = 0; 166 167 unsigned short n0, n1, n2, n3; 167 168 unsigned char buffer4[4]; … … 201 202 exit(1); 202 203 } 204 for (i=0; i<MAX_INDEX_BY_ROUTER; i++) { 205 routerTmp->snmpIndexType[i] = 2; 206 routerTmp->snmpIndexID[i] = 0; 207 } 203 208 snmpCpt = 0; 204 209 }else{ 210 if (snmpCpt==0){ 211 routerTmp->snmpIndexType[0] = 1; 212 routerTmp->snmpIndexID[0] = 0; 213 snmpCpt++; 214 } 205 215 if ( strspn(line, "I") == 1 ) { 206 216 if (sscanf(line, "%s %s %s\n", … … 217 227 routerTmp->snmpIndexID[snmpCpt] = index; 218 228 routerTmp->snmpIndexType[snmpCpt] = 0; 229 /* fprintf(stderr, "snmpCpt %hu --> 0 \n", snmpCpt); */ 219 230 } else if ( strcmp(tid, "C") == 0 ) { 220 231 routerTmp->snmpIndexList[index] = 1; 221 232 routerTmp->snmpIndexID[snmpCpt] = index; 222 233 routerTmp->snmpIndexType[snmpCpt] = 1; 234 /* fprintf(stderr, "snmpCpt %hu --> 1 , indexSNMP: %hu\n", snmpCpt, index); */ 223 235 } else { 224 236 fprintf(stderr, "Error in file %s, line %d : bad code B or C \n", … … 226 238 exit(1); 227 239 } 240 snmpCpt++; 228 241 } else { 229 242 fprintf(stderr, "Error in file %s, line %d : bad index line \n", -
trunk/src/routers_mgmt.h
r95 r96 47 47 TplFlowSetPtr tplList; /* list of the template definition */ 48 48 TplOptionPtr tplOptList; /* list of the optional template definitions */ 49 unsigned long sampled; /* sampling value: (one for) 10, 100 or 1(full mode)*/50 unsigned short ID; /* internal ID */49 unsigned long sampled; /* sampling value: (one for) 10, 100 or 1(full mode)*/ 50 unsigned short ID; /* internal ID, create during routers file reading */ 51 51 #ifdef IPV4AGGIDSNMP 52 unsigned short snmpIndexList[MAX_SNMP_INDEX]; /* 0:Backbone, 1:Customer */53 unsigned short snmpIndexType[MAX_INDEX_BY_ROUTER]; /* 0:Backbone, 1:Customer */54 unsigned short snmpIndexID[MAX_INDEX_BY_ROUTER]; 52 unsigned short snmpIndexList[MAX_SNMP_INDEX]; /* 0:Backbone, 1:Customer */ 53 unsigned short snmpIndexType[MAX_INDEX_BY_ROUTER]; /* 0:Backbone, 1:Customer use rtr ID*/ 54 unsigned short snmpIndexID[MAX_INDEX_BY_ROUTER]; /* use ID , router ID */ 55 55 #endif 56 56 RouterPtr next;