[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20161222.112046.1340472049113932122.davem@davemloft.net>
Date: Thu, 22 Dec 2016 11:20:46 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: mahesh@...dewar.net
Cc: netdev@...r.kernel.org, edumazet@...gle.com, maheshb@...gle.com
Subject: Re: [PATCH net] ipvlan: fix multicast processing
From: Mahesh Bandewar <mahesh@...dewar.net>
Date: Wed, 21 Dec 2016 17:30:16 -0800
> From: Mahesh Bandewar <maheshb@...gle.com>
>
> In an IPvlan setup when master is set in loopback mode e.g.
>
> ethtool -K eth0 set loopback on
>
> where eth0 is master device for IPvlan setup.
>
> The failure is caused by the faulty logic that determines if the
> packet is from TX-path vs. RX-path by just looking at the mac-
> addresses on the packet while processing multicast packets.
>
> In the loopback-mode where this crash was happening, the packets
> that are sent out are reflected by the NIC and are processed on
> the RX path, but mac-address check tricks into thinking this
> packet is from TX path and falsely uses dev_forward_skb() to pass
> packets to the slave (virtual) devices.
>
> This patch records the path while queueing packets and eliminates
> logic of looking at mac-addresses for the same decision.
...
> Fixes: ba35f8588f47 ("ipvlan: Defer multicast / broadcast processing to a work-queue")
> Signed-off-by: Mahesh Bandewar <maheshb@...gle.com>
This looks a lot better, applied, thanks.
Powered by blists - more mailing lists