aboutsummaryrefslogtreecommitdiff
path: root/lib/dpif-linux.h
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2011-10-11 12:24:41 -0700
committerBen Pfaff <blp@nicira.com>2011-10-12 16:23:16 -0700
commit69ebca1e35a39d75032f3d8092da563f60673110 (patch)
tree36838aba4a47cea69e4b7a884feef0d65890500e /lib/dpif-linux.h
parent0e70cdcb8ddeb20417e682fd63769f9d16601b07 (diff)
dpif-linux: Avoid unaligned accesses to vport stats sent by the datapath.
Reported-by: Jesse Gross <jesse@nicira.com>
Diffstat (limited to 'lib/dpif-linux.h')
-rw-r--r--lib/dpif-linux.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/dpif-linux.h b/lib/dpif-linux.h
index c72ea88f..a9f8bfea 100644
--- a/lib/dpif-linux.h
+++ b/lib/dpif-linux.h
@@ -32,7 +32,11 @@ struct dpif_linux_vport {
uint32_t port_no; /* UINT32_MAX if unknown. */
enum ovs_vport_type type;
- /* Attributes. */
+ /* Attributes.
+ *
+ * The 'stats' member points to 64-bit data that might only be aligned on
+ * 32-bit boundaries, so use get_unaligned_u64() to access its values.
+ */
const char *name; /* OVS_VPORT_ATTR_NAME. */
const uint32_t *upcall_pid; /* OVS_VPORT_ATTR_UPCALL_PID. */
const struct ovs_vport_stats *stats; /* OVS_VPORT_ATTR_STATS. */