Linus Lüssing
2017-Mar-15 21:16 UTC
[Bridge] [PATCH net] bridge: ebtables: fix reception of frames DNAT-ed to bridge device
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.
Pablo Neira Ayuso
2017-Mar-15 22:06 UTC
[Bridge] [PATCH net] bridge: ebtables: fix reception of frames DNAT-ed to bridge device
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.