common/mlx5: fix memory region lookup on slow path
common/mlx5: fix memory region lookup on slow path

Memory region (MR) was being looked up incorrectly
for the data address of an externally-attached mbuf.
A search was attempted for the mempool of the mbuf,
while mbuf data address does not belong to this mempool
in case of externally-attached mbuf.
Only attempt the search:
1) for not externally-attached mbufs;
2) for mbufs coming from MPRQ mempool;
3) for externally-attached mbufs from mempools
   with pinned external buffers.

Fixes: 08ac03580ef2 ("common/mlx5: fix mempool registration")

Signed-off-by: Dmitry Kozlyuk <a38236dd262881209764ccf7392099d97ee7c587@nvidia.com>
Reviewed-by: Matan Azrad <6969f5f553ad7652679a585a85d7321babc90464@nvidia.com>
Acked-by: Viacheslav Ovsiienko <5b8db9bb93a9a9aefc8828f79604d1fe963a53dd@nvidia.com>

john-mcnamara-intel/dpdk,john-mcnamara-intel/dpdk,john-mcnamara-intel/dpdk,john-mcnamara-intel/dpdk