(racoon2 26) racoon2 and MIPv6 (1)
Francis Dupont <[email protected]> Wed, 30 Nov 2005 15:09:07 +0100
| Newsgroups | gmane.network.ipv6.kame.racoon |
|---|---|
| Message-ID | <[email protected]> |
This is my first message about racoon2 and MIPv6. The idea is to add MIPv6 support in racoon2, cf RFC 3776 (for IKEv1 support), draft-ietf-mip6-ikev2-ipsec-04.txt (IKEv2 version of the RFC) draft-sugimoto-mip6-pfkey-migrate-01.txt (PF_KEY extensions). BTW I am co-author of the three documents so if you have questions about them... The first thing needed for MIPv6 support on the Mobile Node/Router is an efficient support for new addresses. I've seen it was just added in racoon2 but it needs to be efficient too so there are at least to usual issues (currently being fixed for ipsec-tools/racoon): - a new address should handle before any AQUIRE trying to use it (fix: handle rtsock before pfkey in iked/main.c iked_mainloop()) - don't close all sockets and reopen them, i.e., avoid race conditions and lost of state (fix: use a differential address list, cf my code for ipsec-tools) - handle new addresses which are not yet available, cf DAD and other delaying stuff (fix: retry reopen with exponential backoff when a bind() fails) The first fix is easy (just move some lines of code), the others are more difficult but you can get a good idea of them in the last patch I posted in the ipsec-tools mailing list. I can propose the code if you'd like to follow my idea ASAP but haven't enough time to implement it. Note it is not really necessary as it will work without them but with very bad performance (last BU retransmit vs. first BU retransmit, i.e., 68 seconds vs. 1 second). cf http://www.nautilus6.org/~francis/racoon-mipv6/wiki.txt Thanks [email protected]