[ovs-dev] [PATCH 3/6] pcap-file: Flush packets to operating system immediately.

Ben Pfaff blp at nicira.com
Wed Sep 2 06:42:45 UTC 2015


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 at nicira.com>
---
 lib/pcap-file.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/pcap-file.c b/lib/pcap-file.c
index 553a7b6..a850d21 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 {
-- 
2.1.3




More information about the dev mailing list