[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20170714.081942.1796952600877192514.davem@davemloft.net>
Date: Fri, 14 Jul 2017 08:19:42 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: nikolay@...ulusnetworks.com
Cc: netdev@...r.kernel.org, makita.toshiaki@....ntt.co.jp,
roopa@...ulusnetworks.com, anitha@...ulusnetworks.com,
stephen@...workplumber.org, bridge@...ts.linux-foundation.org
Subject: Re: [PATCH net] net: bridge: fix dest lookup when vlan proto
doesn't match
From: Nikolay Aleksandrov <nikolay@...ulusnetworks.com>
Date: Thu, 13 Jul 2017 16:09:10 +0300
> With 802.1ad support the vlan_ingress code started checking for vlan
> protocol mismatch which causes the current tag to be inserted and the
> bridge vlan protocol & pvid to be set. The vlan tag insertion changes
> the skb mac_header and thus the lookup mac dest pointer which was loaded
> prior to calling br_allowed_ingress in br_handle_frame_finish is VLAN_HLEN
> bytes off now, pointing to the last two bytes of the destination mac and
> the first four of the source mac causing lookups to always fail and
> broadcasting all such packets to all ports. Same thing happens for locally
> originated packets when passing via br_dev_xmit. So load the dest pointer
> after the vlan checks and possible skb change.
>
> Fixes: 8580e2117c06 ("bridge: Prepare for 802.1ad vlan filtering support")
> Reported-by: Anitha Narasimha Murthy <anitha@...ulusnetworks.com>
> Signed-off-by: Nikolay Aleksandrov <nikolay@...ulusnetworks.com>
Applied.
Powered by blists - more mailing lists