Miika, Hi,I just run the same test and here is the hipd.log file -> ftp://ftp.eurecom.fr/incoming/hipd.log
I now, try to debug using the breakpoints you gave me. Thanks Miika, Philippe Miika Komu wrote:
On 04/02/10 11:57, Philippe Foubert wrote: Hi,the screenshots end when it starts to get interesting. Please repeat and collect the logs into a log file as follows:hipd -k 2>/tmp/hipd.log And then post the log file to your FTP server. Alternatively, you can try to see what the code does by yourself: % gdb hipd breakpoint hip_send_locators_to_all_peers breakpoint hip_send_locators_to_one_peer breakpoint hip_create_update_msg breakpoint hip_send_update_pkt breakpoint hip_send_pkt breakpoint hip_send_raw_from_one_src run -kI am interested if hipd ever gets to the last function and what happens there. Particilarly, does it ever it ever get to line 1243 in output.c which calls sendto()? This should blast away the packet to the network.You can type "continue" in gdb the proceed to next break point and "next" to single step a line. "Step" follows inside to a function call. There are also GUIs for gdb (xxgdb and ddd).Official error reporting instructions are here: http://hipl.hiit.fi/hipl/manual/ch03.html#quickHi Miika, I did the same tests than before but this time with the your new version 1.0.4.112, on both computers, and I still have the same problem. -> I start HIP daemons on the my two machines and via the "conntest" connection I'm sure that the connection is good -> Then, here are my screenshots when I just add another IPv6 address to my interface :ftp://ftp.eurecom.fr/incoming/Adding1Addr.With.version.1.0.4-112.screen1.pngftp://ftp.eurecom.fr/incoming/Adding1Addr.With.version.1.0.4-112.screen2.png-> And now I remove the main IPv6 address of the interface to let only the one I just added :ftp://ftp.eurecom.fr/incoming/Removing1Addr.With.version.1.0.4-112.screen1.pngftp://ftp.eurecom.fr/incoming/Removing1Addr.With.version.1.0.4-112.screen2.pngAnd still no HIP UPDATE packet. My two machines are directly connected to each other with an ethernet cable and thus have no access to any other machine. Once I started the HIPD on my two machines, I give this command "hipconf opendht off" on both, plus the "hipconf add map HIT IPv6" to one of my machine. Perhaps there is another command that I should give ? Thanks a lot, Philippe Miika Komu wrote:On 03/02/10 17:26, Philippe Foubert wrote: Hi, it appears that the DNS updater interrupts UPDATE handling. Perhaps Oleg has something to comment about it? I implemented a workaround for this and pushed a new version of the binaries to the repositories (1.0.4.112). Please try it.Hi, Thanks for your fast answer. I just turned on the "debug all" feature and I see a bit more clear now.I would say that everything looks ok except that the HIP UPDATE is neversent by myMobile Node. I let everything running for 20 minutes and I never caughtthe HIP UPDATE packet. Here is screenshots when I just start the HIP daemons on the two nodes and when I try the HIP connection via the tool "conntest" : ftp://ftp.eurecom.fr/incoming/1-connection1.png ftp://ftp.eurecom.fr/incoming/1-connection2.png Everything is perfect. Now I add one Ipv6 address (I add 2001:3::1/64 on eth0 where there was already 2001:6::1/64) : ftp://ftp.eurecom.fr/incoming/2-adding_a_new_ipv6addr.png ftp://ftp.eurecom.fr/incoming/2-adding_a_new_ipv6addr2.png (screenshot taken 1 minute after the IPv6 was added) We can clearly see that the HIPD is trying to create the UPDATE packet but the tcpdump never caught it, and the "SENDMSG Interrupted system call" appears... Do you have any other ideas why this UPDATE message is never sent ? Thanks, Philippe Quoting Miika Komu <miika.komu@xxxxxxx>: [Hide Quoted Text] <https://webmail.eurecom.fr/imp/message.php?index=1468#> On 02/02/2010 08:08 PM, Philippe Foubert wrote: Hi, we have introduced some articifial delay to the sending of UPDATE. Bydefault, the mobility events are triggered when there has been no otherchanges in addresses in 6 seconds. Persistent heartbeat failure for 40seconds will also cause this 6 second timer to tick. If you have "debugall" in your /etc/hipd/hipd_config, you should see the following messages when hipd starts the timer: debug(hipd/maintenance.c:402@periodic_maintenance): Delay mobility triggering (count 1) debug(hipd/maintenance.c:402@periodic_maintenance): Delay mobility triggering (count 0) debug(hipd/maintenance.c:397@periodic_maintenance): Triggering UPDATE I am usually running tcpdump with the following filters: tcpdump -n -i any port 10500 or esp or proto 139 Please notice that hipd uses UDP-encapsulation by default. http://infrahip.hiit.fi/hipl/contrib/ Hi all,I would like to catch a HIP UPDATE message in my wireshark by simulatingmanually a softhandover, but I never get this packet. *_ My configuration : _*I have two nodes (let's call them A and B), directly connected by an ethernet cable. (they are running the last ubuntu with 1.0.4-111 HIP packages). I give manually to node A : * ip -6 addr add 2001:1::1/64 dev eth0 * ip -6 route add ::/0 dev eth0 I give manually to node B : * ip -6 addr add 2001:2::1/64 dev eth0 * ip -6 route add ::/0 dev eth0 I ping6 each other, and it works. Then I start the HIPD (hipfw and hipdnsproxy are NOT running) On both machines I do : * hipconf opendht off * hipconf add map HIToftheotherone IPv6linkedthen if I try the "conntest" or Ping6 with HIT, it is working perfectlyand I do have the HIP I1/2 R1/2 packets in my wireshark. I let the "Ping6 HIT" running between them and then I add another Ipv6 address on one of the machine (I add 2001:5::1/64 on node A) The ping6 is still running and I start to have these lines in my HIPD (lines in bold): Received I1 from:info(hipd/input.c:2937@hip_handle_i1): Source HIT:: 2001:0011:0bcf:2e1d:a270:9e00:3b3e:ba96 info(hipd/input.c:2938@hip_handle_i1): Source IP :: 2001:0001:0000:0000:0000:0000:0000:0001 info(hipd/input.c:1878@hip_handle_i2): Received I2 from:info(hipd/input.c:1879@hip_handle_i2): Source HIT:: 2001:0011:0bcf:2e1d:a270:9e00:3b3e:ba96 info(hipd/input.c:1880@hip_handle_i2): Source IP :: 2001:0001:0000:0000:0000:0000:0000:0001 error(lib/tool/xfrmapi.c:482@hip_delete_sa): Warning: out sa count negative error(lib/tool/xfrmapi.c:492@hip_delete_sa): Warning: in sa count negative error(hipd/output.c:1495@hip_send_icmp): sendmsgSuccess error(hipd/output.c:1501@hip_send_icmp): SENDMSG Success info(hipd/input.c:2479@hip_handle_i2): Reached ESTABLISHED state error(hipd/output.c:1495@hip_send_icmp): sendmsgSuccess error(hipd/output.c:1501@hip_send_icmp): SENDMSG Success error(hipd/output.c:1495@hip_send_icmp): sendmsgSuccess error(hipd/output.c:1501@hip_send_icmp): SENDMSG Success *error(hipd/hipd.c:639@hipd_main): select() error: Interrupted system call. * *error(hipd/hipd.c:639@hipd_main): select() error: Interrupted system call. * At this point then, node A has 2001:1::1/64 (the first address it used to have) and 2001:5::1/64 I now remove 2001:1::1/64 in order to force the node A to send a HIP UPDATE message but it does not happen. Actually the ping6 stops. At this moment, if I do a "hipconf get ha all" for the LOCAL IP, I still have 2001:1::1/64 .... :-s Which means that HIPD is never actualised. Theoretically, I should have a HIP UPDATE message there no ? Do I forget to run a specific command on the HIPD ? Thanks a lot in advance for your help, Philippe