summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsven-ola <sven-ola@3484d885-4da6-438d-b19d-107d078dd756>2010-10-17 09:46:54 +0200
committersven-ola <sven-ola@3484d885-4da6-438d-b19d-107d078dd756>2010-10-17 09:46:54 +0200
commitd0060e633a63bc6e9831539430053060d0c25466 (patch)
tree130dcab6f65c567004dcf6d79c9daaff57157956
parente9fca01cecd8376ce0dc22655b0d3356bfc86580 (diff)
downloadNPTv6-d0060e633a63bc6e9831539430053060d0c25466.tar
NPTv6-d0060e633a63bc6e9831539430053060d0c25466.zip
todo
git-svn-id: https://map66.svn.sourceforge.net/svnroot/map66@51 3484d885-4da6-438d-b19d-107d078dd756
-rw-r--r--TODO28
-rw-r--r--ip6t_MAP66.c2
2 files changed, 6 insertions, 24 deletions
diff --git a/TODO b/TODO
index b26d071..af06487 100644
--- a/TODO
+++ b/TODO
@@ -1,18 +1,15 @@
-Idea to think about: --salt 3b5b91c5a2 XOR client addresses for some more privacy
+* Idea to think about: --salt 3b5b91c5a2 XOR client addresses for some more privacy
the salt can be added e.g. when restarting router/iptables or may be generated for
a particular host once. Purpose: hide MAC addresses behind the address mapping
gateway
-Check compat with tcpdump. Linux2.4 needs to copy skb() for that, but it oopses
+* one map16 function for all cases?
-Update csum, see http://www.faqs.org/rfcs/rfc1624.html for these
-protos (see http://www.firstpr.com.au/ip/ivip/checksums/ ):
+* Implment bit-offset for arbitrary prefix length
-IPPROTO_TCP, IPPROTO_UDP, IPPROTO_DCCP, IPPROTO_AH?, IPPROTO_ICMPV6, IPPROTO_UDPLITE
-break NEXTHDR_NONE
+* Check compat with tcpdump. Linux2.4 needs to copy skb() for that -> oops
-Evnt mit ipv6_gso_pull_exthdrs() oder ipv6_find_hdr() oder nf_ct_ipv6_skip_exthdr()
-Evnt linux-2.4: mit ipv6_skip_exthdr()
+* Check ipv6_skip_exthdr(). Correct handling of skb.len? Otherwise do this:
unsigned int ptr = skb_network_offset(skb) + sizeof(struct ipv6hdr);
u_int8_t c = ipv6hdr.nexthdr;
@@ -36,18 +33,3 @@ while (c != NEXTHDR_NONE && ip6t_ext_hdr(currenthdr)) {
c = hp->nexthdr;
ptr += hdrlen;
}
-
-gai.conf ip ranges:
-::1/128 0 (localhost)
-::/0 1 (?all IPv6, including global unicast?)
-2002::/16 2 (6to4)
-::/96 3 (ipv4 compat, deprecated)
-::ffff:0:0/96 4 (ipv4 mapped)
-fec0::/10 5 (ubuntu, site local unicast, deprecated)
-fc00::/7 6 (ubuntu, unique local unicast)
-2001:0::/32 7 (ubuntu, teredo)
-
-2000::/3 (global unicast)
-2001::/16 (for ISPs)
-2001:db8::/32 (doku)
-3ffe::/16 (6bone)
diff --git a/ip6t_MAP66.c b/ip6t_MAP66.c
index 8a2e70b..ea04c7d 100644
--- a/ip6t_MAP66.c
+++ b/ip6t_MAP66.c
@@ -55,7 +55,7 @@ static void map16(
memcpy(addr, to, sizeof(u_int16_t) * len_to);
}
-/* Perform mapping with csum update */
+/* Perform mapping with csum update, see RFC 1624 */
static void map_csum(
struct in6_addr* addr,
const struct in6_addr* to,