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 | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c 
b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c
index 67f9319d6..861414da9 100644
--- a/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c
+++ b/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c
@@ -709,8 +709,13 @@ ulp_rte_vlan_hdr_handler(const struct rte_flow_item *item,
                        vlan_tag |= ~ULP_VLAN_TAG_MASK;
                vlan_tag = htons(vlan_tag);
 
-               ulp_rte_prsr_mask_copy(params, &idx, &priority,
-                                      sizeof(priority));
+               /*
+                * The priority field is ignored since OVS is setting it as
+                * wild card match and it is not supported. This is a work
+                * around and shall be addressed in the future.
+                */
+               idx += 1;
+
                ulp_rte_prsr_mask_copy(params, &idx, &vlan_tag,
                                       sizeof(vlan_tag));
                ulp_rte_prsr_mask_copy(params, &idx, &vlan_mask->inner_type,
@@ -883,18 +888,12 @@ ulp_rte_ipv4_hdr_handler(const struct rte_flow_item *item,
                ulp_rte_prsr_mask_copy(params, &idx,
                                       &ipv4_mask->hdr.version_ihl,
                                       sizeof(ipv4_mask->hdr.version_ihl));
-#ifdef ULP_DONT_IGNORE_TOS
-               ulp_rte_prsr_mask_copy(params, &idx,
-                                      &ipv4_mask->hdr.type_of_service,
-                                      sizeof(ipv4_mask->hdr.type_of_service));
-#else
                /*
                 * The tos field is ignored since OVS is setting 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,
                                       &ipv4_mask->hdr.total_length,
-- 
2.21.1 (Apple Git-122.3)

Reply via email to