net/mlx5: fix netlink RDMA socket callback routine
authorViacheslav Ovsiienko <viacheslavo@mellanox.com>
Tue, 10 Sep 2019 13:51:51 +0000 (13:51 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 20 Sep 2019 08:19:41 +0000 (10:19 +0200)
commitc9333f457eeb708375dd0c8592079da8cfc174cd
tree23ee2aed64a8c10a62123104652af2dbb1a7f351
parent8a6a09f853a0241979a4b9baf1321674a095aa59
net/mlx5: fix netlink RDMA socket callback routine

The mlx5 PMD uses Netlink socket to communicate with Infiniband
devices kernel drivers to perform some control and setup operations.
The kernel drivers send the information back to the user mode
with Netlink messages which are processed in libnl callback routine.
This routine perform reply message (or set of messages) processing
and returned the processing result in ibindex field of provided
context structure (of mlx5_nl_ifindex_data type). The zero ibindex
value meant an error of reply message processing. It was found in
some configurations the zero is valid value for ibindex and error
was wrongly raised. To avoid this the new flags field is provided
in context structure, attribute processing flags are introduced
and these flags are used to decide whether no error occurred and
valid queried values are returned.

Fixes: e505508a3858 ("net/mlx5: modify get ifindex routine for multiport IB")
Cc: stable@dpdk.org
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
drivers/net/mlx5/mlx5_nl.c