lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 1 Jun 2018 19:51:50 +0200
From:   Michal Kubecek <mkubecek@...e.cz>
To:     David Ahern <dsahern@...il.com>
Cc:     "David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org,
        linux-kernel@...r.kernel.org,
        Nicolas Dichtel <nicolas.dichtel@...nd.com>,
        Tom Herbert <tom@...bertland.com>
Subject: Re: [PATCH net] ipv6: omit traffic class when calculating flow hash

On Fri, Jun 01, 2018 at 10:42:10AM -0600, David Ahern wrote:
> 
> Can you make an inline for the flowlabel conversion. Something like this:
> 
> diff --git a/include/net/ipv6.h b/include/net/ipv6.h
> index 798558fd1681..e36eca2f8531 100644
> --- a/include/net/ipv6.h
> +++ b/include/net/ipv6.h
> @@ -284,6 +284,11 @@ struct ip6_flowlabel {
>  #define IPV6_FLOWLABEL_MASK            cpu_to_be32(0x000FFFFF)
>  #define IPV6_FLOWLABEL_STATELESS_FLAG  cpu_to_be32(0x00080000)
> 
> +static inline u32 flowi6_get_flowlabel(const struct flowi6 *fl6)
> +{
> +       return (__force u32)(fl6->flowlabel & IPV6_FLOWLABEL_MASK);
> +}
> +
>  #define IPV6_TCLASS_MASK (IPV6_FLOWINFO_MASK & ~IPV6_FLOWLABEL_MASK)
>  #define IPV6_TCLASS_SHIFT      20
> 
> From there we can fix the flow struct to have flowinfo instead of
> flowlabel and use the macro to hide the conversion.

I'll send v2 with inline helper. I'm just not sure about including the
cast as this way the helper would be useful for hash key which is not
clear from the name. So it seems more appropriate to either introduce a
helper which just does the masking or helper which does also the copying
into struct flow_keys.

Michal Kubecek

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ