Since meta data in profile is updated, parsing inner packet information needs to be updated, too.
Signed-off-by: Beilei Xing <beilei.x...@intel.com> --- drivers/net/i40e/i40e_ethdev.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index f40c463..36ff3ee 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -11131,30 +11131,32 @@ i40e_update_customized_ptype(struct rte_eth_dev *dev, uint8_t *pkg, ptype_mapping[i].sw_ptype |= RTE_PTYPE_L3_IPV4_EXT_UNKNOWN; inner_ip = true; - } else if (!strncmp(name, "IPV4", 4) && + } else if (!strncmp(name, "IPV4FRAG", 8) && inner_ip) { ptype_mapping[i].sw_ptype |= RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN; - } else if (!strncmp(name, "IPV6", 4) && - !inner_ip) { + ptype_mapping[i].sw_ptype |= + RTE_PTYPE_INNER_L4_FRAG; + } else if (!strncmp(name, "IPV4", 4) && + inner_ip) + ptype_mapping[i].sw_ptype |= + RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN; + else if (!strncmp(name, "IPV6", 4) && + !inner_ip) { ptype_mapping[i].sw_ptype |= RTE_PTYPE_L3_IPV6_EXT_UNKNOWN; inner_ip = true; - } else if (!strncmp(name, "IPV6", 4) && + } else if (!strncmp(name, "IPV6FRAG", 8) && inner_ip) { ptype_mapping[i].sw_ptype |= RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN; - } else if (!strncmp(name, "IPV4FRAG", 8)) { - ptype_mapping[i].sw_ptype |= - RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN; ptype_mapping[i].sw_ptype |= RTE_PTYPE_INNER_L4_FRAG; - } else if (!strncmp(name, "IPV6FRAG", 8)) { + } else if (!strncmp(name, "IPV6", 4) && + inner_ip) ptype_mapping[i].sw_ptype |= RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN; - ptype_mapping[i].sw_ptype |= - RTE_PTYPE_INNER_L4_FRAG; - } else if (!strncmp(name, "GTPC", 4)) + else if (!strncmp(name, "GTPC", 4)) ptype_mapping[i].sw_ptype |= RTE_PTYPE_TUNNEL_GTPC; else if (!strncmp(name, "GTPU", 4)) -- 2.5.5