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:[email protected]] 发送时间: Thursday, July 23, 2020 0:30 收件人: Guodeqing (A) <[email protected]> 抄送: David Miller <[email protected]>; Jakub Kicinski <[email protected]>; Mahesh Bandewar <[email protected]>; netdev <[email protected]> 主题: Re: [PATCH,v2] ipvlan: add the check of ip header checksum On Wed, Jul 22, 2020 at 2:23 AM guodeqing <[email protected]> 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 <[email protected]> > ---
