Skip to content

Commit f7ee799

Browse files
pjvuurendavem330
authored andcommitted
nfp: flower: replace CFI with vlan present
Replace vlan CFI bit with a vlan present bit that indicates the presence of a vlan tag. Previously the driver incorrectly assumed that an vlan id of 0 is not matchable, therefore we indicate vlan presence with a vlan present bit. Fixes: 5571e8c ("nfp: extend flower matching capabilities") Signed-off-by: Pieter Jansen van Vuuren <[email protected]> Signed-off-by: Louis Peens <[email protected]> Reviewed-by: Jakub Kicinski <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 3c446e6 commit f7ee799

File tree

2 files changed

+14
-15
lines changed

2 files changed

+14
-15
lines changed

drivers/net/ethernet/netronome/nfp/flower/cmsg.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
#define NFP_FLOWER_LAYER2_GENEVE_OP BIT(6)
2727

2828
#define NFP_FLOWER_MASK_VLAN_PRIO GENMASK(15, 13)
29-
#define NFP_FLOWER_MASK_VLAN_CFI BIT(12)
29+
#define NFP_FLOWER_MASK_VLAN_PRESENT BIT(12)
3030
#define NFP_FLOWER_MASK_VLAN_VID GENMASK(11, 0)
3131

3232
#define NFP_FLOWER_MASK_MPLS_LB GENMASK(31, 12)

drivers/net/ethernet/netronome/nfp/flower/match.c

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -30,20 +30,19 @@ nfp_flower_compile_meta_tci(struct nfp_flower_meta_tci *ext,
3030

3131
flow_rule_match_vlan(rule, &match);
3232
/* Populate the tci field. */
33-
if (match.key->vlan_id || match.key->vlan_priority) {
34-
tmp_tci = FIELD_PREP(NFP_FLOWER_MASK_VLAN_PRIO,
35-
match.key->vlan_priority) |
36-
FIELD_PREP(NFP_FLOWER_MASK_VLAN_VID,
37-
match.key->vlan_id) |
38-
NFP_FLOWER_MASK_VLAN_CFI;
39-
ext->tci = cpu_to_be16(tmp_tci);
40-
tmp_tci = FIELD_PREP(NFP_FLOWER_MASK_VLAN_PRIO,
41-
match.mask->vlan_priority) |
42-
FIELD_PREP(NFP_FLOWER_MASK_VLAN_VID,
43-
match.mask->vlan_id) |
44-
NFP_FLOWER_MASK_VLAN_CFI;
45-
msk->tci = cpu_to_be16(tmp_tci);
46-
}
33+
tmp_tci = NFP_FLOWER_MASK_VLAN_PRESENT;
34+
tmp_tci |= FIELD_PREP(NFP_FLOWER_MASK_VLAN_PRIO,
35+
match.key->vlan_priority) |
36+
FIELD_PREP(NFP_FLOWER_MASK_VLAN_VID,
37+
match.key->vlan_id);
38+
ext->tci = cpu_to_be16(tmp_tci);
39+
40+
tmp_tci = NFP_FLOWER_MASK_VLAN_PRESENT;
41+
tmp_tci |= FIELD_PREP(NFP_FLOWER_MASK_VLAN_PRIO,
42+
match.mask->vlan_priority) |
43+
FIELD_PREP(NFP_FLOWER_MASK_VLAN_VID,
44+
match.mask->vlan_id);
45+
msk->tci = cpu_to_be16(tmp_tci);
4746
}
4847
}
4948

0 commit comments

Comments
 (0)