mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-17 21:23:11 +02:00
0331e55dfd
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33698 3c298f89-4303-0410-b956-a3cf2f4a3e73
30 lines
983 B
Diff
30 lines
983 B
Diff
--- a/kernel/net/netfilter/ipset/ip_set_getport.c
|
|
+++ b/kernel/net/netfilter/ipset/ip_set_getport.c
|
|
@@ -113,6 +113,17 @@ ip_set_get_ip4_port(const struct sk_buff
|
|
EXPORT_SYMBOL_GPL(ip_set_get_ip4_port);
|
|
|
|
#if defined(CONFIG_IP6_NF_IPTABLES) || defined(CONFIG_IP6_NF_IPTABLES_MODULE)
|
|
+static int ip_set_skip_exthdr(const struct sk_buff *skb, int start,
|
|
+ u8 *nexthdrp)
|
|
+{
|
|
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)
|
|
+ __be16 fragoff;
|
|
+ return ipv6_skip_exthdr(skb, start, nexthdrp, &fragoff);
|
|
+#else
|
|
+ return ipv6_skip_exthdr(skb, start, nexthdrp);
|
|
+#endif
|
|
+}
|
|
+
|
|
bool
|
|
ip_set_get_ip6_port(const struct sk_buff *skb, bool src,
|
|
__be16 *port, u8 *proto)
|
|
@@ -121,7 +132,7 @@ ip_set_get_ip6_port(const struct sk_buff
|
|
u8 nexthdr;
|
|
|
|
nexthdr = ipv6_hdr(skb)->nexthdr;
|
|
- protoff = ipv6_skip_exthdr(skb, sizeof(struct ipv6hdr), &nexthdr);
|
|
+ protoff = ip_set_skip_exthdr(skb, sizeof(struct ipv6hdr), &nexthdr);
|
|
if (protoff < 0)
|
|
return false;
|
|
|