Because ipvlan will do the ip forward, it will do a route lookup.if the ihl of the ip header is smaller than 5, this cause ip_fast_csum access the illegal address.
-----邮件原件----- 发件人: Eric Dumazet [mailto:eduma...@google.com] 发送时间: Thursday, July 23, 2020 0:30 收件人: Guodeqing (A) <geffrey....@huawei.com> 抄送: David Miller <da...@davemloft.net>; Jakub Kicinski <k...@kernel.org>; Mahesh Bandewar <mahe...@google.com>; netdev <netdev@vger.kernel.org> 主题: Re: [PATCH,v2] ipvlan: add the check of ip header checksum On Wed, Jul 22, 2020 at 2:23 AM guodeqing <geffrey....@huawei.com> wrote: > > The ip header checksum can be error in the following steps. > $ ip netns add ns1 > $ ip link add gw link eth0 type ipvlan $ ip addr add 168.16.0.1/24 dev > gw $ ip link set dev gw up $ ip link add ip1 link eth0 type ipvlan $ > ip link set ip1 netns ns1 $ ip netns exec ns1 ip link set ip1 up $ ip > netns exec ns1 ip addr add 168.16.0.2/24 dev ip1 $ ip netns exec ns1 > tc qdisc add dev ip1 root netem corrupt 50% $ ip netns exec ns1 ping > 168.16.0.1 > > This is because the netem will modify the packet randomly. the > corrupted packets should be dropped derectly, otherwise it may cause a > problem. And why would ipvlan be so special ? What about all other drivers ? My advice : Do not use netem corrupt if you do not want to send corrupted packets . > > > Here I add the check of ip header checksum and drop the illegal > packets in l3/l3s mode. > This patch makes no sense really. > > Signed-off-by: guodeqing <geffrey....@huawei.com> > ---