Flagged by clang.

CC: Greg Rose <[email protected]>
Fixes: 068794b43f0e ("erspan: Add flow-based erspan options")
Signed-off-by: Darrell Ball <[email protected]>
---
 lib/netdev-native-tnl.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/lib/netdev-native-tnl.c b/lib/netdev-native-tnl.c
index c97491e..bb1b04f 100644
--- a/lib/netdev-native-tnl.c
+++ b/lib/netdev-native-tnl.c
@@ -653,7 +653,8 @@ netdev_erspan_build_header(const struct netdev *netdev,
     }
 
     if (erspan_ver == 1) {
-        ovs_be32 *index;
+        ovs_be32 erspan_idx;
+        void *erspan_hdr_idx;
 
         greh->protocol = htons(ETH_TYPE_ERSPAN1);
         greh->flags = htons(GRE_SEQ);
@@ -663,14 +664,16 @@ netdev_erspan_build_header(const struct netdev *netdev,
         put_16aligned_be32(ALIGNED_CAST(ovs_16aligned_be32 *, ersh + 1),
                            htonl(tnl_cfg->erspan_idx));
 
-        index = (ovs_be32 *)(ersh + 1);
+        erspan_hdr_idx = ersh + 1;
 
         if (tnl_cfg->erspan_idx_flow) {
-            *index = htonl(params->flow->tunnel.erspan_idx);
+            erspan_idx = htonl(params->flow->tunnel.erspan_idx);
         } else {
-            *index = htonl(tnl_cfg->erspan_idx);
+            erspan_idx = htonl(tnl_cfg->erspan_idx);
         }
 
+        memcpy(erspan_hdr_idx, &erspan_idx, sizeof erspan_idx);
+
         hlen = ERSPAN_GREHDR_LEN + sizeof *ersh + ERSPAN_V1_MDSIZE;
     } else if (erspan_ver == 2) {
         struct erspan_md2 *md2 = ALIGNED_CAST(struct erspan_md2 *, ersh + 1);
-- 
1.9.1

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to