Changeset 37195b4 for lib/format_erf.c


Ignore:
Timestamp:
02/10/06 10:52:41 (16 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:
7f32bb5
Parents:
56ef532
Message:

Split out legacy from erf
Added config_input, start_input, and start_output hooks for formats

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lib/format_erf.c

    r56ef532 r37195b4  
    7676static struct libtrace_format_t dag;
    7777#endif
    78 static struct libtrace_format_t legacypos;
    79 static struct libtrace_format_t legacyeth;
    80 static struct libtrace_format_t legacyatm;
    8178
    8279#define CONNINFO libtrace->format_data->conn_info
     
    203200}
    204201
    205 static int legacyeth_get_framing_length(const struct libtrace_packet_t *packet UNUSED)
    206 {
    207         return sizeof(legacy_ether_t);
    208 }
    209 
    210 static int legacypos_get_framing_length(const struct libtrace_packet_t *packet UNUSED)
    211 {
    212         return sizeof(legacy_pos_t);
    213 }
    214 
    215 static int legacyatm_get_framing_length(const struct libtrace_packet_t *packet UNUSED)
    216 {
    217         return sizeof(legacy_cell_t);
    218 }
    219202
    220203static int erf_init_input(struct libtrace_t *libtrace) {
     
    490473#endif
    491474
    492 static int legacy_read_packet(struct libtrace_t *libtrace, struct libtrace_packet_t *packet) {
    493         int numbytes;
    494         void *buffer = packet->buffer;
    495        
    496         if ((numbytes=LIBTRACE_READ(INPUT.file,
    497                                         buffer,
    498                                         64)) == -1) {
    499                 perror("libtrace_read");
    500                 return -1;
    501         }
    502         packet->status.type = RT_DATA;
    503         packet->status.message = 0;
    504         packet->size = 64;
    505        
    506         packet->header = packet->buffer;
    507         packet->payload = packet->buffer +
    508                 packet->trace->format->get_framing_length(packet);
    509        
    510         return 64;
    511        
    512 }
    513475static int erf_read_packet(struct libtrace_t *libtrace, struct libtrace_packet_t *packet) {
    514476        int numbytes;
     
    758720}
    759721
    760 static void *legacypos_get_link(const struct libtrace_packet_t *packet) {
    761         return (void *)packet->payload;
    762 }
    763 
    764 static libtrace_linktype_t legacypos_get_link_type(const struct libtrace_packet_t *packet UNUSED) {
    765         return TRACE_TYPE_LEGACY_POS;
    766 }
    767 
    768 static void *legacyatm_get_link(const struct libtrace_packet_t *packet) {
    769         return (void *)packet->payload;
    770 }
    771 
    772 static libtrace_linktype_t legacyatm_get_link_type(const struct libtrace_packet_t *packet UNUSED) {
    773         return TRACE_TYPE_LEGACY_ATM;
    774 }
    775 
    776 static void *legacyeth_get_link(const struct libtrace_packet_t *packet) {
    777         return (void *)packet->payload;
    778 }
    779 
    780 static libtrace_linktype_t legacyeth_get_link_type(const struct libtrace_packet_t *packet UNUSED) {
    781         return TRACE_TYPE_LEGACY_ETH;
    782 }
    783 
    784 
    785 
    786722static void *erf_get_link(const struct libtrace_packet_t *packet) {
    787723        return (void *)packet->payload;
     
    821757}
    822758
    823 static int legacy_get_capture_length(const struct libtrace_packet_t *packet __attribute__((unused))) {
    824         return 64;
    825 }
    826 
    827 static int legacypos_get_wire_length(const struct libtrace_packet_t *packet) {
    828         legacy_pos_t *lpos = (legacy_pos_t *)packet->header;
    829         return ntohs(lpos->wlen);
    830 }
    831 
    832 static int legacyatm_get_wire_length(const struct libtrace_packet_t *packet UNUSED) {
    833         return 53;
    834 }
    835 
    836 static int legacyeth_get_wire_length(const struct libtrace_packet_t *packet) {
    837         legacy_ether_t *leth = (legacy_ether_t *)packet->header;
    838         return ntohs(leth->wlen);
    839 }
    840759static int erf_get_capture_length(const struct libtrace_packet_t *packet) {
    841760        dag_record_t *erfptr = 0;
     
    910829#endif
    911830
    912 static void legacypos_help() {
    913         printf("legacypos format module: $Revision$\n");
    914         printf("Supported input URIs:\n");
    915         printf("\tlegacypos:/path/to/file\t(uncompressed)\n");
    916         printf("\tlegacypos:/path/to/file.gz\t(gzip-compressed)\n");
    917         printf("\tlegacypos:-\t(stdin, either compressed or not)\n");
    918         printf("\n");
    919         printf("\te.g.: legacypos:/tmp/trace.gz\n");
    920         printf("\n");
    921 }
    922 
    923 static void legacyatm_help() {
    924         printf("legacyatm format module: $Revision$\n");
    925         printf("Supported input URIs:\n");
    926         printf("\tlegacyatm:/path/to/file\t(uncompressed)\n");
    927         printf("\tlegacyatm:/path/to/file.gz\t(gzip-compressed)\n");
    928         printf("\tlegacyatm:-\t(stdin, either compressed or not)\n");
    929         printf("\n");
    930         printf("\te.g.: legacyatm:/tmp/trace.gz\n");
    931         printf("\n");
    932 }
    933 
    934 static void legacyeth_help() {
    935         printf("legacyeth format module: $Revision$\n");
    936         printf("Supported input URIs:\n");
    937         printf("\tlegacyeth:/path/to/file\t(uncompressed)\n");
    938         printf("\tlegacyeth:/path/to/file.gz\t(gzip-compressed)\n");
    939         printf("\tlegacyeth:-\t(stdin, either compressed or not)\n");
    940         printf("\n");
    941         printf("\te.g.: legacyeth:/tmp/trace.gz\n");
    942         printf("\n");
    943 }
    944 
    945831static void erf_help() {
    946832        printf("erf format module: $Revision$\n");
     
    987873}
    988874
    989 static struct libtrace_format_t legacyatm = {
    990         "legacyatm",
    991         "$Id$",
    992         "legacyatm",
    993         erf_init_input,                 /* init_input */       
    994         NULL,                           /* init_output */
    995         NULL,                           /* config_output */
    996         erf_fin_input,                  /* fin_input */
    997         NULL,                           /* fin_output */
    998         legacy_read_packet,             /* read_packet */
    999         NULL,                           /* write_packet */
    1000         legacyatm_get_link,             /* get_link */
    1001         legacyatm_get_link_type,        /* get_link_type */
    1002         NULL,                           /* get_direction */
    1003         NULL,                           /* set_direction */
    1004         erf_get_erf_timestamp,          /* get_erf_timestamp */
    1005         NULL,                           /* get_timeval */
    1006         NULL,                           /* get_seconds */
    1007         legacy_get_capture_length,      /* get_capture_length */
    1008         legacyatm_get_wire_length,      /* get_wire_length */
    1009         legacyatm_get_framing_length,   /* get_framing_length */
    1010         NULL,                           /* set_capture_length */
    1011         NULL,                           /* get_fd */
    1012         trace_event_trace,              /* trace_event */
    1013         legacyatm_help                  /* help */
    1014 };
    1015 
    1016 static struct libtrace_format_t legacyeth = {
    1017         "legacyeth",
    1018         "$Id$",
    1019         "legacyeth",
    1020         erf_init_input,                 /* init_input */       
    1021         NULL,                           /* init_output */
    1022         NULL,                           /* config_output */
    1023         erf_fin_input,                  /* fin_input */
    1024         NULL,                           /* fin_output */
    1025         legacy_read_packet,             /* read_packet */
    1026         NULL,                           /* write_packet */
    1027         legacyeth_get_link,             /* get_link */
    1028         legacyeth_get_link_type,        /* get_link_type */
    1029         NULL,                           /* get_direction */
    1030         NULL,                           /* set_direction */
    1031         erf_get_erf_timestamp,          /* get_erf_timestamp */
    1032         NULL,                           /* get_timeval */
    1033         NULL,                           /* get_seconds */
    1034         legacy_get_capture_length,      /* get_capture_length */
    1035         legacyeth_get_wire_length,      /* get_wire_length */
    1036         legacyeth_get_framing_length,   /* get_framing_length */
    1037         NULL,                           /* set_capture_length */
    1038         NULL,                           /* get_fd */
    1039         trace_event_trace,              /* trace_event */
    1040         legacyeth_help                  /* help */
    1041 };
    1042 
    1043 static struct libtrace_format_t legacypos = {
    1044         "legacypos",
    1045         "$Id$",
    1046         "legacypos",
    1047         erf_init_input,                 /* init_input */       
    1048         NULL,                           /* init_output */
    1049         NULL,                           /* config_output */
    1050         erf_fin_input,                  /* fin_input */
    1051         NULL,                           /* fin_output */
    1052         legacy_read_packet,             /* read_packet */
    1053         NULL,                           /* write_packet */
    1054         legacypos_get_link,             /* get_link */
    1055         legacypos_get_link_type,        /* get_link_type */
    1056         NULL,                           /* get_direction */
    1057         NULL,                           /* set_direction */
    1058         erf_get_erf_timestamp,          /* get_erf_timestamp */
    1059         NULL,                           /* get_timeval */
    1060         NULL,                           /* get_seconds */
    1061         legacy_get_capture_length,      /* get_capture_length */
    1062         legacypos_get_wire_length,      /* get_wire_length */
    1063         legacypos_get_framing_length,   /* get_framing_length */
    1064         NULL,                           /* set_capture_length */
    1065         NULL,                           /* get_fd */
    1066         trace_event_trace,              /* trace_event */
    1067         legacypos_help                  /* help */
    1068 };
    1069 
    1070        
    1071875static struct libtrace_format_t erf = {
    1072876        "erf",
     
    1074878        "erf",
    1075879        erf_init_input,                 /* init_input */       
     880        NULL,                           /* config_input */
     881        NULL,                           /* start_input */
    1076882        erf_init_output,                /* init_output */
    1077883        erf_config_output,              /* config_output */
     884        NULL,                           /* start_output */
    1078885        erf_fin_input,                  /* fin_input */
    1079886        erf_fin_output,                 /* fin_output */
    1080887        erf_read_packet,                /* read_packet */
    1081888        erf_write_packet,               /* write_packet */
    1082         erf_get_link,                   /* get_link */
    1083889        erf_get_link_type,              /* get_link_type */
    1084890        erf_get_direction,              /* get_direction */
     
    1102908        "erf",
    1103909        dag_init_input,                 /* init_input */       
     910        NULL,                           /* config_input */
     911        NULL,                           /* start_output */
    1104912        NULL,                           /* init_output */
    1105913        NULL,                           /* config_output */
     914        NULL,                           /* start_output */
    1106915        dag_fin_input,                  /* fin_input */
    1107916        NULL,                           /* fin_output */
    1108917        dag_read_packet,                /* read_packet */
    1109918        NULL,                           /* write_packet */
    1110         erf_get_link,                   /* get_link */
    1111919        erf_get_link_type,              /* get_link_type */
    1112920        erf_get_direction,              /* get_direction */
     
    1130938        "erf",
    1131939        rtclient_init_input,            /* init_input */       
     940        NULL,                           /* config_input */
     941        NULL,                           /* start_input */
    1132942        NULL,                           /* init_output */
    1133943        NULL,                           /* config_output */
     944        NULL,                           /* start_output */
    1134945        rtclient_fin_input,             /* fin_input */
    1135946        NULL,                           /* fin_output */
    1136947        rtclient_read_packet,           /* read_packet */
    1137948        NULL,                           /* write_packet */
    1138         erf_get_link,                   /* get_link */
    1139949        erf_get_link_type,              /* get_link_type */
    1140950        erf_get_direction,              /* get_direction */
     
    1157967        register_format(&dag);
    1158968#endif
    1159         register_format(&rtclient);
    1160         register_format(&legacypos);
    1161         register_format(&legacyeth);
    1162         register_format(&legacyatm);
    1163 }
     969}
Note: See TracChangeset for help on using the changeset viewer.