[ovs-dev] [PATCH] datapath-windows: Zero initialize Conntrack-ICMP entry

Sairam Venugopal vsairam at vmware.com
Thu Jun 15 21:07:43 UTC 2017


Set conntrack-icmp entry to {0}. Add some compile time asserts to ensure
that conn_* struct's first member is OVS_CT_ENTRY.

Signed-off-by: Sairam Venugopal <vsairam at vmware.com>
---
 datapath-windows/ovsext/Conntrack-icmp.c  | 3 ++-
 datapath-windows/ovsext/Conntrack-other.c | 1 +
 datapath-windows/ovsext/Conntrack-tcp.c   | 1 +
 3 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/datapath-windows/ovsext/Conntrack-icmp.c b/datapath-windows/ovsext/Conntrack-icmp.c
index b1b6043..4da0665 100644
--- a/datapath-windows/ovsext/Conntrack-icmp.c
+++ b/datapath-windows/ovsext/Conntrack-icmp.c
@@ -27,6 +27,7 @@ struct conn_icmp {
     struct OVS_CT_ENTRY up;
     enum icmp_state state;
 };
+C_ASSERT(offsetof(struct conn_icmp, up) == 0);
 
 static const enum ct_timeout icmp_timeouts[] = {
     [ICMPS_FIRST] = 60 * CT_INTERVAL_SEC,
@@ -78,7 +79,7 @@ OvsConntrackCreateIcmpEntry(UINT64 now)
     if (!conn) {
         return NULL;
     }
-
+    conn->up = (OVS_CT_ENTRY) {0};
     conn->state = ICMPS_FIRST;
 
     OvsConntrackUpdateExpiration(&conn->up, now,
diff --git a/datapath-windows/ovsext/Conntrack-other.c b/datapath-windows/ovsext/Conntrack-other.c
index 6c68ba8..962cc8a 100644
--- a/datapath-windows/ovsext/Conntrack-other.c
+++ b/datapath-windows/ovsext/Conntrack-other.c
@@ -27,6 +27,7 @@ struct conn_other {
     struct OVS_CT_ENTRY up;
     enum other_state state;
 };
+C_ASSERT(offsetof(struct conn_other, up) == 0);
 
 static const long long other_timeouts[] = {
     [OTHERS_FIRST] = 60 * CT_INTERVAL_SEC,
diff --git a/datapath-windows/ovsext/Conntrack-tcp.c b/datapath-windows/ovsext/Conntrack-tcp.c
index f533b93..f8e85a2 100644
--- a/datapath-windows/ovsext/Conntrack-tcp.c
+++ b/datapath-windows/ovsext/Conntrack-tcp.c
@@ -51,6 +51,7 @@ struct conn_tcp {
     struct OVS_CT_ENTRY up;
     struct tcp_peer peer[2];
 };
+C_ASSERT(offsetof(struct conn_tcp, up) == 0);
 
 enum {
     TCPOPT_EOL,
-- 
2.9.0.windows.1



More information about the dev mailing list