Ptype mapping table will fail to update when loading
PPP profile, fix the issue via modifying metadata and
adding check.

Fixes: ab2e350c4f4b ("net/i40e: improve packet type parser")
Cc: sta...@dpdk.org

Signed-off-by: Beilei Xing <beilei.x...@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c  | 2 +-
 drivers/net/i40e/rte_pmd_i40e.c | 6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index a8e9ab2..b5ab036 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -11254,7 +11254,7 @@ i40e_update_customized_ptype(struct rte_eth_dev *dev, 
uint8_t *pkg,
                                        continue;
                                memset(name, 0, sizeof(name));
                                strcpy(name, proto[n].name);
-                               if (!strncmp(name, "PPPOE", 5))
+                               if (!strncmp(name, "PPPoE", 5))
                                        ptype_mapping[i].sw_ptype |=
                                                RTE_PTYPE_L2_ETHER_PPPOE;
                                else if (!strncmp(name, "OIPV4", 5)) {
diff --git a/drivers/net/i40e/rte_pmd_i40e.c b/drivers/net/i40e/rte_pmd_i40e.c
index 55ae2fe..af33a7c 100644
--- a/drivers/net/i40e/rte_pmd_i40e.c
+++ b/drivers/net/i40e/rte_pmd_i40e.c
@@ -2053,7 +2053,8 @@ static int check_invalid_pkt_type(uint32_t pkt_type)
            l2 != RTE_PTYPE_L2_ETHER_LLDP &&
            l2 != RTE_PTYPE_L2_ETHER_NSH &&
            l2 != RTE_PTYPE_L2_ETHER_VLAN &&
-           l2 != RTE_PTYPE_L2_ETHER_QINQ)
+           l2 != RTE_PTYPE_L2_ETHER_QINQ &&
+           l2 != RTE_PTYPE_L2_ETHER_PPPOE)
                return -1;
 
        if (l3 &&
@@ -2082,7 +2083,8 @@ static int check_invalid_pkt_type(uint32_t pkt_type)
            tnl != RTE_PTYPE_TUNNEL_GENEVE &&
            tnl != RTE_PTYPE_TUNNEL_GRENAT &&
            tnl != RTE_PTYPE_TUNNEL_GTPC &&
-           tnl != RTE_PTYPE_TUNNEL_GTPU)
+           tnl != RTE_PTYPE_TUNNEL_GTPU &&
+           tnl != RTE_PTYPE_TUNNEL_L2TP)
                return -1;
 
        if (il2 &&
-- 
2.5.5

Reply via email to