- Timestamp:
- 05/25/06 14:59:54 (16 years ago)
- 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:
- 77a38d9
- Parents:
- 961f687
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lib/format_erf.c
r0e9b9f8 rf57715c8 224 224 static int erf_get_padding(const libtrace_packet_t *packet) 225 225 { 226 dag_record_t *erfptr = (dag_record_t *)packet->header; 227 switch(erfptr->type) { 228 case TYPE_ETH: return 2; 229 default: return 0; 226 if (packet->trace->format->type==TRACE_FORMAT_ERF) { 227 dag_record_t *erfptr = (dag_record_t *)packet->header; 228 switch(erfptr->type) { 229 case TYPE_ETH: return 2; 230 default: return 0; 231 } 232 } 233 else { 234 switch(trace_get_link_type(packet)) { 235 case TYPE_ETH: return 2; 236 default: return 0; 237 } 230 238 } 231 239 } … … 733 741 return -1; 734 742 } 743 trace_set_err(libtrace,EIO,"Truncated packet (wanted %d, got %d)", size, numbytes); 735 744 /* Failed to read the full packet? must be EOF */ 736 return 0;745 return -1; 737 746 } 738 747 if (((dag_record_t *)packet->buffer)->flags.rxerror == 1) { … … 932 941 memset(&erfhdr.flags,1,sizeof(erfhdr.flags)); 933 942 /* Packet length (rlen includes format overhead) */ 934 erfhdr.rlen = trace_get_capture_length(packet)935 + erf_get_framing_length(packet) ;943 erfhdr.rlen = htons(trace_get_capture_length(packet) 944 + erf_get_framing_length(packet)); 936 945 /* loss counter. Can't do this */ 937 946 erfhdr.lctr = 0; 938 /* Wire length */939 erfhdr.wlen = trace_get_wire_length(packet);947 /* Wire length, may contain the padding */ 948 erfhdr.wlen = htons(trace_get_wire_length(packet)+pad); 940 949 941 950 /* Write it out */ … … 983 992 dag_record_t *erfptr = 0; 984 993 erfptr = (dag_record_t *)packet->header; 985 return ntohs(erfptr->wlen) ;994 return ntohs(erfptr->wlen) - erf_get_padding(packet); 986 995 } 987 996
Note: See TracChangeset
for help on using the changeset viewer.