• 's avatar
    Added support for multiple host, which includes multiple interface support too. · 4ff73f0d
    authored
    Tested with new GUI (PHP); CGI GUI shows just first two hosts.
    
    Flow is assigned to opposite sensor when it appears there too (same flow).
    Unassigned flows are dropped, so filter has not to be exact,
    something void like "greater 0" should work.
    
    The differences against prev. impl. of multiple interface support
    (subject to keep or change?):
    
    prev.:
    Usage: hostA:if1:if2, hostB... "filter"
    
    now:
    Usage: "hostA:if1, hostA:if2" "hostB..." "filter"
    
    -more typing
    +DiMAPI syntax
    ?no need to parse and store device names
    
    prev.:
    mapi_stats("hostA:if1", &(stats1->statstable[i%countA]))
    mapi_stats("hostA:if2", &(stats1->statstable[++i%countA]))
    
    now:
    mapi_stats("host1:if1, host1:if2", &host[0].mapi_stats_dev).
    
    -order of devices not guaranteed so reordering* is done via pointers
    +less mapi function calls
    ?no need to store device names
    ?unique interface names required in case of reordering*
    *)for now, order never changes
    
    prev:
      for(i = 0; i < stats1.count;i++) { // host1
        stats = stats1.statstable[i];
        stats.hostname...
      for(i = 0; i < stats2.count;i++) { // host2
        ...
    
    now:
      for(h = 0; h < hosts; h++) {
        for(d = 0; d < host[h].devices; d++) {
          stats = host[h].mapi_stats_dev[d];
          host[h].name...
    
    parse_hosts() -- not a function (more simple as device names are not parsed and
    stored, just counted)
    
    get_mapi_stats() -- not a function (more simple because of prev. mentioned diffs)
    
    GUI (CSV, PHP, JS) -- several updates
    
    
    
    git-svn-id: file:///home/svn/mapi/trunk@1340 8d5bb341-7cf1-0310-8cf6-ba355fef3186
    4ff73f0d