[ovs-dev] [PATCH 3/3] datapath: compat: Fix RHEL 7.5 build warning from ip_tunnel_get_stats64()
Gregory Rose
gvrose8192 at gmail.com
Tue Jun 12 22:28:09 UTC 2018
On 6/11/2018 5:50 PM, Yi-Hung Wei wrote:
> This patch fixes warning as the following in RHEL 7.5 kernel.
>
> CC [M] /root/git/ovs/datapath/linux/geneve.o
> /root/git/ovs/datapath/linux/geneve.c:1273:2: warning: initialization
> from incompatible pointer type [enabled by default]
> .ndo_get_stats64 = ip_tunnel_get_stats64,
> ^
> /root/git/ovs/datapath/linux/geneve.c:1273:2: warning: (near
> initialization for ‘geneve_netdev_ops.<anonymous>.ndo_get_stats64’)
> [enabled by default]
> /root/git/ovs/datapath/linux/ip_gre.c:1162:2: warning: initialization
> from incompatible pointer type [enabled by default]
> .ndo_get_stats64 = ip_tunnel_get_stats64,
> ^
> /root/git/ovs/datapath/linux/ip_gre.c:1162:2: warning: (near
> initialization for ‘ipgre_netdev_ops.<anonymous>.ndo_get_stats64’)
> [enabled by default]
> /root/git/ovs/datapath/linux/ip_gre.c:1180:2: warning: initialization
> from incompatible pointer type [enabled by default]
> .ndo_get_stats64 = ip_tunnel_get_stats64,
> ^
>
> Fixes: 436d36db ("compat: Fixups for newer kernels")
> Signed-off-by: Yi-Hung Wei <yihung.wei at gmail.com>
> ---
> datapath/linux/compat/include/net/ip_tunnels.h | 2 +-
> datapath/linux/compat/ip_tunnels_core.c | 4 ++--
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/datapath/linux/compat/include/net/ip_tunnels.h b/datapath/linux/compat/include/net/ip_tunnels.h
> index b1c383dc8036..d187a12d29ae 100644
> --- a/datapath/linux/compat/include/net/ip_tunnels.h
> +++ b/datapath/linux/compat/include/net/ip_tunnels.h
> @@ -364,7 +364,7 @@ static inline int ovs_ip_tunnel_encap(struct sk_buff *skb, struct ip_tunnel *t,
> }
>
> #define ip_tunnel_get_stats64 rpl_ip_tunnel_get_stats64
> -#if LINUX_VERSION_CODE < KERNEL_VERSION(4,11,0)
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(4,11,0) && !defined(HAVE_RHEL7_MAX_MTU)
> struct rtnl_link_stats64 *rpl_ip_tunnel_get_stats64(struct net_device *dev,
> struct rtnl_link_stats64 *tot);
> #else
> diff --git a/datapath/linux/compat/ip_tunnels_core.c b/datapath/linux/compat/ip_tunnels_core.c
> index fcb08905ef2f..38fb801e9411 100644
> --- a/datapath/linux/compat/ip_tunnels_core.c
> +++ b/datapath/linux/compat/ip_tunnels_core.c
> @@ -274,7 +274,7 @@ static void netdev_stats_to_stats64(struct rtnl_link_stats64 *stats64,
> }
> #endif
>
> -#if LINUX_VERSION_CODE < KERNEL_VERSION(4,11,0)
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(4,11,0) && !defined(HAVE_RHEL7_MAX_MTU)
> struct rtnl_link_stats64 *rpl_ip_tunnel_get_stats64(struct net_device *dev,
> struct rtnl_link_stats64 *tot)
> #else
> @@ -306,7 +306,7 @@ void rpl_ip_tunnel_get_stats64(struct net_device *dev,
> tot->tx_bytes += tx_bytes;
> }
>
> -#if LINUX_VERSION_CODE < KERNEL_VERSION(4,11,0)
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(4,11,0) && !defined(HAVE_RHEL7_MAX_MTU)
> return tot;
> #endif
> }
Also looks good.
Reviewed-by: Greg Rose <gvrose8192 at gmail.com>
Tested-by: Greg Rose <gvrose8192 at gmail.com>
More information about the dev
mailing list