Changeset f2fae49


Ignore:
Timestamp:
11/28/07 23:04:28 (13 years ago)
Author:
Perry Lorier <perry@…>
Branches:
4.0.1-hotfixes, cachetimestamps, develop, dpdk-ndag, etsilive, getfragoff, help, 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:
9d3c721
Parents:
95b1d6d
Message:

Add new "loss" framework

Location:
lib
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • lib/format_atmhdr.c

    re1fdc05 rf2fae49  
    107107        "$Id$",
    108108        TRACE_FORMAT_ATMHDR,
    109         atmhdr_init_input,                 /* init_input */
     109        atmhdr_init_input,              /* init_input */
    110110        NULL,                           /* config_input */
    111         atmhdr_start_input,                /* start_input */
     111        atmhdr_start_input,             /* start_input */
    112112        NULL,                           /* pause_input */
    113113        NULL,                           /* init_output */
    114114        NULL,                           /* config_output */
    115115        NULL,                           /* start_output */
    116         atmhdr_fin_input,                  /* fin_input */
     116        atmhdr_fin_input,               /* fin_input */
    117117        NULL,                           /* fin_output */
    118118        atmhdr_read_packet,             /* read_packet */
    119119        NULL,                           /* fin_packet */
    120120        NULL,                           /* write_packet */
    121         atmhdr_get_link_type,        /* get_link_type */
     121        atmhdr_get_link_type,           /* get_link_type */
    122122        NULL,                           /* get_direction */
    123123        NULL,                           /* set_direction */
     
    129129        NULL,                           /* seek_seconds */
    130130        atmhdr_get_capture_length,      /* get_capture_length */
    131         atmhdr_get_wire_length,      /* get_wire_length */
    132         atmhdr_get_framing_length,   /* get_framing_length */
     131        atmhdr_get_wire_length,         /* get_wire_length */
     132        atmhdr_get_framing_length,      /* get_framing_length */
    133133        NULL,                           /* set_capture_length */
     134        NULL,                           /* get_received_packets */
     135        NULL,                           /* get_filtered_packets */
     136        NULL,                           /* get_dropped_packets */
     137        NULL,                           /* get_captured_packets */
    134138        NULL,                           /* get_fd */
    135139        trace_event_trace,              /* trace_event */
    136         NULL,                 /* help */
     140        NULL,                           /* help */
    137141        NULL                            /* next pointer */
    138142};
  • lib/format_bpf.c

    r57f7965 rf2fae49  
    369369        bpf_get_framing_length, /* get_framing_length */
    370370        NULL,                   /* set_capture_length */
     371        NULL,                   /* get_received_packets */
     372        NULL,                   /* get_filtered_packets */
     373        NULL,                   /* get_dropped_packets */
     374        NULL,                   /* get_captured_packets */
    371375        bpf_get_fd,             /* get_fd */
    372376        trace_event_device,     /* trace_event */
  • lib/format_dag24.c

    r5798dc6 rf2fae49  
    364364        erf_get_framing_length,         /* get_framing_length */
    365365        erf_set_capture_length,         /* set_capture_length */
     366        NULL,                           /* get_received_packets */
     367        NULL,                           /* get_filtered_packets */
     368        NULL,                           /* get_dropped_packets */
     369        NULL,                           /* get_captured_packets */
    366370        NULL,                           /* get_fd */
    367371        trace_event_dag,                /* trace_event */
  • lib/format_dag25.c

    r5798dc6 rf2fae49  
    408408        erf_get_framing_length,         /* get_framing_length */
    409409        erf_set_capture_length,         /* set_capture_length */
     410        NULL,                           /* get_received_packets */
     411        NULL,                           /* get_filtered_packets */
     412        NULL,                           /* get_dropped_packets */
     413        NULL,                           /* get_captured_packets */
    410414        NULL,                           /* get_fd */
    411415        trace_event_dag,                /* trace_event */
  • lib/format_duck.c

    r293999b rf2fae49  
    299299        duck_get_framing_length,        /* get_framing_length */
    300300        NULL,                           /* set_capture_length */
     301        NULL,                           /* get_received_packets */
     302        NULL,                           /* get_filtered_packets */
     303        NULL,                           /* get_dropped_packets */
     304        NULL,                           /* get_captured_packets */
    301305        NULL,                           /* get_fd */
    302306        NULL,                           /* trace_event */
  • lib/format_erf.c

    r646aca1 rf2fae49  
    671671        erf_get_framing_length,         /* get_framing_length */
    672672        erf_set_capture_length,         /* set_capture_length */
     673        NULL,                           /* get_received_packets */
     674        NULL,                           /* get_filtered_packets */
     675        NULL,                           /* get_dropped_packets */
     676        NULL,                           /* get_captured_packets */
    673677        NULL,                           /* get_fd */
    674678        erf_event,                      /* trace_event */
  • lib/format_legacy.c

    rdd06159 rf2fae49  
    447447        legacyatm_get_framing_length,   /* get_framing_length */
    448448        NULL,                           /* set_capture_length */
     449        NULL,                           /* get_received_packets */
     450        NULL,                           /* get_filtered_packets */
     451        NULL,                           /* get_dropped_packets */
     452        NULL,                           /* get_captured_packets */
    449453        NULL,                           /* get_fd */
    450454        trace_event_trace,              /* trace_event */
     
    482486        legacyeth_get_framing_length,   /* get_framing_length */
    483487        NULL,                           /* set_capture_length */
     488        NULL,                           /* get_received_packets */
     489        NULL,                           /* get_filtered_packets */
     490        NULL,                           /* get_dropped_packets */
     491        NULL,                           /* get_captured_packets */
    484492        NULL,                           /* get_fd */
    485493        trace_event_trace,              /* trace_event */
     
    517525        legacypos_get_framing_length,   /* get_framing_length */
    518526        NULL,                           /* set_capture_length */
     527        NULL,                           /* get_received_packets */
     528        NULL,                           /* get_filtered_packets */
     529        NULL,                           /* get_dropped_packets */
     530        NULL,                           /* get_captured_packets */
    519531        NULL,                           /* get_fd */
    520532        trace_event_trace,              /* trace_event */
     
    552564        legacynzix_get_framing_length,  /* get_framing_length */
    553565        NULL,                           /* set_capture_length */
     566        NULL,                           /* get_received_packets */
     567        NULL,                           /* get_filtered_packets */
     568        NULL,                           /* get_dropped_packets */
     569        NULL,                           /* get_captured_packets */
    554570        NULL,                           /* get_fd */
    555571        trace_event_trace,              /* trace_event */
  • lib/format_linux.c

    r3a14f3b rf2fae49  
    259259                        return -1;
    260260                }
    261                 close(socket);
     261                close(sock);
    262262
    263263                arphrd = ifr.ifr_hwaddr.sa_family;
     
    442442
    443443static libtrace_direction_t linuxnative_set_direction(
    444                 const libtrace_packet_t *packet,
     444                libtrace_packet_t *packet,
    445445                libtrace_direction_t direction) {
    446446
     
    521521        linuxnative_get_framing_length, /* get_framing_length */
    522522        NULL,                           /* set_capture_length */
     523        NULL,                           /* get_received_packets */
     524        NULL,                           /* get_filtered_packets */
     525        NULL,                           /* get_dropped_packets */
     526        NULL,                           /* get_captured_packets */
    523527        linuxnative_get_fd,             /* get_fd */
    524528        trace_event_device,             /* trace_event */
  • lib/format_pcap.c

    r3a14f3b rf2fae49  
    623623        pcap_get_framing_length,        /* get_framing_length */
    624624        pcap_set_capture_length,        /* set_capture_length */
     625        NULL,                           /* get_received_packets */
     626        NULL,                           /* get_filtered_packets */
     627        NULL,                           /* get_dropped_packets */
     628        NULL,                           /* get_captured_packets */
    625629        NULL,                           /* get_fd */
    626630        trace_event_trace,              /* trace_event */
     
    658662        pcap_get_framing_length,        /* get_framing_length */
    659663        pcap_set_capture_length,        /* set_capture_length */
     664        NULL,                           /* get_received_packets */
     665        NULL,                           /* get_filtered_packets */
     666        NULL,                           /* get_dropped_packets */
     667        NULL,                           /* get_captured_packets */
    660668        pcap_get_fd,                    /* get_fd */
    661669        trace_event_device,             /* trace_event */
  • lib/format_pcapfile.c

    rd469c8a rf2fae49  
    557557        pcapfile_get_framing_length,    /* get_framing_length */
    558558        pcapfile_set_capture_length,    /* set_capture_length */
     559        NULL,                           /* get_received_packets */
     560        NULL,                           /* get_filtered_packets */
     561        NULL,                           /* get_dropped_packets */
     562        NULL,                           /* get_captured_packets */
    559563        NULL,                           /* get_fd */
    560564        trace_event_trace,              /* trace_event */
  • lib/format_rt.c

    r95b1d6d rf2fae49  
    726726        rt_get_framing_length,          /* get_framing_length */
    727727        NULL,                           /* set_capture_length */
     728        NULL,                           /* get_received_packets */
     729        NULL,                           /* get_filtered_packets */
     730        NULL,                           /* get_dropped_packets */
     731        NULL,                           /* get_captured_packets */
    728732        rt_get_fd,                      /* get_fd */
    729733        trace_event_rt,             /* trace_event */
  • lib/format_tsh.c

    r36d51c8 rf2fae49  
    220220        tsh_get_framing_length,         /* get_framing_length */
    221221        NULL,                           /* set_capture_length */
     222        NULL,                           /* get_received_packets */
     223        NULL,                           /* get_filtered_packets */
     224        NULL,                           /* get_dropped_packets */
     225        NULL,                           /* get_captured_packets */
    222226        NULL,                           /* get_fd */
    223227        trace_event_trace,              /* trace_event */
     
    260264        tsh_get_framing_length,         /* get_framing_length */
    261265        NULL,                           /* set_capture_length */
     266        NULL,                           /* get_received_packets */
     267        NULL,                           /* get_filtered_packets */
     268        NULL,                           /* get_dropped_packets */
     269        NULL,                           /* get_captured_packets */
    262270        NULL,                           /* get_fd */
    263271        trace_event_trace,              /* trace_event */
  • lib/libtrace.h.in

    r95b1d6d rf2fae49  
    834834        PRINTF(2,3);
    835835
     836/** Return the number of captured packets
     837 * Includes the number of packets counted as early as possible, before
     838 * filtering, and includes dropped packets.
     839 *
     840 * @param trace         Trace to examine
     841 * @returns number of packets seen at the capture point before filtering.
     842 *
     843 * If this is not known, this will return UINT64_MAX
     844 */
     845uint64_t trace_get_received_packets(const libtrace_t *trace);
     846
     847/** Return the number of filtered packets
     848 * Returns the number of packets that were captured, but discarded for not
     849 * matching a trace filter.  This includes packets
     850 *
     851 * @param trace         Trace file to examine
     852 * @returns the number of packets that were successfully captured, but filtered
     853 *
     854 * If this is not known, this will return UINT64_MAX
     855 */
     856uint64_t trace_get_filtered_packets(const libtrace_t *trace);
     857
     858/** Return the number of packets that have been dropped for lack of packets
     859 * @param trace         Trace file to examine
     860 * @returns The number of packets captured, but dropped due to buffer overruns
     861 */
     862uint64_t trace_get_dropped_packets(const libtrace_t *trace);
     863
     864/** Return the number of packets that have been returned to library user
     865 * @param trace         Trace file to examine
     866 * @returns The number of packets returned to the user of the library.
     867 */
     868uint64_t trace_get_accepted_packets(const libtrace_t *trace);
     869
    836870
    837871/*@}*/
  • lib/libtrace_int.h

    r9bc4689 rf2fae49  
    129129struct libtrace_t {
    130130        struct libtrace_format_t *format; /**< format driver pointer */
    131         void *format_data; /**<format data pointer */
     131        void *format_data;              /**<format data pointer */
    132132        bool started;                   /**< if this trace has started */
    133133        libtrace_err_t err;             /**< error information */
    134134        struct libtrace_event_status_t event;   /**< the next event */
    135         char *uridata;                  /**< the uri of this trace */
    136135        struct libtrace_filter_t *filter; /**< used by libtrace if the module
    137136                                            * doesn't support filters natively
    138137                                            */
    139         size_t snaplen;         /**< used by libtrace if the module
     138        size_t snaplen;                 /**< used by libtrace if the module
    140139                                          * doesn't support snapping natively
    141140                                          */
     141        uint64_t accepted_packets;      /**< Number of packets returned to the
     142                                          * user
     143                                          */
     144        char *uridata;                  /**< the uri of this trace */
     145
    142146};
    143147
     
    340344         */
    341345        size_t (*set_capture_length)(struct libtrace_packet_t *packet,size_t size);
     346        /** Report the number of packets ever seen as early as possible
     347         */
     348        uint64_t (*get_received_packets)(const libtrace_t *trace);
     349        /** Report the number of filtered packets.
     350         */
     351        uint64_t (*get_filtered_packets)(const libtrace_t *trace);
     352        /** Return the number of dropped packets */
     353        uint64_t (*get_dropped_packets)(const libtrace_t *trace);
     354        /** Report number of captured packets
     355         */
     356        uint64_t (*get_captured_packets)(const libtrace_t *trace);
    342357        /** return the filedescriptor associated with this interface.
    343358         * @note This callback may be NULL if not supported.
  • lib/trace.c

    r95b1d6d rf2fae49  
    15901590        packet->type=pcap_linktype_to_rt(libtrace_to_pcap_linktype(linktype));
    15911591}
     1592
     1593uint64_t trace_get_received_packets(const libtrace_t *trace)
     1594{
     1595        assert(trace);
     1596        if (trace->format->get_received_packets) {
     1597                return trace->format->get_received_packets(trace);
     1598        }
     1599        return (uint64_t)-1;
     1600}
     1601
     1602uint64_t trace_get_filtered_packets(const libtrace_t *trace)
     1603{
     1604        assert(trace);
     1605        if (trace->format->get_filtered_packets) {
     1606                return trace->format->get_filtered_packets(trace);
     1607        }
     1608        if (trace->format->get_received_packets
     1609                && trace->format->get_dropped_packets) {
     1610                return
     1611                        trace_get_received_packets(trace)
     1612                        -trace_get_accepted_packets(trace)
     1613                        -trace_get_dropped_packets(trace);
     1614        }
     1615        return (uint64_t)-1;
     1616}
     1617
     1618uint64_t trace_get_dropped_packets(const libtrace_t *trace)
     1619{
     1620        assert(trace);
     1621        if (trace->format->get_dropped_packets) {
     1622                return trace->format->get_dropped_packets(trace);
     1623        }
     1624        return (uint64_t)-1;
     1625}
     1626
     1627uint64_t trace_get_accepted_packets(const libtrace_t *trace)
     1628{
     1629        assert(trace);
     1630        return trace->accepted_packets;
     1631}
     1632
Note: See TracChangeset for help on using the changeset viewer.