Hi, On 03/10/2015 11:24 PM, Lingyuan He wrote:
Hi Miika, Thank you for helping out from time to time. Is there a place hipd keeps a list IP addresses? (And also storing preference?) Do you know which source file to look into?
hidb.c: local HIs (public key stuff) hadb.c: HIP associations (remote HITs and IP addresses)netdev.c: local IP addresses, local HITs, routes, triggering of base exchange
I recommend using gdb, ddd or xxgdb to trace through the code base.
And what is hip association, is there a table for it? In hadb.c?
yes
I am currently working on migrating previous modifications to OpenHIP in a project to HIPL, and obviously some term (hip association) and functionalities I mentioned come from their implementation. Any help would be greatly appreciated since it will shorten my time to dig into the code.
I suggest subscribing to hipl-dev if you're interesting in asking questions about the code:
//www.freelists.org/list/hipl-dev
Thanks, LingyuanOn Mar 9, 2015, at 5:24 AM, Miika Komu <mkomu@xxxxxxxxx> wrote: Hi Lingyuan,On 03/08/2015 02:26 AM, Lingyuan He wrote: Hi, I am currently studying the implementation of hipd, about how it uses network interfaces, for the purpose of a research on network handover (interface switching) in my university. I have been looking into the implementation, but without too much progress on my own. My questions, - where in the code that the daemon handles outbound connection and pack/send a packets? Or simply put, where is the socket connection to the other node created?1. hipd is started and sets up a security policy matching to HIT prefix 2. application sends data to a HIT (or LSI) 3. IPsec intercepts the packet, notices that IPsec keys do not exist 4. IPsec sends a message to userspace key exchange daemons 5. hipd receives the message in netdev_handle_acquire()- does hipd uses the default network interface without any consideration of multiple network interfaces?by default, hipd uses the default route (i.e. source address) to send the message. You can use the experimental "shotgun" extension to trigger flooding of the I1 message through all source-destination address pairs. Hipd just selects the address pair that responses first. http://infrahip.hiit.fi/hipl/manual/HOWTO.html#ch_shotgun Shotgun does not support yet mobility, just base exchange is supported. I can give more information if you're interesting in contributing.The end-result I am pursuing is to modify the implementation (if needed) to insert a preferred network interface for hipl to use, in case there are several. Any insights would be greatly appreciated, thanks a lot in advance.