[support] strange error when porting the umip-0.4 mip6d to ARM
Romain KUNTZ
kuntz at lsiit.u-strasbg.fr
Thu May 14 20:45:50 JST 2009
Hi,
I remember someone reported a similar problem on an ARM architecture
some times ago:
http://www.linux-ipv6.org/ml/usagi-users/msg04078.html
The root of the problem is that some structures are not packed in the
glibc header file, so the use of sizeof() in the mip6d code may return
different values in different architectures, which results in
discarding packets in some cases.
I wrote a tentative patch some time ago, you want want to try it:
http://clarinet.u-strasbg.fr/~kuntz/umip-core/20090405-sizeof.patch
This patch is a workaround to solve the problem in userland, and avoir
patching the glibc. Arnaud, you may want to consider this patch for
your repository. Comments welcome :-)
Cheers,
romain
On 2009/05/14, at 10:59, Arnaud Ebalard wrote:
> Hi,
>
> liu jianwei <ljw725 at gmail.com> writes:
>
>> hi, everyone,
>> I have this strange error when porting the umip-0.4 mip6d code and
>> 2.6.23 kernel from the USAGI to the S3C2410 board.
>> The same kernel and mip6d works fine in a notebook. The only
>> difference I could think about is the driver of the wireless card.
>> In the notebook, the driver is the original dirver of intel 2200n;
>> while in the board, the driver is the rt73 cross-compiled by
>> ourselves.
>>
>> The phenomenon now is that the notebook could send out BU, while the
>> board can't. Actually, from the comparison of the printed debug info
>> of mip6d in both platfroms,
>> I think the board have not called the md_change_default_router
>> funtion
>> while that in the notebook did.
>>
>> The mip6d.conf is similar too.
>>
>> but there is one thing I can't understand. Which function calls
>> md_change_default_router? I have added MDBG debug info in both
>> md_change_to_backup_router and
>> md_check_default_router. But they are neither printed out in the
>> notbook, while the debug info in md_change_default_router printed
>> out.
>>
>> anyone knows why this function is not called in the board?
>
> From the debug log you provide, it seems that mip6d considers the link
> as up on the board, so it should send RS and get back RA from the
> router,
> which should result in the configuration of a new CoA and then the
> emission of a BU.
>
> In your specific case, it seems the MN does not see those RA (if you
> can
> confirm they are even sent by the router) or that the RS do not leave
> the board. Can you tcpdump what happens on the router's interface in
> both cases and post it on the list?
>
> I imagine you have already tested the card without mip6d running and
> addresss autoconfiguration is working ok (meaning the ethernet driver
> works fine).
>
> Cheers,
>
> a+
>
>>
>> ****************
>> The debug info in notebook
>>
>> root at tti-laptop:~# mip6d -c
>> /root/Desktop/final/mn/common/no-ipssec/mn-mip6d-ok.conf
>> mip6d[6928]: MIPL Mobile IPv6 for Linux v2.0.2-umip-0.4 started
>> (Mobile Node)
>> Wed May 13 16:36:46 main: MIPL Mobile IPv6 for Linux started in debug
>> mode, not detaching from terminal
>> Wed May 13 16:36:46 conf_show: config_file =
>> /root/Desktop/final/mn/common/no-ipssec/mn-mip6d-ok.conf
>> Wed May 13 16:36:46 conf_show: mip6_entity = 1
>> Wed May 13 16:36:46 conf_show: debug_level = 10
>> Wed May 13 16:36:46 conf_show: debug_log_file = stderr
>> Wed May 13 16:36:46 conf_show: PolicyModulePath = [internal]
>> Wed May 13 16:36:46 conf_show: DefaultBindingAclPolicy = 0
>> Wed May 13 16:36:46 conf_show: NonVolatileBindingCache = disabled
>> Wed May 13 16:36:46 conf_show: KeyMngMobCapability = disabled
>> Wed May 13 16:36:46 conf_show: UseMnHaIPsec = disabled
>> Wed May 13 16:36:46 conf_show: MnMaxHaBindingLife = 262140
>> Wed May 13 16:36:46 conf_show: MnMaxCnBindingLife = 420
>> Wed May 13 16:36:46 conf_show: MnRouterProbes = 0
>> Wed May 13 16:36:46 conf_show: MnRouterProbeTimeout = 0.000000
>> Wed May 13 16:36:46 conf_show: InitialBindackTimeoutFirstReg =
>> 1.500000
>> Wed May 13 16:36:46 conf_show: InitialBindackTimeoutReReg = 1.000000
>> Wed May 13 16:36:46 conf_show: UseCnBuAck = disabled
>> Wed May 13 16:36:46 conf_show: DoRouteOptimizationMN = enabled
>> Wed May 13 16:36:46 conf_show: MnUseAllInterfaces = disabled
>> Wed May 13 16:36:46 conf_show: MnDiscardHaParamProb = disabled
>> Wed May 13 16:36:46 conf_show: SendMobPfxSols = enabled
>> Wed May 13 16:36:46 conf_show: OptimisticHandoff = disabled
>> Wed May 13 16:36:46 conf_show: SendMobPfxAdvs = enabled
>> Wed May 13 16:36:46 conf_show: SendUnsolMobPfxAdvs = enabled
>> Wed May 13 16:36:46 conf_show: MaxMobPfxAdvInterval = 86400
>> Wed May 13 16:36:46 conf_show: MinMobPfxAdvInterval = 600
>> Wed May 13 16:36:46 conf_show: HaMaxBindingLife = 262140
>> Wed May 13 16:36:46 conf_show: DoRouteOptimizationCN = enabled
>> Wed May 13 16:36:46 xfrm_cn_init: Adding policies and states for CN
>> Wed May 13 16:36:46 xfrm_mn_init: Adding policies and states for MN
>> Wed May 13 16:36:46 conf_home_addr_info: HoA address 3ffe:
>> 0:0:2:0:0:0:2
>> Wed May 13 16:36:46 conf_home_addr_info: HA address 3ffe:
>> 0:0:2:0:0:0:1
>> Wed May 13 16:36:46 __tunnel_add: created tunnel ip6tnl1 (11) from
>> 3ffe:0:0:2:0:0:0:2 to 3ffe:0:0:2:0:0:0:1 user count 1
>> Wed May 13 16:36:46 conf_home_addr_info: Home address 3ffe:
>> 0:0:2:0:0:0:2
>> Wed May 13 16:36:46 flag_hoa: set HoA 3ffe:0:0:2:0:0:0:2/128 iif 11
>> flags 12 preferred_time 4294967295 valid_time 4294967295
>> Wed May 13 16:36:46 conf_home_addr_info: Added new home_addr_info
>> successfully
>> Wed May 13 16:36:46 __md_discover_router: discover link on iface
>> eth1 (4)
>> Wed May 13 16:36:48 md_change_default_router: add new router
>> fe80:0:0:0:211:5bff:fe2f:5cb7 on interface eth1 (4)
>> Wed May 13 16:36:48 md_update_router_stats: add coa
>> 3ffe:0:0:2:215:ff:fe4d:7046 on interface (4)
>> Wed May 13 16:36:49 mn_addr_do_dad: DAD succeeded!
>> Wed May 13 16:36:49 mn_addr_do_dad: address = 3ffe:0:0:2:0:0:0:2
>> Wed May 13 16:36:49 mn_move: 1578
>> Wed May 13 16:36:49 mn_move: in home net
>> Wed May 13 16:36:49 mv_hoa: move HoA 3ffe:0:0:2:0:0:0:2/64 from
>> iface 11 to 4
>> Wed May 13 16:36:51 md_update_router_stats: add coa
>> 3ffe:0:0:2:215:ff:fe4d:7046 on interface (4)
>> Wed May 13 16:36:54 md_update_router_stats: add coa
>> 3ffe:0:0:2:215:ff:fe4d:7046 on interface (4)
>>
>>
>> that in the board
>>
>> / # mip6d -c /mnt/ext1/lost\+found/m.conf
>> mip6d[855]: MIPL Mobile IPv6 for Linux v2.0.2-umip-0.4 started
>> (Mobile Node)
>> Thu Jan 1 00:07:43 main: MIPL Mobile IPv6 for Linux started in debug
>> mode, not detaching from terminal
>> Thu Jan 1 00:07:43 conf_show: config_file = /mnt/ext1/lost+found/
>> m.conf
>> Thu Jan 1 00:07:43 conf_show: vt_hostname = localhost
>> Thu Jan 1 00:07:43 conf_show: vt_service = 7777
>> Thu Jan 1 00:07:43 conf_show: mip6_entity = 1
>> Thu Jan 1 00:07:43 conf_show: debug_level = 10
>> Thu Jan 1 00:07:43 conf_show: debug_log_file = stderr
>> Thu Jan 1 00:07:43 conf_show: PolicyModulePath = [internal]
>> Thu Jan 1 00:07:43 conf_show: DefaultBindingAclPolicy = 0
>> Thu Jan 1 00:07:43 conf_show: NonVolatileBindingCache = disabled
>> Thu Jan 1 00:07:43 conf_show: KeyMngMobCapability = disabled
>> Thu Jan 1 00:07:43 conf_show: UseMnHaIPsec = disabled
>> Thu Jan 1 00:07:43 conf_show: MnMaxHaBindingLife = 262140
>> Thu Jan 1 00:07:43 conf_show: MnMaxCnBindingLife = 420
>> Thu Jan 1 00:07:43 conf_show: MnRouterProbes = 0
>> Thu Jan 1 00:07:43 conf_show: MnRouterProbeTimeout = 0.000000
>> Thu Jan 1 00:07:43 conf_show: InitialBindackTimeoutFirstReg =
>> 1.500000
>> Thu Jan 1 00:07:43 conf_show: InitialBindackTimeoutReReg = 1.000000
>> Thu Jan 1 00:07:43 conf_show: UseCnBuAck = disabled
>> Thu Jan 1 00:07:43 conf_show: DoRouteOptimizationMN = enabled
>> Thu Jan 1 00:07:43 conf_show: MnUseAllInterfaces = disabled
>> Thu Jan 1 00:07:43 conf_show: MnDiscardHaParamProb = disabled
>> Thu Jan 1 00:07:43 conf_show: SendMobPfxSols = enabled
>> Thu Jan 1 00:07:43 conf_show: OptimisticHandoff = disabled
>> Thu Jan 1 00:07:43 conf_show: SendMobPfxAdvs = enabled
>> Thu Jan 1 00:07:43 conf_show: SendUnsolMobPfxAdvs = enabled
>> Thu Jan 1 00:07:43 conf_show: MaxMobPfxAdvInterval = 86400
>> Thu Jan 1 00:07:43 conf_show: MinMobPfxAdvInterval = 600
>> Thu Jan 1 00:07:43 conf_show: HaMaxBindingLife = 262140
>> Thu Jan 1 00:07:43 conf_show: DoRouteOptimizationCN = enabled
>> Thu Jan 1 00:07:43 xfrm_cn_init: Adding policies and states for CN
>> Thu Jan 1 00:07:43 xfrm_mn_init: Adding policies and states for MN
>> Thu Jan 1 00:07:44 conf_home_addr_info: HoA address 3ffe:
>> 0:0:2:0:0:0:2
>> Thu Jan 1 00:07:44 conf_home_addr_info: HA address 3ffe:
>> 0:0:2:0:0:0:1
>> Thu Jan 1 00:07:44 __tunnel_add: created tunnel ip6tnl1 (5) from
>> 3ffe:0:0:2:0:0:0:2 to 3ffe:0:0:2:0:0:0:1 user count 1
>> Thu Jan 1 00:07:44 conf_home_addr_info: Home address 3ffe:
>> 0:0:2:0:0:0:2
>> Thu Jan 1 00:07:44 flag_hoa: set HoA 3ffe:0:0:2:0:0:0:2/128 iif 5
>> flags 12 preferred_time 4294967295 valid_time 4294967295
>> Thu Jan 1 00:07:44 conf_home_addr_info: Added new home_addr_info
>> successfully
>> mip6d[855]: Interface 2 (sit0):type 776 unsupported
>> Thu Jan 1 00:07:44 __md_discover_router: discover link on iface
>> eth0 (4)
>> Thu Jan 1 00:07:48 __md_discover_router: discover link on iface
>> eth0 (4)
>> mip6d[864]: terminated (SIGINT)
>> Thu Jan 1 00:07:50 terminate: got SIGINT, exiting
>> Thu Jan 1 00:07:50 flag_hoa: set HoA 3ffe:0:0:2:0:0:0:2/128 iif 5
>> flags 80 preferred_time 4294967295 valid_time 4294967295
>> Thu Jan 1 00:07:50 __tunnel_del: tunnel ip6tnl1 (5) from
>> 3ffe:0:0:2:0:0:0:2 to 3ffe:0:0:2:0:0:0:1 user count decreased to 0
>> Thu Jan 1 00:07:51 __tunnel_del: tunnel deleted
>> Thu Jan 1 00:07:51 xfrm_mn_cleanup: Deleting policies and states
>> for MN
>> Thu Jan 1 00:07:51 xfrm_cn_cleanup: Deleting policies and states
>> for CN
>> mip6d[855]: MIPL Mobile IPv6 for Linux v2.0.2-umip-0.4 stopped
>> (Mobile Node)
>>
>>
>>
>> Then, I added this in md_change_default_router
>> MDBG("have entered change default router\n");
>> MDBG("if = %d \n", !tsisset(new->lifetime)));
>>
>> and the note book could print out this
>> Thu May 14 16:13:46 md_change_default_router: have entered change
>> default router
>> Thu May 14 16:13:46 md_change_default_router: if = 0
>> before the message "md_change_default_router: add new router
>> fe80:0:0:0:211:5bff:fe2f:5cb7 on interface eth1 (4)" above
>> _______________________________________________
>> Support mailing list
>> Support at ml.nautilus6.org
>> http://ml.nautilus6.org/mailman/listinfo/support
> _______________________________________________
> Support mailing list
> Support at ml.nautilus6.org
> http://ml.nautilus6.org/mailman/listinfo/support
>
More information about the Support
mailing list