summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/net/netfilter/ipset/ip_set_getport.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/net/netfilter/ipset/ip_set_getport.c b/kernel/net/netfilter/ipset/ip_set_getport.c
index a66c67b..bfe535d 100644
--- a/kernel/net/netfilter/ipset/ip_set_getport.c
+++ b/kernel/net/netfilter/ipset/ip_set_getport.c
@@ -119,9 +119,17 @@ ip_set_get_ip6_port(const struct sk_buff *skb, bool src,
{
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;