I have found while testing with dpdk 17.11.2 on the lx2160 that the hash field of the rte_mbuf is always zero.
It appears from the dpdk source that the value is not set in the dpaa2 driver but is in the dpaa driver.
The files I am referring to are
drivers/net/dpaa2/dpaa2_rxtx.c
and
drivers/net/dpaa/dpaa_rxtx.c
There is also this piece of code that I could use some clarification on in
drivers/net/dpaa2/dpaa2_ethdev.c
/* Enabling hash results in FD requires setting DPNI_FLCTYPE_HASH in
* dpni_set_offload API. Setting this FLCTYPE for DPNI sets the FD[SC]
* to 0 for LS2 in the hardware thus disabling data/annotation
* stashing. For LX2 this is fixed in hardware and thus hash result and
* parse results can be received in FD using this option.
*/
if (dpaa2_svr_family == SVR_LX2160A) {
ret = dpni_set_offload(dpni, CMD_PRI_LOW, priv->token,
DPNI_FLCTYPE_HASH, true);
if (ret) {
DPAA2_PMD_ERR("Error setting FLCTYPE: Err = %d", ret);
return ret;
}
}