summaryrefslogtreecommitdiff
path: root/lib/pcap-file.c
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2015-07-22 11:22:01 -0700
committerBen Pfaff <blp@nicira.com>2015-09-09 10:29:06 -0700
commitf9ef2270063488a9892b5a3f8da680ddd8a5b7f7 (patch)
tree9de1ca692fb398d3c107db8cd0c4db32f66ea2d5 /lib/pcap-file.c
parent53eb8cb830133f00c945aabd92455da238620d8c (diff)
downloadopenvswitch-f9ef2270063488a9892b5a3f8da680ddd8a5b7f7.tar.gz
pcap-file: Flush packets to operating system immediately.
This makes the pcap files written by netdev-dummy up-to-date even if one kills the process with a signal. This could be a performance hit if the pcap file writer were to be used in some kind of performance critical situation, but so far it's only used in netdev-dummy, which is just for testing. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Andy Zhou <azhou@nicira.com>
Diffstat (limited to 'lib/pcap-file.c')
-rw-r--r--lib/pcap-file.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/pcap-file.c b/lib/pcap-file.c
index 553a7b6d7..a850d217f 100644
--- a/lib/pcap-file.c
+++ b/lib/pcap-file.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2010, 2012, 2013, 2014 Nicira, Inc.
+ * Copyright (c) 2009, 2010, 2012, 2013, 2014, 2015 Nicira, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -130,6 +130,7 @@ ovs_pcap_write_header(FILE *file)
ph.snaplen = 1518;
ph.network = 1; /* Ethernet */
ignore(fwrite(&ph, sizeof ph, 1, file));
+ fflush(file);
}
int
@@ -202,6 +203,7 @@ ovs_pcap_write(FILE *file, struct dp_packet *buf)
prh.orig_len = dp_packet_size(buf);
ignore(fwrite(&prh, sizeof prh, 1, file));
ignore(fwrite(dp_packet_data(buf), dp_packet_size(buf), 1, file));
+ fflush(file);
}
struct tcp_key {