fix pcap_write function 70/16770/8
authorJack Xu <jack.c.xu@ericsson.com>
Wed, 27 Mar 2019 15:51:32 +0000 (11:51 -0400)
committerDamjan Marion <dmarion@me.com>
Tue, 20 Aug 2019 11:07:49 +0000 (11:07 +0000)
commit9af7e2e87e6a11fb69309fc9ce4bf8432acbc4e3
tree7eb29962a17227351ed68f6f9a09a1b27e155977
parent053204ab039d34a990ff0e14c32ce3b294fcce0e
fix pcap_write function

when use pcap cli to capture pcakets into two files rx01.pcap && rx02.pcap,
the first time:
1)pcap rx trace on max 100 intfc any file rx01.pcap
2)......the process of capture data to buffer......
3)pcap rx trace off

the second time:
4)pcap rx trace on max 100 intfc any file rx02.pcap
5)......the process of capture data to buffer......
6)pcap rx trace off

the pcap_write function bug in this two lines
pm->n_packets_captured = 0;
if (pm->n_packets_captured >= pm->n_packets_to_capture) referring to calling pcap_close()
will result in that the twice pcap cli both writes the packets
into rx01.pcap, but nothing into rx02.pcap. Beside, the rx02.pcap
file will not be created.

solution: separate the pcap_close() out of pcap_write()

Change-Id: Iedeb46f9cf0a4cb12449fd75a4014f95f3bb3fa8
Signed-off-by: Jack Xu <jack.c.xu@ericsson.com>
src/vlib/main.c
src/vnet/interface_cli.c
src/vnet/interface_output.c
src/vnet/pg/output.c
src/vppinfra/pcap.c
src/vppinfra/pcap_funcs.h