Thread (6 messages) 6 messages, 4 authors, 2021-07-01

Re: [dpdk-dev] Question about 'rxm->hash.rss' and 'mb->hash.fdir'

From: Ferruh Yigit <hidden>
Date: 2021-06-30 09:34:26

On 6/30/2021 3:45 AM, Min Hu (Connor) wrote:
Hi, all
    one question about 'rxm->hash.rss' and 'mb->hash.fdir'.

    In Rx recv packets function,
    'rxm->hash.rss' will report rss hash result from Rx desc.
    'rxm->hash.fdir' will report filter identifier from Rx desc.

    But function implementation differs from some PMDs. for example:
    i40e, MLX5 report the two at the same time if pkt_flags is set,like:
******************************************
        if (pkt_flags & PKT_RX_RSS_HASH) {
            rxm->hash.rss =            
rte_le_to_cpu_32(rxd.wb.qword0.hi_dword.rss);
        }
        if (pkt_flags & PKT_RX_FDIR) {
            mb->hash.fdir.hi =
        rte_le_to_cpu_32(rxdp->wb.qword3.hi_dword.fd_id);
        }
********************************************

    While, ixgbe only report one of the two. like:
******************************************
        if (likely(pkt_flags & PKT_RX_RSS_HASH))
            mb->hash.rss = rte_le_to_cpu_32(
                rxdp[j].wb.lower.hi_dword.rss);
        else if (pkt_flags & PKT_RX_FDIR) {
            mb->hash.fdir.hash = rte_le_to_cpu_16(
                rxdp[j].wb.lower.hi_dword.csum_ip.csum) &
                IXGBE_ATR_HASH_MASK;
            mb->hash.fdir.id = rte_le_to_cpu_16(
                rxdp[j].wb.lower.hi_dword.csum_ip.ip_id);
        }
********************************************
    So, what is application scenario for 'rxm->hash.rss' and 'mb->hash.fdir',
that is, why the two should be reported? How about reporting the two at the same
time?
    Thanks for  your reply.

Hi Connor,

mbuf->hash is union, so it is not possible to set both 'hash.rss' & 'hash.fdir'.

I assume for i40e & mlx5 case 'pkt_flags' indicate which one is valid and only
one is set in practice. Cc'ed driver mainteriners for more comment.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help