[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(usagi-users 02274) some troubles of MobileIPv6
Hi, all.
I met some troubles when I tested MobileIPv6.
(I tested s20030203, but I think s20030303 has same troubles.)
1) indication of statistics(mipdiag -s)
'NEncapsulations' was minus and big number.
=> I found it is because of the following arrangement size mistake.
usagi/kernel/linux24/net/ipv6/mobile_ip6/mobhdr_common.c
[line 48](s20030303)
static struct mh_proto mh_rcv[MIPV6_MH_MAX];
-> static struct mh_proto mh_rcv[MIPV6_MH_MAX+1];
2) kernel is unstable, when use IPsec (between MN and HA)
When I used IPsec between MN and HA, after MN sent Binding Update
to HA and HA returned Binding Acknowledge to MN, MN and/or HA
would be unstable(kernel panic, freeze, etc).
=> I think it is because of the following memory trouble( forget to
free memory(opt), or free memory twice(newopt)).
usagi/kernel/linux24/net/ipv6/mobile_ip6/mobhdr_common.c
[line 262-263, and line 102-1022](s20030303)
if (newopt)
opt = newopt;
-> if (newopt) {
if (opt && opt != orig_opt) {
kfree(opt);
}
opt = newopt;
newopt = NULL;
}
Regard,
--
IDA Hiromu