netdev
[Top] [All Lists]

[PATCH] dst allocation problem in ndisc

To: davem@xxxxxxxxxx
Subject: [PATCH] dst allocation problem in ndisc
From: Shirley Ma <mashirle@xxxxxxxxxx>
Date: Wed, 9 Jun 2004 16:00:29 -0700
Cc: netdev@xxxxxxxxxxx, yoshfuji@xxxxxxxxxxxxxx, xma@xxxxxxxxxx
In-reply-to: <200405261308.54281.mashirle@xxxxxxxxxx>
References: <OF3E88B8EA.382D75F6-ON87256E5C.00272BAC-88256E5C.0027A5ED@xxxxxxxxxx> <200403311326.43647.mashirle@xxxxxxxxxx> <200405261308.54281.mashirle@xxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: KMail/1.5.4
When creating dst entry from ndisc, the dst entry of pmtu is not set, and the 
outout for this kind of dst entry is set to ip_output2 instead of ip_output. 
This could lead to send bigger packets through these des entries without 
fragmentation, and uninitialized pmtu could lead the network unreachable. 

These problems are easy reproduced when configuring IPSEC for ipv6. IPSEC 
could pick up dst entry created by ndisc as child des entry if ndisc dst 
entry generated earlier. If sending bigger packets through IPSEC, the ip 
output2 will send bigger packets out, the driver will drop these packets on 
receiver side. Also the dst_entry pmtu will be 0, the network is unreachable.

The patch has been tested against 2.6.6. I am not sure why ndisc genereats dst 
entry with output equal to ip6_output2 not ip6_output. If ndisc sends bigger 
packets, it will break also. 

Here is the patch against 2.6.6 kernel. Please review this patch.

-- 
Thanks
Shirley Ma
IBM Linux Technology Center

Attachment: linux-2.6.6-dst.patch
Description: Text Data

<Prev in Thread] Current Thread [Next in Thread>