While cleaning this up, you may as well take the best of both
implementations.
On Mon, 22 Aug 2016 17:38:32 +0300, Amir Vadai wrote:
> +static inline __be64 key32_to_tunnel_id(__be32 key)
> +{
> +#ifdef __BIG_ENDIAN
> + return (__force __be64)((__force u32)key);
The inner cast seems to be superfluous?
> +#else
> + return (__force __be64)((__force u64)key << 32);
> +#endif
> +}
> +
> +/* Returns the least-significant 32 bits of a __be64. */
> +static inline __be32 tunnel_id_to_key32(__be64 x)
Please use a more descriptive name than "x". "tunnel_id" or "tun_id"
seems to be more appropriate.
> +{
> +#ifdef __BIG_ENDIAN
> + return (__force __be32)x;
> +#else
> + return (__force __be32)((__force u64)x >> 32);
> +#endif
> +}
Looks good otherwise.
Thanks,
Jiri