Re: [PATCH rdma-next] IB/mlx4: Take source GID by index from HW GID table

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2017-02-14 at 07:24 +0200, Leon Romanovsky wrote:
> From: Talat Batheesh <talatb@xxxxxxxxxxxx>
> 
> 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@xxxxxxxxxxxx>
> Reviewed-by: Maor Gottlieb <maorg@xxxxxxxxxxxx>
> Signed-off-by: Leon Romanovsky <leon@xxxxxxxxxx>

Thanks, applied.

-- 
Doug Ledford <dledford@xxxxxxxxxx>
    GPG KeyID: B826A3330E572FDD
   
Key fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux