Changeset 162

Show
Ignore:
Timestamp:
12/13/12 11:59:16 (10 years ago)
Author:
andreu
Message:

first SMP version

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/renetcolSMP/src/renetcolAgg.c

    r161 r162  
    55 * 
    66 * Copyright (C) 2007-2011 GIP RENATER 
     7 * Copyright (C) 2012 ANDREU Francois-Xavier 
    78 */ 
    89 
     
    3536#include "renetcolAgg.h" 
    3637 
    37 struct SHMForAgg *shmForAgg; 
     38struct SHMForAgg Global; 
     39struct SHMForAgg *shmForAgg = &Global; 
     40struct SHMForAgg *SMP1_shmForAgg; 
     41struct SHMForAgg *SMP2_shmForAgg; 
     42struct SHMForAgg *SMP3_shmForAgg; 
     43struct SHMForAgg *SMP4_shmForAgg; 
    3844 
    3945int 
    4046main(int argc, char *argv[]) 
    4147{ 
    42     int shmid; 
     48    int shmid1, shmid2, shmid3, shmid4; 
    4349    int i, j, k = 0; 
    4450    int index = 1; 
     
    6773 
    6874    key = 8765; 
    69     if ((shmid = shmget(key, SHMSIZE, 0666)) < 0) 
     75    if ((shmid1 = shmget(key, SHMSIZE, 0666)) < 0) 
    7076    { 
    7177        perror("shmget"); 
    7278        exit(1); 
    7379    } 
    74     if ((shmForAgg = (struct SHMForAgg *)shmat(shmid, (void *)0, 0)) == (void *) -1) 
     80    if ((SMP1_shmForAgg = (struct SHMForAgg *)shmat(shmid1, (void *)0, 0)) == (void *) -1) 
     81    { 
     82        perror("shmat"); 
     83        exit(1); 
     84    } 
     85    key = 8766; 
     86    if ((shmid2 = shmget(key, SHMSIZE, 0666)) < 0) 
     87    { 
     88        perror("shmget"); 
     89        exit(1); 
     90    } 
     91    if ((SMP2_shmForAgg = (struct SHMForAgg *)shmat(shmid2, (void *)0, 0)) == (void *) -1) 
     92    { 
     93        perror("shmat"); 
     94        exit(1); 
     95    } 
     96    key = 8767; 
     97    if ((shmid3 = shmget(key, SHMSIZE, 0666)) < 0) 
     98    { 
     99        perror("shmget"); 
     100        exit(1); 
     101    } 
     102    if ((SMP3_shmForAgg = (struct SHMForAgg *)shmat(shmid3, (void *)0, 0)) == (void *) -1) 
     103    { 
     104        perror("shmat"); 
     105        exit(1); 
     106    } 
     107    key = 8768; 
     108    if ((shmid4 = shmget(key, SHMSIZE, 0666)) < 0) 
     109    { 
     110        perror("shmget"); 
     111        exit(1); 
     112    } 
     113    if ((SMP4_shmForAgg = (struct SHMForAgg *)shmat(shmid4, (void *)0, 0)) == (void *) -1) 
    75114    { 
    76115        perror("shmat"); 
     
    88127    do 
    89128    { 
    90         if (shmForAgg->readed == 1) 
     129        if (SMP1_shmForAgg->readed == 1 && SMP2_shmForAgg->readed == 1 && SMP3_shmForAgg->readed == 1 && SMP4_shmForAgg->readed == 1) 
    91130        { 
    92             shmForAgg->readed = 0; 
    93             if (shmForAgg->currentTable == 0) 
     131                fprintf(stderr,"\n\nall 4 at 1 OK\n\n"); 
     132            SMP1_shmForAgg->readed = 0; 
     133            SMP2_shmForAgg->readed = 0; 
     134            SMP3_shmForAgg->readed = 0; 
     135            SMP4_shmForAgg->readed = 0; 
     136            shmForAgg->v4PrefixNb = SMP1_shmForAgg->v4PrefixNb; 
     137            shmForAgg->v4SubnetNb = SMP1_shmForAgg->v4SubnetNb; 
     138            shmForAgg->ASNb = SMP1_shmForAgg->ASNb; 
     139            /*shmForAgg->readed = 0;*/ 
     140            if (SMP1_shmForAgg->currentTable == 0) /* FIXME : we should check on the four currentTable !!!! */ 
    94141            { 
    95142                index = 1; 
     
    99146                index = 0; 
    100147            } 
     148            /* we add the four shared memory tables in one structure */ 
     149            for (i=0; i<shmForAgg->v4PrefixNb; i++) 
     150            { 
     151                shmForAgg->prefixV4Tab[index][i].flowNbIN = SMP1_shmForAgg->prefixV4Tab[index][i].flowNbIN + 
     152                                                            SMP2_shmForAgg->prefixV4Tab[index][i].flowNbIN + 
     153                                                            SMP3_shmForAgg->prefixV4Tab[index][i].flowNbIN + 
     154                                                            SMP4_shmForAgg->prefixV4Tab[index][i].flowNbIN; 
     155                shmForAgg->prefixV4Tab[index][i].bytesNbIN = SMP1_shmForAgg->prefixV4Tab[index][i].bytesNbIN + 
     156                                                             SMP2_shmForAgg->prefixV4Tab[index][i].bytesNbIN + 
     157                                                             SMP3_shmForAgg->prefixV4Tab[index][i].bytesNbIN + 
     158                                                             SMP4_shmForAgg->prefixV4Tab[index][i].bytesNbIN; 
     159                shmForAgg->prefixV4Tab[index][i].pktsNbIN = SMP1_shmForAgg->prefixV4Tab[index][i].pktsNbIN + 
     160                                                            SMP2_shmForAgg->prefixV4Tab[index][i].pktsNbIN + 
     161                                                            SMP3_shmForAgg->prefixV4Tab[index][i].pktsNbIN + 
     162                                                            SMP4_shmForAgg->prefixV4Tab[index][i].pktsNbIN; 
     163                shmForAgg->prefixV4Tab[index][i].flowNbOUT = SMP1_shmForAgg->prefixV4Tab[index][i].flowNbOUT + 
     164                                                             SMP2_shmForAgg->prefixV4Tab[index][i].flowNbOUT + 
     165                                                             SMP3_shmForAgg->prefixV4Tab[index][i].flowNbOUT + 
     166                                                             SMP4_shmForAgg->prefixV4Tab[index][i].flowNbOUT; 
     167                shmForAgg->prefixV4Tab[index][i].bytesNbOUT = SMP1_shmForAgg->prefixV4Tab[index][i].bytesNbOUT + 
     168                                                              SMP2_shmForAgg->prefixV4Tab[index][i].bytesNbOUT + 
     169                                                              SMP3_shmForAgg->prefixV4Tab[index][i].bytesNbOUT + 
     170                                                              SMP4_shmForAgg->prefixV4Tab[index][i].bytesNbOUT; 
     171                shmForAgg->prefixV4Tab[index][i].pktsNbOUT = SMP1_shmForAgg->prefixV4Tab[index][i].pktsNbOUT + 
     172                                                             SMP2_shmForAgg->prefixV4Tab[index][i].pktsNbOUT + 
     173                                                             SMP3_shmForAgg->prefixV4Tab[index][i].pktsNbOUT + 
     174                                                             SMP4_shmForAgg->prefixV4Tab[index][i].pktsNbOUT; 
     175                shmForAgg->prefixV4Tab[index][i].firstCoSIN = SMP1_shmForAgg->prefixV4Tab[index][i].firstCoSIN + 
     176                                                              SMP2_shmForAgg->prefixV4Tab[index][i].firstCoSIN + 
     177                                                              SMP3_shmForAgg->prefixV4Tab[index][i].firstCoSIN + 
     178                                                              SMP4_shmForAgg->prefixV4Tab[index][i].firstCoSIN; 
     179                shmForAgg->prefixV4Tab[index][i].secondCoSIN = SMP1_shmForAgg->prefixV4Tab[index][i].secondCoSIN + 
     180                                                               SMP2_shmForAgg->prefixV4Tab[index][i].secondCoSIN + 
     181                                                               SMP3_shmForAgg->prefixV4Tab[index][i].secondCoSIN + 
     182                                                               SMP4_shmForAgg->prefixV4Tab[index][i].secondCoSIN; 
     183                shmForAgg->prefixV4Tab[index][i].thirdCoSIN = SMP1_shmForAgg->prefixV4Tab[index][i].thirdCoSIN + 
     184                                                              SMP2_shmForAgg->prefixV4Tab[index][i].thirdCoSIN + 
     185                                                              SMP3_shmForAgg->prefixV4Tab[index][i].thirdCoSIN + 
     186                                                              SMP4_shmForAgg->prefixV4Tab[index][i].thirdCoSIN; 
     187                shmForAgg->prefixV4Tab[index][i].fourthCoSIN = SMP1_shmForAgg->prefixV4Tab[index][i].fourthCoSIN + 
     188                                                               SMP2_shmForAgg->prefixV4Tab[index][i].fourthCoSIN + 
     189                                                               SMP3_shmForAgg->prefixV4Tab[index][i].fourthCoSIN + 
     190                                                               SMP4_shmForAgg->prefixV4Tab[index][i].fourthCoSIN; 
     191                shmForAgg->prefixV4Tab[index][i].firstCoSOUT = SMP1_shmForAgg->prefixV4Tab[index][i].firstCoSOUT + 
     192                                                               SMP2_shmForAgg->prefixV4Tab[index][i].firstCoSOUT + 
     193                                                               SMP3_shmForAgg->prefixV4Tab[index][i].firstCoSOUT + 
     194                                                               SMP4_shmForAgg->prefixV4Tab[index][i].firstCoSOUT; 
     195                shmForAgg->prefixV4Tab[index][i].secondCoSOUT = SMP1_shmForAgg->prefixV4Tab[index][i].secondCoSOUT + 
     196                                                                SMP2_shmForAgg->prefixV4Tab[index][i].secondCoSOUT + 
     197                                                                SMP3_shmForAgg->prefixV4Tab[index][i].secondCoSOUT + 
     198                                                                SMP4_shmForAgg->prefixV4Tab[index][i].secondCoSOUT; 
     199                shmForAgg->prefixV4Tab[index][i].thirdCoSOUT = SMP1_shmForAgg->prefixV4Tab[index][i].thirdCoSOUT + 
     200                                                               SMP2_shmForAgg->prefixV4Tab[index][i].thirdCoSOUT + 
     201                                                               SMP3_shmForAgg->prefixV4Tab[index][i].thirdCoSOUT + 
     202                                                               SMP4_shmForAgg->prefixV4Tab[index][i].thirdCoSOUT; 
     203                shmForAgg->prefixV4Tab[index][i].fourthCoSOUT = SMP1_shmForAgg->prefixV4Tab[index][i].fourthCoSOUT + 
     204                                                                SMP2_shmForAgg->prefixV4Tab[index][i].fourthCoSOUT + 
     205                                                                SMP3_shmForAgg->prefixV4Tab[index][i].fourthCoSOUT + 
     206                                                                SMP4_shmForAgg->prefixV4Tab[index][i].fourthCoSOUT; 
     207        fprintf(stderr,"%llu %llu %llu %llu %llu\n",SMP1_shmForAgg->prefixV4Tab[index][i].fourthCoSOUT, 
     208SMP2_shmForAgg->prefixV4Tab[index][i].fourthCoSOUT, SMP3_shmForAgg->prefixV4Tab[index][i].fourthCoSOUT, SMP4_shmForAgg->prefixV4Tab[index][i].fourthCoSOUT, shmForAgg->prefixV4Tab[index][i].fourthCoSOUT); 
     209            } 
     210            for (i=0; i<shmForAgg->v4SubnetNb; i++) 
     211            { 
     212                shmForAgg->prefixV4SubnetTab[index][i].flowNbIN = SMP1_shmForAgg->prefixV4SubnetTab[index][i].flowNbIN + 
     213                                                            SMP2_shmForAgg->prefixV4SubnetTab[index][i].flowNbIN + 
     214                                                            SMP3_shmForAgg->prefixV4SubnetTab[index][i].flowNbIN + 
     215                                                            SMP4_shmForAgg->prefixV4SubnetTab[index][i].flowNbIN; 
     216                shmForAgg->prefixV4SubnetTab[index][i].bytesNbIN = SMP1_shmForAgg->prefixV4SubnetTab[index][i].bytesNbIN + 
     217                                                             SMP2_shmForAgg->prefixV4SubnetTab[index][i].bytesNbIN + 
     218                                                             SMP3_shmForAgg->prefixV4SubnetTab[index][i].bytesNbIN + 
     219                                                             SMP4_shmForAgg->prefixV4SubnetTab[index][i].bytesNbIN; 
     220                shmForAgg->prefixV4SubnetTab[index][i].pktsNbIN = SMP1_shmForAgg->prefixV4SubnetTab[index][i].pktsNbIN + 
     221                                                            SMP2_shmForAgg->prefixV4SubnetTab[index][i].pktsNbIN + 
     222                                                            SMP3_shmForAgg->prefixV4SubnetTab[index][i].pktsNbIN + 
     223                                                            SMP4_shmForAgg->prefixV4SubnetTab[index][i].pktsNbIN; 
     224                shmForAgg->prefixV4SubnetTab[index][i].flowNbOUT = SMP1_shmForAgg->prefixV4SubnetTab[index][i].flowNbOUT + 
     225                                                             SMP2_shmForAgg->prefixV4SubnetTab[index][i].flowNbOUT + 
     226                                                             SMP3_shmForAgg->prefixV4SubnetTab[index][i].flowNbOUT + 
     227                                                             SMP4_shmForAgg->prefixV4SubnetTab[index][i].flowNbOUT; 
     228                shmForAgg->prefixV4SubnetTab[index][i].bytesNbOUT = SMP1_shmForAgg->prefixV4SubnetTab[index][i].bytesNbOUT + 
     229                                                              SMP2_shmForAgg->prefixV4SubnetTab[index][i].bytesNbOUT + 
     230                                                              SMP3_shmForAgg->prefixV4SubnetTab[index][i].bytesNbOUT + 
     231                                                              SMP4_shmForAgg->prefixV4SubnetTab[index][i].bytesNbOUT; 
     232                shmForAgg->prefixV4SubnetTab[index][i].pktsNbOUT = SMP1_shmForAgg->prefixV4SubnetTab[index][i].pktsNbOUT + 
     233                                                             SMP2_shmForAgg->prefixV4SubnetTab[index][i].pktsNbOUT + 
     234                                                             SMP3_shmForAgg->prefixV4SubnetTab[index][i].pktsNbOUT + 
     235                                                             SMP4_shmForAgg->prefixV4SubnetTab[index][i].pktsNbOUT; 
     236                shmForAgg->prefixV4SubnetTab[index][i].firstCoSIN = SMP1_shmForAgg->prefixV4SubnetTab[index][i].firstCoSIN + 
     237                                                              SMP2_shmForAgg->prefixV4SubnetTab[index][i].firstCoSIN + 
     238                                                              SMP3_shmForAgg->prefixV4SubnetTab[index][i].firstCoSIN + 
     239                                                              SMP4_shmForAgg->prefixV4SubnetTab[index][i].firstCoSIN; 
     240                shmForAgg->prefixV4SubnetTab[index][i].secondCoSIN = SMP1_shmForAgg->prefixV4SubnetTab[index][i].secondCoSIN + 
     241                                                               SMP2_shmForAgg->prefixV4SubnetTab[index][i].secondCoSIN + 
     242                                                               SMP3_shmForAgg->prefixV4SubnetTab[index][i].secondCoSIN + 
     243                                                               SMP4_shmForAgg->prefixV4SubnetTab[index][i].secondCoSIN; 
     244                shmForAgg->prefixV4SubnetTab[index][i].thirdCoSIN = SMP1_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSIN + 
     245                                                              SMP2_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSIN + 
     246                                                              SMP3_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSIN + 
     247                                                              SMP4_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSIN; 
     248                shmForAgg->prefixV4SubnetTab[index][i].fourthCoSIN = SMP1_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSIN + 
     249                                                               SMP2_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSIN + 
     250                                                               SMP3_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSIN + 
     251                                                               SMP4_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSIN; 
     252                shmForAgg->prefixV4SubnetTab[index][i].firstCoSOUT = SMP1_shmForAgg->prefixV4SubnetTab[index][i].firstCoSOUT + 
     253                                                               SMP2_shmForAgg->prefixV4SubnetTab[index][i].firstCoSOUT + 
     254                                                               SMP3_shmForAgg->prefixV4SubnetTab[index][i].firstCoSOUT + 
     255                                                               SMP4_shmForAgg->prefixV4SubnetTab[index][i].firstCoSOUT; 
     256                shmForAgg->prefixV4SubnetTab[index][i].secondCoSOUT = SMP1_shmForAgg->prefixV4SubnetTab[index][i].secondCoSOUT + 
     257                                                                SMP2_shmForAgg->prefixV4SubnetTab[index][i].secondCoSOUT + 
     258                                                                SMP3_shmForAgg->prefixV4SubnetTab[index][i].secondCoSOUT + 
     259                                                                SMP4_shmForAgg->prefixV4SubnetTab[index][i].secondCoSOUT; 
     260                shmForAgg->prefixV4SubnetTab[index][i].thirdCoSOUT = SMP1_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSOUT + 
     261                                                               SMP2_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSOUT + 
     262                                                               SMP3_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSOUT + 
     263                                                               SMP4_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSOUT; 
     264                shmForAgg->prefixV4SubnetTab[index][i].fourthCoSOUT = SMP1_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSOUT + 
     265                                                                SMP2_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSOUT + 
     266                                                                SMP3_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSOUT + 
     267                                                                SMP4_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSOUT; 
     268            } 
     269            for (i=0; i<shmForAgg->ASNb; i++) 
     270            { 
     271                shmForAgg->ASTab[index][i].flowNbIN = SMP1_shmForAgg->ASTab[index][i].flowNbIN + 
     272                                                      SMP2_shmForAgg->ASTab[index][i].flowNbIN + 
     273                                                      SMP3_shmForAgg->ASTab[index][i].flowNbIN + 
     274                                                      SMP4_shmForAgg->ASTab[index][i].flowNbIN; 
     275                shmForAgg->ASTab[index][i].bytesNbIN = SMP1_shmForAgg->ASTab[index][i].bytesNbIN + 
     276                                                       SMP2_shmForAgg->ASTab[index][i].bytesNbIN + 
     277                                                       SMP3_shmForAgg->ASTab[index][i].bytesNbIN + 
     278                                                       SMP4_shmForAgg->ASTab[index][i].bytesNbIN; 
     279                shmForAgg->ASTab[index][i].pktsNbIN = SMP1_shmForAgg->ASTab[index][i].pktsNbIN + 
     280                                                      SMP2_shmForAgg->ASTab[index][i].pktsNbIN + 
     281                                                      SMP3_shmForAgg->ASTab[index][i].pktsNbIN + 
     282                                                      SMP4_shmForAgg->ASTab[index][i].pktsNbIN; 
     283                shmForAgg->ASTab[index][i].flowNbOUT = SMP1_shmForAgg->ASTab[index][i].flowNbOUT + 
     284                                                       SMP2_shmForAgg->ASTab[index][i].flowNbOUT + 
     285                                                       SMP3_shmForAgg->ASTab[index][i].flowNbOUT + 
     286                                                       SMP4_shmForAgg->ASTab[index][i].flowNbOUT; 
     287                shmForAgg->ASTab[index][i].bytesNbOUT = SMP1_shmForAgg->ASTab[index][i].bytesNbOUT + 
     288                                                        SMP2_shmForAgg->ASTab[index][i].bytesNbOUT + 
     289                                                        SMP3_shmForAgg->ASTab[index][i].bytesNbOUT + 
     290                                                        SMP4_shmForAgg->ASTab[index][i].bytesNbOUT; 
     291                shmForAgg->ASTab[index][i].pktsNbOUT = SMP1_shmForAgg->ASTab[index][i].pktsNbOUT + 
     292                                                       SMP2_shmForAgg->ASTab[index][i].pktsNbOUT + 
     293                                                       SMP3_shmForAgg->ASTab[index][i].pktsNbOUT + 
     294                                                       SMP4_shmForAgg->ASTab[index][i].pktsNbOUT; 
     295            } 
     296            /* end of the sum */ 
     297            /* we need sampling information in the shmForAgg struct */ 
     298            for (i=0; i<shmForAgg->v4PrefixNb; i++) 
     299            { 
     300              shmForAgg->prefixV4Tab[index][i].sampling = SMP1_shmForAgg->prefixV4Tab[index][i].sampling; 
     301              shmForAgg->prefixV4Tab[index][i].beginning = SMP1_shmForAgg->prefixV4Tab[index][i].beginning; 
     302              shmForAgg->prefixV4Tab[index][i].mask = SMP1_shmForAgg->prefixV4Tab[index][i].mask; 
     303            } 
     304            for (i=0; i<shmForAgg->v4SubnetNb; i++) 
     305            { 
     306              shmForAgg->prefixV4SubnetTab[index][i].sampling = SMP1_shmForAgg->prefixV4SubnetTab[index][i].sampling; 
     307              shmForAgg->prefixV4SubnetTab[index][i].beginning = SMP1_shmForAgg->prefixV4SubnetTab[index][i].beginning; 
     308              shmForAgg->prefixV4SubnetTab[index][i].mask = SMP1_shmForAgg->prefixV4SubnetTab[index][i].mask; 
     309            } 
     310            for (i=0; i<shmForAgg->ASNb; i++) 
     311            { 
     312              shmForAgg->ASTab[index][i].sampling = SMP1_shmForAgg->ASTab[index][i].sampling; 
     313              shmForAgg->ASTab[index][i].as = SMP1_shmForAgg->ASTab[index][i].as; 
     314            } 
     315            /* end */ 
    101316            now = time((time_t *)NULL); 
    102317            if (isFirstUpdate == 0) 
     
    269484                        shmForAgg->prefixV4Tab[index][i].thirdCoSOUT = 0; 
    270485                        shmForAgg->prefixV4Tab[index][i].fourthCoSOUT = 0; 
     486 
     487                        SMP1_shmForAgg->prefixV4Tab[index][i].flowNbIN = 0; 
     488                        SMP1_shmForAgg->prefixV4Tab[index][i].bytesNbIN = 0; 
     489                        SMP1_shmForAgg->prefixV4Tab[index][i].pktsNbIN = 0; 
     490                        SMP1_shmForAgg->prefixV4Tab[index][i].flowNbOUT = 0; 
     491                        SMP1_shmForAgg->prefixV4Tab[index][i].bytesNbOUT = 0; 
     492                        SMP1_shmForAgg->prefixV4Tab[index][i].pktsNbOUT = 0; 
     493                        SMP1_shmForAgg->prefixV4Tab[index][i].firstCoSIN = 0; 
     494                        SMP1_shmForAgg->prefixV4Tab[index][i].secondCoSIN = 0; 
     495                        SMP1_shmForAgg->prefixV4Tab[index][i].thirdCoSIN = 0; 
     496                        SMP1_shmForAgg->prefixV4Tab[index][i].fourthCoSIN = 0; 
     497                        SMP1_shmForAgg->prefixV4Tab[index][i].firstCoSOUT = 0; 
     498                        SMP1_shmForAgg->prefixV4Tab[index][i].secondCoSOUT = 0; 
     499                        SMP1_shmForAgg->prefixV4Tab[index][i].thirdCoSOUT = 0; 
     500                        SMP1_shmForAgg->prefixV4Tab[index][i].fourthCoSOUT = 0; 
     501 
     502                        SMP2_shmForAgg->prefixV4Tab[index][i].flowNbIN = 0; 
     503                        SMP2_shmForAgg->prefixV4Tab[index][i].bytesNbIN = 0; 
     504                        SMP2_shmForAgg->prefixV4Tab[index][i].pktsNbIN = 0; 
     505                        SMP2_shmForAgg->prefixV4Tab[index][i].flowNbOUT = 0; 
     506                        SMP2_shmForAgg->prefixV4Tab[index][i].bytesNbOUT = 0; 
     507                        SMP2_shmForAgg->prefixV4Tab[index][i].pktsNbOUT = 0; 
     508                        SMP2_shmForAgg->prefixV4Tab[index][i].firstCoSIN = 0; 
     509                        SMP2_shmForAgg->prefixV4Tab[index][i].secondCoSIN = 0; 
     510                        SMP2_shmForAgg->prefixV4Tab[index][i].thirdCoSIN = 0; 
     511                        SMP2_shmForAgg->prefixV4Tab[index][i].fourthCoSIN = 0; 
     512                        SMP2_shmForAgg->prefixV4Tab[index][i].firstCoSOUT = 0; 
     513                        SMP2_shmForAgg->prefixV4Tab[index][i].secondCoSOUT = 0; 
     514                        SMP2_shmForAgg->prefixV4Tab[index][i].thirdCoSOUT = 0; 
     515                        SMP2_shmForAgg->prefixV4Tab[index][i].fourthCoSOUT = 0; 
     516 
     517                        SMP3_shmForAgg->prefixV4Tab[index][i].flowNbIN = 0; 
     518                        SMP3_shmForAgg->prefixV4Tab[index][i].bytesNbIN = 0; 
     519                        SMP3_shmForAgg->prefixV4Tab[index][i].pktsNbIN = 0; 
     520                        SMP3_shmForAgg->prefixV4Tab[index][i].flowNbOUT = 0; 
     521                        SMP3_shmForAgg->prefixV4Tab[index][i].bytesNbOUT = 0; 
     522                        SMP3_shmForAgg->prefixV4Tab[index][i].pktsNbOUT = 0; 
     523                        SMP3_shmForAgg->prefixV4Tab[index][i].firstCoSIN = 0; 
     524                        SMP3_shmForAgg->prefixV4Tab[index][i].secondCoSIN = 0; 
     525                        SMP3_shmForAgg->prefixV4Tab[index][i].thirdCoSIN = 0; 
     526                        SMP3_shmForAgg->prefixV4Tab[index][i].fourthCoSIN = 0; 
     527                        SMP3_shmForAgg->prefixV4Tab[index][i].firstCoSOUT = 0; 
     528                        SMP3_shmForAgg->prefixV4Tab[index][i].secondCoSOUT = 0; 
     529                        SMP3_shmForAgg->prefixV4Tab[index][i].thirdCoSOUT = 0; 
     530                        SMP3_shmForAgg->prefixV4Tab[index][i].fourthCoSOUT = 0; 
     531 
     532                        SMP4_shmForAgg->prefixV4Tab[index][i].flowNbIN = 0; 
     533                        SMP4_shmForAgg->prefixV4Tab[index][i].bytesNbIN = 0; 
     534                        SMP4_shmForAgg->prefixV4Tab[index][i].pktsNbIN = 0; 
     535                        SMP4_shmForAgg->prefixV4Tab[index][i].flowNbOUT = 0; 
     536                        SMP4_shmForAgg->prefixV4Tab[index][i].bytesNbOUT = 0; 
     537                        SMP4_shmForAgg->prefixV4Tab[index][i].pktsNbOUT = 0; 
     538                        SMP4_shmForAgg->prefixV4Tab[index][i].firstCoSIN = 0; 
     539                        SMP4_shmForAgg->prefixV4Tab[index][i].secondCoSIN = 0; 
     540                        SMP4_shmForAgg->prefixV4Tab[index][i].thirdCoSIN = 0; 
     541                        SMP4_shmForAgg->prefixV4Tab[index][i].fourthCoSIN = 0; 
     542                        SMP4_shmForAgg->prefixV4Tab[index][i].firstCoSOUT = 0; 
     543                        SMP4_shmForAgg->prefixV4Tab[index][i].secondCoSOUT = 0; 
     544                        SMP4_shmForAgg->prefixV4Tab[index][i].thirdCoSOUT = 0; 
     545                        SMP4_shmForAgg->prefixV4Tab[index][i].fourthCoSOUT = 0; 
    271546                    } 
    272547                } 
     
    438713                        shmForAgg->prefixV4SubnetTab[index][i].thirdCoSOUT = 0; 
    439714                        shmForAgg->prefixV4SubnetTab[index][i].fourthCoSOUT = 0; 
     715 
     716                        SMP1_shmForAgg->prefixV4SubnetTab[index][i].flowNbIN = 0; 
     717                        SMP1_shmForAgg->prefixV4SubnetTab[index][i].bytesNbIN = 0; 
     718                        SMP1_shmForAgg->prefixV4SubnetTab[index][i].pktsNbIN = 0; 
     719                        SMP1_shmForAgg->prefixV4SubnetTab[index][i].flowNbOUT = 0; 
     720                        SMP1_shmForAgg->prefixV4SubnetTab[index][i].bytesNbOUT = 0; 
     721                        SMP1_shmForAgg->prefixV4SubnetTab[index][i].pktsNbOUT = 0; 
     722                        SMP1_shmForAgg->prefixV4SubnetTab[index][i].firstCoSIN = 0; 
     723                        SMP1_shmForAgg->prefixV4SubnetTab[index][i].secondCoSIN = 0; 
     724                        SMP1_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSIN = 0; 
     725                        SMP1_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSIN = 0; 
     726                        SMP1_shmForAgg->prefixV4SubnetTab[index][i].firstCoSOUT = 0; 
     727                        SMP1_shmForAgg->prefixV4SubnetTab[index][i].secondCoSOUT = 0; 
     728                        SMP1_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSOUT = 0; 
     729                        SMP1_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSOUT = 0; 
     730 
     731                        SMP2_shmForAgg->prefixV4SubnetTab[index][i].flowNbIN = 0; 
     732                        SMP2_shmForAgg->prefixV4SubnetTab[index][i].bytesNbIN = 0; 
     733                        SMP2_shmForAgg->prefixV4SubnetTab[index][i].pktsNbIN = 0; 
     734                        SMP2_shmForAgg->prefixV4SubnetTab[index][i].flowNbOUT = 0; 
     735                        SMP2_shmForAgg->prefixV4SubnetTab[index][i].bytesNbOUT = 0; 
     736                        SMP2_shmForAgg->prefixV4SubnetTab[index][i].pktsNbOUT = 0; 
     737                        SMP2_shmForAgg->prefixV4SubnetTab[index][i].firstCoSIN = 0; 
     738                        SMP2_shmForAgg->prefixV4SubnetTab[index][i].secondCoSIN = 0; 
     739                        SMP2_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSIN = 0; 
     740                        SMP2_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSIN = 0; 
     741                        SMP2_shmForAgg->prefixV4SubnetTab[index][i].firstCoSOUT = 0; 
     742                        SMP2_shmForAgg->prefixV4SubnetTab[index][i].secondCoSOUT = 0; 
     743                        SMP2_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSOUT = 0; 
     744                        SMP2_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSOUT = 0; 
     745 
     746                        SMP3_shmForAgg->prefixV4SubnetTab[index][i].flowNbIN = 0; 
     747                        SMP3_shmForAgg->prefixV4SubnetTab[index][i].bytesNbIN = 0; 
     748                        SMP3_shmForAgg->prefixV4SubnetTab[index][i].pktsNbIN = 0; 
     749                        SMP3_shmForAgg->prefixV4SubnetTab[index][i].flowNbOUT = 0; 
     750                        SMP3_shmForAgg->prefixV4SubnetTab[index][i].bytesNbOUT = 0; 
     751                        SMP3_shmForAgg->prefixV4SubnetTab[index][i].pktsNbOUT = 0; 
     752                        SMP3_shmForAgg->prefixV4SubnetTab[index][i].firstCoSIN = 0; 
     753                        SMP3_shmForAgg->prefixV4SubnetTab[index][i].secondCoSIN = 0; 
     754                        SMP3_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSIN = 0; 
     755                        SMP3_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSIN = 0; 
     756                        SMP3_shmForAgg->prefixV4SubnetTab[index][i].firstCoSOUT = 0; 
     757                        SMP3_shmForAgg->prefixV4SubnetTab[index][i].secondCoSOUT = 0; 
     758                        SMP3_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSOUT = 0; 
     759                        SMP3_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSOUT = 0; 
     760 
     761                        SMP4_shmForAgg->prefixV4SubnetTab[index][i].flowNbIN = 0; 
     762                        SMP4_shmForAgg->prefixV4SubnetTab[index][i].bytesNbIN = 0; 
     763                        SMP4_shmForAgg->prefixV4SubnetTab[index][i].pktsNbIN = 0; 
     764                        SMP4_shmForAgg->prefixV4SubnetTab[index][i].flowNbOUT = 0; 
     765                        SMP4_shmForAgg->prefixV4SubnetTab[index][i].bytesNbOUT = 0; 
     766                        SMP4_shmForAgg->prefixV4SubnetTab[index][i].pktsNbOUT = 0; 
     767                        SMP4_shmForAgg->prefixV4SubnetTab[index][i].firstCoSIN = 0; 
     768                        SMP4_shmForAgg->prefixV4SubnetTab[index][i].secondCoSIN = 0; 
     769                        SMP4_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSIN = 0; 
     770                        SMP4_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSIN = 0; 
     771                        SMP4_shmForAgg->prefixV4SubnetTab[index][i].firstCoSOUT = 0; 
     772                        SMP4_shmForAgg->prefixV4SubnetTab[index][i].secondCoSOUT = 0; 
     773                        SMP4_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSOUT = 0; 
     774                        SMP4_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSOUT = 0; 
    440775                    } 
    441776                } 
     
    578913                 * 
    579914                 */ 
     915 
    580916                for (i=0; i<shmForAgg->ASNb; i++) 
    581917                { 
     
    7081044                        shmForAgg->ASTab[index][i].bytesNbOUT = 0; 
    7091045                        shmForAgg->ASTab[index][i].pktsNbOUT = 0; 
     1046 
     1047                        SMP1_shmForAgg->ASTab[index][i].flowNbIN = 0; 
     1048                        SMP1_shmForAgg->ASTab[index][i].bytesNbIN = 0; 
     1049                        SMP1_shmForAgg->ASTab[index][i].pktsNbIN = 0; 
     1050                        SMP1_shmForAgg->ASTab[index][i].flowNbOUT = 0; 
     1051                        SMP1_shmForAgg->ASTab[index][i].bytesNbOUT = 0; 
     1052                        SMP1_shmForAgg->ASTab[index][i].pktsNbOUT = 0; 
     1053 
     1054                        SMP2_shmForAgg->ASTab[index][i].flowNbIN = 0; 
     1055                        SMP2_shmForAgg->ASTab[index][i].bytesNbIN = 0; 
     1056                        SMP2_shmForAgg->ASTab[index][i].pktsNbIN = 0; 
     1057                        SMP2_shmForAgg->ASTab[index][i].flowNbOUT = 0; 
     1058                        SMP2_shmForAgg->ASTab[index][i].bytesNbOUT = 0; 
     1059                        SMP2_shmForAgg->ASTab[index][i].pktsNbOUT = 0; 
     1060 
     1061                        SMP3_shmForAgg->ASTab[index][i].flowNbIN = 0; 
     1062                        SMP3_shmForAgg->ASTab[index][i].bytesNbIN = 0; 
     1063                        SMP3_shmForAgg->ASTab[index][i].pktsNbIN = 0; 
     1064                        SMP3_shmForAgg->ASTab[index][i].flowNbOUT = 0; 
     1065                        SMP3_shmForAgg->ASTab[index][i].bytesNbOUT = 0; 
     1066                        SMP3_shmForAgg->ASTab[index][i].pktsNbOUT = 0; 
     1067 
     1068                        SMP4_shmForAgg->ASTab[index][i].flowNbIN = 0; 
     1069                        SMP4_shmForAgg->ASTab[index][i].bytesNbIN = 0; 
     1070                        SMP4_shmForAgg->ASTab[index][i].pktsNbIN = 0; 
     1071                        SMP4_shmForAgg->ASTab[index][i].flowNbOUT = 0; 
     1072                        SMP4_shmForAgg->ASTab[index][i].bytesNbOUT = 0; 
     1073                        SMP4_shmForAgg->ASTab[index][i].pktsNbOUT = 0; 
     1074 
    7101075                    } 
    7111076                } 
     
    8841249            else 
    8851250            { 
    886                 isFirstUpdate = 0; 
     1251                isFirstUpdate = 0; /* first update after program start ? */ 
    8871252                /* RRD Update only for the MIB counters, else we clear all counters in shared memory (after) */ 
    8881253                if (rrdMibsUpdate(index) != 1) 
     
    9111276                    shmForAgg->prefixV4Tab[index][i].thirdCoSOUT = 0; 
    9121277                    shmForAgg->prefixV4Tab[index][i].fourthCoSOUT = 0; 
     1278                    SMP1_shmForAgg->prefixV4Tab[index][i].flowNbIN = 0; 
     1279                    SMP1_shmForAgg->prefixV4Tab[index][i].bytesNbIN = 0; 
     1280                    SMP1_shmForAgg->prefixV4Tab[index][i].pktsNbIN = 0; 
     1281                    SMP1_shmForAgg->prefixV4Tab[index][i].flowNbOUT = 0; 
     1282                    SMP1_shmForAgg->prefixV4Tab[index][i].bytesNbOUT = 0; 
     1283                    SMP1_shmForAgg->prefixV4Tab[index][i].pktsNbOUT = 0; 
     1284                    SMP1_shmForAgg->prefixV4Tab[index][i].firstCoSIN = 0; 
     1285                    SMP1_shmForAgg->prefixV4Tab[index][i].secondCoSIN = 0; 
     1286                    SMP1_shmForAgg->prefixV4Tab[index][i].thirdCoSIN = 0; 
     1287                    SMP1_shmForAgg->prefixV4Tab[index][i].fourthCoSIN = 0; 
     1288                    SMP1_shmForAgg->prefixV4Tab[index][i].firstCoSOUT = 0; 
     1289                    SMP1_shmForAgg->prefixV4Tab[index][i].secondCoSOUT = 0; 
     1290                    SMP1_shmForAgg->prefixV4Tab[index][i].thirdCoSOUT = 0; 
     1291                    SMP1_shmForAgg->prefixV4Tab[index][i].fourthCoSOUT = 0; 
     1292                    SMP2_shmForAgg->prefixV4Tab[index][i].flowNbIN = 0; 
     1293                    SMP2_shmForAgg->prefixV4Tab[index][i].bytesNbIN = 0; 
     1294                    SMP2_shmForAgg->prefixV4Tab[index][i].pktsNbIN = 0; 
     1295                    SMP2_shmForAgg->prefixV4Tab[index][i].flowNbOUT = 0; 
     1296                    SMP2_shmForAgg->prefixV4Tab[index][i].bytesNbOUT = 0; 
     1297                    SMP2_shmForAgg->prefixV4Tab[index][i].pktsNbOUT = 0; 
     1298                    SMP2_shmForAgg->prefixV4Tab[index][i].firstCoSIN = 0; 
     1299                    SMP2_shmForAgg->prefixV4Tab[index][i].secondCoSIN = 0; 
     1300                    SMP2_shmForAgg->prefixV4Tab[index][i].thirdCoSIN = 0; 
     1301                    SMP2_shmForAgg->prefixV4Tab[index][i].fourthCoSIN = 0; 
     1302                    SMP2_shmForAgg->prefixV4Tab[index][i].firstCoSOUT = 0; 
     1303                    SMP2_shmForAgg->prefixV4Tab[index][i].secondCoSOUT = 0; 
     1304                    SMP2_shmForAgg->prefixV4Tab[index][i].thirdCoSOUT = 0; 
     1305                    SMP2_shmForAgg->prefixV4Tab[index][i].fourthCoSOUT = 0; 
     1306                    SMP3_shmForAgg->prefixV4Tab[index][i].flowNbIN = 0; 
     1307                    SMP3_shmForAgg->prefixV4Tab[index][i].bytesNbIN = 0; 
     1308                    SMP3_shmForAgg->prefixV4Tab[index][i].pktsNbIN = 0; 
     1309                    SMP3_shmForAgg->prefixV4Tab[index][i].flowNbOUT = 0; 
     1310                    SMP3_shmForAgg->prefixV4Tab[index][i].bytesNbOUT = 0; 
     1311                    SMP3_shmForAgg->prefixV4Tab[index][i].pktsNbOUT = 0; 
     1312                    SMP3_shmForAgg->prefixV4Tab[index][i].firstCoSIN = 0; 
     1313                    SMP3_shmForAgg->prefixV4Tab[index][i].secondCoSIN = 0; 
     1314                    SMP3_shmForAgg->prefixV4Tab[index][i].thirdCoSIN = 0; 
     1315                    SMP3_shmForAgg->prefixV4Tab[index][i].fourthCoSIN = 0; 
     1316                    SMP3_shmForAgg->prefixV4Tab[index][i].firstCoSOUT = 0; 
     1317                    SMP3_shmForAgg->prefixV4Tab[index][i].secondCoSOUT = 0; 
     1318                    SMP3_shmForAgg->prefixV4Tab[index][i].thirdCoSOUT = 0; 
     1319                    SMP3_shmForAgg->prefixV4Tab[index][i].fourthCoSOUT = 0; 
     1320                    SMP4_shmForAgg->prefixV4Tab[index][i].flowNbIN = 0; 
     1321                    SMP4_shmForAgg->prefixV4Tab[index][i].bytesNbIN = 0; 
     1322                    SMP4_shmForAgg->prefixV4Tab[index][i].pktsNbIN = 0; 
     1323                    SMP4_shmForAgg->prefixV4Tab[index][i].flowNbOUT = 0; 
     1324                    SMP4_shmForAgg->prefixV4Tab[index][i].bytesNbOUT = 0; 
     1325                    SMP4_shmForAgg->prefixV4Tab[index][i].pktsNbOUT = 0; 
     1326                    SMP4_shmForAgg->prefixV4Tab[index][i].firstCoSIN = 0; 
     1327                    SMP4_shmForAgg->prefixV4Tab[index][i].secondCoSIN = 0; 
     1328                    SMP4_shmForAgg->prefixV4Tab[index][i].thirdCoSIN = 0; 
     1329                    SMP4_shmForAgg->prefixV4Tab[index][i].fourthCoSIN = 0; 
     1330                    SMP4_shmForAgg->prefixV4Tab[index][i].firstCoSOUT = 0; 
     1331                    SMP4_shmForAgg->prefixV4Tab[index][i].secondCoSOUT = 0; 
     1332                    SMP4_shmForAgg->prefixV4Tab[index][i].thirdCoSOUT = 0; 
     1333                    SMP4_shmForAgg->prefixV4Tab[index][i].fourthCoSOUT = 0; 
    9131334                } 
    9141335                for (i=0; i<shmForAgg->v4SubnetNb; i++) 
     
    9281349                    shmForAgg->prefixV4SubnetTab[index][i].thirdCoSOUT = 0; 
    9291350                    shmForAgg->prefixV4SubnetTab[index][i].fourthCoSOUT = 0; 
     1351                    SMP1_shmForAgg->prefixV4SubnetTab[index][i].flowNbIN = 0; 
     1352                    SMP1_shmForAgg->prefixV4SubnetTab[index][i].bytesNbIN = 0; 
     1353                    SMP1_shmForAgg->prefixV4SubnetTab[index][i].pktsNbIN = 0; 
     1354                    SMP1_shmForAgg->prefixV4SubnetTab[index][i].flowNbOUT = 0; 
     1355                    SMP1_shmForAgg->prefixV4SubnetTab[index][i].bytesNbOUT = 0; 
     1356                    SMP1_shmForAgg->prefixV4SubnetTab[index][i].pktsNbOUT = 0; 
     1357                    SMP1_shmForAgg->prefixV4SubnetTab[index][i].firstCoSIN = 0; 
     1358                    SMP1_shmForAgg->prefixV4SubnetTab[index][i].secondCoSIN = 0; 
     1359                    SMP1_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSIN = 0; 
     1360                    SMP1_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSIN = 0; 
     1361                    SMP1_shmForAgg->prefixV4SubnetTab[index][i].firstCoSOUT = 0; 
     1362                    SMP1_shmForAgg->prefixV4SubnetTab[index][i].secondCoSOUT = 0; 
     1363                    SMP1_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSOUT = 0; 
     1364                    SMP1_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSOUT = 0; 
     1365                    SMP2_shmForAgg->prefixV4SubnetTab[index][i].flowNbIN = 0; 
     1366                    SMP2_shmForAgg->prefixV4SubnetTab[index][i].bytesNbIN = 0; 
     1367                    SMP2_shmForAgg->prefixV4SubnetTab[index][i].pktsNbIN = 0; 
     1368                    SMP2_shmForAgg->prefixV4SubnetTab[index][i].flowNbOUT = 0; 
     1369                    SMP2_shmForAgg->prefixV4SubnetTab[index][i].bytesNbOUT = 0; 
     1370                    SMP2_shmForAgg->prefixV4SubnetTab[index][i].pktsNbOUT = 0; 
     1371                    SMP2_shmForAgg->prefixV4SubnetTab[index][i].firstCoSIN = 0; 
     1372                    SMP2_shmForAgg->prefixV4SubnetTab[index][i].secondCoSIN = 0; 
     1373                    SMP2_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSIN = 0; 
     1374                    SMP2_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSIN = 0; 
     1375                    SMP2_shmForAgg->prefixV4SubnetTab[index][i].firstCoSOUT = 0; 
     1376                    SMP2_shmForAgg->prefixV4SubnetTab[index][i].secondCoSOUT = 0; 
     1377                    SMP2_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSOUT = 0; 
     1378                    SMP2_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSOUT = 0; 
     1379                    SMP3_shmForAgg->prefixV4SubnetTab[index][i].flowNbIN = 0; 
     1380                    SMP3_shmForAgg->prefixV4SubnetTab[index][i].bytesNbIN = 0; 
     1381                    SMP3_shmForAgg->prefixV4SubnetTab[index][i].pktsNbIN = 0; 
     1382                    SMP3_shmForAgg->prefixV4SubnetTab[index][i].flowNbOUT = 0; 
     1383                    SMP3_shmForAgg->prefixV4SubnetTab[index][i].bytesNbOUT = 0; 
     1384                    SMP3_shmForAgg->prefixV4SubnetTab[index][i].pktsNbOUT = 0; 
     1385                    SMP3_shmForAgg->prefixV4SubnetTab[index][i].firstCoSIN = 0; 
     1386                    SMP3_shmForAgg->prefixV4SubnetTab[index][i].secondCoSIN = 0; 
     1387                    SMP3_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSIN = 0; 
     1388                    SMP3_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSIN = 0; 
     1389                    SMP3_shmForAgg->prefixV4SubnetTab[index][i].firstCoSOUT = 0; 
     1390                    SMP3_shmForAgg->prefixV4SubnetTab[index][i].secondCoSOUT = 0; 
     1391                    SMP3_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSOUT = 0; 
     1392                    SMP3_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSOUT = 0; 
     1393                    SMP4_shmForAgg->prefixV4SubnetTab[index][i].flowNbIN = 0; 
     1394                    SMP4_shmForAgg->prefixV4SubnetTab[index][i].bytesNbIN = 0; 
     1395                    SMP4_shmForAgg->prefixV4SubnetTab[index][i].pktsNbIN = 0; 
     1396                    SMP4_shmForAgg->prefixV4SubnetTab[index][i].flowNbOUT = 0; 
     1397                    SMP4_shmForAgg->prefixV4SubnetTab[index][i].bytesNbOUT = 0; 
     1398                    SMP4_shmForAgg->prefixV4SubnetTab[index][i].pktsNbOUT = 0; 
     1399                    SMP4_shmForAgg->prefixV4SubnetTab[index][i].firstCoSIN = 0; 
     1400                    SMP4_shmForAgg->prefixV4SubnetTab[index][i].secondCoSIN = 0; 
     1401                    SMP4_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSIN = 0; 
     1402                    SMP4_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSIN = 0; 
     1403                    SMP4_shmForAgg->prefixV4SubnetTab[index][i].firstCoSOUT = 0; 
     1404                    SMP4_shmForAgg->prefixV4SubnetTab[index][i].secondCoSOUT = 0; 
     1405                    SMP4_shmForAgg->prefixV4SubnetTab[index][i].thirdCoSOUT = 0; 
     1406                    SMP4_shmForAgg->prefixV4SubnetTab[index][i].fourthCoSOUT = 0; 
    9301407                } 
    9311408#ifdef MATRIX 
     
    9491426                    shmForAgg->ASTab[index][i].bytesNbOUT = 0; 
    9501427                    shmForAgg->ASTab[index][i].pktsNbOUT = 0; 
     1428                    SMP1_shmForAgg->ASTab[index][i].flowNbIN = 0; 
     1429                    SMP1_shmForAgg->ASTab[index][i].bytesNbIN = 0; 
     1430                    SMP1_shmForAgg->ASTab[index][i].pktsNbIN = 0; 
     1431                    SMP1_shmForAgg->ASTab[index][i].flowNbOUT = 0; 
     1432                    SMP1_shmForAgg->ASTab[index][i].bytesNbOUT = 0; 
     1433                    SMP1_shmForAgg->ASTab[index][i].pktsNbOUT = 0; 
     1434                    SMP2_shmForAgg->ASTab[index][i].flowNbIN = 0; 
     1435                    SMP2_shmForAgg->ASTab[index][i].bytesNbIN = 0; 
     1436                    SMP2_shmForAgg->ASTab[index][i].pktsNbIN = 0; 
     1437                    SMP2_shmForAgg->ASTab[index][i].flowNbOUT = 0; 
     1438                    SMP2_shmForAgg->ASTab[index][i].bytesNbOUT = 0; 
     1439                    SMP2_shmForAgg->ASTab[index][i].pktsNbOUT = 0; 
     1440                    SMP3_shmForAgg->ASTab[index][i].flowNbIN = 0; 
     1441                    SMP3_shmForAgg->ASTab[index][i].bytesNbIN = 0; 
     1442                    SMP3_shmForAgg->ASTab[index][i].pktsNbIN = 0; 
     1443                    SMP3_shmForAgg->ASTab[index][i].flowNbOUT = 0; 
     1444                    SMP3_shmForAgg->ASTab[index][i].bytesNbOUT = 0; 
     1445                    SMP3_shmForAgg->ASTab[index][i].pktsNbOUT = 0; 
     1446                    SMP4_shmForAgg->ASTab[index][i].flowNbIN = 0; 
     1447                    SMP4_shmForAgg->ASTab[index][i].bytesNbIN = 0; 
     1448                    SMP4_shmForAgg->ASTab[index][i].pktsNbIN = 0; 
     1449                    SMP4_shmForAgg->ASTab[index][i].flowNbOUT = 0; 
     1450                    SMP4_shmForAgg->ASTab[index][i].bytesNbOUT = 0; 
     1451                    SMP4_shmForAgg->ASTab[index][i].pktsNbOUT = 0; 
    9511452                } 
    9521453#endif 
     
    9681469            } /* end is first update */ 
    9691470        } /* end read ok */ 
    970         sleep(10); 
     1471      sleep(10); 
     1472 
    9711473    } 
    9721474    while (1); 
     
    9931495    FILE *fp; 
    9941496    static time_t now, now2; 
     1497 
     1498    shmForAgg->myMIB[index].ipPacketNb = SMP1_shmForAgg->myMIB[index].ipPacketNb + 
     1499                                         SMP2_shmForAgg->myMIB[index].ipPacketNb + 
     1500                                         SMP3_shmForAgg->myMIB[index].ipPacketNb + 
     1501                                         SMP4_shmForAgg->myMIB[index].ipPacketNb; 
     1502    shmForAgg->myMIB[index].udpPacketNb = SMP1_shmForAgg->myMIB[index].udpPacketNb + 
     1503                                          SMP2_shmForAgg->myMIB[index].udpPacketNb + 
     1504                                          SMP3_shmForAgg->myMIB[index].udpPacketNb + 
     1505                                          SMP4_shmForAgg->myMIB[index].udpPacketNb; 
     1506    shmForAgg->myMIB[index].v9PacketNb = SMP1_shmForAgg->myMIB[index].v9PacketNb + 
     1507                                         SMP2_shmForAgg->myMIB[index].v9PacketNb + 
     1508                                         SMP3_shmForAgg->myMIB[index].v9PacketNb + 
     1509                                         SMP4_shmForAgg->myMIB[index].v9PacketNb; 
     1510    shmForAgg->myMIB[index].v9UnSeqNb = SMP1_shmForAgg->myMIB[index].v9UnSeqNb + 
     1511                                        SMP2_shmForAgg->myMIB[index].v9UnSeqNb + 
     1512                                        SMP3_shmForAgg->myMIB[index].v9UnSeqNb + 
     1513                                        SMP4_shmForAgg->myMIB[index].v9UnSeqNb; 
     1514    shmForAgg->myMIB[index].flowSetNb = SMP1_shmForAgg->myMIB[index].flowSetNb + 
     1515                                        SMP2_shmForAgg->myMIB[index].flowSetNb + 
     1516                                        SMP3_shmForAgg->myMIB[index].flowSetNb + 
     1517                                        SMP4_shmForAgg->myMIB[index].flowSetNb; 
     1518    shmForAgg->myMIB[index].dataFlowSetNb = SMP1_shmForAgg->myMIB[index].dataFlowSetNb + 
     1519                                            SMP2_shmForAgg->myMIB[index].dataFlowSetNb + 
     1520                                            SMP3_shmForAgg->myMIB[index].dataFlowSetNb + 
     1521                                            SMP4_shmForAgg->myMIB[index].dataFlowSetNb; 
     1522    shmForAgg->myMIB[index].defFlowSetNb = SMP1_shmForAgg->myMIB[index].defFlowSetNb + 
     1523                                           SMP2_shmForAgg->myMIB[index].defFlowSetNb + 
     1524                                           SMP3_shmForAgg->myMIB[index].defFlowSetNb + 
     1525                                           SMP4_shmForAgg->myMIB[index].defFlowSetNb; 
     1526    shmForAgg->myMIB[index].optDataFlowSetNb = SMP1_shmForAgg->myMIB[index].optDataFlowSetNb + 
     1527                                               SMP2_shmForAgg->myMIB[index].optDataFlowSetNb + 
     1528                                               SMP3_shmForAgg->myMIB[index].optDataFlowSetNb + 
     1529                                               SMP4_shmForAgg->myMIB[index].optDataFlowSetNb; 
     1530    shmForAgg->myMIB[index].optDefFlowSetNb = SMP1_shmForAgg->myMIB[index].optDefFlowSetNb + 
     1531                                              SMP2_shmForAgg->myMIB[index].optDefFlowSetNb + 
     1532                                              SMP3_shmForAgg->myMIB[index].optDefFlowSetNb + 
     1533                                              SMP4_shmForAgg->myMIB[index].optDefFlowSetNb; 
     1534    shmForAgg->myMIB[index].flowNb = SMP1_shmForAgg->myMIB[index].flowNb + 
     1535                                     SMP2_shmForAgg->myMIB[index].flowNb + 
     1536                                     SMP3_shmForAgg->myMIB[index].flowNb + 
     1537                                     SMP4_shmForAgg->myMIB[index].flowNb; 
     1538    shmForAgg->myMIB[index].realFlowNb = SMP1_shmForAgg->myMIB[index].realFlowNb + 
     1539                                         SMP2_shmForAgg->myMIB[index].realFlowNb + 
     1540                                         SMP3_shmForAgg->myMIB[index].realFlowNb + 
     1541                                         SMP4_shmForAgg->myMIB[index].realFlowNb; 
    9951542 
    9961543    now = time((time_t *)NULL); 
     
    11271674    shmForAgg->myMIB[index].flowNb = 0; 
    11281675    shmForAgg->myMIB[index].realFlowNb = 0; 
     1676    SMP1_shmForAgg->myMIB[index].ipPacketNb = 0; 
     1677    SMP1_shmForAgg->myMIB[index].udpPacketNb = 0; 
     1678    SMP1_shmForAgg->myMIB[index].v9PacketNb = 0; 
     1679    SMP1_shmForAgg->myMIB[index].v9UnSeqNb = 0; 
     1680    SMP1_shmForAgg->myMIB[index].flowSetNb = 0; 
     1681    SMP1_shmForAgg->myMIB[index].dataFlowSetNb = 0; 
     1682    SMP1_shmForAgg->myMIB[index].defFlowSetNb = 0; 
     1683    SMP1_shmForAgg->myMIB[index].optDataFlowSetNb = 0; 
     1684    SMP1_shmForAgg->myMIB[index].optDefFlowSetNb = 0; 
     1685    SMP1_shmForAgg->myMIB[index].flowNb = 0; 
     1686    SMP1_shmForAgg->myMIB[index].realFlowNb = 0; 
     1687    SMP2_shmForAgg->myMIB[index].ipPacketNb = 0; 
     1688    SMP2_shmForAgg->myMIB[index].udpPacketNb = 0; 
     1689    SMP2_shmForAgg->myMIB[index].v9PacketNb = 0; 
     1690    SMP2_shmForAgg->myMIB[index].v9UnSeqNb = 0; 
     1691    SMP2_shmForAgg->myMIB[index].flowSetNb = 0; 
     1692    SMP2_shmForAgg->myMIB[index].dataFlowSetNb = 0; 
     1693    SMP2_shmForAgg->myMIB[index].defFlowSetNb = 0; 
     1694    SMP2_shmForAgg->myMIB[index].optDataFlowSetNb = 0; 
     1695    SMP2_shmForAgg->myMIB[index].optDefFlowSetNb = 0; 
     1696    SMP2_shmForAgg->myMIB[index].flowNb = 0; 
     1697    SMP2_shmForAgg->myMIB[index].realFlowNb = 0; 
     1698    SMP3_shmForAgg->myMIB[index].ipPacketNb = 0; 
     1699    SMP3_shmForAgg->myMIB[index].udpPacketNb = 0; 
     1700    SMP3_shmForAgg->myMIB[index].v9PacketNb = 0; 
     1701    SMP3_shmForAgg->myMIB[index].v9UnSeqNb = 0; 
     1702    SMP3_shmForAgg->myMIB[index].flowSetNb = 0; 
     1703    SMP3_shmForAgg->myMIB[index].dataFlowSetNb = 0; 
     1704    SMP3_shmForAgg->myMIB[index].defFlowSetNb = 0; 
     1705    SMP3_shmForAgg->myMIB[index].optDataFlowSetNb = 0; 
     1706    SMP3_shmForAgg->myMIB[index].optDefFlowSetNb = 0; 
     1707    SMP3_shmForAgg->myMIB[index].flowNb = 0; 
     1708    SMP3_shmForAgg->myMIB[index].realFlowNb = 0; 
     1709    SMP4_shmForAgg->myMIB[index].ipPacketNb = 0; 
     1710    SMP4_shmForAgg->myMIB[index].udpPacketNb = 0; 
     1711    SMP4_shmForAgg->myMIB[index].v9PacketNb = 0; 
     1712    SMP4_shmForAgg->myMIB[index].v9UnSeqNb = 0; 
     1713    SMP4_shmForAgg->myMIB[index].flowSetNb = 0; 
     1714    SMP4_shmForAgg->myMIB[index].dataFlowSetNb = 0; 
     1715    SMP4_shmForAgg->myMIB[index].defFlowSetNb = 0; 
     1716    SMP4_shmForAgg->myMIB[index].optDataFlowSetNb = 0; 
     1717    SMP4_shmForAgg->myMIB[index].optDefFlowSetNb = 0; 
     1718    SMP4_shmForAgg->myMIB[index].flowNb = 0; 
     1719    SMP4_shmForAgg->myMIB[index].realFlowNb = 0; 
    11291720    return 1; 
    11301721} 
     
    11481739    FILE *fp; 
    11491740    static time_t now, now2; 
     1741 
     1742 
     1743    shmForAgg->myMIB[index].ipv4WebBytesNb = SMP1_shmForAgg->myMIB[index].ipv4WebBytesNb + 
     1744                                             SMP2_shmForAgg->myMIB[index].ipv4WebBytesNb + 
     1745                                             SMP3_shmForAgg->myMIB[index].ipv4WebBytesNb + 
     1746                                             SMP4_shmForAgg->myMIB[index].ipv4WebBytesNb; 
     1747    shmForAgg->myMIB[index].ipv4WebPcktsNb = SMP1_shmForAgg->myMIB[index].ipv4WebPcktsNb + 
     1748                                             SMP2_shmForAgg->myMIB[index].ipv4WebPcktsNb + 
     1749                                             SMP3_shmForAgg->myMIB[index].ipv4WebPcktsNb + 
     1750                                             SMP4_shmForAgg->myMIB[index].ipv4WebPcktsNb; 
     1751    shmForAgg->myMIB[index].ipv4WebFlowNb = SMP1_shmForAgg->myMIB[index].ipv4WebFlowNb + 
     1752                                            SMP2_shmForAgg->myMIB[index].ipv4WebFlowNb + 
     1753                                            SMP3_shmForAgg->myMIB[index].ipv4WebFlowNb + 
     1754                                            SMP4_shmForAgg->myMIB[index].ipv4WebFlowNb; 
     1755    shmForAgg->myMIB[index].ipv4MailBytesNb = SMP1_shmForAgg->myMIB[index].ipv4MailBytesNb + 
     1756                                              SMP2_shmForAgg->myMIB[index].ipv4MailBytesNb + 
     1757                                              SMP3_shmForAgg->myMIB[index].ipv4MailBytesNb + 
     1758                                              SMP4_shmForAgg->myMIB[index].ipv4MailBytesNb; 
     1759    shmForAgg->myMIB[index].ipv4MailPcktsNb = SMP1_shmForAgg->myMIB[index].ipv4MailPcktsNb + 
     1760                                              SMP2_shmForAgg->myMIB[index].ipv4MailPcktsNb + 
     1761                                              SMP3_shmForAgg->myMIB[index].ipv4MailPcktsNb + 
     1762                                              SMP4_shmForAgg->myMIB[index].ipv4MailPcktsNb; 
     1763    shmForAgg->myMIB[index].ipv4MailFlowNb = SMP1_shmForAgg->myMIB[index].ipv4MailFlowNb + 
     1764                                             SMP2_shmForAgg->myMIB[index].ipv4MailFlowNb + 
     1765                                             SMP3_shmForAgg->myMIB[index].ipv4MailFlowNb + 
     1766                                             SMP4_shmForAgg->myMIB[index].ipv4MailFlowNb; 
     1767    shmForAgg->myMIB[index].ipv4DNSBytesNb = SMP1_shmForAgg->myMIB[index].ipv4DNSBytesNb + 
     1768                                             SMP2_shmForAgg->myMIB[index].ipv4DNSBytesNb + 
     1769                                             SMP3_shmForAgg->myMIB[index].ipv4DNSBytesNb + 
     1770                                             SMP4_shmForAgg->myMIB[index].ipv4DNSBytesNb; 
     1771    shmForAgg->myMIB[index].ipv4DNSPcktsNb = SMP1_shmForAgg->myMIB[index].ipv4DNSPcktsNb + 
     1772                                             SMP2_shmForAgg->myMIB[index].ipv4DNSPcktsNb + 
     1773                                             SMP3_shmForAgg->myMIB[index].ipv4DNSPcktsNb + 
     1774                                             SMP4_shmForAgg->myMIB[index].ipv4DNSPcktsNb; 
     1775    shmForAgg->myMIB[index].ipv4DNSFlowNb = SMP1_shmForAgg->myMIB[index].ipv4DNSFlowNb + 
     1776                                            SMP2_shmForAgg->myMIB[index].ipv4DNSFlowNb + 
     1777                                            SMP3_shmForAgg->myMIB[index].ipv4DNSFlowNb + 
     1778                                            SMP4_shmForAgg->myMIB[index].ipv4DNSFlowNb; 
     1779    shmForAgg->myMIB[index].ipv4OthersApBytesNb = SMP1_shmForAgg->myMIB[index].ipv4OthersApBytesNb + 
     1780                                                  SMP2_shmForAgg->myMIB[index].ipv4OthersApBytesNb + 
     1781                                                  SMP3_shmForAgg->myMIB[index].ipv4OthersApBytesNb + 
     1782                                                  SMP4_shmForAgg->myMIB[index].ipv4OthersApBytesNb; 
     1783    shmForAgg->myMIB[index].ipv4OthersApPcktsNb = SMP1_shmForAgg->myMIB[index].ipv4OthersApPcktsNb + 
     1784                                                  SMP2_shmForAgg->myMIB[index].ipv4OthersApPcktsNb + 
     1785                                                  SMP3_shmForAgg->myMIB[index].ipv4OthersApPcktsNb + 
     1786                                                  SMP4_shmForAgg->myMIB[index].ipv4OthersApPcktsNb; 
     1787    shmForAgg->myMIB[index].ipv4OthersApFlowNb = SMP1_shmForAgg->myMIB[index].ipv4OthersApFlowNb + 
     1788                                                 SMP2_shmForAgg->myMIB[index].ipv4OthersApFlowNb + 
     1789                                                 SMP3_shmForAgg->myMIB[index].ipv4OthersApFlowNb + 
     1790                                                 SMP4_shmForAgg->myMIB[index].ipv4OthersApFlowNb; 
    11501791 
    11511792    now = time((time_t *)NULL); 
     
    12861927    shmForAgg->myMIB[index].ipv4OthersApPcktsNb = 0; 
    12871928    shmForAgg->myMIB[index].ipv4OthersApFlowNb = 0; 
     1929    SMP1_shmForAgg->myMIB[index].ipv4WebBytesNb = 0; 
     1930    SMP1_shmForAgg->myMIB[index].ipv4WebPcktsNb = 0; 
     1931    SMP1_shmForAgg->myMIB[index].ipv4WebFlowNb = 0; 
     1932    SMP1_shmForAgg->myMIB[index].ipv4MailBytesNb = 0; 
     1933    SMP1_shmForAgg->myMIB[index].ipv4MailPcktsNb = 0; 
     1934    SMP1_shmForAgg->myMIB[index].ipv4MailFlowNb = 0; 
     1935    SMP1_shmForAgg->myMIB[index].ipv4DNSBytesNb = 0; 
     1936    SMP1_shmForAgg->myMIB[index].ipv4DNSPcktsNb = 0; 
     1937    SMP1_shmForAgg->myMIB[index].ipv4DNSFlowNb = 0; 
     1938    SMP1_shmForAgg->myMIB[index].ipv4OthersApBytesNb = 0; 
     1939    SMP1_shmForAgg->myMIB[index].ipv4OthersApPcktsNb = 0; 
     1940    SMP1_shmForAgg->myMIB[index].ipv4OthersApFlowNb = 0; 
     1941    SMP2_shmForAgg->myMIB[index].ipv4WebBytesNb = 0; 
     1942    SMP2_shmForAgg->myMIB[index].ipv4WebPcktsNb = 0; 
     1943    SMP2_shmForAgg->myMIB[index].ipv4WebFlowNb = 0; 
     1944    SMP2_shmForAgg->myMIB[index].ipv4MailBytesNb = 0; 
     1945    SMP2_shmForAgg->myMIB[index].ipv4MailPcktsNb = 0; 
     1946    SMP2_shmForAgg->myMIB[index].ipv4MailFlowNb = 0; 
     1947    SMP2_shmForAgg->myMIB[index].ipv4DNSBytesNb = 0; 
     1948    SMP2_shmForAgg->myMIB[index].ipv4DNSPcktsNb = 0; 
     1949    SMP2_shmForAgg->myMIB[index].ipv4DNSFlowNb = 0; 
     1950    SMP2_shmForAgg->myMIB[index].ipv4OthersApBytesNb = 0; 
     1951    SMP2_shmForAgg->myMIB[index].ipv4OthersApPcktsNb = 0; 
     1952    SMP2_shmForAgg->myMIB[index].ipv4OthersApFlowNb = 0; 
     1953    SMP3_shmForAgg->myMIB[index].ipv4WebBytesNb = 0; 
     1954    SMP3_shmForAgg->myMIB[index].ipv4WebPcktsNb = 0; 
     1955    SMP3_shmForAgg->myMIB[index].ipv4WebFlowNb = 0; 
     1956    SMP3_shmForAgg->myMIB[index].ipv4MailBytesNb = 0; 
     1957    SMP3_shmForAgg->myMIB[index].ipv4MailPcktsNb = 0; 
     1958    SMP3_shmForAgg->myMIB[index].ipv4MailFlowNb = 0; 
     1959    SMP3_shmForAgg->myMIB[index].ipv4DNSBytesNb = 0; 
     1960    SMP3_shmForAgg->myMIB[index].ipv4DNSPcktsNb = 0; 
     1961    SMP3_shmForAgg->myMIB[index].ipv4DNSFlowNb = 0; 
     1962    SMP3_shmForAgg->myMIB[index].ipv4OthersApBytesNb = 0; 
     1963    SMP3_shmForAgg->myMIB[index].ipv4OthersApPcktsNb = 0; 
     1964    SMP3_shmForAgg->myMIB[index].ipv4OthersApFlowNb = 0; 
     1965    SMP4_shmForAgg->myMIB[index].ipv4WebBytesNb = 0; 
     1966    SMP4_shmForAgg->myMIB[index].ipv4WebPcktsNb = 0; 
     1967    SMP4_shmForAgg->myMIB[index].ipv4WebFlowNb = 0; 
     1968    SMP4_shmForAgg->myMIB[index].ipv4MailBytesNb = 0; 
     1969    SMP4_shmForAgg->myMIB[index].ipv4MailPcktsNb = 0; 
     1970    SMP4_shmForAgg->myMIB[index].ipv4MailFlowNb = 0; 
     1971    SMP4_shmForAgg->myMIB[index].ipv4DNSBytesNb = 0; 
     1972    SMP4_shmForAgg->myMIB[index].ipv4DNSPcktsNb = 0; 
     1973    SMP4_shmForAgg->myMIB[index].ipv4DNSFlowNb = 0; 
     1974    SMP4_shmForAgg->myMIB[index].ipv4OthersApBytesNb = 0; 
     1975    SMP4_shmForAgg->myMIB[index].ipv4OthersApPcktsNb = 0; 
     1976    SMP4_shmForAgg->myMIB[index].ipv4OthersApFlowNb = 0; 
    12881977    return 1; 
    12891978}