Changeset 18 for trunk/src/renetcol.c

Show
Ignore:
Timestamp:
06/09/06 18:18:15 (16 years ago)
Author:
andreu
Message:

ajout pour CRIHAN

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/renetcol.c

    r17 r18  
    2525 
    2626#include "renetcol.h" 
     27 
     28/* uptade for CRIHAN -> CRI */ 
     29struct IPFLowCache tabIP[MAX_IP_FLOW], *tabIPPtr = tabIP; 
     30struct MPLSFlowCache tabMPLS[MAX_MPLS_FLOW], *tabMPLSPtr = tabMPLS; 
     31unsigned long ipNb = 0; 
     32unsigned long mplsNb = 0; 
     33unsigned long *ipNbPtr = &ipNb; 
     34unsigned long *mplsNbPtr = &mplsNb; 
     35FILE *fIP; 
     36FILE *fMPLS; 
     37/* end */  
    2738 
    2839char *rulesFileName; 
     
    269280 
    270281/* 
    271  * 
     282 * setCache() 
    272283 */ 
    273284void 
     
    320331  short version = 0; 
    321332  int regRouter = 0; 
     333  /* CRI */ 
     334  int iIP, iMPLS; 
     335  /* end CRI */ 
    322336   
    323337  do { 
     
    368382                                   rulesAddressPtr, rulesListPtr, 
    369383                                   myQueue, prefixV4Tab, 
    370                                    (size_t) v4PrefixNb); 
     384                                   (size_t) v4PrefixNb, 
     385                                   tabIPPtr,  
     386                                   tabMPLSPtr,  
     387                                   ipNbPtr, mplsNbPtr); 
    371388        } 
    372389      } 
     
    382399      break; 
    383400    } 
     401 
     402    /* CRI */ 
     403    if ( ipNb > (MAX_IP_FLOW - 50)) { 
     404      if ((fIP = fopen(OUTPUT_IP, "w")) == NULL) { 
     405        syslog(LOG_ERR,"Error in OUTPUT_IP opening : %s", strerror(errno)); 
     406      } else { 
     407        for ( iIP = 0; iIP < ipNb; iIP++){ 
     408          printf("ipv4\n"); 
     409          if ( tabIP[iIP].ipProt == 0 ) { 
     410            printf(".\n"); 
     411            fprintf(fIP, "%lu;%lu;%hu;%hu;%lu.%lu.%lu.%lu;%lu.%lu.%lu.%lu;%d;%hu;%hu;%d;%d;%lu.%lu.%lu.%lu;%lu\n", 
     412                    tabIP[iIP].bytes, tabIP[iIP].pkts, 
     413                    tabIP[iIP].inSnmp,  tabIP[iIP].outSnmp, 
     414                    tabIP[iIP].v4AdS>>24, tabIP[iIP].v4AdS<<8>>24, 
     415                    tabIP[iIP].v4AdS<<16>>24, tabIP[iIP].v4AdS<<24>>24, 
     416                    tabIP[iIP].v4AdD>>24, tabIP[iIP].v4AdD<<8>>24, 
     417                    tabIP[iIP].v4AdD<<16>>24, tabIP[iIP].v4AdD<<24>>24, 
     418                    tabIP[iIP].tProt, tabIP[iIP].sPort, 
     419                    tabIP[iIP].dPort, tabIP[iIP].maskD, 
     420                    tabIP[iIP].maskS, tabIP[iIP].routerAd>>24, 
     421                    tabIP[iIP].routerAd<<8>>24, tabIP[iIP].routerAd<<16>>24, 
     422                    tabIP[iIP].routerAd<<24>>24, tabIP[iIP].liveTime 
     423                    ); 
     424          } 
     425        } 
     426        fclose(fIP); 
     427      } 
     428      ipNb = 0; 
     429    } 
     430    if ( mplsNb > (MAX_MPLS_FLOW - 50)) { 
     431      if ((fMPLS = fopen(OUTPUT_MPLS, "w")) == NULL) { 
     432        syslog(LOG_ERR,"Error in OUTPUT_MPLS opening : %s", strerror(errno)); 
     433      } else { 
     434        for ( iMPLS = 0; iMPLS < mplsNb; iMPLS++){ 
     435          if ( tabMPLS[iMPLS].ipProt == 4 ) { 
     436            fprintf(fMPLS, "%lu.%lu.%lu.%lu;%hu;%lu.%lu.%lu.%lu;%lu.%lu.%lu.%lu\n", 
     437                    tabMPLS[iMPLS].routerAd>>24,tabMPLS[iMPLS].routerAd<<8>>24, 
     438                    tabMPLS[iMPLS].routerAd<<16>>24, 
     439                    tabMPLS[iMPLS].routerAd<<24>>24, 
     440                    tabMPLS[iMPLS].mplsLabel1,tabMPLS[iMPLS].v4AdS>>24, 
     441                    tabMPLS[iMPLS].v4AdS<<8>>24,tabMPLS[iMPLS].v4AdS<<16>>24, 
     442                    tabMPLS[iMPLS].v4AdS<<24>>24,tabMPLS[iMPLS].v4AdD>>24, 
     443                    tabMPLS[iMPLS].v4AdD<<8>>24,tabMPLS[iMPLS].v4AdD<<16>>24, 
     444                    tabMPLS[iMPLS].v4AdD<<24>>24  
     445                    ); 
     446          } 
     447        } 
     448        fclose(fMPLS); 
     449      } 
     450      mplsNb = 0; 
     451    } 
     452    /* end CRI */ 
    384453  } while (1); 
    385454}