Changeset 526d9d0 for lib/format_dag25.c


Ignore:
Timestamp:
02/24/15 17:18:21 (6 years ago)
Author:
Richard Sanger <rsangerarj@…>
Branches:
4.0.1-hotfixes, cachetimestamps, develop, dpdk-ndag, etsilive, libtrace4, master, ndag_format, pfring, rc-4.0.1, rc-4.0.2, rc-4.0.3, rc-4.0.4, ringdecrementfix, ringperformance, ringtimestampfixes
Children:
116f970
Parents:
10c47a0
Message:

Move the accepted packet count to dispatching packets for threads.
Accounting for the doubled count when using a single threaded format.

Rework statistics logic slightly to remove duplicated code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lib/format_dag25.c

    r10c47a0 r526d9d0  
    14471447        tmp = FORMAT_DATA_HEAD;
    14481448
    1449         /* We don't filter packets on the card itself */
    1450         stat->filtered_valid = 1;
    1451         stat->filtered = 0;
    1452 
    1453         /* Dropped, filtered the  */
     1449        /* Dropped packets */
    14541450        stat->dropped_valid = 1;
    14551451        stat->dropped = 0;
     
    15121508        libtrace_list_node_t *node;
    15131509
    1514         if (reader) {
    1515                 if (t->type == THREAD_PERPKT) {
    1516 
    1517                         node = libtrace_list_get_index(FORMAT_DATA->per_stream,
    1518                                                         t->perpkt_num);
    1519                         if (node == NULL) {
    1520                                 trace_set_err(libtrace, TRACE_ERR_INIT_FAILED,
    1521                                               "Too few streams supplied for the"
    1522                                               " number of threads lanuched");
    1523                                 return -1;
    1524                         }
    1525                         stream_data = node->data;
    1526 
    1527                         /* Pass the per thread data to the thread */
    1528                         t->format_data = stream_data;
    1529 
    1530                         /* Attach and start the DAG stream */
    1531                         printf("t%u: starting and attaching stream #%u\n",
    1532                                t->perpkt_num, stream_data->dagstream);
    1533                         if (dag_start_input_stream(libtrace, stream_data) < 0)
    1534                                 return -1;
    1535                 } else {
    1536                         /* TODO: Figure out why t->type != THREAD_PERPKT in
    1537                          * order to figure out what this line does */
    1538                         t->format_data = FORMAT_DATA_FIRST;
    1539                 }
     1510        if (reader && t->type == THREAD_PERPKT) {
     1511                fprintf(stderr, "t%u: registered reader thread", t->perpkt_num);
     1512                node = libtrace_list_get_index(FORMAT_DATA->per_stream,
     1513                                                t->perpkt_num);
     1514                if (node == NULL) {
     1515                        trace_set_err(libtrace, TRACE_ERR_INIT_FAILED,
     1516                                      "Too few streams supplied for the"
     1517                                      " number of threads lanuched");
     1518                        return -1;
     1519                }
     1520                stream_data = node->data;
     1521
     1522                /* Pass the per thread data to the thread */
     1523                t->format_data = stream_data;
     1524
     1525                /* Attach and start the DAG stream */
     1526                printf("t%u: starting and attaching stream #%u\n",
     1527                       t->perpkt_num, stream_data->dagstream);
     1528                if (dag_start_input_stream(libtrace, stream_data) < 0)
     1529                        return -1;
    15401530        }
    15411531
Note: See TracChangeset for help on using the changeset viewer.