net/i40e: fix support DDP packages group 0xff
authorKirill Rybalchenko <kirill.rybalchenko@intel.com>
Thu, 22 Feb 2018 18:01:39 +0000 (18:01 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 30 Mar 2018 12:08:44 +0000 (14:08 +0200)
Group ID 0xFF indicates that packages does not change parser
graph so compatible with any other packages.

Fixes: b1ec717bfff5 ("net/i40e: fix multiple DDP packages conflict")
Cc: stable@dpdk.org
Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
drivers/net/i40e/rte_pmd_i40e.c

index 1288c51..3577eff 100644 (file)
@@ -1530,6 +1530,11 @@ i40e_check_profile_info(uint16_t port, uint8_t *profile_info_sec)
                        return 1;
                }
        }
+       /* profile with group id 0xff is compatible with any other profile */
+       if ((pinfo->track_id & group_mask) == group_mask) {
+               rte_free(buff);
+               return 0;
+       }
        for (i = 0; i < p_list->p_count; i++) {
                p = &p_list->p_info[i];
                if ((p->track_id & group_mask) == 0) {
@@ -1540,6 +1545,8 @@ i40e_check_profile_info(uint16_t port, uint8_t *profile_info_sec)
        }
        for (i = 0; i < p_list->p_count; i++) {
                p = &p_list->p_info[i];
+               if ((p->track_id & group_mask) == group_mask)
+                       continue;
                if ((pinfo->track_id & group_mask) !=
                    (p->track_id & group_mask)) {
                        PMD_DRV_LOG(INFO, "Profile of different group exists.");