- Timestamp:
- 09/15/15 17:16:51 (5 years ago)
- 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:
- 8decff7
- Parents:
- 624c2da
- Location:
- lib
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
lib/format_bpf.c
r5ab626a r5478d3d 314 314 315 315 return FORMATIN(trace)->stats.bs_drop; 316 } 317 318 static void bpf_get_statistics(libtrace_t *trace, libtrace_stat_t *stat) { 319 uint64_t dropped = bpf_get_dropped_packets(trace); 320 uint64_t received = bpf_get_received_packets(trace); 321 322 if (dropped != (uint64_t)-1) { 323 stat->dropped_valid = 1; 324 stat->dropped = dropped; 325 } 326 327 if (received != (uint64_t) -1) { 328 stat->received_valid = 1; 329 stat->received = received; 330 } 331 316 332 } 317 333 … … 607 623 bpf_get_framing_length, /* get_framing_length */ 608 624 NULL, /* set_capture_length */ 609 bpf_get_received_packets,/* get_received_packets */625 NULL, /* get_received_packets */ 610 626 NULL, /* get_filtered_packets */ 611 bpf_get_dropped_packets,/* get_dropped_packets */612 NULL,/* get_statistics */627 NULL, /* get_dropped_packets */ 628 bpf_get_statistics, /* get_statistics */ 613 629 bpf_get_fd, /* get_fd */ 614 630 trace_event_device, /* trace_event */ -
lib/format_dag25.c
ra6b44a7 r5478d3d 1460 1460 } 1461 1461 1462 static void dag_get_thread_statis itics(libtrace_t *libtrace, libtrace_thread_t *t,1462 static void dag_get_thread_statistics(libtrace_t *libtrace, libtrace_thread_t *t, 1463 1463 libtrace_stat_t *stat) { 1464 1464 struct dag_per_stream_t *stream_data = t->format_data; … … 1566 1566 dag_pregister_thread, 1567 1567 NULL, 1568 dag_get_thread_statis itics /* get thread stats */1568 dag_get_thread_statistics /* get thread stats */ 1569 1569 }; 1570 1570 -
lib/format_erf.c
r91c2acc r5478d3d 802 802 } 803 803 804 static uint64_t erf_get_dropped_packets(libtrace_t *trace) 805 { 806 if (trace->format_data == NULL) 807 return (uint64_t)-1; 808 return DATA(trace)->drops; 804 static void erf_get_statistics(libtrace_t *trace, libtrace_stat_t *stat) { 805 806 if (trace->format_data) { 807 stat->dropped_valid = 1; 808 stat->dropped = DATA(trace)->drops; 809 } 809 810 } 810 811 … … 865 866 NULL, /* get_received_packets */ 866 867 NULL, /* get_filtered_packets */ 867 erf_get_dropped_packets,/* get_dropped_packets */868 NULL,/* get_statistics */868 NULL, /* get_dropped_packets */ 869 erf_get_statistics, /* get_statistics */ 869 870 NULL, /* get_fd */ 870 871 erf_event, /* trace_event */ … … 909 910 NULL, /* get_received_packets */ 910 911 NULL, /* get_filtered_packets */ 911 erf_get_dropped_packets,/* get_dropped_packets */912 NULL,/* get_statistics */912 NULL, /* get_dropped_packets */ 913 erf_get_statistics, /* get_statistics */ 913 914 NULL, /* get_fd */ 914 915 erf_event, /* trace_event */ -
lib/format_linux_int.c
rbabeb70 r5478d3d 191 191 if ((int) hdr->wirelen == -1 && (errno == EAGAIN || errno == EWOULDBLOCK)) { 192 192 /* Do message queue check or select */ 193 int message_fd ;193 int message_fd = 0; 194 194 int largestfd = stream->fd; 195 195 -
lib/format_pcap.c
r5ab626a r5478d3d 755 755 } 756 756 757 static uint64_t pcap_get_dropped_packets(libtrace_t *trace)758 { 759 struct pcap_stat stats;760 if (pcap_stats(DATA(trace)->input.pcap,& stats)==-1) {757 static void pcap_get_statistics(libtrace_t *trace, libtrace_stat_t *stat) { 758 759 struct pcap_stat pcapstats; 760 if (pcap_stats(DATA(trace)->input.pcap,&pcapstats)==-1) { 761 761 char *errmsg = pcap_geterr(DATA(trace)->input.pcap); 762 762 trace_set_err(trace,TRACE_ERR_UNSUPPORTED, 763 "Failed to retr eive stats: %s\n",763 "Failed to retrieve stats: %s\n", 764 764 errmsg ? errmsg : "Unknown pcap error"); 765 return ~0; 766 } 767 768 return stats.ps_drop; 765 return; 766 } 767 768 stat->dropped_valid = 1; 769 stat->dropped = pcapstats.ps_drop; 769 770 } 770 771 … … 873 874 NULL, /* get_received_packets */ 874 875 NULL, /* get_filtered_packets */ 875 pcap_get_dropped_packets,/* get_dropped_packets */876 NULL,/* get_statistics */876 NULL, /* get_dropped_packets */ 877 pcap_get_statistics, /* get_statistics */ 877 878 pcap_get_fd, /* get_fd */ 878 879 trace_event_device, /* trace_event */ -
lib/format_rt.c
r6264e8e r5478d3d 628 628 rt_header_t hdr; 629 629 rt_header_t *pkt_hdr = NULL; 630 void *void_hdr;631 630 libtrace_rt_types_t switch_type; 632 631 -
lib/libtrace.h.in
rf625817 r5478d3d 1483 1483 DLLEXPORT void trace_destroy_output(libtrace_out_t *trace); 1484 1484 1485 /** Create a callback set that can be used to define callbacks for parallel1486 * libtrace threads.1487 *1488 * @return A pointer to a freshly allocated callback set.1489 */1490 DLLEXPORT libtrace_callback_set_t *trace_create_callback_set();1491 1492 /** Destroys a callback set, freeing up an resources it was using.1493 *1494 * @param cbset The callback set to be destroyed.1495 */1496 DLLEXPORT void trace_destroy_callback_set(libtrace_callback_set_t *cbset);1497 1498 1499 1485 /** Check (and clear) the current error state of an input trace 1500 1486 * @param trace The input trace to check the error state on -
lib/libtrace_parallel.h
ra31e166 r5478d3d 608 608 DLLEXPORT int trace_set_user_message_cb(libtrace_callback_set_t *cbset, 609 609 fn_cb_usermessage handler); 610 611 /** Create a callback set that can be used to define callbacks for parallel 612 * libtrace threads. 613 * 614 * @return A pointer to a freshly allocated callback set. 615 */ 616 DLLEXPORT libtrace_callback_set_t *trace_create_callback_set(void); 617 618 /** Destroys a callback set, freeing up an resources it was using. 619 * 620 * @param cbset The callback set to be destroyed. 621 */ 622 DLLEXPORT void trace_destroy_callback_set(libtrace_callback_set_t *cbset); 623 610 624 611 625 /** Pauses a trace previously started with trace_pstart() -
lib/trace.c
rf625817 r5478d3d 2102 2102 libtrace_stat_t *trace_get_statistics(libtrace_t *trace, libtrace_stat_t *stat) 2103 2103 { 2104 uint64_t ret ;2104 uint64_t ret = 0; 2105 2105 int i; 2106 2106 assert(trace); … … 2129 2129 #undef X 2130 2130 /* Both accepted and filtered are stored against in the library */ 2131 ret = trace_get_accepted_packets(trace); 2132 if (ret != UINT64_MAX) { 2133 stat->accepted_valid = 1; 2134 stat->accepted = ret; 2135 } 2131 2132 /* We always add to a thread's accepted count before dispatching the 2133 * packet to the user. However if the underlying trace is single 2134 * threaded it will also be increasing the global count. So if we 2135 * find perpkt ignore the global count. 2136 */ 2137 for (i = 0; i < trace->perpkt_thread_count; i++) { 2138 ret += trace->perpkt_threads[i].accepted_packets; 2139 } 2140 2141 stat->accepted_valid = 1; 2142 stat->accepted = ret ? ret : trace->accepted_packets; 2136 2143 2137 2144 stat->filtered_valid = 1; … … 2143 2150 if (trace->format->get_statistics) { 2144 2151 trace->format->get_statistics(trace, stat); 2145 } else {2146 /* Fallback to the old way */2147 ret = trace_get_received_packets(trace);2148 if (ret != UINT64_MAX) {2149 stat->received_valid = 1;2150 stat->received = ret;2151 }2152 ret = trace_get_dropped_packets(trace);2153 if (ret != UINT64_MAX) {2154 stat->dropped_valid = 1;2155 stat->dropped = ret;2156 }2157 2152 } 2158 2153 return stat; -
lib/trace_parallel.c
ra31e166 r5478d3d 252 252 } 253 253 254 DLLEXPORT void trace_destroy_callback_set(libtrace_callback_set_t *cbset) { 255 free(cbset); 256 } 257 254 258 DLLEXPORT libtrace_callback_set_t *trace_create_callback_set() { 255 259 libtrace_callback_set_t *cbset; … … 258 262 memset(cbset, 0, sizeof(libtrace_callback_set_t)); 259 263 return cbset; 260 }261 262 DLLEXPORT void trace_destroy_callback_set(libtrace_callback_set_t *cbset) {263 free(cbset);264 264 } 265 265
Note: See TracChangeset
for help on using the changeset viewer.