pg: don't leak open files in packet-generator
Fix pg code to close it's open file descriptors before zero'ing the pcap_main structure for re-use. Ticket: VPP-1780 Type: fix Signed-off-by: Christian E. Hopps <chopps@chopps.org> Change-Id: I32945c6476ae83b8d210ee67ac78db3e8f786f46 (cherry picked from commit 19871f25394fa9a4bfb55006092cbcc28b446c04)
This commit is contained in:
Christian E. Hopps
committed by
Andrew Yourtchenko
parent
99e0ee56eb
commit
c7e6b50fdd
@ -93,7 +93,10 @@ pg_capture (pg_capture_args_t * a)
|
|||||||
|
|
||||||
pi = pool_elt_at_index (pg->interfaces, a->dev_instance);
|
pi = pool_elt_at_index (pg->interfaces, a->dev_instance);
|
||||||
vec_free (pi->pcap_file_name);
|
vec_free (pi->pcap_file_name);
|
||||||
|
if ((pi->pcap_main.flags & PCAP_MAIN_INIT_DONE))
|
||||||
|
pcap_close (&pi->pcap_main);
|
||||||
clib_memset (&pi->pcap_main, 0, sizeof (pi->pcap_main));
|
clib_memset (&pi->pcap_main, 0, sizeof (pi->pcap_main));
|
||||||
|
pi->pcap_main.file_descriptor = -1;
|
||||||
|
|
||||||
if (a->is_enabled == 0)
|
if (a->is_enabled == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
#define included_vppinfra_pcap_funcs_h
|
#define included_vppinfra_pcap_funcs_h
|
||||||
|
|
||||||
/** Write out data to output file. */
|
/** Write out data to output file. */
|
||||||
|
clib_error_t *pcap_close (pcap_main_t * pm);
|
||||||
clib_error_t *pcap_write (pcap_main_t * pm);
|
clib_error_t *pcap_write (pcap_main_t * pm);
|
||||||
|
|
||||||
/** Read data from file. */
|
/** Read data from file. */
|
||||||
|
Reference in New Issue
Block a user