lp://staging/~hipl-core/hipl/udp-encap-for-ipv6
We have had some doubts if Teredo-based networking works always without UDP encapsulation. We experiencing some random problems in Teredo-based connectivity but the exact reason remains still uncertain. While studying the exact reason, this branch implements UDP encapsulation for IPv6 to solve the problem. In order to use the encapsulation, a host has to turn on NAT support (hipconf nat plain-udp) and it is on by default.
The code on this branch works and has been tested (r6084) in a coarse-grained way by Miika, The RVS/Relay support has not been tested and the firewall support for UDP-encapsulated IPv6 has not been implemented.
The encapsulation is for *all* IPv6 traffic related to HIP/ESP. If only Teredo should be treated as a special case, we can modify the following code:
http://
as follows:
if (hip_nat_status && (IN6_IS_
ipv6_
and xfrm_state_modify and xfrm_state_delete need also a similar change (note: it is possible that local address is Teredo but destination is not, and vice versa!)
To force only IPv4-based or Teredo-based communications to use UDP encapsulation.
Note: ESP traffic is *not* encapsulated in UDP (I could not make this work).
- Get this branch:
- bzr branch lp://staging/~hipl-core/hipl/udp-encap-for-ipv6
Branch merges
Branch information
Recent revisions
- 6090. By Miika Komu
-
Fixed a compilation problem in the previous commit
Should have compiled first...
- 6089. By Miika Komu
-
Reverted commits 6087 and 6088
It appears that supporting UDP encapsulated data plane over IPv6 is not
trivial. - 6088. By Miika Komu
-
A bug fix to previous commit
Forgot to include UDP encapsulation details when deleting associations.
- 6087. By Miika Komu
-
IPsec is now encapsulated in UDP when using IPv4
I noticed that only the control plane was getting UDP encapsulated with
IPv6. Now also the data plane is too. - 6084. By Miika Komu
-
Yet another fix for HIP over UDPv6.
Port number was not copied correctly on input when receiving HIP over
UDPv6. This caused checksum to fail. Fixed. - 6083. By Miika Komu
-
Checksum input handling fixes for HIP over UDPv6
HIP packet input handling dropped UDP packet because of incorrect
checksum when IPv6 was used. Fixed. - 6082. By Miika Komu
-
UDP checksumming enabled both for IPv4 and IPv6
UDP input gets dropped over IPv6. I believe the reason was that IPv6
mandates non-zero checksum for UDP. I also enabled the checksumming for
IPv4 (for symmetry) even though it's optional. - 6081. By Miika Komu
-
Improved input socket creation for HIP-over-UDPv6
More fine-grained handling of IPv4 vs. IPv6-specific options for UDPv6
input.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp://staging/hipl