lkml.org 
[lkml]   [2018]   [May]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 175/496] mlxsw: core: Fix flex keys scratchpad offset conflict
    Date
    4.14-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Jiri Pirko <jiri@mellanox.com>

    [ Upstream commit 2ddc94c76cc4ccaf51b478315912b38dfdde1afc ]

    IP_TTL, IP_ECN and IP_DSCP are using the same offset within the
    scratchpad as L4 ports. Fix this by shifting all up.

    Fixes: 5f57e0909136 ("mlxsw: acl: Add ip ttl acl element")
    Fixes: i80d0fe4710c ("mlxsw: acl: Add ip tos acl element")
    Signed-off-by: Jiri Pirko <jiri@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.h | 20 +++++++--------
    1 file changed, 10 insertions(+), 10 deletions(-)

    --- a/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.h
    +++ b/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.h
    @@ -107,20 +107,20 @@ static const struct mlxsw_afk_element_in
    MLXSW_AFK_ELEMENT_INFO_U32(VID, 0x10, 8, 12),
    MLXSW_AFK_ELEMENT_INFO_U32(PCP, 0x10, 20, 3),
    MLXSW_AFK_ELEMENT_INFO_U32(TCP_FLAGS, 0x10, 23, 9),
    - MLXSW_AFK_ELEMENT_INFO_U32(IP_TTL_, 0x14, 0, 8),
    - MLXSW_AFK_ELEMENT_INFO_U32(IP_ECN, 0x14, 9, 2),
    - MLXSW_AFK_ELEMENT_INFO_U32(IP_DSCP, 0x14, 11, 6),
    - MLXSW_AFK_ELEMENT_INFO_U32(SRC_IP4, 0x18, 0, 32),
    - MLXSW_AFK_ELEMENT_INFO_U32(DST_IP4, 0x1C, 0, 32),
    - MLXSW_AFK_ELEMENT_INFO_BUF(SRC_IP6_HI, 0x18, 8),
    - MLXSW_AFK_ELEMENT_INFO_BUF(SRC_IP6_LO, 0x20, 8),
    - MLXSW_AFK_ELEMENT_INFO_BUF(DST_IP6_HI, 0x28, 8),
    - MLXSW_AFK_ELEMENT_INFO_BUF(DST_IP6_LO, 0x30, 8),
    MLXSW_AFK_ELEMENT_INFO_U32(DST_L4_PORT, 0x14, 0, 16),
    MLXSW_AFK_ELEMENT_INFO_U32(SRC_L4_PORT, 0x14, 16, 16),
    + MLXSW_AFK_ELEMENT_INFO_U32(IP_TTL_, 0x18, 0, 8),
    + MLXSW_AFK_ELEMENT_INFO_U32(IP_ECN, 0x18, 9, 2),
    + MLXSW_AFK_ELEMENT_INFO_U32(IP_DSCP, 0x18, 11, 6),
    + MLXSW_AFK_ELEMENT_INFO_U32(SRC_IP4, 0x20, 0, 32),
    + MLXSW_AFK_ELEMENT_INFO_U32(DST_IP4, 0x24, 0, 32),
    + MLXSW_AFK_ELEMENT_INFO_BUF(SRC_IP6_HI, 0x20, 8),
    + MLXSW_AFK_ELEMENT_INFO_BUF(SRC_IP6_LO, 0x28, 8),
    + MLXSW_AFK_ELEMENT_INFO_BUF(DST_IP6_HI, 0x30, 8),
    + MLXSW_AFK_ELEMENT_INFO_BUF(DST_IP6_LO, 0x38, 8),
    };

    -#define MLXSW_AFK_ELEMENT_STORAGE_SIZE 0x38
    +#define MLXSW_AFK_ELEMENT_STORAGE_SIZE 0x40

    struct mlxsw_afk_element_inst { /* element instance in actual block */
    const struct mlxsw_afk_element_info *info;

    \
     
     \ /
      Last update: 2018-05-28 12:50    [W:2.413 / U:0.264 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site