From: wangyunjian <[email protected]>
Date: Thu, 17 Jan 2019 09:46:41 +0800

> From: Yunjian Wang <[email protected]>
> 
> 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: [email protected]
> Cc: Nkolay Aleksandrov <[email protected]>
> Cc: Roopa Prabhu <[email protected]>
> Cc: Stephen Hemminger <[email protected]>
> Signed-off-by: Yunjian Wang <[email protected]>

Applied and queued up for -stable.

Reply via email to