[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