From: Kishore Padmanabha <kishore.padmana...@broadcom.com>

This is a work around for the OVS setting offload rules that
are passing vlan priority mask as wild card and currently we
do not support it.

Signed-off-by: Kishore Padmanabha <kishore.padmana...@broadcom.com>
Reviewed-by: Michael Baucom <michael.bau...@broadcom.com>
---
 drivers/net/bnxt/tf_ulp/ulp_rte_parser.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c 
b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c
index 67f9319..a924769 100644
--- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c
+++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c
@@ -709,8 +709,17 @@ ulp_rte_vlan_hdr_handler(const struct rte_flow_item *item,
                        vlan_tag |= ~ULP_VLAN_TAG_MASK;
                vlan_tag = htons(vlan_tag);
 
+#ifdef ULP_DONT_IGNORE_TOS
                ulp_rte_prsr_mask_copy(params, &idx, &priority,
                                       sizeof(priority));
+#else
+               /*
+                * The priortiy field is ignored since OVS is seting it as
+                * wild card match and it is not supported. This is a work
+                * around and shall be addressed in the future.
+                */
+               idx += 1;
+#endif
                ulp_rte_prsr_mask_copy(params, &idx, &vlan_tag,
                                       sizeof(vlan_tag));
                ulp_rte_prsr_mask_copy(params, &idx, &vlan_mask->inner_type,
-- 
2.7.4

Reply via email to