Changeset fce4572 for lib


Ignore:
Timestamp:
01/08/19 10:58:31 (21 months ago)
Author:
Shane Alcock <salcock@…>
Branches:
develop
Children:
0ae7ba2
Parents:
93564ff
Message:

Add more failure cases to "can_write" functions for some formats.

Specifically:

  • Avoid writing metadata packets to DPDK, ring and int
  • Make sure all formats avoid writing "content invalid" packets.
  • Add comments to remind us that erf meta <-> pcapng meta conversion might be worth adding at some point.
  • Add comment to remind us that erf meta should be writable via a DAG card (I think).
Location:
lib
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • lib/format_dag25.c

    r9a6bdbc rfce4572  
    179179        libtrace_linktype_t ltype = trace_get_link_type(packet);
    180180
     181        if (ltype == TRACE_TYPE_CONTENT_INVALID) {
     182                return false;
     183        }
     184
     185        /* TODO erf meta should definitely be writable, pcapng meta
     186         * could probably be converted into erf meta */
    181187        if (ltype == TRACE_TYPE_ERF_META
    182                 || ltype == TRACE_TYPE_NONDATA) {
    183 
     188                        || ltype == TRACE_TYPE_NONDATA
     189                        || ltype == TRACE_TYPE_PCAPNG_META) {
    184190                return false;
    185191        }
  • lib/format_dpdk.c

    r9a6bdbc rfce4572  
    146146
    147147static bool dpdk_can_write(libtrace_packet_t *packet) {
     148        libtrace_linktype_t ltype = trace_get_link_type(packet);
     149
     150        if (ltype == TRACE_TYPE_CONTENT_INVALID) {
     151                return false;
     152        }
     153        if (ltype == TRACE_TYPE_NONDATA || ltype == TRACE_TYPE_ERF_META ||
     154                        ltype == TRACE_TYPE_PCAPNG_META) {
     155                return false;
     156        }
    148157        return true;
    149158}
  • lib/format_erf.c

    r9a6bdbc rfce4572  
    123123        libtrace_linktype_t ltype = trace_get_link_type(packet);
    124124
     125        if (ltype == TRACE_TYPE_CONTENT_INVALID) {
     126                return false;
     127        }
    125128        if (ltype == TRACE_TYPE_PCAPNG_META
    126129                || ltype == TRACE_TYPE_NONDATA) {
  • lib/format_linux_int.c

    r9a6bdbc rfce4572  
    6161
    6262        if (ltype == TRACE_TYPE_NONDATA) {
     63                return false;
     64        }
     65        if (ltype == TRACE_TYPE_CONTENT_INVALID) {
     66                return false;
     67        }
     68        if (ltype == TRACE_TYPE_PCAPNG_META) {
     69                return false;
     70        }
     71        if (ltype == TRACE_TYPE_ERF_META) {
    6372                return false;
    6473        }
  • lib/format_linux_ring.c

    r32de4c7 rfce4572  
    7575        libtrace_linktype_t ltype = trace_get_link_type(packet);
    7676
     77        if (ltype == TRACE_TYPE_CONTENT_INVALID) {
     78                return false;
     79        }
    7780        if (ltype == TRACE_TYPE_NONDATA) {
     81                return false;
     82        }
     83        if (ltype == TRACE_TYPE_PCAPNG_META) {
     84                return false;
     85        }
     86        if (ltype == TRACE_TYPE_ERF_META) {
    7887                return false;
    7988        }
  • lib/format_pcapng.c

    rf47025d rfce4572  
    225225        libtrace_linktype_t ltype = trace_get_link_type(packet);
    226226
     227        /* TODO convert erf meta to pcapng meta? */
    227228        if (ltype == TRACE_TYPE_CONTENT_INVALID
    228229                || ltype == TRACE_TYPE_UNKNOWN
Note: See TracChangeset for help on using the changeset viewer.