diff options
author | Dave Barach <dave@barachs.net> | 2018-05-16 11:34:35 -0400 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2018-05-17 06:27:34 +0000 |
commit | 78c568905724af785e90185fd89fa8717b3b35c2 (patch) | |
tree | 85f5c35f4cef17be2490b4d3033ff07c71414556 /src/vnet/unix/pcap.c | |
parent | 26d6fd7f4deb67480c54eeff81aca36a8182dc0d (diff) |
Packet generator: preserve pcap file timestamps
Set vnet_buffer2(b0)->pg_replay_timestamp, for use when desired.
Fix a memory leak in pg_stream_free(...), which wasn't freeing the
replay packet templates.
Change-Id: I01822a9e91a52de4774d2b95cf0c2ee254a915e9
Signed-off-by: Dave Barach <dave@barachs.net>
Diffstat (limited to 'src/vnet/unix/pcap.c')
-rw-r--r-- | src/vnet/unix/pcap.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/vnet/unix/pcap.c b/src/vnet/unix/pcap.c index 0832b16e753..473430a670e 100644 --- a/src/vnet/unix/pcap.c +++ b/src/vnet/unix/pcap.c @@ -216,6 +216,9 @@ pcap_read (pcap_main_t * pm) while ((n = read (fd, &ph, sizeof (ph))) != 0) { u8 *data; + u64 timestamp; + u32 timestamp_sec; + u32 timestamp_usec; if (need_swap) { @@ -242,7 +245,11 @@ pcap_read (pcap_main_t * pm) clib_max (pm->max_packet_bytes, ph.n_bytes_in_packet); } + timestamp_sec = ph.time_in_sec; + timestamp_usec = ph.time_in_usec; + timestamp = ((u64) timestamp_sec) * 1000000 + (u64) timestamp_usec; vec_add1 (pm->packets_read, data); + vec_add1 (pm->timestamps, timestamp); } done: |