datapath: Get rid of compat.h, compat26.h in favor of modern approach.
[openvswitch] / datapath / vport-gre.c
index eb109035a3bfb55db1ab5535f4f6512e43a86358..bf8179b2c51251570f915187a4d5286058ec4165 100644 (file)
@@ -54,9 +54,9 @@ static int gre_hdr_len(const struct tnl_port_config *port_config)
 static __be32 be64_get_low32(__be64 x)
 {
 #ifdef __BIG_ENDIAN
-       return x;
+       return (__force __be32)x;
 #else
-       return x >> 32;
+       return (__force __be32)((__force u64)x >> 32);
 #endif
 }
 
@@ -116,9 +116,9 @@ static struct sk_buff *gre_update_header(const struct vport *vport,
 static __be64 be32_extend_to_be64(__be32 x)
 {
 #ifdef __BIG_ENDIAN
-       return x;
+       return (__force __be64)x;
 #else
-       return (__be64) x << 32;
+       return (__force __be64)((__force u64)x << 32);
 #endif
 }
 
@@ -398,6 +398,7 @@ const struct vport_ops gre_vport_ops = {
        .set_addr       = tnl_set_addr,
        .get_name       = tnl_get_name,
        .get_addr       = tnl_get_addr,
+       .get_config     = tnl_get_config,
        .get_dev_flags  = vport_gen_get_dev_flags,
        .is_running     = vport_gen_is_running,
        .get_operstate  = vport_gen_get_operstate,