]> git.proxmox.com Git - ovs.git/commitdiff
netdev-native-tnl: Fix alignment for erspan index.
authorDarrell Ball <dlu998@gmail.com>
Thu, 24 May 2018 02:13:56 +0000 (19:13 -0700)
committerBen Pfaff <blp@ovn.org>
Thu, 24 May 2018 17:13:25 +0000 (10:13 -0700)
Flagged by clang.

CC: William Tu <u9012063@gmail.com>
Fixes: 068794b43f0e ("erspan: Add flow-based erspan options")
Signed-off-by: Darrell Ball <dlu998@gmail.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: William Tu <u9012063@gmail.com>
lib/netdev-native-tnl.c

index c97491ed0cc51b54f71ac3e3cb3d743738c6bd66..a63fe24196d9433e28fb4ab14b9ca02acbd4ec97 100644 (file)
@@ -653,23 +653,16 @@ netdev_erspan_build_header(const struct netdev *netdev,
     }
 
     if (erspan_ver == 1) {
-        ovs_be32 *index;
-
         greh->protocol = htons(ETH_TYPE_ERSPAN1);
         greh->flags = htons(GRE_SEQ);
         ersh->ver = 1;
         set_sid(ersh, sid);
 
+        uint32_t erspan_idx = (tnl_cfg->erspan_idx_flow
+                          ? params->flow->tunnel.erspan_idx
+                          : tnl_cfg->erspan_idx);
         put_16aligned_be32(ALIGNED_CAST(ovs_16aligned_be32 *, ersh + 1),
-                           htonl(tnl_cfg->erspan_idx));
-
-        index = (ovs_be32 *)(ersh + 1);
-
-        if (tnl_cfg->erspan_idx_flow) {
-            *index = htonl(params->flow->tunnel.erspan_idx);
-        } else {
-            *index = htonl(tnl_cfg->erspan_idx);
-        }
+                           htonl(erspan_idx));
 
         hlen = ERSPAN_GREHDR_LEN + sizeof *ersh + ERSPAN_V1_MDSIZE;
     } else if (erspan_ver == 2) {