X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Focteontx2%2Fotx2_lookup.c;h=3071278fc19bc29a499af9f051d2217b957c913b;hb=14d7ea259aebaacfa9326e54e881ab0e550f6a6e;hp=3347e7014f4a5aa29d5ccfbdbbf92eeeae52e9a8;hpb=7557f2fbde4fbd8682526c24743792df26a2b27a;p=dpdk.git diff --git a/drivers/net/octeontx2/otx2_lookup.c b/drivers/net/octeontx2/otx2_lookup.c index 3347e7014f..3071278fc1 100644 --- a/drivers/net/octeontx2/otx2_lookup.c +++ b/drivers/net/octeontx2/otx2_lookup.c @@ -79,7 +79,8 @@ static void nix_create_non_tunnel_ptype_array(uint16_t *ptype) { uint8_t lb, lc, ld, le; - uint16_t idx, val; + uint16_t val; + uint32_t idx; for (idx = 0; idx < PTYPE_NON_TUNNEL_ARRAY_SZ; idx++) { lb = idx & 0xF; @@ -89,7 +90,7 @@ nix_create_non_tunnel_ptype_array(uint16_t *ptype) val = RTE_PTYPE_UNKNOWN; switch (lb) { - case NPC_LT_LB_QINQ: + case NPC_LT_LB_STAG_QINQ: val |= RTE_PTYPE_L2_ETHER_QINQ; break; case NPC_LT_LB_CTAG: @@ -138,6 +139,7 @@ nix_create_non_tunnel_ptype_array(uint16_t *ptype) val |= RTE_PTYPE_L4_SCTP; break; case NPC_LT_LD_ICMP: + case NPC_LT_LD_ICMP6: val |= RTE_PTYPE_L4_ICMP; break; case NPC_LT_LD_IGMP: @@ -181,28 +183,29 @@ nix_create_non_tunnel_ptype_array(uint16_t *ptype) } } -#define TU_SHIFT(x) ((x) >> PTYPE_WIDTH) +#define TU_SHIFT(x) ((x) >> PTYPE_NON_TUNNEL_WIDTH) static void nix_create_tunnel_ptype_array(uint16_t *ptype) { - uint8_t le, lf, lg; - uint16_t idx, val; + uint8_t lf, lg, lh; + uint16_t val; + uint32_t idx; /* Skip non tunnel ptype array memory */ ptype = ptype + PTYPE_NON_TUNNEL_ARRAY_SZ; for (idx = 0; idx < PTYPE_TUNNEL_ARRAY_SZ; idx++) { - le = idx & 0xF; - lf = (idx & 0xF0) >> 4; - lg = (idx & 0xF00) >> 8; + lf = idx & 0xF; + lg = (idx & 0xF0) >> 4; + lh = (idx & 0xF00) >> 8; val = RTE_PTYPE_UNKNOWN; - switch (le) { + switch (lf) { case NPC_LT_LF_TU_ETHER: val |= TU_SHIFT(RTE_PTYPE_INNER_L2_ETHER); break; } - switch (lf) { + switch (lg) { case NPC_LT_LG_TU_IP: val |= TU_SHIFT(RTE_PTYPE_INNER_L3_IPV4); break; @@ -210,7 +213,7 @@ nix_create_tunnel_ptype_array(uint16_t *ptype) val |= TU_SHIFT(RTE_PTYPE_INNER_L3_IPV6); break; } - switch (lg) { + switch (lh) { case NPC_LT_LH_TU_TCP: val |= TU_SHIFT(RTE_PTYPE_INNER_L4_TCP); break; @@ -221,6 +224,7 @@ nix_create_tunnel_ptype_array(uint16_t *ptype) val |= TU_SHIFT(RTE_PTYPE_INNER_L4_SCTP); break; case NPC_LT_LH_TU_ICMP: + case NPC_LT_LH_TU_ICMP6: val |= TU_SHIFT(RTE_PTYPE_INNER_L4_ICMP); break; } @@ -273,13 +277,13 @@ nix_create_rx_ol_flags_array(void *mem) val |= PKT_RX_IP_CKSUM_GOOD; break; case NPC_ERRLEV_NIX: + val |= PKT_RX_IP_CKSUM_GOOD; if (errcode == NIX_RX_PERRCODE_OL4_CHK) { val |= PKT_RX_OUTER_L4_CKSUM_BAD; val |= PKT_RX_L4_CKSUM_BAD; } else if (errcode == NIX_RX_PERRCODE_IL4_CHK) { val |= PKT_RX_L4_CKSUM_BAD; } else { - val |= PKT_RX_IP_CKSUM_GOOD; val |= PKT_RX_L4_CKSUM_GOOD; } break;