source: tools/tracereport/error_report.c @ e3b0188

4.0.1-hotfixescachetimestampsdevelopdpdk-ndagetsilivegetfragoffhelplibtrace4ndag_formatpfringrc-4.0.1rc-4.0.2rc-4.0.3rc-4.0.4ringdecrementfixringperformanceringtimestampfixes
Last change on this file since e3b0188 was e3b0188, checked in by Daniel Lawson <dlawson@…>, 16 years ago

a lot of changes for cross-compilation support

  • header ordering
  • os-specific headers
  • an lt_inttypes.h which defines PRIu64 etc for platforms that don't have them
  • removed daglegacy.h, merged with dagformat.h
  • Property mode set to 100644
File size: 791 bytes
Line 
1#include <netdb.h>
2#include <inttypes.h>
3#include <lt_inttypes.h>
4#include <stdio.h>
5#include "libtrace.h"
6#include "tracereport.h"
7
8static uint64_t rx_errors = 0;
9static uint64_t ip_errors = 0;
10static uint64_t tcp_errors = 0;
11
12void error_per_packet(struct libtrace_packet_t *packet)
13{
14        struct libtrace_ip *ip = trace_get_ip(packet);
15        struct libtrace_tcp *tcp = trace_get_tcp(packet);
16        void *link = trace_get_link(packet);
17        if (!link) {
18                ++rx_errors;
19        }
20        if (ip) {
21                if (ntohs(ip->ip_sum)!=0)
22                        ++ip_errors;
23        }
24        if (tcp) {
25                if (ntohs(tcp->check)!=0)
26                        ++tcp_errors;
27        }
28}
29
30void error_report(void)
31{
32        printf("# Errors:\n");
33        printf("RX Errors: %" PRIu64 "\n",rx_errors);
34        printf("IP Checksum errors: %" PRIu64 "\n",ip_errors);
35        //printf("TCP Checksum errors: %" PRIu64 "\n",tcp_errors);
36}
Note: See TracBrowser for help on using the repository browser.