X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Focteontx2%2Fotx2_lookup.c;h=14ea1cf797b4b21d01b77197354a8281fff82236;hb=13e8bf892c2ea18c8a7ef8ec82f6dce6776c5163;hp=89365ffad1c9965edf12fa5437341519d1461bc2;hpb=d7fa8f2a8f21c3e5171e61e878e3aa3318a662dd;p=dpdk.git diff --git a/drivers/net/octeontx2/otx2_lookup.c b/drivers/net/octeontx2/otx2_lookup.c index 89365ffad1..14ea1cf797 100644 --- a/drivers/net/octeontx2/otx2_lookup.c +++ b/drivers/net/octeontx2/otx2_lookup.c @@ -169,15 +169,15 @@ nix_create_non_tunnel_ptype_array(uint16_t *ptype) case NPC_LT_LD_NVGRE: val |= RTE_PTYPE_TUNNEL_NVGRE; break; - case NPC_LT_LD_ESP: - val |= RTE_PTYPE_TUNNEL_ESP; - break; } switch (le) { case NPC_LT_LE_VXLAN: val |= RTE_PTYPE_TUNNEL_VXLAN; break; + case NPC_LT_LE_ESP: + val |= RTE_PTYPE_TUNNEL_ESP; + break; case NPC_LT_LE_VXLANGPE: val |= RTE_PTYPE_TUNNEL_VXLAN_GPE; break; @@ -270,7 +270,9 @@ nix_create_rx_ol_flags_array(void *mem) switch (errlev) { case NPC_ERRLEV_RE: - /* Mark all errors as BAD checksum errors */ + /* Mark all errors as BAD checksum errors + * including Outer L2 length mismatch error + */ if (errcode) { val |= PKT_RX_IP_CKSUM_BAD; val |= PKT_RX_L4_CKSUM_BAD; @@ -295,18 +297,26 @@ 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; + if (errcode == NIX_RX_PERRCODE_OL4_CHK || + errcode == NIX_RX_PERRCODE_OL4_LEN || + errcode == NIX_RX_PERRCODE_OL4_PORT) { + val |= PKT_RX_IP_CKSUM_GOOD; val |= PKT_RX_L4_CKSUM_BAD; - } else if (errcode == NIX_RX_PERRCODE_IL4_CHK) { + val |= PKT_RX_OUTER_L4_CKSUM_BAD; + } else if (errcode == NIX_RX_PERRCODE_IL4_CHK || + errcode == NIX_RX_PERRCODE_IL4_LEN || + errcode == NIX_RX_PERRCODE_IL4_PORT) { + val |= PKT_RX_IP_CKSUM_GOOD; val |= PKT_RX_L4_CKSUM_BAD; + } else if (errcode == NIX_RX_PERRCODE_IL3_LEN || + errcode == NIX_RX_PERRCODE_OL3_LEN) { + val |= PKT_RX_IP_CKSUM_BAD; } else { + val |= PKT_RX_IP_CKSUM_GOOD; val |= PKT_RX_L4_CKSUM_GOOD; } break; } - ol_flags[idx] = val; } }