Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751243AbdCQNK5 (ORCPT ); Fri, 17 Mar 2017 09:10:57 -0400 Received: from mail.us.es ([193.147.175.20]:55954 "EHLO mail.us.es" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751010AbdCQNKz (ORCPT ); Fri, 17 Mar 2017 09:10:55 -0400 Date: Fri, 17 Mar 2017 14:10:44 +0100 From: Pablo Neira Ayuso To: Linus =?iso-8859-1?Q?L=FCssing?= Cc: Florian Westphal , netdev@vger.kernel.org, "David S . Miller" , Stephen Hemminger , Jozsef Kadlecsik , bridge@lists.linux-foundation.org, netfilter-devel@vger.kernel.org, coreteam@netfilter.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH net] bridge: ebtables: fix reception of frames DNAT-ed to bridge device Message-ID: <20170317131044.GA11995@salvia> References: <20170315031811.22714-1-linus.luessing@c0d3.blue> <20170315102608.GB24366@breakpoint.cc> <20170315104211.GA24409@salvia> <20170315142720.GU15692@otheros> <20170315181539.GA31875@salvia> <20170315211619.GA3464@otheros> <20170315220605.GA1766@salvia> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20170315220605.GA1766@salvia> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1250 Lines: 29 On Wed, Mar 15, 2017 at 11:06:05PM +0100, Pablo Neira Ayuso wrote: > On Wed, Mar 15, 2017 at 10:16:19PM +0100, Linus L?ssing wrote: > > On Wed, Mar 15, 2017 at 07:15:39PM +0100, Pablo Neira Ayuso wrote: > > > Could you update ebtables dnat to check if the ethernet address > > > matches the one of the input bridge interface, so we mangle the > > > ->pkt_type accordingly from there, instead of doing this from the > > > core? > > > > Actually, that was the approach I thought about and went for first > > (and it would probably work for me). Just checking against the > > bridge device's net_device::dev_addr. > > > > I scratched it though, as I was afraid that the issue might still > > exist for people using some other upper device on top of the bridge > > device. For instance, macvlan? And iterating over the > > net_device::dev_addrs list seemed too costly for fast path to me. > > I was more thinking of following the simple approach that we follow in > ebt_redirect_tg() by taking the input interface. > > Anyway, I'm ok with this. Wait. May this break local multicast listener that are bound to the bridge interface? Assuming the bridge interface got an IP address, and that there is local multicast listener. Missing anything here?