- Timestamp:
- 12/15/06 10:13:09 (15 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:
- eb27e8e
- Parents:
- fab1d42
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lib/format_erf.c
r8d1e551 r92a37b0 408 408 return -1; 409 409 } 410 /* 410 411 if (dag_detach_stream(INPUT.fd, DAG.dagstream) < 0) { 411 412 trace_set_err(libtrace, errno, "Could not detach DAG stream"); 412 413 return -1; 413 414 } 415 */ 414 416 #endif 415 417 return 0; /* success */ … … 543 545 struct timeval tv; 544 546 dag_record_t *erfptr; 547 char *next_record = NULL; 545 548 546 549 if (DUCK.last_pkt - DUCK.last_duck > DUCK.duck_freq && … … 562 565 563 566 packet->type = TRACE_RT_DATA_ERF; 564 567 #ifdef DAG_VERSION_2_4 565 568 if ((numbytes = dag_read(libtrace,0)) < 0) 566 569 return numbytes; … … 570 573 erfptr = (dag_record_t *) ((char *)DAG.buf + 571 574 (DAG.bottom + DAG.offset)); 575 #else 576 next_record = (char *)dag_rx_stream_next_record(INPUT.fd, 0); 577 erfptr = (dag_record_t *)next_record; 578 #endif 572 579 size = ntohs(erfptr->rlen); 573 574 580 assert( size >= dag_record_size ); 575 581 assert( size < LIBTRACE_PACKET_BUFSIZE); … … 587 593 } 588 594 595 #ifdef DAG_VERSION_2_4 589 596 DAG.offset += size; 590 597 DAG.diff -= size; 591 598 #endif 592 599 tv = trace_get_timeval(packet); 593 600 DUCK.last_pkt = tv.tv_sec; … … 595 602 return packet->payload ? size : erf_get_framing_length(packet); 596 603 } 597 604 598 605 static int dag_start_input(libtrace_t *libtrace) { 599 606 #ifdef DAG_VERSION_2_4 … … 617 624 * happen. flush the memory hole 618 625 */ 619 while(dag_read(libtrace, 1)!=0)626 while(dag_read(libtrace,DAGF_NONBLOCK)!=0) 620 627 DAG.diff=0; 621 628 return 0; … … 900 907 if (data > 0) { 901 908 event.size = dag_read_packet(trace,packet); 909 DATA(trace)->dag.diff -= event.size; 902 910 if (trace->filter) { 903 911 if (trace_apply_filter(trace->filter, packet)) { … … 908 916 return event; 909 917 } 910 } 918 } else { 919 event.type = TRACE_EVENT_PACKET; 920 } 911 921 if (trace->snaplen > 0) { 912 922 trace_set_capture_length(packet, trace->snaplen);
Note: See TracChangeset
for help on using the changeset viewer.