summaryrefslogtreecommitdiffstats
path: root/include/uapi/rdma
diff options
context:
space:
mode:
authorTalat Batheesh <talatb@mellanox.com>2017-02-14 07:24:53 +0200
committerDoug Ledford <dledford@redhat.com>2017-02-14 11:44:42 -0500
commita748d60df32ec5da31626a140be1795eefa04282 (patch)
tree7dda400f86496979f44a3f3450f243c820b9882b /include/uapi/rdma
parentd8030b0de03ec6bdf3665e1d915fa0f02e5ec89d (diff)
downloadop-kernel-dev-a748d60df32ec5da31626a140be1795eefa04282.zip
op-kernel-dev-a748d60df32ec5da31626a140be1795eefa04282.tar.gz
IB/mlx4: Take source GID by index from HW GID table
Previously, we used the HW GID index in order to search the source GID in the software GID cached table. In some cases, for example when the MAC Address of the network interface is changed, the GID cached table saves the old-IPv6-link-local GID at the end of the table. When returning the old MAC address, the software GID cached table tries to add the new IPv6-link-local GID, and when it identifies that the GID already exists, the software GID cached does not add it. Thus a mismatch occurs between the HW and the SW GID tables. It resulted with sending traffic with the wrong source GID. This commit fixes the issue by taking both from the HW table. The problem can be reproduced with the following scenario: Client: # ifconfig ens6 2.2.2.5 # ifconfig ens6 inet6 add 2001:0db8:0:f101::5/64 # ifconfig ens6 hw ether f4:52:14:61:a0:71 # ifconfig ens6 inet6 del 2001:0db8:0:f101::5/64 # ifconfig ens6 inet6 add 2001:0db8:0:f101::5/64 # ucmatose -f ipv6 -b 2001:0db8:0:f101::5 -s 2001:0db8:0:f101::6 -p 20156 Server: # ucmatose -f ipv6 -b 2001:0db8:0:f101::6 -p 20156 Fixes: 4c3eb3ca1396 ('IB/mlx4: Add VLAN support for IBoE') Signed-off-by: Talat Batheesh <talatb@mellanox.com> Reviewed-by: Maor Gottlieb <maorg@mellanox.com> Signed-off-by: Leon Romanovsky <leon@kernel.org> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'include/uapi/rdma')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud