--- ipset-6.11/kernel/net/netfilter/ipset/ip_set_getport.c~ 2012-01-13 21:26:27.000000000 +0100 +++ ipset-6.11/kernel/net/netfilter/ipset/ip_set_getport.c 2012-04-06 22:33:28.410967308 +0200 @@ -119,9 +119,16 @@ { int protoff; u8 nexthdr; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0) + __be16 frag_off; +#endif nexthdr = ipv6_hdr(skb)->nexthdr; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0) + protoff = ipv6_skip_exthdr(skb, sizeof(struct ipv6hdr), &nexthdr, &frag_off); +#else protoff = ipv6_skip_exthdr(skb, sizeof(struct ipv6hdr), &nexthdr); +#endif if (protoff < 0) return false; --- ipset-6.11/kernel/net/netfilter/ipset/ip_set_hash_ip.c~ 2011-10-04 17:18:10.000000000 +0200 +++ ipset-6.11/kernel/net/netfilter/ipset/ip_set_hash_ip.c 2012-04-06 22:35:56.923721440 +0200 @@ -7,6 +7,7 @@ /* Kernel module implementing an IP set type: the hash:ip type */ +#include #include #include #include @@ -241,7 +241,11 @@ static inline void hash_ip6_data_copy(struct hash_ip6_elem *dst, const struct hash_ip6_elem *src) { +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0) + dst->ip.in6 = src->ip.in6; +#else ipv6_addr_copy(&dst->ip.in6, &src->ip.in6); +#endif } static inline void --- ipset-6.11/kernel/net/netfilter/ipset/ip_set_hash_net.c.orig 2012-01-12 18:53:09.000000000 +0100 +++ ipset-6.11/kernel/net/netfilter/ipset/ip_set_hash_net.c 2012-04-06 22:42:23.225548191 +0200 @@ -7,6 +7,7 @@ /* Kernel module implementing an IP set type: the hash:net type */ +#include #include #include #include @@ -295,7 +296,11 @@ hash_net6_data_copy(struct hash_net6_elem *dst, const struct hash_net6_elem *src) { +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0) + dst->ip.in6 = src->ip.in6; +#else ipv6_addr_copy(&dst->ip.in6, &src->ip.in6); +#endif dst->cidr = src->cidr; dst->nomatch = src->nomatch; }