lkml.org 
[lkml]   [2018]   [Mar]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL for 4.4 067/167] mlx5: fix bug reading rss_hash_type from CQE
    Date
    From: Jesper Dangaard Brouer <brouer@redhat.com>

    [ Upstream commit 12e8b570e732eaa5eae3a2895ba3fbcf91bde2b4 ]

    Masks for extracting part of the Completion Queue Entry (CQE)
    field rss_hash_type was swapped, namely CQE_RSS_HTYPE_IP and
    CQE_RSS_HTYPE_L4.

    The bug resulted in setting skb->l4_hash, even-though the
    rss_hash_type indicated that hash was NOT computed over the
    L4 (UDP or TCP) part of the packet.

    Added comments from the datasheet, to make it more clear what
    these masks are selecting.

    Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
    Acked-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    ---
    include/linux/mlx5/device.h | 10 ++++++++--
    1 file changed, 8 insertions(+), 2 deletions(-)

    diff --git a/include/linux/mlx5/device.h b/include/linux/mlx5/device.h
    index a91b67b18a73..5c93f4a89afa 100644
    --- a/include/linux/mlx5/device.h
    +++ b/include/linux/mlx5/device.h
    @@ -635,8 +635,14 @@ enum {
    };

    enum {
    - CQE_RSS_HTYPE_IP = 0x3 << 6,
    - CQE_RSS_HTYPE_L4 = 0x3 << 2,
    + CQE_RSS_HTYPE_IP = 0x3 << 2,
    + /* cqe->rss_hash_type[3:2] - IP destination selected for hash
    + * (00 = none, 01 = IPv4, 10 = IPv6, 11 = Reserved)
    + */
    + CQE_RSS_HTYPE_L4 = 0x3 << 6,
    + /* cqe->rss_hash_type[7:6] - L4 destination selected for hash
    + * (00 = none, 01 = TCP. 10 = UDP, 11 = IPSEC.SPI
    + */
    };

    enum {
    --
    2.14.1
    \
     
     \ /
      Last update: 2018-03-19 18:22    [W:4.063 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site