All of lore.kernel.org
 help / color / mirror / Atom feed
From: Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Talat Batheesh <talatb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Subject: Re: [PATCH rdma-next] IB/mlx4: Take source GID by index from HW GID table
Date: Tue, 14 Feb 2017 13:41:20 -0500	[thread overview]
Message-ID: <1487097680.86943.84.camel@redhat.com> (raw)
In-Reply-To: <20170214052453.16488-1-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 1859 bytes --]

On Tue, 2017-02-14 at 07:24 +0200, Leon Romanovsky wrote:
> From: Talat Batheesh <talatb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
> 
> 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-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
> Reviewed-by: Maor Gottlieb <maorg-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
> Signed-off-by: Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>

Thanks, applied.

-- 
Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
    GPG KeyID: B826A3330E572FDD
   
Key fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

      parent reply	other threads:[~2017-02-14 18:41 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-14  5:24 [PATCH rdma-next] IB/mlx4: Take source GID by index from HW GID table Leon Romanovsky
     [not found] ` <20170214052453.16488-1-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-02-14 18:41   ` Doug Ledford [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1487097680.86943.84.camel@redhat.com \
    --to=dledford-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=talatb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.