On 2019/01/15 12:12, wangyunjian wrote: > From: Yunjian Wang <wangyunjian@xxxxxxxxxx> > > 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 1504 packet 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 donen't take effect. I agree with the change but this test does not look appropriate. In the first place is_skb_forwardable() accepts 4 bytes extra size (for VLAN header). Doesn't your test case fail even after the change? -- Toshiaki Makita