From: wangyunjian <wangyunj...@huawei.com>
Date: Thu, 17 Jan 2019 09:46:41 +0800

> From: Yunjian Wang <wangyunj...@huawei.com>
> 
> The skb header should be set to ethernet header before using
> is_skb_forwardable. Because the ethernet header length has been
> considered in is_skb_forwardable(including dev->hard_header_len
> length).
> 
> To reproduce the issue:
> 1, add 2 ports on linux bridge br using following commands:
> $ brctl addbr br
> $ brctl addif br eth0
> $ brctl addif br eth1
> 2, the MTU of eth0 and eth1 is 1500
> 3, send a packet(Data 1480, UDP 8, IP 20, Ethernet 14, VLAN 4)
> from eth0 to eth1
> 
> So the expect result is packet larger than 1500 cannot pass through
> eth0 and eth1. But currently, the packet passes through success, it
> means eth1's MTU limit doesn't take effect.
> 
> Fixes: f6367b4660dd ("bridge: use is_skb_forwardable in forward path")
> Cc: bridge@lists.linux-foundation.org
> Cc: Nkolay Aleksandrov <niko...@cumulusnetworks.com>
> Cc: Roopa Prabhu <ro...@cumulusnetworks.com>
> Cc: Stephen Hemminger <step...@networkplumber.org>
> Signed-off-by: Yunjian Wang <wangyunj...@huawei.com>

Applied and queued up for -stable.

Reply via email to