Merge branch 'nfp-flower-fix-matching-and-pushing-vlan-CFI-bit'
Jakub Kicinski says: ==================== nfp: flower: fix matching and pushing vlan CFI bit This patch clears up some confusion around the meaning of bit 12 for FW messages related to VLAN and flower offload. Pieter says: It fixes issues with matching, pushing and popping vlan tags. We replace the vlan CFI bit with a vlan present bit that indicates the presence of a vlan tag. We also no longer set the CFI when pushing vlan tags. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
d1b58fc607
|
@ -48,8 +48,7 @@ nfp_fl_push_vlan(struct nfp_fl_push_vlan *push_vlan,
|
|||
|
||||
tmp_push_vlan_tci =
|
||||
FIELD_PREP(NFP_FL_PUSH_VLAN_PRIO, act->vlan.prio) |
|
||||
FIELD_PREP(NFP_FL_PUSH_VLAN_VID, act->vlan.vid) |
|
||||
NFP_FL_PUSH_VLAN_CFI;
|
||||
FIELD_PREP(NFP_FL_PUSH_VLAN_VID, act->vlan.vid);
|
||||
push_vlan->vlan_tci = cpu_to_be16(tmp_push_vlan_tci);
|
||||
}
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#define NFP_FLOWER_LAYER2_GENEVE_OP BIT(6)
|
||||
|
||||
#define NFP_FLOWER_MASK_VLAN_PRIO GENMASK(15, 13)
|
||||
#define NFP_FLOWER_MASK_VLAN_CFI BIT(12)
|
||||
#define NFP_FLOWER_MASK_VLAN_PRESENT BIT(12)
|
||||
#define NFP_FLOWER_MASK_VLAN_VID GENMASK(11, 0)
|
||||
|
||||
#define NFP_FLOWER_MASK_MPLS_LB GENMASK(31, 12)
|
||||
|
@ -82,7 +82,6 @@
|
|||
#define NFP_FL_OUT_FLAGS_TYPE_IDX GENMASK(2, 0)
|
||||
|
||||
#define NFP_FL_PUSH_VLAN_PRIO GENMASK(15, 13)
|
||||
#define NFP_FL_PUSH_VLAN_CFI BIT(12)
|
||||
#define NFP_FL_PUSH_VLAN_VID GENMASK(11, 0)
|
||||
|
||||
#define IPV6_FLOW_LABEL_MASK cpu_to_be32(0x000fffff)
|
||||
|
|
|
@ -30,20 +30,19 @@ nfp_flower_compile_meta_tci(struct nfp_flower_meta_tci *ext,
|
|||
|
||||
flow_rule_match_vlan(rule, &match);
|
||||
/* Populate the tci field. */
|
||||
if (match.key->vlan_id || match.key->vlan_priority) {
|
||||
tmp_tci = FIELD_PREP(NFP_FLOWER_MASK_VLAN_PRIO,
|
||||
match.key->vlan_priority) |
|
||||
FIELD_PREP(NFP_FLOWER_MASK_VLAN_VID,
|
||||
match.key->vlan_id) |
|
||||
NFP_FLOWER_MASK_VLAN_CFI;
|
||||
ext->tci = cpu_to_be16(tmp_tci);
|
||||
tmp_tci = FIELD_PREP(NFP_FLOWER_MASK_VLAN_PRIO,
|
||||
match.mask->vlan_priority) |
|
||||
FIELD_PREP(NFP_FLOWER_MASK_VLAN_VID,
|
||||
match.mask->vlan_id) |
|
||||
NFP_FLOWER_MASK_VLAN_CFI;
|
||||
msk->tci = cpu_to_be16(tmp_tci);
|
||||
}
|
||||
tmp_tci = NFP_FLOWER_MASK_VLAN_PRESENT;
|
||||
tmp_tci |= FIELD_PREP(NFP_FLOWER_MASK_VLAN_PRIO,
|
||||
match.key->vlan_priority) |
|
||||
FIELD_PREP(NFP_FLOWER_MASK_VLAN_VID,
|
||||
match.key->vlan_id);
|
||||
ext->tci = cpu_to_be16(tmp_tci);
|
||||
|
||||
tmp_tci = NFP_FLOWER_MASK_VLAN_PRESENT;
|
||||
tmp_tci |= FIELD_PREP(NFP_FLOWER_MASK_VLAN_PRIO,
|
||||
match.mask->vlan_priority) |
|
||||
FIELD_PREP(NFP_FLOWER_MASK_VLAN_VID,
|
||||
match.mask->vlan_id);
|
||||
msk->tci = cpu_to_be16(tmp_tci);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue