Changeset 00365c6
- Timestamp:
- 05/18/18 11:39:59 (3 years ago)
- Branches:
- cachetimestamps, develop, etsilive, master, rc-4.0.4, ringdecrementfix, ringperformance
- Children:
- 991ff43
- Parents:
- b663d33
- git-author:
- Shane Alcock <salcock@…> (12/19/17 17:09:29)
- git-committer:
- Shane Alcock <salcock@…> (05/18/18 11:39:59)
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
lib/format_etsilive.c
rb663d33 r00365c6 73 73 uint16_t sourcecount; 74 74 int threadindex; 75 wandder_etsispec_t *etsidec; 75 76 } etsithread_t; 76 77 … … 263 264 FORMAT_DATA->receivers[i].sourcecount = 0; 264 265 FORMAT_DATA->receivers[i].threadindex = i; 266 FORMAT_DATA->receivers[i].etsidec = 267 wandder_create_etsili_decoder(); 265 268 266 269 } … … 291 294 close(src.sock); 292 295 } 296 wandder_free_etsili_decoder(receiver->etsidec); 293 297 free(receiver->sources); 294 298 } … … 425 429 } 426 430 427 init_wandder_decoder(&dec, ptr, available, false);431 wandder_attach_etsili_buffer(et->etsidec, ptr, available, false); 428 432 if (et->sources[i].cached.length != 0) { 429 433 reclen = et->sources[i].cached.length; 430 434 } else { 431 reclen = wandder_etsili_get_pdu_length( &dec);435 reclen = wandder_etsili_get_pdu_length(et->etsidec); 432 436 433 437 if (reclen == 0) { 434 free_wandder_decoder(&dec);435 438 continue; 436 439 } … … 439 442 if (available < reclen) { 440 443 /* Don't have the whole PDU yet */ 441 free_wandder_decoder(&dec);442 444 continue; 443 445 } … … 445 447 /* Get the timestamp */ 446 448 447 tv = wandder_etsili_get_header_timestamp( &dec);449 tv = wandder_etsili_get_header_timestamp(et->etsidec); 448 450 if (tv.tv_sec == 0) { 449 free_wandder_decoder(&dec);450 451 continue; 451 452 } … … 487 488 packet->wire_length = esock->cached.length; 488 489 packet->capture_length = esock->cached.length; 490 491 /* 492 for (j = 0; j < packet->wire_length; j++) { 493 printf("%02x ", *(((uint8_t *)packet->buffer) + j)); 494 if ((j % 16) == 15) printf("\n"); 495 } 496 printf("\n"); 497 */ 489 498 490 499 /* Advance the read pointer for this buffer … … 547 556 548 557 /* Should never get here because cache is set when packet is read */ 549 wandder_ decoder_tdec;558 wandder_etsispec_t *dec; 550 559 size_t reclen; 551 560 552 561 /* 0 should be ok here for quickly evaluating the first length 553 562 * field... */ 554 init_wandder_decoder(&dec, packet->buffer, 0, false);555 reclen = (size_t)wandder_etsili_get_pdu_length(&dec);556 557 free_wandder_decoder(&dec);563 dec = wandder_create_etsili_decoder(); 564 wandder_attach_etsili_buffer(dec, packet->buffer, 0, false); 565 reclen = (size_t)wandder_etsili_get_pdu_length(dec); 566 wandder_free_etsili_decoder(dec); 558 567 559 568 return reclen; … … 569 578 * this up again. */ 570 579 struct timeval tv; 571 wandder_ decoder_tdec;580 wandder_etsispec_t *dec; 572 581 573 582 tv.tv_sec = 0; 574 583 tv.tv_usec = 0; 575 584 576 init_wandder_decoder(&dec, packet->buffer, 0, false); 577 tv = wandder_etsili_get_header_timestamp(&dec); 578 free_wandder_decoder(&dec); 585 586 dec = wandder_create_etsili_decoder(); 587 wandder_attach_etsili_buffer(dec, packet->buffer, 0, false); 588 tv = wandder_etsili_get_header_timestamp(dec); 589 wandder_free_etsili_decoder(dec); 579 590 return tv; 580 591 } -
lib/protocols_pktmeta.c
rb663d33 r00365c6 129 129 130 130 #ifdef HAVE_WANDDER 131 wandder_ decoder_tdec;131 wandder_etsispec_t *dec; 132 132 uint8_t *ccptr; 133 133 134 init_wandder_decoder(&dec, (uint8_t *)link, *remaining, false); 135 ccptr = wandder_etsili_get_cc_contents(&dec, remaining); 134 /* XXX Bit annoying to be creating and freeing this every time */ 135 dec = wandder_create_etsili_decoder(); 136 wandder_attach_etsili_buffer(dec, (uint8_t *)link, *remaining, false); 137 ccptr = wandder_etsili_get_cc_contents(dec, remaining); 136 138 /* Assuming all CCs are IP for now */ 137 139 *type = TRACE_TYPE_NONE; 140 wandder_free_etsili_decoder(dec); 138 141 return ccptr; 139 142 -
libpacketdump/link_21.c
rb663d33 r00365c6 6 6 DLLEXPORT void decode(int link_type UNUSED, const char *packet, unsigned len) { 7 7 8 wandder_decoder_t dec;9 wandder_etsi_stack_t *stack = NULL;10 8 char linespace[4096]; 11 9 int i; 12 10 uint8_t *cchdr = NULL; 13 11 uint32_t rem = len; 12 wandder_etsispec_t *dec; 13 wandder_decoder_t *basedec = NULL; 14 14 15 init_wandder_decoder(&dec, (uint8_t *)packet, len, false); 16 while (wandder_etsili_get_next_fieldstr(&dec, linespace, 4096, &stack)) { 15 dec = wandder_create_etsili_decoder(); 16 wandder_attach_etsili_buffer(dec, (uint8_t *)packet, len, false); 17 18 basedec = wandder_get_etsili_base_decoder(dec); 19 while (wandder_etsili_get_next_fieldstr(dec, linespace, 4096)) { 17 20 printf(" ETSILI: "); 18 for (i = 0; i < wandder_get_level( &dec); i++) {21 for (i = 0; i < wandder_get_level(basedec); i++) { 19 22 printf(" "); 20 23 } … … 22 25 } 23 26 24 wandder_reset_decoder(&dec); 25 cchdr = wandder_etsili_get_cc_contents(&dec, &rem); 27 cchdr = wandder_etsili_get_cc_contents(dec, &rem); 26 28 27 wandder_etsili_free_stack(stack); 28 free_wandder_decoder(&dec); 29 wandder_free_etsili_decoder(dec); 29 30 30 31 if (cchdr) {
Note: See TracChangeset
for help on using the changeset viewer.