Skip to content

Commit add4550

Browse files
nirdotandavem330
authored andcommitted
mlxsw: spectrum_acl: Add Spectrum-2 keys
Add virtual router ID fields to Spectrum-2 key blocks set, as the field is required for multicast routing. Signed-off-by: Nir Dotan <[email protected]> Reviewed-by: Jiri Pirko <[email protected]> Signed-off-by: Ido Schimmel <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 254cec1 commit add4550

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ enum mlxsw_afk_element {
3333
MLXSW_AFK_ELEMENT_IP_TTL_,
3434
MLXSW_AFK_ELEMENT_IP_ECN,
3535
MLXSW_AFK_ELEMENT_IP_DSCP,
36+
MLXSW_AFK_ELEMENT_VIRT_ROUTER_8_10,
37+
MLXSW_AFK_ELEMENT_VIRT_ROUTER_0_7,
3638
MLXSW_AFK_ELEMENT_MAX,
3739
};
3840

@@ -87,6 +89,8 @@ static const struct mlxsw_afk_element_info mlxsw_afk_element_infos[] = {
8789
MLXSW_AFK_ELEMENT_INFO_U32(IP_TTL_, 0x18, 0, 8),
8890
MLXSW_AFK_ELEMENT_INFO_U32(IP_ECN, 0x18, 9, 2),
8991
MLXSW_AFK_ELEMENT_INFO_U32(IP_DSCP, 0x18, 11, 6),
92+
MLXSW_AFK_ELEMENT_INFO_U32(VIRT_ROUTER_8_10, 0x18, 17, 3),
93+
MLXSW_AFK_ELEMENT_INFO_U32(VIRT_ROUTER_0_7, 0x18, 20, 8),
9094
MLXSW_AFK_ELEMENT_INFO_BUF(SRC_IP_96_127, 0x20, 4),
9195
MLXSW_AFK_ELEMENT_INFO_BUF(SRC_IP_64_95, 0x24, 4),
9296
MLXSW_AFK_ELEMENT_INFO_BUF(SRC_IP_32_63, 0x28, 4),

drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_flex_keys.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,11 @@ static struct mlxsw_afk_element_inst mlxsw_sp_afk_element_info_ipv4_2[] = {
167167
MLXSW_AFK_ELEMENT_INST_U32(IP_PROTO, 0x04, 16, 8),
168168
};
169169

170+
static struct mlxsw_afk_element_inst mlxsw_sp_afk_element_info_ipv4_4[] = {
171+
MLXSW_AFK_ELEMENT_INST_U32(VIRT_ROUTER_0_7, 0x04, 24, 8),
172+
MLXSW_AFK_ELEMENT_INST_U32(VIRT_ROUTER_8_10, 0x00, 0, 3),
173+
};
174+
170175
static struct mlxsw_afk_element_inst mlxsw_sp_afk_element_info_ipv6_0[] = {
171176
MLXSW_AFK_ELEMENT_INST_BUF(DST_IP_32_63, 0x04, 4),
172177
};
@@ -210,6 +215,7 @@ static const struct mlxsw_afk_block mlxsw_sp2_afk_blocks[] = {
210215
MLXSW_AFK_BLOCK(0x38, mlxsw_sp_afk_element_info_ipv4_0),
211216
MLXSW_AFK_BLOCK(0x39, mlxsw_sp_afk_element_info_ipv4_1),
212217
MLXSW_AFK_BLOCK(0x3A, mlxsw_sp_afk_element_info_ipv4_2),
218+
MLXSW_AFK_BLOCK(0x3C, mlxsw_sp_afk_element_info_ipv4_4),
213219
MLXSW_AFK_BLOCK(0x40, mlxsw_sp_afk_element_info_ipv6_0),
214220
MLXSW_AFK_BLOCK(0x41, mlxsw_sp_afk_element_info_ipv6_1),
215221
MLXSW_AFK_BLOCK(0x42, mlxsw_sp_afk_element_info_ipv6_2),

0 commit comments

Comments
 (0)