Looks good, one minor clarification needed (inline).
________________________________________
From: [email protected] <[email protected]> on
behalf of Sairam Venugopal <[email protected]>
Sent: Thursday, June 15, 2017 2:07 PM
To: [email protected]
Subject: [ovs-dev] [PATCH] datapath-windows: Zero initialize Conntrack-ICMP
entry
Set conntrack-icmp entry to {0}. Add some compile time asserts to ensure
that conn_* struct's first member is OVS_CT_ENTRY.
>>> It would help to mention why this is a requirement.
Signed-off-by: Sairam Venugopal <[email protected]>
---
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
_______________________________________________
Acked-by: Shashank Ram <[email protected]>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev