Changeset 8e11beb for tools/traceends


Ignore:
Timestamp:
07/03/17 16:37:48 (4 years ago)
Author:
Shane Alcock <salcock@…>
Branches:
cachetimestamps, develop, dpdk-ndag, etsilive, master, ndag_format, rc-4.0.2, rc-4.0.3, rc-4.0.4, ringdecrementfix, ringperformance
Children:
568a341
Parents:
ed5b2ce
Message:

Update tools to properly ignore meta records and missing timestamps

pcapng introduces a lot of meta records that we should preserve as
long as possible. Since we aren't automatically discarding them,
we need to make sure that our tools do not try to treat them as
"real" packets, i.e. try to get a timestamp or capture length from
them.

Similarly, simple pcapng packet records do not have a timestamp
so we need to make sure the tools do the right thing when
trace_get_seconds() returns a timestamp of zero on a packet. For
starters, we don't want to set our "first" packet time to zero
in that case!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tools/traceends/traceends.cc

    ree6e802 r8e11beb  
    309309        c->src_pbytes += plen;
    310310        c->src_bytes += ip->ip_len;
    311         c->last_active = ts;
     311        if (ts != 0)
     312                c->last_active = ts;
    312313       
    313314        key = ip->ip_dst.s_addr;
     
    324325        c->dst_pbytes += plen;
    325326        c->dst_bytes += ip_len;
    326         c->last_active = ts;
     327        if (ts != 0)
     328                c->last_active = ts;
    327329}
    328330
     
    455457
    456458                while (trace_read_packet(input,packet)>0) {
     459                        if (IS_LIBTRACE_META_PACKET(packet))
     460                                continue;
    457461                        if (per_packet(packet) < 1)
    458462                                done = 1;
Note: See TracChangeset for help on using the changeset viewer.