net/mlx5e: IPoIB, Use hash-table to map between QPN to child netdev
authorAlex Vesker <valex@mellanox.com>
Thu, 14 Sep 2017 07:27:25 +0000 (10:27 +0300)
committerSaeed Mahameed <saeedm@mellanox.com>
Sat, 14 Oct 2017 18:22:10 +0000 (11:22 -0700)
commit7e7f4780c3402bd181eea82ca6395013623e4fbf
tree577a61b3857b55234d0a9ff1e71d103a1ca67b51
parentda34f1a85b78c2220dac1ce4f4c4595dd0cab5a9
net/mlx5e: IPoIB, Use hash-table to map between QPN to child netdev

This change is needed for PKEY support, since the RQs are shared
between the child interface and the parent. The parent is responsible
for NAPI and the precessing of RX completions. Using the dqpn in the
completion descriptor we set the corresponding child IPoIB netdevice
on the SKB.
The mapping between the dqpn and the netdevice is done using a HT,
each mlx5 IPoIB interface registers its mapping on creation.

Signed-off-by: Alex Vesker <valex@mellanox.com>
Reviewed-by: Erez Shitrit <erezsh@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/Makefile
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c
drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.h
drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c [new file with mode: 0644]